summaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-28 00:25:25 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-28 00:25:25 +0000
commit51e97650b38d24f085f2b0e9373f85e78480686d (patch)
treee7f78a620291029a07d46ea7e67759d63928c54a /gcc/reload1.c
parentcbf41957da62cbcf5d2cdc13f536b623434df992 (diff)
downloadgcc-51e97650b38d24f085f2b0e9373f85e78480686d.tar.gz
* reload1.c (eliminate_regs): Don't abort on MEM USEs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40887 138bc75d-0d04-0410-961f-82ee72b054a4
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: