Lines Matching refs:Streamer
1033 void EmitCFIInstruction(MCObjectStreamer &Streamer,
1039 static void EmitEncodingByte(MCStreamer &Streamer, unsigned Encoding, in EmitEncodingByte() argument
1041 if (Streamer.isVerboseAsm()) { in EmitEncodingByte()
1078 Streamer.AddComment(Twine(Prefix) + " = " + EncStr); in EmitEncodingByte()
1081 Streamer.EmitIntValue(Encoding, 1); in EmitEncodingByte()
1084 void FrameEmitterImpl::EmitCFIInstruction(MCObjectStreamer &Streamer, in EmitCFIInstruction() argument
1086 int dataAlignmentFactor = getDataAlignmentFactor(Streamer); in EmitCFIInstruction()
1087 bool VerboseAsm = Streamer.isVerboseAsm(); in EmitCFIInstruction()
1094 Streamer.AddComment("DW_CFA_register"); in EmitCFIInstruction()
1095 Streamer.AddComment(Twine("Reg1 ") + Twine(Reg1)); in EmitCFIInstruction()
1096 Streamer.AddComment(Twine("Reg2 ") + Twine(Reg2)); in EmitCFIInstruction()
1098 Streamer.EmitIntValue(dwarf::DW_CFA_register, 1); in EmitCFIInstruction()
1099 Streamer.EmitULEB128IntValue(Reg1); in EmitCFIInstruction()
1100 Streamer.EmitULEB128IntValue(Reg2); in EmitCFIInstruction()
1104 Streamer.EmitIntValue(dwarf::DW_CFA_GNU_window_save, 1); in EmitCFIInstruction()
1110 Streamer.AddComment("DW_CFA_undefined"); in EmitCFIInstruction()
1111 Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1113 Streamer.EmitIntValue(dwarf::DW_CFA_undefined, 1); in EmitCFIInstruction()
1114 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1123 Streamer.AddComment("DW_CFA_def_cfa_offset"); in EmitCFIInstruction()
1124 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_offset, 1); in EmitCFIInstruction()
1132 Streamer.AddComment(Twine("Offset " + Twine(CFAOffset))); in EmitCFIInstruction()
1133 Streamer.EmitULEB128IntValue(CFAOffset); in EmitCFIInstruction()
1139 Streamer.AddComment("DW_CFA_def_cfa"); in EmitCFIInstruction()
1140 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa, 1); in EmitCFIInstruction()
1143 Streamer.AddComment(Twine("Reg ") + Twine(Instr.getRegister())); in EmitCFIInstruction()
1144 Streamer.EmitULEB128IntValue(Instr.getRegister()); in EmitCFIInstruction()
1149 Streamer.AddComment(Twine("Offset " + Twine(CFAOffset))); in EmitCFIInstruction()
1150 Streamer.EmitULEB128IntValue(CFAOffset); in EmitCFIInstruction()
1157 Streamer.AddComment("DW_CFA_def_cfa_register"); in EmitCFIInstruction()
1158 Streamer.EmitIntValue(dwarf::DW_CFA_def_cfa_register, 1); in EmitCFIInstruction()
1161 Streamer.AddComment(Twine("Reg ") + Twine(Instr.getRegister())); in EmitCFIInstruction()
1162 Streamer.EmitULEB128IntValue(Instr.getRegister()); in EmitCFIInstruction()
1179 if (VerboseAsm) Streamer.AddComment("DW_CFA_offset_extended_sf"); in EmitCFIInstruction()
1180 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended_sf, 1); in EmitCFIInstruction()
1181 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1182 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1183 if (VerboseAsm) Streamer.AddComment(Twine("Offset ") + Twine(Offset)); in EmitCFIInstruction()
1184 Streamer.EmitSLEB128IntValue(Offset); in EmitCFIInstruction()
1186 if (VerboseAsm) Streamer.AddComment(Twine("DW_CFA_offset + Reg(") + in EmitCFIInstruction()
1188 Streamer.EmitIntValue(dwarf::DW_CFA_offset + Reg, 1); in EmitCFIInstruction()
1189 if (VerboseAsm) Streamer.AddComment(Twine("Offset ") + Twine(Offset)); in EmitCFIInstruction()
1190 Streamer.EmitULEB128IntValue(Offset); in EmitCFIInstruction()
1192 if (VerboseAsm) Streamer.AddComment("DW_CFA_offset_extended"); in EmitCFIInstruction()
1193 Streamer.EmitIntValue(dwarf::DW_CFA_offset_extended, 1); in EmitCFIInstruction()
1194 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1195 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1196 if (VerboseAsm) Streamer.AddComment(Twine("Offset ") + Twine(Offset)); in EmitCFIInstruction()
1197 Streamer.EmitULEB128IntValue(Offset); in EmitCFIInstruction()
1202 if (VerboseAsm) Streamer.AddComment("DW_CFA_remember_state"); in EmitCFIInstruction()
1203 Streamer.EmitIntValue(dwarf::DW_CFA_remember_state, 1); in EmitCFIInstruction()
1206 if (VerboseAsm) Streamer.AddComment("DW_CFA_restore_state"); in EmitCFIInstruction()
1207 Streamer.EmitIntValue(dwarf::DW_CFA_restore_state, 1); in EmitCFIInstruction()
1211 if (VerboseAsm) Streamer.AddComment("DW_CFA_same_value"); in EmitCFIInstruction()
1212 Streamer.EmitIntValue(dwarf::DW_CFA_same_value, 1); in EmitCFIInstruction()
1213 if (VerboseAsm) Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1214 Streamer.EmitULEB128IntValue(Reg); in EmitCFIInstruction()
1220 Streamer.AddComment("DW_CFA_restore"); in EmitCFIInstruction()
1221 Streamer.AddComment(Twine("Reg ") + Twine(Reg)); in EmitCFIInstruction()
1223 Streamer.EmitIntValue(dwarf::DW_CFA_restore | Reg, 1); in EmitCFIInstruction()
1227 if (VerboseAsm) Streamer.AddComment("Escape bytes"); in EmitCFIInstruction()
1228 Streamer.EmitBytes(Instr.getValues()); in EmitCFIInstruction()
1260 void FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, in EmitCompactUnwind() argument
1262 MCContext &Context = Streamer.getContext(); in EmitCompactUnwind()
1264 bool VerboseAsm = Streamer.isVerboseAsm(); in EmitCompactUnwind()
1298 unsigned Size = getSizeForEncoding(Streamer, FDEEncoding); in EmitCompactUnwind()
1299 if (VerboseAsm) Streamer.AddComment("Range Start"); in EmitCompactUnwind()
1300 Streamer.EmitSymbolValue(Frame.Begin, Size); in EmitCompactUnwind()
1303 const MCExpr *Range = MakeStartMinusEndExpr(Streamer, *Frame.Begin, in EmitCompactUnwind()
1305 if (VerboseAsm) Streamer.AddComment("Range Length"); in EmitCompactUnwind()
1306 Streamer.EmitAbsValue(Range, 4); in EmitCompactUnwind()
1309 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_udata4); in EmitCompactUnwind()
1310 if (VerboseAsm) Streamer.AddComment("Compact Unwind Encoding: 0x" + in EmitCompactUnwind()
1312 Streamer.EmitIntValue(Encoding, Size); in EmitCompactUnwind()
1315 Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr); in EmitCompactUnwind()
1316 if (VerboseAsm) Streamer.AddComment("Personality Function"); in EmitCompactUnwind()
1318 Streamer.EmitSymbolValue(Frame.Personality, Size); in EmitCompactUnwind()
1320 Streamer.EmitIntValue(0, Size); // No personality fn in EmitCompactUnwind()
1323 Size = getSizeForEncoding(Streamer, Frame.LsdaEncoding); in EmitCompactUnwind()
1324 if (VerboseAsm) Streamer.AddComment("LSDA"); in EmitCompactUnwind()
1326 Streamer.EmitSymbolValue(Frame.Lsda, Size); in EmitCompactUnwind()
1328 Streamer.EmitIntValue(0, Size); // No LSDA in EmitCompactUnwind()
1570 void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB, in Emit() argument
1572 Streamer.generateCompactUnwindEncodings(MAB); in Emit()
1574 MCContext &Context = Streamer.getContext(); in Emit()
1577 ArrayRef<MCDwarfFrameInfo> FrameArray = Streamer.getFrameInfos(); in Emit()
1587 Streamer.SwitchSection(MOFI->getCompactUnwindSection()); in Emit()
1588 Streamer.EmitValueToAlignment(Context.getAsmInfo()->getPointerSize()); in Emit()
1594 Emitter.EmitCompactUnwind(Streamer, Frame); in Emit()
1604 Streamer.SwitchSection(&Section); in Emit()
1606 Streamer.EmitLabel(SectionStart); in Emit()
1619 Streamer.EmitLabel(FDEEnd); in Emit()
1633 CIEStart = &Emitter.EmitCIE(Streamer, Frame.Personality, in Emit()
1639 FDEEnd = Emitter.EmitFDE(Streamer, *CIEStart, Frame); in Emit()
1642 Streamer.EmitValueToAlignment(Context.getAsmInfo()->getPointerSize()); in Emit()
1644 Streamer.EmitLabel(FDEEnd); in Emit()
1647 void MCDwarfFrameEmitter::EmitAdvanceLoc(MCObjectStreamer &Streamer, in EmitAdvanceLoc() argument
1649 MCContext &Context = Streamer.getContext(); in EmitAdvanceLoc()
1653 Streamer.EmitBytes(OS.str()); in EmitAdvanceLoc()