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]
Other format: [Raw text]

Re: REG_NO_CONFLICT vs lower-subreg



I suppose we could add a target macro to let individual ports turn off REG_NO_CONFLICT generation? Any other ideas?

A pass to reorder insns so that live ranges are shortened and register pressure is relieved.


Could be something like

for each bb
  for each insn
    for each active insn
      if it has operands that are defined in the current insn
        remove it from active insn list
        emit it before current insn
    if this insn has no operand that dies in this insn
      remove it from insn stream
      add it to active insn list
    for each active insn
      if it has operands that are die after the current insn
        remove it from active insn list
        emit it after current insn
  emit all active insns

Paolo


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