[Bug rtl-optimization/86334] wrong code with -march=athlon -mmemcpy-strategy=libcall:-1:noalign
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Jul 18 09:12:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86334
Uroš Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu.org
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
The issue here is that g escapes as an argument to memcpy, but this is not
reported form local_variable_can_escape:
Breakpoint 1, local_variable_can_escape (decl=0x7fffe9ba3240) at
../../git/gcc/gcc/dse.c:910
910 if (TREE_ADDRESSABLE (decl))
Missing separate debuginfos, use: dnf debuginfo-install gmp-6.1.2-7.fc28.x86_64
isl-0.16.1-6.fc28.x86_64 libgcc-8.1.1-1.fc28.x86_64 libmpc-1.0.2-9.fc28.x86_64
libstdc++-8.1.1-1.fc28.x86_64 mpfr-3.1.6-1.fc28.x86_64
(gdb) p debug_generic_expr (decl)
g
$1 = void
(gdb) fin
Run till exit from #0 local_variable_can_escape (decl=0x7fffe9ba3240) at
../../git/gcc/gcc/dse.c:910
0x00000000013fb758 in can_escape (expr=0x7fffe9ba3240) at
../../git/gcc/gcc/dse.c:942
942 && local_variable_can_escape (base)))
Value returned is $2 = false
DSE just removes all stores to g as dead.
CC Honza.
More information about the Gcc-bugs
mailing list