This is the mail archive of the gcc@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]

Re: Peepholes obsolete / new peepholes


  In message <41ECF07CC183D111A6F800805FEDAB190CE6CF@EXCHANGE1>you write:
  > > If that's the case, then the way we should deal with it is 
  > > ADDRESS_COST
  > > rather than an arbitrary choice that doesn't allow any target to DTRT.
  > 
  > OK.  What if ADDRESS_COST is not defined?  Can I simply try
  > pre-increment/decrement or do something fancy (rtx_cost, etc) as in cse.c?
I believe rtx_cost is supposed to be used if address_cost is not
defined.


  > I am thinking about using "! reg_set_p ()" for that.  Would that work?
Probably.


  > By the way, I am now trying the attached patch.  It's working in
  > h8300-hms-gcc. When I tried the following sample code with arm-coff-gcc, it
  > hit abort () in haifa-sched.c:7060, causing an internal compiler error.  An
  > y
  > clue?  Looking at the dump after the life analysis phase, things look OK.
Check the REG_DEAD notes for a register that was auto-incremented.  Presumably
they're incorrect.

Basically flow.c & haifa-sched.c both determine what registers are live/dead.
If they disagree, then something bad has happened.


jeff




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