Lines Matching refs:Streamer
1009 MCObjectStreamer &Streamer; member in __anon7d85553c0111::FrameEmitterImpl
1012 FrameEmitterImpl(bool IsEH, MCObjectStreamer &Streamer) in FrameEmitterImpl() argument
1013 : IsEH(IsEH), Streamer(Streamer) {} in FrameEmitterImpl()
1031 static void emitEncodingByte(MCObjectStreamer &Streamer, unsigned Encoding) { in emitEncodingByte() argument
1032 Streamer.EmitIntValue(Encoding, 1); in emitEncodingByte()
1036 int dataAlignmentFactor = getDataAlignmentFactor(Streamer); in EmitCFIInstruction()
1037 auto *MRI = Streamer.getContext().getRegisterInfo(); in EmitCFIInstruction()
1047 Streamer.EmitIntValue(dwarf::DW_CFA_register, 1); in EmitCFIInstruction()
1048 Streamer.EmitULEB128IntValue(Reg1); in EmitCFIInstruction()
1049 Streamer.EmitULEB128IntValue(Reg2); in EmitCFIInstruction()
1053 Streamer.EmitIntValue(dwarf::DW_CFA_GNU_window_save, 1); in EmitCFIInstruction()
1058 Streamer.EmitIntValue(dwarf::DW_CFA_undefined, 1); in EmitCFIInstruction()
1059 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1067 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_offset, 1); in EmitCFIInstruction()
1074 Streamer.EmitULEB128IntValue(CFAOffset); in EmitCFIInstruction()
1082 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa, 1); in EmitCFIInstruction()
1083 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1085 Streamer.EmitULEB128IntValue(CFAOffset); in EmitCFIInstruction()
1094 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_register, 1); in EmitCFIInstruction()
1095 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1115 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended_sf, 1); in EmitCFIInstruction()
1116 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1117 Streamer.EmitSLEB128IntValue(Offset); in EmitCFIInstruction()
1119 Streamer.EmitIntValue(dwarf::DW_CFA_offset + Reg, 1); in EmitCFIInstruction()
1120 Streamer.EmitULEB128IntValue(Offset); in EmitCFIInstruction()
1122 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended, 1); in EmitCFIInstruction()
1123 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1124 Streamer.EmitULEB128IntValue(Offset); in EmitCFIInstruction()
1129 Streamer.EmitIntValue(dwarf::DW_CFA_remember_state, 1); in EmitCFIInstruction()
1132 Streamer.EmitIntValue(dwarf::DW_CFA_restore_state, 1); in EmitCFIInstruction()
1136 Streamer.EmitIntValue(dwarf::DW_CFA_same_value, 1); in EmitCFIInstruction()
1137 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1144 Streamer.EmitIntValue(dwarf::DW_CFA_restore | Reg, 1); in EmitCFIInstruction()
1148 Streamer.EmitIntValue(dwarf::DW_CFA_GNU_args_size, 1); in EmitCFIInstruction()
1149 Streamer.EmitULEB128IntValue(Instr.getOffset()); in EmitCFIInstruction()
1153 Streamer.EmitBytes(Instr.getValues()); in EmitCFIInstruction()
1171 Streamer.EmitDwarfAdvanceFrameAddr(BaseLabel, ThisSym); in EmitCFIInstructions()
1182 MCContext &Context = Streamer.getContext(); in EmitCompactUnwind()
1217 unsigned Size = getSizeForEncoding(Streamer, FDEEncoding); in EmitCompactUnwind()
1218 Streamer.EmitSymbolValue(Frame.Begin, Size); in EmitCompactUnwind()
1221 const MCExpr *Range = MakeStartMinusEndExpr(Streamer, *Frame.Begin, in EmitCompactUnwind()
1223 emitAbsValue(Streamer, Range, 4); in EmitCompactUnwind()
1226 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4); in EmitCompactUnwind()
1227 Streamer.EmitIntValue(Encoding, Size); in EmitCompactUnwind()
1230 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr); in EmitCompactUnwind()
1232 Streamer.EmitSymbolValue(Frame.Personality, Size); in EmitCompactUnwind()
1234 Streamer.EmitIntValue(0, Size); // No personality fn in EmitCompactUnwind()
1237 Size = getSizeForEncoding(Streamer, Frame.LsdaEncoding); in EmitCompactUnwind()
1239 Streamer.EmitSymbolValue(Frame.Lsda, Size); in EmitCompactUnwind()
1241 Streamer.EmitIntValue(0, Size); // No LSDA in EmitCompactUnwind()
1265 MCContext &context = Streamer.getContext(); in EmitCIE()
1270 Streamer.EmitLabel(sectionStart); in EmitCIE()
1276 MakeStartMinusEndExpr(Streamer, *sectionStart, *sectionEnd, 4); in EmitCIE()
1277 emitAbsValue(Streamer, Length, 4); in EmitCIE()
1281 Streamer.EmitIntValue(CIE_ID, 4); in EmitCIE()
1285 Streamer.EmitIntValue(CIEVersion, 1); in EmitCIE()
1298 Streamer.EmitBytes(Augmentation); in EmitCIE()
1300 Streamer.EmitIntValue(0, 1); in EmitCIE()
1304 Streamer.EmitIntValue(context.getAsmInfo()->getPointerSize(), 1); in EmitCIE()
1307 Streamer.EmitIntValue(0, 1); in EmitCIE()
1311 Streamer.EmitULEB128IntValue(context.getAsmInfo()->getMinInstAlignment()); in EmitCIE()
1314 Streamer.EmitSLEB128IntValue(getDataAlignmentFactor(Streamer)); in EmitCIE()
1320 Streamer.EmitIntValue(MRI->getDwarfRegNum(MRI->getRARegister(), IsEH), 1); in EmitCIE()
1322 Streamer.EmitULEB128IntValue( in EmitCIE()
1334 augmentationLength += getSizeForEncoding(Streamer, personalityEncoding); in EmitCIE()
1341 Streamer.EmitULEB128IntValue(augmentationLength); in EmitCIE()
1346 emitEncodingByte(Streamer, personalityEncoding); in EmitCIE()
1348 EmitPersonality(Streamer, *personality, personalityEncoding); in EmitCIE()
1352 emitEncodingByte(Streamer, lsdaEncoding); in EmitCIE()
1355 emitEncodingByte(Streamer, MOFI->getFDEEncoding()); in EmitCIE()
1370 Streamer.EmitValueToAlignment(IsEH ? 4 : MAI->getPointerSize()); in EmitCIE()
1372 Streamer.EmitLabel(sectionEnd); in EmitCIE()
1380 MCContext &context = Streamer.getContext(); in EmitFDE()
1388 const MCExpr *Length = MakeStartMinusEndExpr(Streamer, *fdeStart, *fdeEnd, 0); in EmitFDE()
1389 emitAbsValue(Streamer, Length, 4); in EmitFDE()
1391 Streamer.EmitLabel(fdeStart); in EmitFDE()
1397 MakeStartMinusEndExpr(Streamer, cieStart, *fdeStart, 0); in EmitFDE()
1398 emitAbsValue(Streamer, offset, 4); in EmitFDE()
1401 MakeStartMinusEndExpr(Streamer, SectionStart, cieStart, 0); in EmitFDE()
1402 emitAbsValue(Streamer, offset, 4); in EmitFDE()
1404 Streamer.EmitSymbolValue(&cieStart, 4); in EmitFDE()
1410 unsigned PCSize = getSizeForEncoding(Streamer, PCEncoding); in EmitFDE()
1411 emitFDESymbol(Streamer, *frame.Begin, PCEncoding, IsEH); in EmitFDE()
1415 MakeStartMinusEndExpr(Streamer, *frame.Begin, *frame.End, 0); in EmitFDE()
1416 emitAbsValue(Streamer, Range, PCSize); in EmitFDE()
1423 augmentationLength += getSizeForEncoding(Streamer, frame.LsdaEncoding); in EmitFDE()
1425 Streamer.EmitULEB128IntValue(augmentationLength); in EmitFDE()
1429 emitFDESymbol(Streamer, *frame.Lsda, frame.LsdaEncoding, true); in EmitFDE()
1440 Streamer.EmitValueToAlignment(Align); in EmitFDE()
1442 Streamer.EmitLabel(fdeEnd); in EmitFDE()
1486 void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB, in Emit() argument
1488 Streamer.generateCompactUnwindEncodings(MAB); in Emit()
1490 MCContext &Context = Streamer.getContext(); in Emit()
1492 FrameEmitterImpl Emitter(IsEH, Streamer); in Emit()
1493 ArrayRef<MCDwarfFrameInfo> FrameArray = Streamer.getDwarfFrameInfos(); in Emit()
1502 Streamer.SwitchSection(MOFI->getCompactUnwindSection()); in Emit()
1503 Streamer.EmitValueToAlignment(Context.getAsmInfo()->getPointerSize()); in Emit()
1519 Streamer.SwitchSection(&Section); in Emit()
1521 Streamer.EmitLabel(SectionStart); in Emit()
1548 void MCDwarfFrameEmitter::EmitAdvanceLoc(MCObjectStreamer &Streamer, in EmitAdvanceLoc() argument
1550 MCContext &Context = Streamer.getContext(); in EmitAdvanceLoc()
1554 Streamer.EmitBytes(OS.str()); in EmitAdvanceLoc()