summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-09-22 00:29:40 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-09-22 00:29:40 +0000
commit8c500100f64e6387658e0ed29ce691fde1812c5c (patch)
treebc833a9cb108c910ad17f178f08cb575ca30bfb6
parentd6020c321a72da21f9763960033be735d4e8b5e8 (diff)
downloadbcm5719-llvm-8c500100f64e6387658e0ed29ce691fde1812c5c.tar.gz
bcm5719-llvm-8c500100f64e6387658e0ed29ce691fde1812c5c.zip
Minor bug fix. LowerSubregs should translate
%S0<def> = EXTRACT_SUBREG %Q0<kill>, 1 to %S0<def> = IMPLICIT_DEF %Q0<imp-use,kill> Implicit_def does not *read* any register so the operand should be marked "implicit". The missing "implicit" marker on the operand is wrong, but it doesn't actually break anything. llvm-svn: 82503
-rw-r--r--llvm/lib/CodeGen/LowerSubregs.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LowerSubregs.cpp b/llvm/lib/CodeGen/LowerSubregs.cpp
index 812d97d66c3..f3157f008b9 100644
--- a/llvm/lib/CodeGen/LowerSubregs.cpp
+++ b/llvm/lib/CodeGen/LowerSubregs.cpp
@@ -130,6 +130,7 @@ bool LowerSubregsInstructionPass::LowerExtract(MachineInstr *MI) {
// instruction with IMPLICIT_DEF.
MI->setDesc(TII.get(TargetInstrInfo::IMPLICIT_DEF));
MI->RemoveOperand(2); // SubIdx
+ MI->getOperand(1).setImplicit(true);
DEBUG(errs() << "subreg: replace by: " << *MI);
return true;
}
OpenPOWER on IntegriCloud