summaryrefslogtreecommitdiff
path: root/gcc/postreload.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r--gcc/postreload.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 751483e26fb..7f333063e19 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -1358,8 +1358,10 @@ reload_combine (void)
for (link = CALL_INSN_FUNCTION_USAGE (insn); link;
link = XEXP (link, 1))
{
- rtx usage_rtx = XEXP (XEXP (link, 0), 0);
- if (REG_P (usage_rtx))
+ rtx setuse = XEXP (link, 0);
+ rtx usage_rtx = XEXP (setuse, 0);
+ if ((GET_CODE (setuse) == USE || GET_CODE (setuse) == CLOBBER)
+ && REG_P (usage_rtx))
{
unsigned int i;
unsigned int start_reg = REGNO (usage_rtx);