diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-22 21:18:25 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-22 21:18:25 +0000 |
commit | d2422fc2721b48fd23380adae1f71aec1dca03fe (patch) | |
tree | 4650717d3b5700502979ec67e579bd50629ce350 /gcc/loop.c | |
parent | 2ed38b791992c82472c40d628e1488fc9c7b9787 (diff) | |
download | gcc-d2422fc2721b48fd23380adae1f71aec1dca03fe.tar.gz |
* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49972 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/loop.c b/gcc/loop.c index f675a87f0de..68ef43906cb 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -6127,13 +6127,13 @@ basic_induction_var (loop, x, mode, dest_reg, p, inc_val, mult_val, location) return 1; case SUBREG: - /* If this is a SUBREG for a promoted variable, check the inner - value. */ - if (SUBREG_PROMOTED_VAR_P (x)) - return basic_induction_var (loop, SUBREG_REG (x), - GET_MODE (SUBREG_REG (x)), - dest_reg, p, inc_val, mult_val, location); - return 0; + /* If what's inside the SUBREG is a BIV, then the SUBREG. This will + handle addition of promoted variables. + ??? The comment at the start of this function is wrong: promoted + variable increments don't look like it says they do. */ + return basic_induction_var (loop, SUBREG_REG (x), + GET_MODE (SUBREG_REG (x)), + dest_reg, p, inc_val, mult_val, location); case REG: /* If this register is assigned in a previous insn, look at its |