[WinEH] Fix ip2state table emission with funclets
[oota-llvm.git] / lib / CodeGen / AsmPrinter / WinException.h
index ac06db2a2fd16a4f2c7f562aa855b6d3eade3205..37d2ab6ae4eee87f163db8dcd79a68824c62f31e 100644 (file)
@@ -47,7 +47,9 @@ class LLVM_LIBRARY_VISIBILITY WinException : public EHStreamer {
   /// tables.
   void emitExceptHandlerTable(const MachineFunction *MF);
 
-  void extendIP2StateTable(const MachineFunction *MF, WinEHFuncInfo &FuncInfo);
+  void computeIP2StateTable(
+      const MachineFunction *MF, WinEHFuncInfo &FuncInfo,
+      SmallVectorImpl<std::pair<const MCExpr *, int>> &IPToStateTable);
 
   /// Emits the label used with llvm.x86.seh.recoverfp, which is used by
   /// outlined funclets.
@@ -56,6 +58,7 @@ class LLVM_LIBRARY_VISIBILITY WinException : public EHStreamer {
 
   const MCExpr *create32bitRef(const MCSymbol *Value);
   const MCExpr *create32bitRef(const Value *V);
+  const MCExpr *getLabelPlusOne(MCSymbol *Label);
 
 public:
   //===--------------------------------------------------------------------===//