diff options
author | edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-06-23 12:44:07 +0000 |
---|---|---|
committer | edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-06-23 12:44:07 +0000 |
commit | 7f5df6a79db3adac74b7cc11a7ecba1bfca0ec05 (patch) | |
tree | 892f77d0c25f7c9466a953d82453e67a199eb7b2 /gcc/ira.c | |
parent | 4e551c7de5072438e7a06a99a0ee432420dc6dd5 (diff) |
2017-06-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
rtl-optimizatoin/79286
* ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
* rtlanal.c (rtx_addr_can_trap_p_1): SYMBOL_REF_FUNCTION_P can never
trap. PIC register plus a const unspec without offset can never trap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249588 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ira.c b/gcc/ira.c index 36a779bd37f..08a1cc550b2 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -3551,7 +3551,8 @@ update_equiv_regs (void) if (DF_REG_DEF_COUNT (regno) == 1 && note && !rtx_varies_p (XEXP (note, 0), 0) - && def_dominates_uses (regno)) + && (!may_trap_or_fault_p (XEXP (note, 0)) + || def_dominates_uses (regno))) { rtx note_value = XEXP (note, 0); remove_note (insn, note); |