|
LLVM
3.7.0
|
#include <WinException.h>
Public Member Functions | |
| WinException (AsmPrinter *A) | |
| ~WinException () override | |
| void | endModule () override |
| Emit all exception information that should come after the content. More... | |
| void | beginFunction (const MachineFunction *MF) override |
| Gather pre-function exception information. More... | |
| void | endFunction (const MachineFunction *) override |
| Gather and emit post-function exception information. More... | |
Public Member Functions inherited from llvm::EHStreamer | |
| EHStreamer (AsmPrinter *A) | |
| ~EHStreamer () override | |
| void | setSymbolSize (const MCSymbol *Sym, uint64_t Size) override |
| For symbols that have a size designated (e.g. More... | |
| void | beginInstruction (const MachineInstr *MI) override |
| Process beginning of an instruction. More... | |
| void | endInstruction () override |
| Process end of an instruction. More... | |
Public Member Functions inherited from llvm::AsmPrinterHandler | |
| virtual | ~AsmPrinterHandler () |
| Pin vtable to this file. More... | |
| virtual void | markFunctionEnd () |
Additional Inherited Members | |
Protected Types inherited from llvm::EHStreamer | |
| typedef DenseMap< MCSymbol *, PadRange > | RangeMapType |
Protected Member Functions inherited from llvm::EHStreamer | |
| unsigned | computeActionsTable (const SmallVectorImpl< const LandingPadInfo * > &LPs, SmallVectorImpl< ActionEntry > &Actions, SmallVectorImpl< unsigned > &FirstActions) |
| Compute the actions table and gather the first action index for each landing pad site. More... | |
| bool | callToNoUnwindFunction (const MachineInstr *MI) |
| Return `true' if this is a call to a function marked `nounwind'. More... | |
| void | computePadMap (const SmallVectorImpl< const LandingPadInfo * > &LandingPads, RangeMapType &PadMap) |
| void | computeCallSiteTable (SmallVectorImpl< CallSiteEntry > &CallSites, const SmallVectorImpl< const LandingPadInfo * > &LPs, const SmallVectorImpl< unsigned > &FirstActions) |
| Compute the call-site table. More... | |
| void | emitExceptionTable () |
| Emit landing pads and actions. More... | |
| virtual void | emitTypeInfos (unsigned TTypeEncoding) |
Static Protected Member Functions inherited from llvm::EHStreamer | |
| static unsigned | sharedTypeIDs (const LandingPadInfo *L, const LandingPadInfo *R) |
| How many leading type ids two landing pads have in common. More... | |
| static bool | isFilterEHSelector (int Selector) |
| static bool | isCleanupEHSelector (int Selector) |
| static bool | isCatchEHSelector (int Selector) |
Protected Attributes inherited from llvm::EHStreamer | |
| AsmPrinter * | Asm |
| Target of directive emission. More... | |
| MachineModuleInfo * | MMI |
| Collected machine module information. More... | |
Definition at line 26 of file WinException.h.
| WinException::WinException | ( | AsmPrinter * | A | ) |
Definition at line 42 of file WinException.cpp.
References llvm::AsmPrinter::getDataLayout(), and llvm::DataLayout::getPointerSizeInBits().
|
override |
Definition at line 48 of file WinException.cpp.
|
overridevirtual |
Gather pre-function exception information.
Assumes being emitted immediately after the function entry point.
Implements llvm::AsmPrinterHandler.
Definition at line 60 of file WinException.cpp.
References llvm::EHStreamer::Asm, llvm::WinEHFuncInfo::CatchHandlerParentFrameObjOffset, llvm::classifyEHPersonality(), llvm::MCConstantExpr::create(), llvm::AsmPrinter::CurrentFnSym, llvm::dwarf::DW_EH_PE_omit, F(), llvm::TargetLoweringObjectFile::getCFIPersonalitySymbol(), llvm::MachineFunction::getFunction(), llvm::MachineModuleInfo::getLandingPads(), llvm::MCObjectFileInfo::getLSDAEncoding(), llvm::Value::getName(), llvm::AsmPrinter::getObjFileLowering(), llvm::MCContext::getOrCreateParentFrameOffsetSymbol(), llvm::MCObjectFileInfo::getPersonalityEncoding(), llvm::Function::getPersonalityFn(), llvm::GlobalValue::getRealLinkageName(), llvm::MachineModuleInfo::getWinEHFuncInfo(), llvm::MachineModuleInfo::getWinEHParent(), llvm::Function::hasFnAttribute(), llvm::Function::hasPersonalityFn(), I, llvm::isNoOpWithoutInvoke(), llvm::AsmPrinter::MAI, llvm::AsmPrinter::Mang, llvm::EHStreamer::MMI, llvm::AsmPrinter::needsSEHMoves(), llvm::Function::needsUnwindTableEntry(), llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::Constant::stripPointerCasts(), llvm::AsmPrinter::TM, and llvm::MCAsmInfo::usesWindowsCFI().
|
overridevirtual |
Gather and emit post-function exception information.
endFunction - Gather and emit post-function exception information.
Implements llvm::AsmPrinterHandler.
Definition at line 128 of file WinException.cpp.
References llvm::EHStreamer::Asm, llvm::classifyEHPersonality(), llvm::AsmPrinter::CurrentFnSym, llvm::EHStreamer::emitExceptionTable(), F(), llvm::MachineFunction::getFunction(), llvm::Function::getPersonalityFn(), llvm::WinEH::UnwindEmitter::getXDataSection(), llvm::Function::hasPersonalityFn(), llvm::isMSVCEHPersonality(), llvm::EHStreamer::MMI, llvm::MSVC_CXX, llvm::MSVC_Win64SEH, llvm::MSVC_X86SEH, llvm::AsmPrinter::OutContext, llvm::AsmPrinter::OutStreamer, llvm::MachineModuleInfo::TidyLandingPads(), and llvm::Unknown.
|
overridevirtual |
Emit all exception information that should come after the content.
endModule - Emit all exception information that should come after the content.
Implements llvm::AsmPrinterHandler.
Definition at line 52 of file WinException.cpp.
References llvm::EHStreamer::Asm, F(), llvm::MachineModuleInfo::getModule(), llvm::AsmPrinter::getSymbol(), llvm::EHStreamer::MMI, and llvm::AsmPrinter::OutStreamer.
1.8.6