44 shouldEmitPersonality(
false), shouldEmitLSDA(
false), shouldEmitMoves(
false),
66 bool AtLeastOne =
false;
68 for (
size_t i = 0, e = Personalities.size(); i != e; ++i) {
69 if (!Personalities[i])
81 const_cast<TargetLoweringObjectFile&>(TLOF).getEHFrameSection());
88 shouldEmitMoves = shouldEmitPersonality = shouldEmitLSDA =
false;
98 moveTypeModule = MoveType;
106 shouldEmitPersonality = hasLandingPads &&
110 shouldEmitLSDA = shouldEmitPersonality &&
113 if (!shouldEmitPersonality && !shouldEmitMoves)
119 if (!shouldEmitPersonality)
141 if (!shouldEmitPersonality && !shouldEmitMoves)
146 if (!shouldEmitPersonality)
bool isExceptionHandlingDwarf() const
virtual void EmitCFIPersonality(const MCSymbol *Sym, unsigned Encoding)
MachineModuleInfo * MMI
MMI - Collected machine module information.
MCSymbol * getSymbol(const GlobalValue *GV) const
unsigned getFunctionNumber() const
DwarfCFIException(AsmPrinter *A)
virtual void EmitCFISections(bool EH, bool Debug)
virtual void EmitCFILsda(const MCSymbol *Sym, unsigned Encoding)
void TidyLandingPads(DenseMap< MCSymbol *, uintptr_t > *LPMap=0)
void SwitchSection(const MCSection *Section, const MCExpr *Subsection=0)
AsmPrinter * Asm
Asm - Target of Dwarf emission.
bool isFunctionEHFrameSymbolPrivate() const
const std::vector< const Function * > & getPersonalities() const
getPersonalities - Return array of personality functions ever seen.
virtual void EndFunction()
EndFunction - Gather and emit post-function exception information.
virtual ~DwarfCFIException()
virtual void EmitLabel(MCSymbol *Symbol)
unsigned getLSDAEncoding() const
virtual void EmitDebugLabel(MCSymbol *Symbol)
unsigned getPersonalityEncoding() const
virtual void emitPersonalityValue(MCStreamer &Streamer, const TargetMachine &TM, const MCSymbol *Sym) const
const std::vector< LandingPadInfo > & getLandingPads() const
unsigned getPersonalityIndex() const
void EmitExceptionTable()
CFIMoveType needsCFIMoves()
const TargetLoweringObjectFile & getObjFileLowering() const
getObjFileLowering - Return information about object file lowering.
virtual void BeginFunction(const MachineFunction *MF)
virtual MCSymbol * getCFIPersonalitySymbol(const GlobalValue *GV, Mangler *Mang, MachineModuleInfo *MMI) const
MCSymbol * GetTempSymbol(StringRef Name, unsigned ID) const