diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-09-29 20:12:33 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-09-29 20:12:33 +0000 |
commit | a80c1512861aa78f75a89b92275aaf2e92ff7fb9 (patch) | |
tree | b5d4c3efc67ff022eb8a71ad379dc01a1447a46f /llvm/lib/CodeGen/AsmPrinter/WinException.h | |
parent | 81f005617e42e64b553a5ded37f1afac9b3fb4cc (diff) | |
download | bcm5719-llvm-a80c1512861aa78f75a89b92275aaf2e92ff7fb9.tar.gz bcm5719-llvm-a80c1512861aa78f75a89b92275aaf2e92ff7fb9.zip |
[WinEH] Teach AsmPrinter about funclets
Summary:
Funclets have been turned into functions by the time they hit the object
file. Make sure that they have decent names for the symbol table and
CFI directives explaining how to reason about their prologues.
Differential Revision: http://reviews.llvm.org/D13261
llvm-svn: 248824
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/WinException.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/WinException.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/WinException.h b/llvm/lib/CodeGen/AsmPrinter/WinException.h index 37d2ab6ae4e..bf1724f60f7 100644 --- a/llvm/lib/CodeGen/AsmPrinter/WinException.h +++ b/llvm/lib/CodeGen/AsmPrinter/WinException.h @@ -36,6 +36,9 @@ class LLVM_LIBRARY_VISIBILITY WinException : public EHStreamer { /// True if this is a 64-bit target and we should use image relative offsets. bool useImageRel32 = false; + /// Pointer to the current funclet entry BB. + const MachineBasicBlock *CurrentFuncletEntry = nullptr; + void emitCSpecificHandlerTable(const MachineFunction *MF); /// Emit the EH table data for 32-bit and 64-bit functions using @@ -76,6 +79,10 @@ public: /// Gather and emit post-function exception information. void endFunction(const MachineFunction *) override; + + /// \brief Emit target-specific EH funclet machinery. + void beginFunclet(const MachineBasicBlock &MBB, MCSymbol *Sym) override; + void endFunclet() override; }; } |