diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-06-09 00:47:07 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2005-06-08 22:47:07 +0000 |
commit | 03daa27a28d9f313a09f015275b177c39212d435 (patch) | |
tree | 777114cd23f62f1239d97a512bdd558a0afa9a0c /gcc | |
parent | bd8633a3c03adc21fb6720b0febfe0c29cb48f98 (diff) | |
download | gcc-03daa27a28d9f313a09f015275b177c39212d435.zip gcc-03daa27a28d9f313a09f015275b177c39212d435.tar.gz gcc-03daa27a28d9f313a09f015275b177c39212d435.tar.bz2 |
tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER instead of FIRST_PSEUDO_REGISTER for creating...
* tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER
instead of FIRST_PSEUDO_REGISTER for creating pseudoregisters.
* tree-ssa-loop-ivopts.c (add_cost, multiply_by_cost,
multiplier_allowed_in_address_p, get_address_cost): Ditto.
From-SVN: r100783
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-ssa-address.c | 4 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 26 |
3 files changed, 22 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 910f991..9c044f9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-06-08 Zdenek Dvorak <dvorakz@suse.cz> + + * tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER + instead of FIRST_PSEUDO_REGISTER for creating pseudoregisters. + * tree-ssa-loop-ivopts.c (add_cost, multiply_by_cost, + multiplier_allowed_in_address_p, get_address_cost): Ditto. + 2005-06-08 Richard Henderson <rth@redhat.com> * config/ia64/ia64.h (NO_PROFILE_COUNTERS): New. diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c index 0fdaba0..67bbc4a 100644 --- a/gcc/tree-ssa-address.c +++ b/gcc/tree-ssa-address.c @@ -198,8 +198,8 @@ addr_for_mem_ref (struct mem_address *addr, bool really_expand) templates_initialized = true; sym = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup ("test_symbol")); - bse = gen_raw_REG (Pmode, FIRST_PSEUDO_REGISTER); - idx = gen_raw_REG (Pmode, FIRST_PSEUDO_REGISTER + 1); + bse = gen_raw_REG (Pmode, LAST_VIRTUAL_REGISTER + 1); + idx = gen_raw_REG (Pmode, LAST_VIRTUAL_REGISTER + 2); for (i = 0; i < 32; i++) gen_addr_rtx ((i & 16 ? sym : NULL_RTX), diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index f16a0d4..ab3247c 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -3149,8 +3149,8 @@ add_cost (enum machine_mode mode) start_sequence (); force_operand (gen_rtx_fmt_ee (PLUS, mode, - gen_raw_REG (mode, FIRST_PSEUDO_REGISTER), - gen_raw_REG (mode, FIRST_PSEUDO_REGISTER + 1)), + gen_raw_REG (mode, LAST_VIRTUAL_REGISTER + 1), + gen_raw_REG (mode, LAST_VIRTUAL_REGISTER + 2)), NULL_RTX); seq = get_insns (); end_sequence (); @@ -3221,8 +3221,8 @@ multiply_by_cost (HOST_WIDE_INT cst, enum machine_mode mode) (*cached)->cst = cst; start_sequence (); - expand_mult (mode, gen_raw_REG (mode, FIRST_PSEUDO_REGISTER), GEN_INT (cst), - NULL_RTX, 0); + expand_mult (mode, gen_raw_REG (mode, LAST_VIRTUAL_REGISTER + 1), + gen_int_mode (cst, mode), NULL_RTX, 0); seq = get_insns (); end_sequence (); @@ -3247,7 +3247,7 @@ multiplier_allowed_in_address_p (HOST_WIDE_INT ratio) if (!valid_mult) { - rtx reg1 = gen_raw_REG (Pmode, FIRST_PSEUDO_REGISTER); + rtx reg1 = gen_raw_REG (Pmode, LAST_VIRTUAL_REGISTER + 1); rtx addr; HOST_WIDE_INT i; @@ -3305,12 +3305,12 @@ get_address_cost (bool symbol_present, bool var_present, HOST_WIDE_INT i; initialized = true; - reg1 = gen_raw_REG (Pmode, FIRST_PSEUDO_REGISTER); + reg1 = gen_raw_REG (Pmode, LAST_VIRTUAL_REGISTER + 1); addr = gen_rtx_fmt_ee (PLUS, Pmode, reg1, NULL_RTX); for (i = 1; i <= 1 << 20; i <<= 1) { - XEXP (addr, 1) = GEN_INT (i); + XEXP (addr, 1) = gen_int_mode (i, Pmode); if (!memory_address_p (Pmode, addr)) break; } @@ -3319,7 +3319,7 @@ get_address_cost (bool symbol_present, bool var_present, for (i = 1; i <= 1 << 20; i <<= 1) { - XEXP (addr, 1) = GEN_INT (-i); + XEXP (addr, 1) = gen_int_mode (-i, Pmode); if (!memory_address_p (Pmode, addr)) break; } @@ -3368,10 +3368,10 @@ get_address_cost (bool symbol_present, bool var_present, { acost = 0; - addr = gen_raw_REG (Pmode, FIRST_PSEUDO_REGISTER); - reg1 = gen_raw_REG (Pmode, FIRST_PSEUDO_REGISTER + 1); + addr = gen_raw_REG (Pmode, LAST_VIRTUAL_REGISTER + 1); + reg1 = gen_raw_REG (Pmode, LAST_VIRTUAL_REGISTER + 2); if (ratio_p) - addr = gen_rtx_fmt_ee (MULT, Pmode, addr, GEN_INT (rat)); + addr = gen_rtx_fmt_ee (MULT, Pmode, addr, gen_int_mode (rat, Pmode)); if (var_present) addr = gen_rtx_fmt_ee (PLUS, Pmode, addr, reg1); @@ -3383,10 +3383,10 @@ get_address_cost (bool symbol_present, bool var_present, base = gen_rtx_fmt_e (CONST, Pmode, gen_rtx_fmt_ee (PLUS, Pmode, base, - GEN_INT (off))); + gen_int_mode (off, Pmode))); } else if (offset_p) - base = GEN_INT (off); + base = gen_int_mode (off, Pmode); else base = NULL_RTX; |