Lines Matching refs:Streamer
871 void EmitCFIInstruction(MCStreamer &Streamer,
877 static void EmitEncodingByte(MCStreamer &Streamer, unsigned Encoding, in EmitEncodingByte() argument
879 if (Streamer.isVerboseAsm()) { in EmitEncodingByte()
916 Streamer.AddComment(Twine(Prefix) + " = " + EncStr); in EmitEncodingByte()
919 Streamer.EmitIntValue(Encoding, 1); in EmitEncodingByte()
922 void FrameEmitterImpl::EmitCFIInstruction(MCStreamer &Streamer, in EmitCFIInstruction() argument
924 int dataAlignmentFactor = getDataAlignmentFactor(Streamer); in EmitCFIInstruction()
925 bool VerboseAsm = Streamer.isVerboseAsm(); in EmitCFIInstruction()
937 if (VerboseAsm) Streamer.AddComment("DW_CFA_def_cfa_offset"); in EmitCFIInstruction()
938 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_offset, 1); in EmitCFIInstruction()
940 if (VerboseAsm) Streamer.AddComment("DW_CFA_def_cfa"); in EmitCFIInstruction()
941 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa, 1); in EmitCFIInstruction()
942 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + in EmitCFIInstruction()
944 Streamer.EmitULEB128IntValue(Src.getReg()); in EmitCFIInstruction()
952 if (VerboseAsm) Streamer.AddComment(Twine("Offset " + Twine(CFAOffset))); in EmitCFIInstruction()
953 Streamer.EmitULEB128IntValue(CFAOffset); in EmitCFIInstruction()
959 if (VerboseAsm) Streamer.AddComment("DW_CFA_def_cfa_register"); in EmitCFIInstruction()
960 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_register, 1); in EmitCFIInstruction()
961 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Dst.getReg())); in EmitCFIInstruction()
962 Streamer.EmitULEB128IntValue(Dst.getReg()); in EmitCFIInstruction()
973 if (VerboseAsm) Streamer.AddComment("DW_CFA_offset_extended_sf"); in EmitCFIInstruction()
974 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended_sf, 1); in EmitCFIInstruction()
975 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
976 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
977 if (VerboseAsm) Streamer.AddComment(Twine("Offset ") + Twine(Offset)); in EmitCFIInstruction()
978 Streamer.EmitSLEB128IntValue(Offset); in EmitCFIInstruction()
980 if (VerboseAsm) Streamer.AddComment(Twine("DW_CFA_offset + Reg(") + in EmitCFIInstruction()
982 Streamer.EmitIntValue(dwarf::DW_CFA_offset + Reg, 1); in EmitCFIInstruction()
983 if (VerboseAsm) Streamer.AddComment(Twine("Offset ") + Twine(Offset)); in EmitCFIInstruction()
984 Streamer.EmitULEB128IntValue(Offset); in EmitCFIInstruction()
986 if (VerboseAsm) Streamer.AddComment("DW_CFA_offset_extended"); in EmitCFIInstruction()
987 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended, 1); in EmitCFIInstruction()
988 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
989 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
990 if (VerboseAsm) Streamer.AddComment(Twine("Offset ") + Twine(Offset)); in EmitCFIInstruction()
991 Streamer.EmitULEB128IntValue(Offset); in EmitCFIInstruction()
996 if (VerboseAsm) Streamer.AddComment("DW_CFA_remember_state"); in EmitCFIInstruction()
997 Streamer.EmitIntValue(dwarf::DW_CFA_remember_state, 1); in EmitCFIInstruction()
1000 if (VerboseAsm) Streamer.AddComment("DW_CFA_restore_state"); in EmitCFIInstruction()
1001 Streamer.EmitIntValue(dwarf::DW_CFA_restore_state, 1); in EmitCFIInstruction()
1005 if (VerboseAsm) Streamer.AddComment("DW_CFA_same_value"); in EmitCFIInstruction()
1006 Streamer.EmitIntValue(dwarf::DW_CFA_same_value, 1); in EmitCFIInstruction()
1007 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1008 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1014 Streamer.AddComment("DW_CFA_restore"); in EmitCFIInstruction()
1015 Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1017 Streamer.EmitIntValue(dwarf::DW_CFA_restore | Reg, 1); in EmitCFIInstruction()
1021 if (VerboseAsm) Streamer.AddComment("Escape bytes"); in EmitCFIInstruction()
1022 Streamer.EmitBytes(Instr.getValues(), 0); in EmitCFIInstruction()
1056 bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, in EmitCompactUnwind() argument
1058 MCContext &Context = Streamer.getContext(); in EmitCompactUnwind()
1060 bool VerboseAsm = Streamer.isVerboseAsm(); in EmitCompactUnwind()
1091 Streamer.SwitchSection(MOFI->getCompactUnwindSection()); in EmitCompactUnwind()
1095 unsigned Size = getSizeForEncoding(Streamer, FDEEncoding); in EmitCompactUnwind()
1096 if (VerboseAsm) Streamer.AddComment("Range Start"); in EmitCompactUnwind()
1097 Streamer.EmitSymbolValue(Frame.Function, Size); in EmitCompactUnwind()
1100 const MCExpr *Range = MakeStartMinusEndExpr(Streamer, *Frame.Begin, in EmitCompactUnwind()
1102 if (VerboseAsm) Streamer.AddComment("Range Length"); in EmitCompactUnwind()
1103 Streamer.EmitAbsValue(Range, 4); in EmitCompactUnwind()
1106 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4); in EmitCompactUnwind()
1107 if (VerboseAsm) Streamer.AddComment("Compact Unwind Encoding: 0x" + in EmitCompactUnwind()
1109 Streamer.EmitIntValue(Encoding, Size); in EmitCompactUnwind()
1113 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr); in EmitCompactUnwind()
1114 if (VerboseAsm) Streamer.AddComment("Personality Function"); in EmitCompactUnwind()
1116 Streamer.EmitSymbolValue(Frame.Personality, Size); in EmitCompactUnwind()
1118 Streamer.EmitIntValue(0, Size); // No personality fn in EmitCompactUnwind()
1121 Size = getSizeForEncoding(Streamer, Frame.LsdaEncoding); in EmitCompactUnwind()
1122 if (VerboseAsm) Streamer.AddComment("LSDA"); in EmitCompactUnwind()
1124 Streamer.EmitSymbolValue(Frame.Lsda, Size); in EmitCompactUnwind()
1126 Streamer.EmitIntValue(0, Size); // No LSDA in EmitCompactUnwind()
1379 void MCDwarfFrameEmitter::Emit(MCStreamer &Streamer, in Emit() argument
1382 MCContext &Context = Streamer.getContext(); in Emit()
1386 ArrayRef<MCDwarfFrameInfo> FrameArray = Streamer.getFrameInfos(); in Emit()
1390 for (unsigned i = 0, n = Streamer.getNumFrameInfos(); i < n; ++i) { in Emit()
1391 const MCDwarfFrameInfo &Frame = Streamer.getFrameInfo(i); in Emit()
1393 Emitter.EmitCompactUnwind(Streamer, Frame); in Emit()
1398 Streamer.SwitchSection(&Section); in Emit()
1400 Streamer.EmitLabel(SectionStart); in Emit()
1413 CIEStart = &Emitter.EmitCIE(Streamer, Frame.Personality, in Emit()
1418 FDEEnd = Emitter.EmitFDE(Streamer, *CIEStart, Frame); in Emit()
1421 Streamer.EmitLabel(FDEEnd); in Emit()
1424 Streamer.EmitValueToAlignment(Context.getAsmInfo().getPointerSize()); in Emit()
1426 Streamer.EmitLabel(FDEEnd); in Emit()
1429 void MCDwarfFrameEmitter::EmitAdvanceLoc(MCStreamer &Streamer, in EmitAdvanceLoc() argument
1434 Streamer.EmitBytes(OS.str(), /*AddrSpace=*/0); in EmitAdvanceLoc()