Stop adding <imp-def> operands when expanding REG_SEQUENCE.

These extra operands are not needed by register allocators using
VirtRegRewriter, and RAFast don't need them any longer.

By omitting the <imp-def> operands, it becomes possible for the new
register coalescer to track which lanes are valid and which are undef.

llvm-svn: 164073
This commit is contained in:
Jakob Stoklund Olesen 2012-09-17 23:03:21 +00:00
parent 8e7f202e32
commit af50f17df4
1 changed files with 0 additions and 4 deletions

View File

@ -1758,10 +1758,6 @@ bool TwoAddressInstructionPass::EliminateRegSequences() {
if (MO.isReg() && MO.isDef() && MO.getReg() == DstReg)
MO.setIsUndef();
}
// Make sure there is a full non-subreg imp-def operand on the
// instruction. This shouldn't be necessary, but it seems that at least
// RAFast requires it.
Def->addRegisterDefined(DstReg, TRI);
DEBUG(dbgs() << "First def: " << *Def);
}