[WinEH] Fix ip2state table emission with funclets
Previously we were hijacking the old LandingPadInfo data structures to
communicate our state numbers. Now we don't need that anymore.
llvm-svn: 248763
diff --git a/llvm/lib/CodeGen/WinEHPrepare.cpp b/llvm/lib/CodeGen/WinEHPrepare.cpp
index b062b1a..7240159 100644
--- a/llvm/lib/CodeGen/WinEHPrepare.cpp
+++ b/llvm/lib/CodeGen/WinEHPrepare.cpp
@@ -34,6 +34,7 @@
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PatternMatch.h"
+#include "llvm/MC/MCSymbol.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
@@ -3499,3 +3500,12 @@
U.set(Load);
}
}
+
+void WinEHFuncInfo::addIPToStateRange(const BasicBlock *PadBB,
+ MCSymbol *InvokeBegin,
+ MCSymbol *InvokeEnd) {
+ assert(PadBB->isEHPad() && EHPadStateMap.count(PadBB->getFirstNonPHI()) &&
+ "should get EH pad BB with precomputed state");
+ InvokeToStateMap[InvokeBegin] =
+ std::make_pair(EHPadStateMap[PadBB->getFirstNonPHI()], InvokeEnd);
+}