Home | History | Annotate | Download | only in AsmPrinter

Lines Matching refs:Asm

28 EHStreamer::EHStreamer(AsmPrinter *A) : Asm(A), MMI(Asm->MMI) {}
212 for (const auto &MBB : *Asm->MF) {
240 if (SawPotentiallyThrowing && Asm->MAI->isExceptionHandlingDwarf()) {
262 if (PreviousIsInvoke && Asm->MAI->isExceptionHandlingDwarf()) {
272 if (Asm->MAI->isExceptionHandlingDwarf())
290 if (SawPotentiallyThrowing && Asm->MAI->isExceptionHandlingDwarf()) {
362 bool IsSJLJ = Asm->MAI->getExceptionHandlingType() == ExceptionHandling::SjLj;
383 const MCSection *LSDASection = Asm->getObjFileLowering().getLSDASection();
392 TypeFormatSize = Asm->getDataLayout().getPointerSize();
421 TTypeEncoding = Asm->getObjFileLowering().getTTypeEncoding();
422 TypeFormatSize = Asm->GetSizeOfEncodedValue(TTypeEncoding);
429 Asm->OutStreamer.SwitchSection(LSDASection);
430 Asm->EmitAlignment(2);
434 Asm->OutContext.GetOrCreateSymbol(Twine("GCC_except_table")+
435 Twine(Asm->getFunctionNumber()));
436 Asm->OutStreamer.EmitLabel(GCCETSym);
437 Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("exception",
438 Asm->getFunctionNumber()));
441 Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("_LSDA_",
442 Asm->getFunctionNumber()));
445 Asm->EmitEncodingByte(dwarf::DW_EH_PE_omit, "@LPStart");
446 Asm->EmitEncodingByte(TTypeEncoding, "@TType");
482 Asm->EmitULEB128(TTypeBaseOffset, "@TType base offset", SizeAlign);
486 bool VerboseAsm = Asm->OutStreamer.isVerboseAsm();
490 Asm->EmitEncodingByte(dwarf::DW_EH_PE_udata4, "Call site");
493 Asm->EmitULEB128(CallSiteTableLength, "Call site table length", SizeAlign);
504 Asm->OutStreamer.AddComment(">> Call Site " + Twine(idx) + " <<");
505 Asm->OutStreamer.AddComment(" On exception at call site "+Twine(idx));
507 Asm->EmitULEB128(idx);
514 Asm->OutStreamer.AddComment(" Action: cleanup");
516 Asm->OutStreamer.AddComment(" Action: " +
519 Asm->EmitULEB128(S.Action);
523 assert(Asm->MAI->isExceptionHandlingDwarf());
544 Asm->EmitEncodingByte(dwarf::DW_EH_PE_udata4, "Call site");
547 Asm->EmitULEB128(CallSiteTableLength, "Call site table length", SizeAlign);
555 Asm->GetTempSymbol("eh_func_begin", Asm->getFunctionNumber());
562 EndLabel = Asm->GetTempSymbol("eh_func_end", Asm->getFunctionNumber());
569 Asm->OutStreamer.AddComment(">> Call Site " + Twine(++Entry) + " <<");
570 Asm->EmitLabelDifference(BeginLabel, EHFuncBeginSym, 4);
572 Asm->OutStreamer.AddComment(Twine(" Call between ") +
575 Asm->EmitLabelDifference(EndLabel, BeginLabel, 4);
581 Asm->OutStreamer.AddComment(" has no landing pad");
582 Asm->OutStreamer.EmitIntValue(0, 4/*size*/);
585 Asm->OutStreamer.AddComment(Twine(" jumps to ") +
587 Asm->EmitLabelDifference(S.PadLabel, EHFuncBeginSym, 4);
595 Asm->OutStreamer.AddComment(" On action: cleanup");
597 Asm->OutStreamer.AddComment(" On action: " +
600 Asm->EmitULEB128(S.Action);
612 Asm->OutStreamer.AddComment(">> Action Record " + Twine(++Entry) + " <<");
621 Asm->OutStreamer.AddComment(" Catch TypeInfo " +
624 Asm->OutStreamer.AddComment(" Filter TypeInfo " +
627 Asm->OutStreamer.AddComment(" Cleanup");
629 Asm->EmitSLEB128(Action.ValueForTypeID);
637 Asm->OutStreamer.AddComment(" No further actions");
640 Asm->OutStreamer.AddComment(" Continue to action "+Twine(NextAction));
643 Asm->EmitSLEB128(Action.NextAction);
648 Asm->EmitAlignment(2);
655 bool VerboseAsm = Asm->OutStreamer.isVerboseAsm();
660 Asm->OutStreamer.AddComment(">> Catch TypeInfos <<");
661 Asm->OutStreamer.AddBlankLine();
669 Asm->OutStreamer.AddComment("TypeInfo " + Twine(Entry--));
670 Asm->EmitTTypeReference(GV, TTypeEncoding);
675 Asm->OutStreamer.AddComment(">> Filter TypeInfos <<");
676 Asm->OutStreamer.AddBlankLine();
685 Asm->OutStreamer.AddComment("FilterInfo " + Twine(Entry));
688 Asm->EmitULEB128(TypeID);