Lines Matching refs:Asm

28 EHStreamer::EHStreamer(AsmPrinter *A) : Asm(A), MMI(Asm->MMI) {}  in EHStreamer()
231 bool IsSJLJ = Asm->MAI->getExceptionHandlingType() == ExceptionHandling::SjLj; in computeCallSiteTable()
234 for (const auto &MBB : *Asm->MF) { in computeCallSiteTable()
262 if (SawPotentiallyThrowing && Asm->MAI->usesCFIForEH()) { in computeCallSiteTable()
370 bool IsSJLJ = Asm->MAI->getExceptionHandlingType() == ExceptionHandling::SjLj; in emitExceptionTable()
391 MCSection *LSDASection = Asm->getObjFileLowering().getLSDASection(); in emitExceptionTable()
400 TypeFormatSize = Asm->getDataLayout().getPointerSize(); in emitExceptionTable()
429 TTypeEncoding = Asm->getObjFileLowering().getTTypeEncoding(); in emitExceptionTable()
430 TypeFormatSize = Asm->GetSizeOfEncodedValue(TTypeEncoding); in emitExceptionTable()
437 Asm->OutStreamer->SwitchSection(LSDASection); in emitExceptionTable()
438 Asm->EmitAlignment(2); in emitExceptionTable()
442 Asm->OutContext.getOrCreateSymbol(Twine("GCC_except_table")+ in emitExceptionTable()
443 Twine(Asm->getFunctionNumber())); in emitExceptionTable()
444 Asm->OutStreamer->EmitLabel(GCCETSym); in emitExceptionTable()
445 Asm->OutStreamer->EmitLabel(Asm->getCurExceptionSym()); in emitExceptionTable()
448 Asm->EmitEncodingByte(dwarf::DW_EH_PE_omit, "@LPStart"); in emitExceptionTable()
449 Asm->EmitEncodingByte(TTypeEncoding, "@TType"); in emitExceptionTable()
485 Asm->EmitULEB128(TTypeBaseOffset, "@TType base offset", SizeAlign); in emitExceptionTable()
489 bool VerboseAsm = Asm->OutStreamer->isVerboseAsm(); in emitExceptionTable()
493 Asm->EmitEncodingByte(dwarf::DW_EH_PE_udata4, "Call site"); in emitExceptionTable()
496 Asm->EmitULEB128(CallSiteTableLength, "Call site table length", SizeAlign); in emitExceptionTable()
507 Asm->OutStreamer->AddComment(">> Call Site " + Twine(idx) + " <<"); in emitExceptionTable()
508 Asm->OutStreamer->AddComment(" On exception at call site "+Twine(idx)); in emitExceptionTable()
510 Asm->EmitULEB128(idx); in emitExceptionTable()
517 Asm->OutStreamer->AddComment(" Action: cleanup"); in emitExceptionTable()
519 Asm->OutStreamer->AddComment(" Action: " + in emitExceptionTable()
522 Asm->EmitULEB128(S.Action); in emitExceptionTable()
546 Asm->EmitEncodingByte(dwarf::DW_EH_PE_udata4, "Call site"); in emitExceptionTable()
549 Asm->EmitULEB128(CallSiteTableLength, "Call site table length", SizeAlign); in emitExceptionTable()
556 MCSymbol *EHFuncBeginSym = Asm->getFunctionBegin(); in emitExceptionTable()
563 EndLabel = Asm->getFunctionEnd(); in emitExceptionTable()
569 Asm->OutStreamer->AddComment(">> Call Site " + Twine(++Entry) + " <<"); in emitExceptionTable()
570 Asm->EmitLabelDifference(BeginLabel, EHFuncBeginSym, 4); in emitExceptionTable()
572 Asm->OutStreamer->AddComment(Twine(" Call between ") + in emitExceptionTable()
575 Asm->EmitLabelDifference(EndLabel, BeginLabel, 4); in emitExceptionTable()
581 Asm->OutStreamer->AddComment(" has no landing pad"); in emitExceptionTable()
582 Asm->OutStreamer->EmitIntValue(0, 4/*size*/); in emitExceptionTable()
585 Asm->OutStreamer->AddComment(Twine(" jumps to ") + in emitExceptionTable()
587 Asm->EmitLabelDifference(S.LPad->LandingPadLabel, EHFuncBeginSym, 4); in emitExceptionTable()
595 Asm->OutStreamer->AddComment(" On action: cleanup"); in emitExceptionTable()
597 Asm->OutStreamer->AddComment(" On action: " + in emitExceptionTable()
600 Asm->EmitULEB128(S.Action); in emitExceptionTable()
612 Asm->OutStreamer->AddComment(">> Action Record " + Twine(++Entry) + " <<"); in emitExceptionTable()
621 Asm->OutStreamer->AddComment(" Catch TypeInfo " + in emitExceptionTable()
624 Asm->OutStreamer->AddComment(" Filter TypeInfo " + in emitExceptionTable()
627 Asm->OutStreamer->AddComment(" Cleanup"); in emitExceptionTable()
629 Asm->EmitSLEB128(Action.ValueForTypeID); in emitExceptionTable()
637 Asm->OutStreamer->AddComment(" No further actions"); in emitExceptionTable()
640 Asm->OutStreamer->AddComment(" Continue to action "+Twine(NextAction)); in emitExceptionTable()
643 Asm->EmitSLEB128(Action.NextAction); in emitExceptionTable()
648 Asm->EmitAlignment(2); in emitExceptionTable()
655 bool VerboseAsm = Asm->OutStreamer->isVerboseAsm(); in emitTypeInfos()
660 Asm->OutStreamer->AddComment(">> Catch TypeInfos <<"); in emitTypeInfos()
661 Asm->OutStreamer->AddBlankLine(); in emitTypeInfos()
668 Asm->OutStreamer->AddComment("TypeInfo " + Twine(Entry--)); in emitTypeInfos()
669 Asm->EmitTTypeReference(GV, TTypeEncoding); in emitTypeInfos()
674 Asm->OutStreamer->AddComment(">> Filter TypeInfos <<"); in emitTypeInfos()
675 Asm->OutStreamer->AddBlankLine(); in emitTypeInfos()
684 Asm->OutStreamer->AddComment("FilterInfo " + Twine(Entry)); in emitTypeInfos()
687 Asm->EmitULEB128(TypeID); in emitTypeInfos()