From af50f17df4f8092bb04ccb5393ffaf34ab34d006 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Mon, 17 Sep 2012 23:03:21 +0000 Subject: Stop adding 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 operands, it becomes possible for the new register coalescer to track which lanes are valid and which are undef. llvm-svn: 164073 --- llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'llvm/lib/CodeGen') diff --git a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp index bd12f921328..df33a94ca76 100644 --- a/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp @@ -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); } -- cgit v1.2.3