This is the mail archive of the gcc-bugs@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: Swap optimization pass



  In message <199801140313.QAA25314@ongaonga.chch.cri.nz>you write:
  > Jeffrey A Law writes:
  >  > 
  >  > Yup -- this is the basic idea behind my idea of using reorg to combine
  >  > unrelated insns after reload.
  > 
  > I would prefer this sort of pass to run before register allocation
  > otherwise the chances of combining these insns gets slim since the
  > register constraints are usually tighter on multi-pack insns.
True, but in some cases you have to know what hard registers things are
in before trying to combine unrelated insns.  There's also likely to be
issues if you pack some insns, then end up having to reload inputs/outputs.

There's also the problem of instruction lengths not being finalized before
reload.

  >  > Note that introducing "foreign" insns into a libcall block tends to
  >  > do bad things in the register allocator, and I guess this might happen
  >  > in that case.
  > 
  > Well we could restrict these "foreign" insns to be moves.  I'm finding
  > that the incoming register arguments get poorly copied to the
  > corresponding arguments of a nested call.
Even move insns will cause problems.

jeff



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