summaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 474857070ce..9f2f007fb76 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7017,10 +7017,13 @@ cse_basic_block (from, to, next_branch, around_loop)
its destination is the result of the block and hence should be
recorded. */
- if ((p = find_reg_note (insn, REG_LIBCALL, NULL_RTX)))
- libcall_insn = XEXP (p, 0);
- else if (find_reg_note (insn, REG_RETVAL, NULL_RTX))
- libcall_insn = NULL_RTX;
+ if (REG_NOTES (insn) != 0)
+ {
+ if ((p = find_reg_note (insn, REG_LIBCALL, NULL_RTX)))
+ libcall_insn = XEXP (p, 0);
+ else if (find_reg_note (insn, REG_RETVAL, NULL_RTX))
+ libcall_insn = 0;
+ }
cse_insn (insn, libcall_insn);
}