diff options
Diffstat (limited to 'gcc48-rh1402585.patch')
-rw-r--r-- | gcc48-rh1402585.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc48-rh1402585.patch b/gcc48-rh1402585.patch new file mode 100644 index 0000000..3aa1cae --- /dev/null +++ b/gcc48-rh1402585.patch @@ -0,0 +1,32 @@ +--- gcc/reload.c (revision 235552) ++++ gcc/reload.c (working copy) +@@ -4054,14 +4054,14 @@ find_reloads (rtx insn, int replace, int + &XEXP (recog_data.operand[i], 0), (rtx*) 0, + base_reg_class (VOIDmode, as, MEM, SCRATCH), + address_mode, +- VOIDmode, 0, 0, i, RELOAD_FOR_INPUT); ++ VOIDmode, 0, 0, i, RELOAD_OTHER); + rld[operand_reloadnum[i]].inc + = GET_MODE_SIZE (GET_MODE (recog_data.operand[i])); + + /* If this operand is an output, we will have made any + reloads for its address as RELOAD_FOR_OUTPUT_ADDRESS, but + now we are treating part of the operand as an input, so +- we must change these to RELOAD_FOR_INPUT_ADDRESS. */ ++ we must change these to RELOAD_FOR_OTHER_ADDRESS. */ + + if (modified[i] == RELOAD_WRITE) + { +@@ -4070,10 +4070,10 @@ find_reloads (rtx insn, int replace, int + if (rld[j].opnum == i) + { + if (rld[j].when_needed == RELOAD_FOR_OUTPUT_ADDRESS) +- rld[j].when_needed = RELOAD_FOR_INPUT_ADDRESS; ++ rld[j].when_needed = RELOAD_FOR_OTHER_ADDRESS; + else if (rld[j].when_needed + == RELOAD_FOR_OUTADDR_ADDRESS) +- rld[j].when_needed = RELOAD_FOR_INPADDR_ADDRESS; ++ rld[j].when_needed = RELOAD_FOR_OTHER_ADDRESS; + } + } + } |