diff options
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index d027b79..a3634ac 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -2586,38 +2586,6 @@ init_alias_analysis (void) if (reg_known_value[i] == 0) reg_known_value[i] = regno_reg_rtx[i + FIRST_PSEUDO_REGISTER]; - /* Simplify the reg_base_value array so that no register refers to - another register, except to special registers indirectly through - ADDRESS expressions. - - In theory this loop can take as long as O(registers^2), but unless - there are very long dependency chains it will run in close to linear - time. - - This loop may not be needed any longer now that the main loop does - a better job at propagating alias information. */ - pass = 0; - do - { - changed = 0; - pass++; - for (ui = 0; ui < maxreg; ui++) - { - rtx base = VEC_index (rtx, reg_base_value, ui); - if (base && REG_P (base)) - { - unsigned int base_regno = REGNO (base); - if (base_regno == ui) /* register set from itself */ - VEC_replace (rtx, reg_base_value, ui, 0); - else - VEC_replace (rtx, reg_base_value, ui, - VEC_index (rtx, reg_base_value, base_regno)); - changed = 1; - } - } - } - while (changed && pass < MAX_ALIAS_LOOP_PASSES); - /* Clean up. */ free (new_reg_base_value); new_reg_base_value = 0; |