Lines Matching refs:streamer
433 static int getDataAlignmentFactor(MCStreamer &streamer) { in getDataAlignmentFactor() argument
434 MCContext &context = streamer.getContext(); in getDataAlignmentFactor()
443 static unsigned getSizeForEncoding(MCStreamer &streamer, in getSizeForEncoding() argument
445 MCContext &context = streamer.getContext(); in getSizeForEncoding()
465 static void EmitSymbol(MCStreamer &streamer, const MCSymbol &symbol, in EmitSymbol() argument
467 MCContext &context = streamer.getContext(); in EmitSymbol()
471 streamer); in EmitSymbol()
472 unsigned size = getSizeForEncoding(streamer, symbolEncoding); in EmitSymbol()
473 if (streamer.isVerboseAsm() && comment) streamer.AddComment(comment); in EmitSymbol()
474 streamer.EmitAbsValue(v, size); in EmitSymbol()
477 static void EmitPersonality(MCStreamer &streamer, const MCSymbol &symbol, in EmitPersonality() argument
479 MCContext &context = streamer.getContext(); in EmitPersonality()
483 streamer); in EmitPersonality()
484 unsigned size = getSizeForEncoding(streamer, symbolEncoding); in EmitPersonality()
485 streamer.EmitValue(v, size); in EmitPersonality()
516 bool EmitCompactUnwind(MCStreamer &streamer,
519 const MCSymbol &EmitCIE(MCStreamer &streamer,
524 MCSymbol *EmitFDE(MCStreamer &streamer,
527 void EmitCFIInstructions(MCStreamer &streamer,
664 void FrameEmitterImpl::EmitCFIInstructions(MCStreamer &streamer, in EmitCFIInstructions() argument
677 if (streamer.isVerboseAsm()) streamer.AddComment("DW_CFA_advance_loc4"); in EmitCFIInstructions()
678 streamer.EmitDwarfAdvanceFrameAddr(BaseLabel, ThisSym); in EmitCFIInstructions()
683 EmitCFIInstruction(streamer, Instr); in EmitCFIInstructions()
765 const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer, in EmitCIE() argument
770 MCContext &context = streamer.getContext(); in EmitCIE()
773 bool verboseAsm = streamer.isVerboseAsm(); in EmitCIE()
781 streamer.EmitLabel(sectionStart); in EmitCIE()
787 const MCExpr *Length = MakeStartMinusEndExpr(streamer, *sectionStart, in EmitCIE()
789 if (verboseAsm) streamer.AddComment("CIE Length"); in EmitCIE()
790 streamer.EmitAbsValue(Length, 4); in EmitCIE()
794 if (verboseAsm) streamer.AddComment("CIE ID Tag"); in EmitCIE()
795 streamer.EmitIntValue(CIE_ID, 4); in EmitCIE()
798 if (verboseAsm) streamer.AddComment("DW_CIE_VERSION"); in EmitCIE()
799 streamer.EmitIntValue(dwarf::DW_CIE_VERSION, 1); in EmitCIE()
804 if (verboseAsm) streamer.AddComment("CIE Augmentation"); in EmitCIE()
811 streamer.EmitBytes(Augmentation.str(), 0); in EmitCIE()
813 streamer.EmitIntValue(0, 1); in EmitCIE()
816 if (verboseAsm) streamer.AddComment("CIE Code Alignment Factor"); in EmitCIE()
817 streamer.EmitULEB128IntValue(1); in EmitCIE()
820 if (verboseAsm) streamer.AddComment("CIE Data Alignment Factor"); in EmitCIE()
821 streamer.EmitSLEB128IntValue(getDataAlignmentFactor(streamer)); in EmitCIE()
824 if (verboseAsm) streamer.AddComment("CIE Return Address Column"); in EmitCIE()
825 streamer.EmitULEB128IntValue(MRI.getDwarfRegNum(MRI.getRARegister(), true)); in EmitCIE()
835 augmentationLength += getSizeForEncoding(streamer, personalityEncoding); in EmitCIE()
842 if (verboseAsm) streamer.AddComment("Augmentation Size"); in EmitCIE()
843 streamer.EmitULEB128IntValue(augmentationLength); in EmitCIE()
848 EmitEncodingByte(streamer, personalityEncoding, in EmitCIE()
851 if (verboseAsm) streamer.AddComment("Personality"); in EmitCIE()
852 EmitPersonality(streamer, *personality, personalityEncoding); in EmitCIE()
856 EmitEncodingByte(streamer, lsdaEncoding, "LSDA Encoding"); in EmitCIE()
859 EmitEncodingByte(streamer, MOFI->getFDEEncoding(UsingCFI), in EmitCIE()
879 EmitCFIInstructions(streamer, Instructions, NULL); in EmitCIE()
882 streamer.EmitValueToAlignment(IsEH in EmitCIE()
885 streamer.EmitLabel(sectionEnd); in EmitCIE()
889 MCSymbol *FrameEmitterImpl::EmitFDE(MCStreamer &streamer, in EmitFDE() argument
892 MCContext &context = streamer.getContext(); in EmitFDE()
896 bool verboseAsm = streamer.isVerboseAsm(); in EmitFDE()
901 streamer.EmitEHSymAttributes(frame.Function, EHSym); in EmitFDE()
902 streamer.EmitLabel(EHSym); in EmitFDE()
906 const MCExpr *Length = MakeStartMinusEndExpr(streamer, *fdeStart, *fdeEnd, 0); in EmitFDE()
907 if (verboseAsm) streamer.AddComment("FDE Length"); in EmitFDE()
908 streamer.EmitAbsValue(Length, 4); in EmitFDE()
910 streamer.EmitLabel(fdeStart); in EmitFDE()
915 const MCExpr *offset = MakeStartMinusEndExpr(streamer, cieStart, *fdeStart, in EmitFDE()
917 if (verboseAsm) streamer.AddComment("FDE CIE Offset"); in EmitFDE()
918 streamer.EmitAbsValue(offset, 4); in EmitFDE()
920 const MCExpr *offset = MakeStartMinusEndExpr(streamer, *SectionStart, in EmitFDE()
922 streamer.EmitAbsValue(offset, 4); in EmitFDE()
924 streamer.EmitSymbolValue(&cieStart, 4); in EmitFDE()
928 unsigned size = getSizeForEncoding(streamer, fdeEncoding); in EmitFDE()
933 unsigned PCBeginSize = getSizeForEncoding(streamer, PCBeginEncoding); in EmitFDE()
934 EmitSymbol(streamer, *frame.Begin, PCBeginEncoding, "FDE initial location"); in EmitFDE()
937 const MCExpr *Range = MakeStartMinusEndExpr(streamer, *frame.Begin, in EmitFDE()
939 if (verboseAsm) streamer.AddComment("FDE address range"); in EmitFDE()
940 streamer.EmitAbsValue(Range, size); in EmitFDE()
947 augmentationLength += getSizeForEncoding(streamer, frame.LsdaEncoding); in EmitFDE()
949 if (verboseAsm) streamer.AddComment("Augmentation size"); in EmitFDE()
950 streamer.EmitULEB128IntValue(augmentationLength); in EmitFDE()
954 EmitSymbol(streamer, *frame.Lsda, frame.LsdaEncoding, in EmitFDE()
960 EmitCFIInstructions(streamer, frame.Instructions, frame.Begin); in EmitFDE()
963 streamer.EmitValueToAlignment(PCBeginSize); in EmitFDE()