From: Jakob Stoklund Olesen Date: Mon, 17 Sep 2012 23:03:21 +0000 (+0000) Subject: Stop adding operands when expanding REG_SEQUENCE. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=98279e8d65fe5c86d0370b3e2a62f244985bec33;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164073 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp index bd12f921328..df33a94ca76 100644 --- a/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/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); }