llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.26k stars 11.67k forks source link

Variable properties lost when passed through aggregates #54764

Open psiha opened 2 years ago

psiha commented 2 years ago

https://godbolt.org/z/xx7M15YYh

Notes:

psiha commented 1 year ago

This seem to now finally be almost fixed with 'trunk' (whatever that currently is on godbolt), 16 is/was still broken. I say almost because the loop (the 'critical' part of the code) is now generated optimally however there are still some stray instructions being generated in the prologue (as if Clang still can't fully see through std::span).