[Bug target/93532] RISCV g++ hangs with optimization >= -O2
wilson at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 6 19:20:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93532
--- Comment #12 from Jim Wilson <wilson at gcc dot gnu.org> ---
A bisection on mainline between the gcc-8 and gcc-9 releases shows that this
testcase was fixed by a combine patch for PR87600 that stops combining hard
regs with pseudos to reduce register pressure. The commentary refers to ira
and lra problems. A combine patch won't be as safe as a RISC-V backend patch
though.
I tried testing the riscv HARD_REGNO_CALLER_SAVE_MODE patch with buildroot but
it turns out that it is downloading a pre-built compiler instead of building
one. So dropping in the patch doesn't do anything. I will have to figure out
what is going on there.
Trying the riscv patch with mainline on the testcase, I see that I get better
rematerialization without the confusing subregs, and I also get smaller stack
frames since we are saving SFmode now to the stack instead of DFmode now.
Otherwise, I don't see any significant changes to the code.
I tried a make check with the riscv patch on mainline, and got an unexpected
g++ testsuite failure, so I will have to look into that.
More information about the Gcc-bugs
mailing list