Lines Matching full:symbol
62 void EmitLabel(MCSymbol *Symbol) override;
63 void EmitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) override;
70 bool EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override;
71 void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override;
72 void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
74 void BeginCOFFSymbolDef(const MCSymbol *Symbol) override { in BeginCOFFSymbolDef() argument
86 void EmitELFSize(MCSymbol *Symbol, const MCExpr *Value) override { in EmitELFSize() argument
89 void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
91 void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = nullptr,
93 virtual void EmitTBSSSymbol(const MCSection *Section, MCSymbol *Symbol,
120 // Output a linker-local symbol so we don't need section-relative local in ChangeSection()
129 void MCMachOStreamer::EmitEHSymAttributes(const MCSymbol *Symbol, in EmitEHSymAttributes() argument
132 getAssembler().getOrCreateSymbolData(*Symbol); in EmitEHSymAttributes()
141 void MCMachOStreamer::EmitLabel(MCSymbol *Symbol) { in EmitLabel() argument
142 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in EmitLabel()
145 AssignSection(Symbol, getCurrentSection().first); in EmitLabel()
146 // We have to create a new fragment if this is an atom defining symbol, in EmitLabel()
148 if (getAssembler().isSymbolLinkerVisible(*Symbol)) in EmitLabel()
151 MCObjectStreamer::EmitLabel(Symbol); in EmitLabel()
153 MCSymbolData &SD = getAssembler().getSymbolData(*Symbol); in EmitLabel()
232 void MCMachOStreamer::EmitThumbFunc(MCSymbol *Symbol) { in EmitThumbFunc() argument
235 getAssembler().setIsThumbFunc(Symbol); in EmitThumbFunc()
238 bool MCMachOStreamer::EmitSymbolAttribute(MCSymbol *Symbol, in EmitSymbolAttribute() argument
243 // Note that we intentionally cannot use the symbol data here; this is in EmitSymbolAttribute()
246 ISD.Symbol = Symbol; in EmitSymbolAttribute()
252 // Adding a symbol attribute always introduces the symbol, note that an in EmitSymbolAttribute()
254 // the symbol with the assembler. in EmitSymbolAttribute()
255 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol); in EmitSymbolAttribute()
257 // The implementation of symbol attributes is designed to match 'as', but it in EmitSymbolAttribute()
283 // it isn't very consistent because it implements this as part of symbol in EmitSymbolAttribute()
294 if (Symbol->isUndefined()) in EmitSymbolAttribute()
316 if (Symbol->isUndefined()) in EmitSymbolAttribute()
334 void MCMachOStreamer::EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { in EmitSymbolDesc() argument
338 getAssembler().getOrCreateSymbolData(*Symbol).setFlags( in EmitSymbolDesc()
342 void MCMachOStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, in EmitCommonSymbol() argument
345 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in EmitCommonSymbol()
347 AssignSection(Symbol, nullptr); in EmitCommonSymbol()
349 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol); in EmitCommonSymbol()
354 void MCMachOStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, in EmitLocalCommonSymbol() argument
358 Symbol, Size, ByteAlignment); in EmitLocalCommonSymbol()
361 void MCMachOStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol, in EmitZerofill() argument
365 // The symbol may not be present, which only creates the section. in EmitZerofill()
366 if (!Symbol) in EmitZerofill()
372 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in EmitZerofill()
374 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol); in EmitZerofill()
383 AssignSection(Symbol, Section); in EmitZerofill()
392 void MCMachOStreamer::EmitTBSSSymbol(const MCSection *Section, MCSymbol *Symbol, in EmitTBSSSymbol() argument
394 EmitZerofill(Section, Symbol, Size, ByteAlignment); in EmitTBSSSymbol()
422 // First, scan the symbol table to build a lookup table from fragments to in FinishImpl()
428 // An atom defining symbol should never be internal to a fragment. in FinishImpl()
429 assert(SD.getOffset() == 0 && "Invalid offset in atom defining symbol!"); in FinishImpl()
435 // symbol. in FinishImpl()