diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-25 19:29:43 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-25 19:29:43 +0000 |
commit | 46dfcc3ee85a4a02abce4d45ee619f240c116af6 (patch) | |
tree | 6c3dc3d53cd17d62447673b81abbcfc69bacd2f3 /gcc/cse.c | |
parent | 2a8624373adc103f943e22e781c2d6fadb828eae (diff) | |
download | gcc-46dfcc3ee85a4a02abce4d45ee619f240c116af6.tar.gz |
2011-08-25 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 178073 using svnmerge.
2011-08-25 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/melt-runtime.c (melt_linemap_compute_current_location): Use the
linemap_position_for_column function for GCC 4.7 when merging with
GCC trunk rev 178073.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@178087 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index 54edf7ee942..ae676851632 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -475,8 +475,8 @@ struct table_elt || (HARD_REGISTER_NUM_P (N) \ && FIXED_REGNO_P (N) && REGNO_REG_CLASS (N) != NO_REGS)) -#define COST(X) (REG_P (X) ? 0 : notreg_cost (X, SET)) -#define COST_IN(X,OUTER) (REG_P (X) ? 0 : notreg_cost (X, OUTER)) +#define COST(X) (REG_P (X) ? 0 : notreg_cost (X, SET, 1)) +#define COST_IN(X, OUTER, OPNO) (REG_P (X) ? 0 : notreg_cost (X, OUTER, OPNO)) /* Get the number of times this register has been updated in this basic block. */ @@ -552,7 +552,7 @@ static bitmap cse_ebb_live_in, cse_ebb_live_out; static sbitmap cse_visited_basic_blocks; static bool fixed_base_plus_p (rtx x); -static int notreg_cost (rtx, enum rtx_code); +static int notreg_cost (rtx, enum rtx_code, int); static int approx_reg_cost_1 (rtx *, void *); static int approx_reg_cost (rtx); static int preferable (int, int, int, int); @@ -752,7 +752,7 @@ preferable (int cost_a, int regcost_a, int cost_b, int regcost_b) from COST macro to keep it simple. */ static int -notreg_cost (rtx x, enum rtx_code outer) +notreg_cost (rtx x, enum rtx_code outer, int opno) { return ((GET_CODE (x) == SUBREG && REG_P (SUBREG_REG (x)) @@ -764,7 +764,7 @@ notreg_cost (rtx x, enum rtx_code outer) && TRULY_NOOP_TRUNCATION_MODES_P (GET_MODE (x), GET_MODE (SUBREG_REG (x)))) ? 0 - : rtx_cost (x, outer, optimize_this_for_speed_p) * 2); + : rtx_cost (x, outer, opno, optimize_this_for_speed_p) * 2); } @@ -3296,7 +3296,7 @@ fold_rtx (rtx x, rtx insn) argument. */ if (const_arg != 0 && const_arg != folded_arg - && COST_IN (const_arg, code) <= COST_IN (folded_arg, code) + && COST_IN (const_arg, code, i) <= COST_IN (folded_arg, code, i) /* It's not safe to substitute the operand of a conversion operator with a constant, as the conversion's identity |