diff options
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r-- | gcc/postreload.c | 6 |
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); |