mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 19:03:59 +08:00
rtl-optimization/106082 - preserve EH note for no non-local goto
The following makes sure we preserve EH notes on call insns that indicate the call doesn't perform a non-local goto when distributing notes after combining insns. 2022-06-28 Richard Biener <rguenther@suse.de> PR rtl-optimization/106082 * combine.cc (distribute_notes): Preserve notes when they indicate a call doesn't perform a non-local goto.
This commit is contained in:
parent
2dbb45d6dc
commit
0282c4acf7
@ -14218,8 +14218,10 @@ distribute_notes (rtx notes, rtx_insn *from_insn, rtx_insn *i3, rtx_insn *i2,
|
||||
gcc_assert (from_insn == i3);
|
||||
/* We are making sure there is a single effective REG_EH_REGION
|
||||
note and it's valid to put it on i3. */
|
||||
if (!insn_could_throw_p (from_insn))
|
||||
/* Throw away stra notes on insns that can never throw. */
|
||||
if (!insn_could_throw_p (from_insn)
|
||||
&& !(lp_nr == INT_MIN && can_nonlocal_goto (from_insn)))
|
||||
/* Throw away stray notes on insns that can never throw or
|
||||
make a nonlocal goto. */
|
||||
;
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user