This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/5] RFC, WIP: RTL cost improvements


This series creates pattern_cost and insn_cost functions that together
replace the existing insn_rtx_cost function.

pattern_cost is like the old insn_rtx_cost function; insn_cost takes
an actual rtx_insn * as input, not just a pattern.

Also a targetm.insn_cost is added, which targets can use to implement
a more exact cost more easily.

The combine patch is pretty gross (but functional), it needs some
refactoring (to not call recog so often).  The rs6000 patch is very
much a work in progress.

How does this look?  Is this the right direction?


Segher


Segher Boessenkool (5):
  Rename existing insn_cost to insn_sched_cost
  Replace insn_rtx_cost with insn_cost and pattern_cost
  combine: Use insn_cost instead of pattern_cost everywhere
  Add targetm.insn_cost hook
  rs6000: Implement insn_cost hook

 gcc/cfgrtl.c               |  7 +++----
 gcc/combine.c              | 40 +++++++++++++++++++++++++++++-----------
 gcc/config/rs6000/rs6000.c | 14 ++++++++++++++
 gcc/doc/tm.texi            | 12 ++++++++++++
 gcc/doc/tm.texi.in         |  2 ++
 gcc/dse.c                  |  2 +-
 gcc/haifa-sched.c          | 14 +++++++-------
 gcc/ifcvt.c                | 12 ++++++------
 gcc/rtl.h                  |  3 ++-
 gcc/rtlanal.c              | 16 ++++++++++++++--
 gcc/sched-int.h            |  2 +-
 gcc/sched-rgn.c            |  4 ++--
 gcc/sel-sched-ir.c         |  2 +-
 gcc/target.def             | 14 ++++++++++++++
 14 files changed, 108 insertions(+), 36 deletions(-)

-- 
1.9.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]