static unsigned int reg_base_value_size; /* size of reg_base_value array */
#define REG_BASE_VALUE(X) \
- (ORIGINAL_REGNO (X) < reg_base_value_size \
- ? reg_base_value[ORIGINAL_REGNO (X)] : 0)
+ (REGNO (X) < reg_base_value_size \
+ ? reg_base_value[REGNO (X)] : 0)
/* Vector of known invariant relationships between registers. Set in
loop unrolling. Indexed by register number, if nonzero the value
return src;
case REG:
- regno = ORIGINAL_REGNO (src);
+ regno = REGNO (src);
/* At the start of a function, argument registers have known base
values which may be lost later. Returning an ADDRESS
expression here allows optimization based on argument values
if (GET_CODE (dest) != REG)
return;
- regno = ORIGINAL_REGNO (dest);
+ regno = REGNO (dest);
if (regno >= reg_base_value_size)
abort ();
if (GET_CODE (val) == REG)
{
- if (ORIGINAL_REGNO (val) < reg_base_value_size)
- reg_base_value[regno] = reg_base_value[ORIGINAL_REGNO (val)];
+ if (REGNO (val) < reg_base_value_size)
+ reg_base_value[regno] = reg_base_value[REGNO (val)];
return;
}
rtx x;
{
/* Recursively look for equivalences. */
- if (GET_CODE (x) == REG && ORIGINAL_REGNO (x) >= FIRST_PSEUDO_REGISTER
- && ORIGINAL_REGNO (x) < reg_known_value_size)
- return reg_known_value[ORIGINAL_REGNO (x)] == x
- ? x : canon_rtx (reg_known_value[ORIGINAL_REGNO (x)]);
+ if (GET_CODE (x) == REG && REGNO (x) >= FIRST_PSEUDO_REGISTER
+ && REGNO (x) < reg_known_value_size)
+ return reg_known_value[REGNO (x)] == x
+ ? x : canon_rtx (reg_known_value[REGNO (x)]);
else if (GET_CODE (x) == PLUS)
{
rtx x0 = canon_rtx (XEXP (x, 0));
reg_base_value_size * sizeof (rtx));
memset ((char *)alias_invariant, 0, reg_base_value_size * sizeof (rtx));
}
-
/* The basic idea is that each pass through this loop will use the
"constant" information from the previous pass to propagate alias
if (set != 0
&& GET_CODE (SET_DEST (set)) == REG
- && ORIGINAL_REGNO (SET_DEST (set)) >= FIRST_PSEUDO_REGISTER)
+ && REGNO (SET_DEST (set)) >= FIRST_PSEUDO_REGISTER)
{
- unsigned int regno = ORIGINAL_REGNO (SET_DEST (set));
+ unsigned int regno = REGNO (SET_DEST (set));
rtx src = SET_SRC (set);
if (REG_NOTES (insn) != 0
else if (REG_N_SETS (regno) == 1
&& GET_CODE (src) == PLUS
&& GET_CODE (XEXP (src, 0)) == REG
- && ORIGINAL_REGNO (XEXP (src, 0)) >= FIRST_PSEUDO_REGISTER
- && (reg_known_value[ORIGINAL_REGNO (XEXP (src, 0))])
+ && REGNO (XEXP (src, 0)) >= FIRST_PSEUDO_REGISTER
+ && (reg_known_value[REGNO (XEXP (src, 0))])
&& GET_CODE (XEXP (src, 1)) == CONST_INT)
{
rtx op0 = XEXP (src, 0);
- if (reg_known_value[ORIGINAL_REGNO (op0)])
- op0 = reg_known_value[ORIGINAL_REGNO (op0)];
+ if (reg_known_value[REGNO (op0)])
+ op0 = reg_known_value[REGNO (op0)];
reg_known_value[regno]
= plus_constant_for_output (op0,
INTVAL (XEXP (src, 1)));
rtx base = reg_base_value[ui];
if (base && GET_CODE (base) == REG)
{
- unsigned int base_regno = ORIGINAL_REGNO (base);
+ unsigned int base_regno = REGNO (base);
if (base_regno == ui) /* register set from itself */
reg_base_value[ui] = 0;
else
#define EPILOGUE_USES(REGNO) 0
#endif
-/* Not in basic-block.h, since it is private to this file. When set, it
- causes us to keep REG_N_SETS uptodate for original pseudo registers. */
-#define PROP_POSTRELOAD 64
-
/* The obstack on which the flow graph components are allocated. */
struct obstack flow_obstack;
tmp = INITIALIZE_REG_SET (tmp_head);
- if (reload_completed)
- prop_flags |= PROP_POSTRELOAD;
-
/* For a global update, we go through the relaxation process again. */
if (extent != UPDATE_LIFE_LOCAL)
{
rtx reg, cond, insn;
int flags;
{
- int orig_regno = -1;
int regno_first = -1, regno_last = -1;
int not_dead = 0;
int i;
/* Fall through. */
case REG:
- orig_regno = ORIGINAL_REGNO (reg);
regno_last = regno_first = REGNO (reg);
if (regno_first < FIRST_PSEUDO_REGISTER)
regno_last += HARD_REGNO_NREGS (regno_first, GET_MODE (reg)) - 1;
/* Additional data to record if this is the final pass. */
if (flags & (PROP_LOG_LINKS | PROP_REG_INFO
- | PROP_DEATH_NOTES | PROP_AUTOINC | PROP_POSTRELOAD))
+ | PROP_DEATH_NOTES | PROP_AUTOINC))
{
register rtx y;
register int blocknum = pbi->bb->index;
pbi->reg_next_use[i] = 0;
}
- /* After reload has completed, try to keep REG_N_SETS uptodate for
- the original pseudos. */
- if ((flags & PROP_POSTRELOAD) && orig_regno >= FIRST_PSEUDO_REGISTER)
- REG_N_SETS (orig_regno) += 1;
-
if (flags & PROP_REG_INFO)
{
for (i = regno_first; i <= regno_last; ++i)