diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2017-10-09 21:44:13 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2017-10-09 21:44:13 +0200 |
commit | d09e78e89037b5096e55b04effa714fc40e19a8c (patch) | |
tree | e24c9b1f71385f43633cf5e52abe5626c37114b0 /gcc/rtlanal.c | |
parent | 90e491a7739dc2ae9a5b92945e4f0e48a3a91e39 (diff) | |
download | gcc-d09e78e89037b5096e55b04effa714fc40e19a8c.zip gcc-d09e78e89037b5096e55b04effa714fc40e19a8c.tar.gz gcc-d09e78e89037b5096e55b04effa714fc40e19a8c.tar.bz2 |
Replace insn_rtx_cost with insn_cost and pattern_cost
This replaces insn_rtx_cost with insn_cost if an insn is readily
available, and with pattern_cost otherwise.
* cfgrtl.c (rtl_account_profile_record): Replace insn_rtx_cost with
insn_cost.
* combine.c (uid_insn_cost): Adjust comment.
(combine_validate_cost): Adjust comment. Use pattern_cost instead
of insn_rtx_cost
(combine_instructions): Use insn_cost instead of insn_rtx_cost.
* dse.c (find_shift_sequence): Ditto.
* ifcvt.c (cheap_bb_rtx_cost_p): Ditto.
(bb_valid_for_noce_process_p): Use pattern_cost.
* rtl.h (insn_rtx_cost): Delete.
(pattern_cost): New prototype.
(insn_cost): New prototype.
* rtlanal.c (insn_rtx_cost): Rename to...
(pattern_cost): ... this.
(insn_cost): New.
From-SVN: r253560
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r-- | gcc/rtlanal.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index b28325e..f01eab5 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -5269,11 +5269,11 @@ num_sign_bit_copies1 (const_rtx x, scalar_int_mode mode, const_rtx known_x, ? 1 : bitwidth - floor_log2 (nonzero) - 1; } -/* Calculate the rtx_cost of a single instruction. A return value of +/* Calculate the rtx_cost of a single instruction pattern. A return value of zero indicates an instruction pattern without a known cost. */ int -insn_rtx_cost (rtx pat, bool speed) +pattern_cost (rtx pat, bool speed) { int i, cost; rtx set; @@ -5323,6 +5323,15 @@ insn_rtx_cost (rtx pat, bool speed) return cost > 0 ? cost : COSTS_N_INSNS (1); } +/* Calculate the cost of a single instruction. A return value of zero + indicates an instruction pattern without a known cost. */ + +int +insn_cost (rtx_insn *insn, bool speed) +{ + return pattern_cost (PATTERN (insn), speed); +} + /* Returns estimate on cost of computing SEQ. */ unsigned |