Commit 97989775 by James Van Artsdalen

(FIXED_REGNO_P): Pseudos can't be fixed regs.

From-SVN: r3757
parent ad0c9fa1
...@@ -438,11 +438,13 @@ struct table_elt ...@@ -438,11 +438,13 @@ struct table_elt
but not if it is an overlapping register. */ but not if it is an overlapping register. */
#ifdef OVERLAPPING_REGNO_P #ifdef OVERLAPPING_REGNO_P
#define FIXED_REGNO_P(N) \ #define FIXED_REGNO_P(N) \
(((N) == FRAME_POINTER_REGNUM || fixed_regs[N]) \ (((N) == FRAME_POINTER_REGNUM \
|| ((N) < FIRST_PSEUDO_REGISTER && fixed_regs[N])) \
&& ! OVERLAPPING_REGNO_P ((N))) && ! OVERLAPPING_REGNO_P ((N)))
#else #else
#define FIXED_REGNO_P(N) \ #define FIXED_REGNO_P(N) \
((N) == FRAME_POINTER_REGNUM || fixed_regs[N]) ((N) == FRAME_POINTER_REGNUM \
|| ((N) < FIRST_PSEUDO_REGISTER && fixed_regs[N]))
#endif #endif
/* Compute cost of X, as stored in the `cost' field of a table_elt. Fixed /* Compute cost of X, as stored in the `cost' field of a table_elt. Fixed
...@@ -4472,9 +4474,11 @@ simplify_ternary_operation (code, mode, op0_mode, op0, op1, op2) ...@@ -4472,9 +4474,11 @@ simplify_ternary_operation (code, mode, op0_mode, op0, op1, op2)
Otherwise, return X, possibly with one or more operands Otherwise, return X, possibly with one or more operands
modified by recursive calls to this function. modified by recursive calls to this function.
If X is a register whose contents are known, we do NOT If X is a register whose contents are known, we may or may not
return those contents. This is because an instruction that return those contents. An instruction that uses a register is usually
uses a register is usually faster than one that uses a constant. faster than one that uses a constant. But on machines with few hard
regs, using a register instead of a constant increases register life,
hurting register allocation.
INSN is the insn that we may be modifying. If it is 0, make a copy INSN is the insn that we may be modifying. If it is 0, make a copy
of X before modifying it. */ of X before modifying it. */
......
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