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

Reply via email to