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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
CCP computes this precisely:

Visiting PHI node: # PT = { D.1842 } (nonlocal, escaped)
p_3 = PHI <&MEM[(void *)&xxx + 2444B](2), p_4(3)>

    Argument #0 (2 -> 4 executable)
        &MEM[(void *)&xxx + 2444B]      Value: CONSTANT &MEM[(void *)&xxx +
2444B]

    Argument #1 (3 -> 4 executable)
        p_4     Value: CONSTANT 0x0 (0x0ffffffffffffffff)

    PHI node value: CONSTANT 0x0 (0x0ffffffffffffffff)

but we don't record the alignment (because it looks useless to know - it's
byte alignment).  So the alignment on the access (invalid due to your use
of a bogus aligned type) prevails.

Reply via email to