summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index bdcc7c517bd..6194b875244 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -2586,6 +2586,12 @@ eliminate_regs (x, mem_mode, insn)
return x;
case USE:
+ /* Handle insn_list USE that a call to a pure function may generate. */
+ new = eliminate_regs (XEXP (x, 0), 0, insn);
+ if (new != XEXP (x, 0))
+ return gen_rtx_USE (GET_MODE (x), new);
+ return x;
+
case CLOBBER:
case ASM_OPERANDS:
case SET: