diff options
author | Andrew Trick <atrick@apple.com> | 2012-12-01 01:22:38 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-12-01 01:22:38 +0000 |
commit | 67bdd42d1e538ce16e3bed98534d3fff0b4530fc (patch) | |
tree | 82baba195b49e6dca18843ec88505deb2d0a1442 /lib/CodeGen/MachineScheduler.cpp | |
parent | 8c3dccde92e50f5be7d14cef2a6db34ea6ae2bc0 (diff) |
misched: fix RegionBegin when DebugValues get shuffled to the top.
assert (RemainingInstrs == 0 && "Instruction count mismatch!")
rdar://12776937.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169069 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineScheduler.cpp')
-rw-r--r-- | lib/CodeGen/MachineScheduler.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/MachineScheduler.cpp b/lib/CodeGen/MachineScheduler.cpp index b3e38f64ff..cc7aabda3c 100644 --- a/lib/CodeGen/MachineScheduler.cpp +++ b/lib/CodeGen/MachineScheduler.cpp @@ -674,6 +674,8 @@ void ScheduleDAGMI::placeDebugValues() { std::pair<MachineInstr *, MachineInstr *> P = *prior(DI); MachineInstr *DbgValue = P.first; MachineBasicBlock::iterator OrigPrevMI = P.second; + if (&*RegionBegin == DbgValue) + ++RegionBegin; BB->splice(++OrigPrevMI, BB, DbgValue); if (OrigPrevMI == llvm::prior(RegionEnd)) RegionEnd = DbgValue; |