[Bug target/63483] Scheduler performs Invalid move of aliased memory reference

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 8 14:16:00 GMT 2014


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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
How can I reproduce this?  Even with -mcpu=ev4 I get

$foo..ng:
foo:
        .frame $30,0,$26,0
$LFB0:
        .cfi_startproc
        .prologue 0
        mov $31,$2
        ldq_u $1,1($2)
        zapnot $1,253,$1
        stq_u $1,1($2)
        call_pal 0x81

I configured with --target=alphaev68-linux-gnu

And used -O2 -mcpu=ev4 (sounds "earliest").

Note that the pointers 'a' and 'b' are likely made constant by IPA reference
and thus loads of the pointers can validly get /u, but not loads from the
pointers (well, we may even figure out their value is always zero...).

Does it "fix" the testcase if you have a function writing to a and b or
making a and b not static?



More information about the Gcc-bugs mailing list