diff options
| author | Reid Kleckner <rnk@google.com> | 2015-09-17 17:19:40 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2015-09-17 17:19:40 +0000 |
| commit | ed17079b52247dc27b36c5b242634c304cf697fb (patch) | |
| tree | 6d5aa9e53c987e05e719b2187bb5dded121aefd2 /llvm/lib/CodeGen/SplitKit.cpp | |
| parent | 37e56318ec2e4a08974fedd99cfacbe7b9613392 (diff) | |
| download | bcm5719-llvm-ed17079b52247dc27b36c5b242634c304cf697fb.tar.gz bcm5719-llvm-ed17079b52247dc27b36c5b242634c304cf697fb.zip | |
[WinEH] Add and use hasEHPadSuccessor instead of getLandingPadSuccessor
getLandingPadSuccessor assumes that each invoke can have at most one EH
pad successor, but WinEH invokes can have more than one. Two out of
three callers of getLandingPadSuccessor don't use the returned
landingpad, so we can make them use this simple predicate instead.
Eventually we'll have to circle back and fix SplitKit.cpp so that
register allocation works. Baby steps.
llvm-svn: 247904
Diffstat (limited to 'llvm/lib/CodeGen/SplitKit.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SplitKit.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SplitKit.cpp b/llvm/lib/CodeGen/SplitKit.cpp index dab1dfe4f1f..d06a316ba6c 100644 --- a/llvm/lib/CodeGen/SplitKit.cpp +++ b/llvm/lib/CodeGen/SplitKit.cpp @@ -56,6 +56,7 @@ void SplitAnalysis::clear() { SlotIndex SplitAnalysis::computeLastSplitPoint(unsigned Num) { const MachineBasicBlock *MBB = MF.getBlockNumbered(Num); + // FIXME: Handle multiple EH pad successors. const MachineBasicBlock *LPad = MBB->getLandingPadSuccessor(); std::pair<SlotIndex, SlotIndex> &LSP = LastSplitPoint[Num]; SlotIndex MBBEnd = LIS.getMBBEndIdx(MBB); |

