[Bug target/82242] IRA spills allocno in loop body if it crosses throwing call outside the loop

2023-11-10 Thread amonakov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82242

--- Comment #5 from Alexander Monakov  ---
The small testcase from comment 3 is now improved on trunk, possibly thanks to
work in PR 110215.

[Bug target/82242] IRA spills allocno in loop body if it crosses throwing call outside the loop

2017-09-21 Thread amonakov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82242

Alexander Monakov  changed:

   What|Removed |Added

Summary|x86_64 bad optimization |IRA spills allocno in loop
   |with -march |body if it crosses throwing
   ||call outside the loop

--- Comment #4 from Alexander Monakov  ---
FWIW, removing 'if (can_throw_internal (insn)) { ... }' code in
ira-lives.c:process_bb_node_lives introduced by fix for PR 38811 improves this
testcase and doesn't seem to introduce testsuite regressions on both 32 and
64-bit x86, but this might just mean that there's not enough runtime testcases
for catching exceptions. The place for a proper fix may be elsewhere, I don't
know what special considerations are required for throwing calls.