https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103427

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at gcc dot gnu.org,
                   |                            |amacleod at redhat dot com,
                   |                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess we'd need to use min_align_of_type, because say ia32 long long &
can bind to a long long member inside of struct S { int a; long long b; }
and then it is only 4 byte aligned.  The question is how/where to do this
though,
as POINTER_TYPE_P conversions are considered useless and therefore what has
been a reference or pointer and to what exactly can blur pretty fast.
But at least whether a PARM_DECL has reference type or pointer type and what
the pointed type is shouldn't change arbitrarily.
I'm not sure if we can rely on this for non-C++ FEs though, so perhaps a
langhook that we use during evrp on (D) SSA_NAME of PARM_DECLs and ask the FE
whether it guarantees some alignment for those (aka pretend there is a virtual
__builtin_assume_aligned for those)?

Reply via email to