reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
34 MCTargetStreamer &TS = *Asm->OutStreamer->getTargetStreamer(); 39 if (Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM) 42 AsmPrinter::CFIMoveType MoveType = Asm->needsCFIMoves(); 48 if (Asm->needsOnlyDebugCFIMoves()) 49 Asm->OutStreamer->EmitCFISections(false, true); 54 Asm->OutStreamer->EmitCFIStartProc(false); 71 if (!Asm->MF->getFunction().needsUnwindTableEntry() && 77 MCSymbol *PerSym = Asm->getSymbol(Per); 78 Asm->OutStreamer->EmitSymbolAttribute(PerSym, MCSA_Global); 89 if (Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM) 95 const MachineFunction *MF = Asm->MF; 99 bool VerboseAsm = Asm->OutStreamer->isVerboseAsm(); 104 Asm->OutStreamer->AddComment(">> Catch TypeInfos <<"); 105 Asm->OutStreamer->AddBlankLine(); 111 Asm->OutStreamer->AddComment("TypeInfo " + Twine(Entry--)); 112 Asm->EmitTTypeReference(GV, TTypeEncoding); 115 Asm->OutStreamer->EmitLabel(TTBaseLabel); 119 Asm->OutStreamer->AddComment(">> Filter TypeInfos <<"); 120 Asm->OutStreamer->AddBlankLine(); 129 Asm->OutStreamer->AddComment("FilterInfo " + Twine(Entry)); 132 Asm->EmitTTypeReference((TypeID == 0 ? nullptr : TypeInfos[TypeID - 1]),lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
42 if (!Asm->MF->getLandingPads().empty()) { 43 MachineFunction *NonConstMF = const_cast<MachineFunction*>(Asm->MF); 50 Asm->OutStreamer->EmitCFIEndProc(); 64 if (!Asm->MAI->usesCFIForEH()) 67 const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering(); 78 MCSymbol *Sym = Asm->getSymbol(Personality); 79 TLOF.emitPersonalityValue(*Asm->OutStreamer, Asm->getDataLayout(), Sym); 79 TLOF.emitPersonalityValue(*Asm->OutStreamer, Asm->getDataLayout(), Sym); 95 AsmPrinter::CFIMoveType MoveType = Asm->needsCFIMoves(); 99 const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering(); 134 if (Asm->needsOnlyDebugCFIMoves()) 135 Asm->OutStreamer->EmitCFISections(false, true); 139 Asm->OutStreamer->EmitCFIStartProc(/*IsSimple=*/false); 154 const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering(); 156 const MCSymbol *Sym = TLOF.getCFIPersonalitySymbol(P, Asm->TM, MMI); 157 Asm->OutStreamer->EmitCFIPersonality(Sym, PerEncoding); 161 Asm->OutStreamer->EmitCFILsda(ESP(Asm), TLOF.getLSDAEncoding()); 161 Asm->OutStreamer->EmitCFILsda(ESP(Asm), TLOF.getLSDAEncoding());lib/CodeGen/AsmPrinter/EHStreamer.cpp
39 EHStreamer::EHStreamer(AsmPrinter *A) : Asm(A), MMI(Asm->MMI) {} 87 const std::vector<unsigned> &FilterIds = Asm->MF->getFilterIds(); 240 bool IsSJLJ = Asm->MAI->getExceptionHandlingType() == ExceptionHandling::SjLj; 243 for (const auto &MBB : *Asm->MF) { 271 if (SawPotentiallyThrowing && Asm->MAI->usesCFIForEH()) { 308 unsigned SiteNo = Asm->MF->getCallSiteBeginLabel(BeginLabel); 350 const MachineFunction *MF = Asm->MF; 378 bool IsSJLJ = Asm->MAI->getExceptionHandlingType() == ExceptionHandling::SjLj; 379 bool IsWasm = Asm->MAI->getExceptionHandlingType() == ExceptionHandling::Wasm; 382 Asm->getObjFileLowering().getCallSiteEncoding(); 386 MCSection *LSDASection = Asm->getObjFileLowering().getLSDASection(); 421 TTypeEncoding = Asm->getObjFileLowering().getTTypeEncoding(); 428 Asm->OutStreamer->SwitchSection(LSDASection); 429 Asm->EmitAlignment(Align(4)); 433 Asm->OutContext.getOrCreateSymbol(Twine("GCC_except_table")+ 434 Twine(Asm->getFunctionNumber())); 435 Asm->OutStreamer->EmitLabel(GCCETSym); 436 Asm->OutStreamer->EmitLabel(Asm->getCurExceptionSym()); 436 Asm->OutStreamer->EmitLabel(Asm->getCurExceptionSym()); 439 Asm->EmitEncodingByte(dwarf::DW_EH_PE_omit, "@LPStart"); 440 Asm->EmitEncodingByte(TTypeEncoding, "@TType"); 448 MCSymbol *TTBaseRefLabel = Asm->createTempSymbol("ttbaseref"); 449 TTBaseLabel = Asm->createTempSymbol("ttbase"); 450 Asm->EmitLabelDifferenceAsULEB128(TTBaseLabel, TTBaseRefLabel); 451 Asm->OutStreamer->EmitLabel(TTBaseRefLabel); 454 bool VerboseAsm = Asm->OutStreamer->isVerboseAsm(); 457 MCSymbol *CstBeginLabel = Asm->createTempSymbol("cst_begin"); 458 MCSymbol *CstEndLabel = Asm->createTempSymbol("cst_end"); 459 Asm->EmitEncodingByte(CallSiteEncoding, "Call site"); 460 Asm->EmitLabelDifferenceAsULEB128(CstEndLabel, CstBeginLabel); 461 Asm->OutStreamer->EmitLabel(CstBeginLabel); 472 Asm->OutStreamer->AddComment(">> Call Site " + Twine(idx) + " <<"); 473 Asm->OutStreamer->AddComment(" On exception at call site "+Twine(idx)); 475 Asm->EmitULEB128(idx); 482 Asm->OutStreamer->AddComment(" Action: cleanup"); 484 Asm->OutStreamer->AddComment(" Action: " + 487 Asm->EmitULEB128(S.Action); 515 MCSymbol *EHFuncBeginSym = Asm->getFunctionBegin(); 522 EndLabel = Asm->getFunctionEnd(); 526 Asm->OutStreamer->AddComment(">> Call Site " + Twine(++Entry) + " <<"); 527 Asm->EmitCallSiteOffset(BeginLabel, EHFuncBeginSym, CallSiteEncoding); 529 Asm->OutStreamer->AddComment(Twine(" Call between ") + 532 Asm->EmitCallSiteOffset(EndLabel, BeginLabel, CallSiteEncoding); 537 Asm->OutStreamer->AddComment(" has no landing pad"); 538 Asm->EmitCallSiteValue(0, CallSiteEncoding); 541 Asm->OutStreamer->AddComment(Twine(" jumps to ") + 543 Asm->EmitCallSiteOffset(S.LPad->LandingPadLabel, EHFuncBeginSym, 552 Asm->OutStreamer->AddComment(" On action: cleanup"); 554 Asm->OutStreamer->AddComment(" On action: " + 557 Asm->EmitULEB128(S.Action); 560 Asm->OutStreamer->EmitLabel(CstEndLabel); 570 Asm->OutStreamer->AddComment(">> Action Record " + Twine(++Entry) + " <<"); 579 Asm->OutStreamer->AddComment(" Catch TypeInfo " + 582 Asm->OutStreamer->AddComment(" Filter TypeInfo " + 585 Asm->OutStreamer->AddComment(" Cleanup"); 587 Asm->EmitSLEB128(Action.ValueForTypeID); 595 Asm->OutStreamer->AddComment(" No further actions"); 598 Asm->OutStreamer->AddComment(" Continue to action "+Twine(NextAction)); 601 Asm->EmitSLEB128(Action.NextAction); 605 Asm->EmitAlignment(Align(4)); 609 Asm->EmitAlignment(Align(4)); 614 const MachineFunction *MF = Asm->MF; 618 bool VerboseAsm = Asm->OutStreamer->isVerboseAsm(); 623 Asm->OutStreamer->AddComment(">> Catch TypeInfos <<"); 624 Asm->OutStreamer->AddBlankLine(); 631 Asm->OutStreamer->AddComment("TypeInfo " + Twine(Entry--)); 632 Asm->EmitTTypeReference(GV, TTypeEncoding); 635 Asm->OutStreamer->EmitLabel(TTBaseLabel); 639 Asm->OutStreamer->AddComment(">> Filter TypeInfos <<"); 640 Asm->OutStreamer->AddBlankLine(); 649 Asm->OutStreamer->AddComment("FilterInfo " + Twine(Entry)); 652 Asm->EmitULEB128(TypeID);lib/CodeGen/AsmPrinter/WasmException.cpp
27 Mangler::getNameWithPrefix(NameStr, "__cpp_exception", Asm->getDataLayout()); 28 if (Asm->OutContext.lookupSymbol(NameStr)) { 29 MCSymbol *ExceptionSym = Asm->GetExternalSymbolSymbol("__cpp_exception"); 30 Asm->OutStreamer->EmitLabel(ExceptionSym); 36 if (!Asm->MF->getLandingPads().empty()) { 37 auto *NonConstMF = const_cast<MachineFunction *>(Asm->MF); 60 MCSymbol *LSDAEndLabel = Asm->createTempSymbol("GCC_except_table_end"); 61 Asm->OutStreamer->EmitLabel(LSDAEndLabel); 62 MCContext &OutContext = Asm->OutStreamer->getContext(); 66 Asm->OutStreamer->emitELFSize(LSDALabel, SizeExp); 81 MachineFunction &MF = *Asm->MF;lib/CodeGen/AsmPrinter/WinException.cpp
44 isAArch64 = Asm->TM.getTargetTriple().isAArch64(); 52 auto &OS = *Asm->OutStreamer; 56 OS.EmitCOFFSafeSEH(Asm->getSymbol(&F)); 68 shouldEmitMoves = Asm->needsSEHMoves() && MF->hasWinCFI(); 70 const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering(); 94 if (!Asm->MAI->usesWindowsCFI()) { 109 beginFunclet(MF->front(), Asm->CurrentFnSym); 115 Asm->OutStreamer->EmitWinCFIFuncletOrFuncEnd(); 144 Asm->OutStreamer->PushSection(); 147 MCSection *XData = Asm->OutStreamer->getAssociatedXDataSection( 148 Asm->OutStreamer->getCurrentSectionOnly()); 149 Asm->OutStreamer->SwitchSection(XData); 164 Asm->OutStreamer->PopSection(); 192 const Function &F = Asm->MF->getFunction(); 195 Sym = getMCSymbolForMBB(Asm, &MBB); 198 Asm->OutStreamer->BeginCOFFSymbolDef(Sym); 199 Asm->OutStreamer->EmitCOFFSymbolStorageClass(COFF::IMAGE_SYM_CLASS_STATIC); 200 Asm->OutStreamer->EmitCOFFSymbolType(COFF::IMAGE_SYM_DTYPE_FUNCTION 202 Asm->OutStreamer->EndCOFFSymbolDef(); 206 Asm->EmitAlignment(std::max(Asm->MF->getAlignment(), MBB.getAlignment()), 206 Asm->EmitAlignment(std::max(Asm->MF->getAlignment(), MBB.getAlignment()), 210 Asm->OutStreamer->EmitLabel(Sym); 215 CurrentFuncletTextSection = Asm->OutStreamer->getCurrentSectionOnly(); 216 Asm->OutStreamer->EmitWinCFIStartProc(Sym); 220 const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering(); 227 TLOF.getCFIPersonalitySymbol(PerFn, Asm->TM, MMI); 235 Asm->OutStreamer->EmitWinEHHandler(PersHandlerSym, true, true); 242 Asm->OutStreamer->SwitchSection(CurrentFuncletTextSection); 243 Asm->OutStreamer->EmitWinCFIFuncletOrFuncEnd(); 253 const MachineFunction *MF = Asm->MF; 264 MCSection *XData = Asm->OutStreamer->getAssociatedXDataSection( 265 Asm->OutStreamer->getCurrentSectionOnly()); 266 Asm->OutStreamer->SwitchSection(XData); 270 Asm->OutStreamer->EmitWinEHHandlerData(); 277 MCSymbol *FuncInfoXData = Asm->OutContext.getOrCreateSymbol( 279 Asm->OutStreamer->EmitValue(create32bitRef(FuncInfoXData), 4); 290 Asm->OutStreamer->SwitchSection(CurrentFuncletTextSection); 291 Asm->OutStreamer->EmitWinCFIEndProc(); 300 return MCConstantExpr::create(0, Asm->OutContext); 304 Asm->OutContext); 309 return MCConstantExpr::create(0, Asm->OutContext); 310 return create32bitRef(Asm->getSymbol(GV)); 316 Asm->OutContext); 318 MCConstantExpr::create(1, Asm->OutContext), 319 Asm->OutContext); 325 MCSymbolRefExpr::create(OffsetOf, Asm->OutContext), 326 MCSymbolRefExpr::create(OffsetFrom, Asm->OutContext), Asm->OutContext); 326 MCSymbolRefExpr::create(OffsetFrom, Asm->OutContext), Asm->OutContext); 332 MCConstantExpr::create(1, Asm->OutContext), 333 Asm->OutContext); 338 const TargetFrameLowering &TFI = *Asm->MF->getSubtarget().getFrameLowering(); 340 if (Asm->MAI->usesWindowsCFI()) { 342 TFI.getFrameIndexReferencePreferSP(*Asm->MF, FrameIndex, UnusedReg, 345 Asm->MF->getSubtarget() 354 int Offset = TFI.getFrameIndexReference(*Asm->MF, FrameIndex, UnusedReg); 550 auto &OS = *Asm->OutStreamer; 551 MCContext &Ctx = Asm->OutContext; 569 Asm->OutStreamer->EmitAssignment(ParentFrameOffset, MCOffset); 618 auto &OS = *Asm->OutStreamer; 619 MCContext &Ctx = Asm->OutContext; 633 FilterOrFinally = create32bitRef(getMCSymbolForMBB(Asm, Handler)); 660 auto &OS = *Asm->OutStreamer; 671 Asm->OutContext.getOrCreateSymbol(Twine("$cppxdata$", FuncLinkageName)); 674 FuncInfoXData = Asm->OutContext.getOrCreateLSDASymbol(FuncLinkageName); 678 if (Asm->MAI->usesWindowsCFI()) 686 UnwindMapXData = Asm->OutContext.getOrCreateSymbol( 690 Asm->OutContext.getOrCreateSymbol(Twine("$tryMap$", FuncLinkageName)); 693 Asm->OutContext.getOrCreateSymbol(Twine("$ip2state$", FuncLinkageName)); 740 if (Asm->MAI->usesWindowsCFI()) { 759 getMCSymbolForMBB(Asm, UME.Cleanup.dyn_cast<MachineBasicBlock *>()); 784 Asm->OutContext.getOrCreateSymbol(Twine("$handlerMap$") 841 FrameAllocOffsetRef = MCConstantExpr::create(Offset, Asm->OutContext); 843 FrameAllocOffsetRef = MCConstantExpr::create(0, Asm->OutContext); 847 getMCSymbolForMBB(Asm, HT.Handler.dyn_cast<MachineBasicBlock *>()); 909 StartLabel = Asm->getFunctionBegin(); 915 StartLabel = getMCSymbolForMBB(Asm, &*FuncletStart); 952 const TargetFrameLowering *TFI = Asm->MF->getSubtarget().getFrameLowering(); 953 Offset = TFI->getNonLocalFrameIndexReference(*Asm->MF, FI); 956 MCContext &Ctx = Asm->OutContext; 959 Asm->OutStreamer->EmitAssignment(ParentFrameOffset, 967 MCStreamer &OS = *Asm->OutStreamer; 981 MCSymbol *LSDALabel = Asm->OutContext.getOrCreateLSDASymbol(FLinkageName); 1045 UME.IsFinally ? getMCSymbolForMBB(Asm, Handler) : Handler->getSymbol(); 1093 MCStreamer &OS = *Asm->OutStreamer; 1095 MCSymbol *FuncBeginSym = Asm->getFunctionBegin(); 1096 MCSymbol *FuncEndSym = Asm->getFunctionEnd(); 1161 EndSymbol = getMCSymbolForMBB(Asm, &*FuncletEnd); 1276 MCSymbol *BeginSym = getMCSymbolForMBB(Asm, HandlerBlock);