diff options
-rw-r--r-- | gcc/explow.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 64431a69285..96c7c1269c7 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -416,21 +416,21 @@ memory_address (mode, x) x = force_reg (Pmode, x); goto done; - } - win2: - x = oldx; - win: - if (flag_force_addr && ! cse_not_expected && GET_CODE (x) != REG - /* Don't copy an addr via a reg if it is one of our stack slots. */ - && ! (GET_CODE (x) == PLUS - && (XEXP (x, 0) == virtual_stack_vars_rtx - || XEXP (x, 0) == virtual_incoming_args_rtx))) - { - if (general_operand (x, Pmode)) - x = force_reg (Pmode, x); - else - x = force_operand (x, NULL_RTX); + win2: + x = oldx; + win: + if (flag_force_addr && ! cse_not_expected && GET_CODE (x) != REG + /* Don't copy an addr via a reg if it is one of our stack slots. */ + && ! (GET_CODE (x) == PLUS + && (XEXP (x, 0) == virtual_stack_vars_rtx + || XEXP (x, 0) == virtual_incoming_args_rtx))) + { + if (general_operand (x, Pmode)) + x = force_reg (Pmode, x); + else + x = force_operand (x, NULL_RTX); + } } done: |