[Bug rtl-optimization/65805] [5/6 Regression] Chromium gets miscompiled
vmakarov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Apr 19 18:27:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65805
--- Comment #4 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #3)
> It is clearer to see the issue if one compiles the whole file with
> -fno-lra-remat:
>
> markus@x4 Release % g++ -S -fno-lra-remat -fPIC -fvisibility=hidden -pthread
> -march=x86-64 -O2 -fno-exceptions -fno-rtti -std=gnu++11 -Wall -c
> file_util.ii -o out_good
> markus@x4 Release % g++ -S -fPIC -fvisibility=hidden -pthread -march=x86-64
> -O2 -fno-exceptions -fno-rtti -std=gnu++11 -Wall -c file_util.ii -o out_bad
> markus@x4 Release % diff -u out_good out_bad
> ...
> @@ -4616,7 +4616,7 @@
> pushq %rbp
> .cfi_def_cfa_offset 128
> movl 20(%rsp), %edx
> - movq 24(%rsp), %rdi
> + leaq 64(%rsp), %rdi
> call
> _ZN10extensions9Extension6CreateERKN4base8FilePathENS_8Manifest8LocationERKNS
> 1_15DictionaryValueEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS
> F_@PLT
> movq 32(%rsp), %r13
> popq %rax
>
> When I change "leaq 64(%rsp), %rdi" back to "movq 24(%rsp), %rdi"
> chromium runs fine.
Thanks. I reproduced the bug and started to work on it. The problem is in
rematerialization when FP-SP offset is different at points of original insn and
rematerialized insn. I hope the patch will be ready tomorrow.
More information about the Gcc-bugs
mailing list