local-alloc update_equiv_regs and moving register initialization

Jeffrey A Law law@cygnus.com
Thu Sep 14 16:02:00 GMT 2000


  In message < 200009142244.SAA18278@jwlab.FEITH.COM >you write:
  > update_equiv_regs has the comment:
  > 
  >   /* Now scan all regs killed in an insn to see if any of them are
  >      registers only used that once.  If so, see if we can replace the
  >      reference with the equivalent from.  If we can, delete the
  >      initializing reference and this register will go away.  If we
  >      can't replace the reference, and the instruction is not in a
  >      loop, then move the register initialization just before the use,
  >      so that they are in the same basic block.  */
  > 
  > Why isn't desirable to move the register initialization just before the
  > use when both are within the same loop?
Doesn't that minimize the lifetime of the pseudo holding the initialized
value, which in turn gives the allocators more freedom in making
register assignments?

jeff



More information about the Gcc mailing list