diff options
-rw-r--r-- | lib/CodeGen/RegAllocLocal.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp index 7f65f1b..3e1038d 100644 --- a/lib/CodeGen/RegAllocLocal.cpp +++ b/lib/CodeGen/RegAllocLocal.cpp @@ -592,7 +592,9 @@ void RALocal::ComputeLocalLiveness(MachineBasicBlock& MBB) { // If this is a two address instr, then we don't mark the def // as killing the use. - if (last->second.first == I) { + if (last->second.first == I && + I->getDesc().getOperandConstraint(last->second.second, + TOI::TIED_TO) == (signed)i) { LastUseDef[MO.getReg()] = std::make_pair(I, i); continue; } |