Commit 94c51f7a by Jeffrey A Law Committed by Jeff Law

arm.md: Use no_new_pseudos to determine when it is safe to create new pseudo registers.

        * arm.md: Use no_new_pseudos to determine when it is safe
        to create new pseudo registers.

From-SVN: r36090
parent 893f3d5b
2000-08-31 Jeff Law <law@cygnus.com> 2000-08-31 Jeff Law <law@cygnus.com>
* arm.md: Use no_new_pseudos to determine when it is safe
to create new pseudo registers.
* arm.c (legitimize_pic_address): Use no_new_pseudos to determine * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
when we can safely allocate new registers. when we can safely allocate new registers.
......
...@@ -455,8 +455,7 @@ ...@@ -455,8 +455,7 @@
{ {
arm_split_constant (PLUS, SImode, INTVAL (operands[2]), operands[0], arm_split_constant (PLUS, SImode, INTVAL (operands[2]), operands[0],
operands[1], operands[1],
(reload_in_progress || reload_completed ? 0 (no_new_pseudos ? 0 : preserve_subexpressions_p ()));
: preserve_subexpressions_p ()));
DONE; DONE;
} }
" "
...@@ -951,7 +950,7 @@ ...@@ -951,7 +950,7 @@
{ {
arm_split_constant (MINUS, SImode, INTVAL (operands[1]), operands[0], arm_split_constant (MINUS, SImode, INTVAL (operands[1]), operands[0],
operands[2], operands[2],
(reload_in_progress || reload_completed ? 0 (no_new_pseudos ? 0
: preserve_subexpressions_p ())); : preserve_subexpressions_p ()));
DONE; DONE;
} }
...@@ -1647,7 +1646,7 @@ ...@@ -1647,7 +1646,7 @@
{ {
arm_split_constant (AND, SImode, INTVAL (operands[2]), operands[0], arm_split_constant (AND, SImode, INTVAL (operands[2]), operands[0],
operands[1], operands[1],
(reload_in_progress || reload_completed (no_new_pseudos
? 0 : preserve_subexpressions_p ())); ? 0 : preserve_subexpressions_p ()));
DONE; DONE;
} }
...@@ -2063,7 +2062,7 @@ ...@@ -2063,7 +2062,7 @@
{ {
arm_split_constant (IOR, SImode, INTVAL (operands[2]), operands[0], arm_split_constant (IOR, SImode, INTVAL (operands[2]), operands[0],
operands[1], operands[1],
(reload_in_progress || reload_completed (no_new_pseudos
? 0 : preserve_subexpressions_p ())); ? 0 : preserve_subexpressions_p ()));
DONE; DONE;
} }
...@@ -3698,7 +3697,7 @@ ...@@ -3698,7 +3697,7 @@
" "
if (TARGET_THUMB) if (TARGET_THUMB)
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != REG)
operands[1] = force_reg (DImode, operands[1]); operands[1] = force_reg (DImode, operands[1]);
...@@ -3781,14 +3780,14 @@ ...@@ -3781,14 +3780,14 @@
{ {
arm_split_constant (SET, SImode, INTVAL (operands[1]), operands[0], arm_split_constant (SET, SImode, INTVAL (operands[1]), operands[0],
NULL_RTX, NULL_RTX,
(reload_in_progress || reload_completed ? 0 (no_new_pseudos ? 0
: preserve_subexpressions_p ())); : preserve_subexpressions_p ()));
DONE; DONE;
} }
} }
else /* TARGET_THUMB.... */ else /* TARGET_THUMB.... */
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != REG)
operands[1] = force_reg (SImode, operands[1]); operands[1] = force_reg (SImode, operands[1]);
...@@ -3800,9 +3799,7 @@ ...@@ -3800,9 +3799,7 @@
|| symbol_mentioned_p (operands[1]) || symbol_mentioned_p (operands[1])
|| label_mentioned_p (operands[1]))) || label_mentioned_p (operands[1])))
operands[1] = legitimize_pic_address (operands[1], SImode, operands[1] = legitimize_pic_address (operands[1], SImode,
((reload_in_progress (no_new_pseudos ? operands[0] : 0));
|| reload_completed)
? operands[0] : 0));
") ")
(define_insn "*arm_movsi_insn" (define_insn "*arm_movsi_insn"
...@@ -4125,7 +4122,7 @@ ...@@ -4125,7 +4122,7 @@
" "
if (TARGET_ARM) if (TARGET_ARM)
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) == MEM) if (GET_CODE (operands[0]) == MEM)
{ {
...@@ -4268,7 +4265,7 @@ ...@@ -4268,7 +4265,7 @@
} }
else /* TARGET_THUMB */ else /* TARGET_THUMB */
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != REG)
operands[1] = force_reg (HImode, operands[1]); operands[1] = force_reg (HImode, operands[1]);
...@@ -4544,7 +4541,7 @@ ...@@ -4544,7 +4541,7 @@
{ {
/* Everything except mem = const or mem = mem can be done easily */ /* Everything except mem = const or mem = mem can be done easily */
if (!(reload_in_progress || reload_completed)) if (!no_new_pseudos)
{ {
if (GET_CODE (operands[1]) == CONST_INT) if (GET_CODE (operands[1]) == CONST_INT)
{ {
...@@ -4559,7 +4556,7 @@ ...@@ -4559,7 +4556,7 @@
} }
else /* TARGET_THUMB */ else /* TARGET_THUMB */
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != REG)
operands[1] = force_reg (QImode, operands[1]); operands[1] = force_reg (QImode, operands[1]);
...@@ -4649,7 +4646,7 @@ ...@@ -4649,7 +4646,7 @@
} }
else /* TARGET_THUMB */ else /* TARGET_THUMB */
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != REG)
operands[1] = force_reg (SFmode, operands[1]); operands[1] = force_reg (SFmode, operands[1]);
...@@ -4748,7 +4745,7 @@ ...@@ -4748,7 +4745,7 @@
} }
else /* TARGET_THUMB */ else /* TARGET_THUMB */
{ {
if (! (reload_in_progress || reload_completed)) if (! no_new_pseudos)
{ {
if (GET_CODE (operands[0]) != REG) if (GET_CODE (operands[0]) != REG)
operands[1] = force_reg (DFmode, operands[1]); operands[1] = force_reg (DFmode, operands[1]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment