diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-05-10 21:25:30 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-05-10 21:25:30 +0000 |
commit | d6908dc4a23cbaf8c9bde979d08fbb7291e7652f (patch) | |
tree | 8e28d12edb0900d92f80c21f9b8f688fdcbe39ac | |
parent | 9d55b234254f46fc43ea23ff7fa8b1f7fb89150c (diff) | |
download | bcm5719-llvm-d6908dc4a23cbaf8c9bde979d08fbb7291e7652f.tar.gz bcm5719-llvm-d6908dc4a23cbaf8c9bde979d08fbb7291e7652f.zip |
It's not safe to propagate implicit_def that defines part of a register.
llvm-svn: 103436
-rw-r--r-- | llvm/lib/CodeGen/ProcessImplicitDefs.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/ProcessImplicitDefs.cpp b/llvm/lib/CodeGen/ProcessImplicitDefs.cpp index d7179b3e59c..75875d2835b 100644 --- a/llvm/lib/CodeGen/ProcessImplicitDefs.cpp +++ b/llvm/lib/CodeGen/ProcessImplicitDefs.cpp @@ -89,6 +89,8 @@ bool ProcessImplicitDefs::runOnMachineFunction(MachineFunction &fn) { MachineInstr *MI = &*I; ++I; if (MI->isImplicitDef()) { + if (MI->getOperand(0).getSubReg()) + continue; unsigned Reg = MI->getOperand(0).getReg(); ImpDefRegs.insert(Reg); if (TargetRegisterInfo::isPhysicalRegister(Reg)) { |