From f0e551d4f4b20fdc9295325774e05d53760a765a Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Wed, 7 Jul 2010 00:32:25 +0000 Subject: Revert "Remove references to INSERT_SUBREG after de-SSA" r107725. Buildbot breakage. llvm-svn: 107744 --- llvm/lib/CodeGen/ProcessImplicitDefs.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'llvm/lib/CodeGen/ProcessImplicitDefs.cpp') diff --git a/llvm/lib/CodeGen/ProcessImplicitDefs.cpp b/llvm/lib/CodeGen/ProcessImplicitDefs.cpp index 2caef08b509..80121ca0f29 100644 --- a/llvm/lib/CodeGen/ProcessImplicitDefs.cpp +++ b/llvm/lib/CodeGen/ProcessImplicitDefs.cpp @@ -102,6 +102,21 @@ bool ProcessImplicitDefs::runOnMachineFunction(MachineFunction &fn) { continue; } + if (MI->isInsertSubreg()) { + MachineOperand &MO = MI->getOperand(2); + if (ImpDefRegs.count(MO.getReg())) { + // %reg1032 = INSERT_SUBREG %reg1032, undef, 2 + // This is an identity copy, eliminate it now. + if (MO.isKill()) { + LiveVariables::VarInfo& vi = lv_->getVarInfo(MO.getReg()); + vi.removeKill(MI); + } + MI->eraseFromParent(); + Changed = true; + continue; + } + } + // Eliminate %reg1032:sub = COPY undef. if (MI->isCopy() && MI->getOperand(0).getSubReg()) { MachineOperand &MO = MI->getOperand(1); -- cgit v1.2.3