summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e7a280a)
raw | patch | inline | side by side (parent: e7a280a)
author | Adrian Prantl <aprantl@apple.com> | |
Wed, 6 Aug 2014 18:41:19 +0000 (18:41 +0000) | ||
committer | Adrian Prantl <aprantl@apple.com> | |
Wed, 6 Aug 2014 18:41:19 +0000 (18:41 +0000) |
The handling of the epilogue is best expressed as an early exit and
there is no reason to look for register defs in DbgValue MIs.
Patch by Frederic Riss!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214986 91177308-0d34-0410-b5e6-96231b3b80d8
there is no reason to look for register defs in DbgValue MIs.
Patch by Frederic Riss!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214986 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp | patch | blob | history |
diff --git a/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp b/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp
index f557ccddb47dce36380f60cffc7e83fca9c8cf93..143b0135c8c8432c3b233ac355765683fb762cb4 100644 (file)
std::set<unsigned> &Regs) {
for (const auto &MBB : *MF) {
auto FirstEpilogueInst = getFirstEpilogueInst(MBB);
- bool IsInEpilogue = false;
+
for (const auto &MI : MBB) {
- IsInEpilogue |= &MI == FirstEpilogueInst;
- if (!MI.getFlag(MachineInstr::FrameSetup) && !IsInEpilogue)
+ if (&MI == FirstEpilogueInst)
+ break;
+ if (!MI.getFlag(MachineInstr::FrameSetup))
collectClobberedRegisters(MI, TRI, Regs);
}
}