Lines Matching full:symbol
72 void EmitLabel(MCSymbol *Symbol) override;
73 void EmitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) override;
80 bool EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override;
81 void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override;
82 void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
84 void BeginCOFFSymbolDef(const MCSymbol *Symbol) override { in BeginCOFFSymbolDef() argument
96 void EmitELFSize(MCSymbol *Symbol, const MCExpr *Value) override { in EmitELFSize() argument
99 void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
101 void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = nullptr,
103 void EmitTBSSSymbol(const MCSection *Section, MCSymbol *Symbol, uint64_t Size,
163 // Output a linker-local symbol so we don't need section-relative local in ChangeSection()
172 void MCMachOStreamer::EmitEHSymAttributes(const MCSymbol *Symbol, in EmitEHSymAttributes() argument
175 getAssembler().getOrCreateSymbolData(*Symbol); in EmitEHSymAttributes()
184 void MCMachOStreamer::EmitLabel(MCSymbol *Symbol) { in EmitLabel() argument
185 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in EmitLabel()
188 AssignSection(Symbol, getCurrentSection().first); in EmitLabel()
189 // We have to create a new fragment if this is an atom defining symbol, in EmitLabel()
191 if (getAssembler().isSymbolLinkerVisible(*Symbol)) in EmitLabel()
194 MCObjectStreamer::EmitLabel(Symbol); in EmitLabel()
196 MCSymbolData &SD = getAssembler().getSymbolData(*Symbol); in EmitLabel()
275 void MCMachOStreamer::EmitThumbFunc(MCSymbol *Symbol) { in EmitThumbFunc() argument
278 getAssembler().setIsThumbFunc(Symbol); in EmitThumbFunc()
281 bool MCMachOStreamer::EmitSymbolAttribute(MCSymbol *Symbol, in EmitSymbolAttribute() argument
286 // Note that we intentionally cannot use the symbol data here; this is in EmitSymbolAttribute()
289 ISD.Symbol = Symbol; in EmitSymbolAttribute()
295 // Adding a symbol attribute always introduces the symbol, note that an in EmitSymbolAttribute()
297 // the symbol with the assembler. in EmitSymbolAttribute()
298 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol); in EmitSymbolAttribute()
300 // The implementation of symbol attributes is designed to match 'as', but it in EmitSymbolAttribute()
326 // it isn't very consistent because it implements this as part of symbol in EmitSymbolAttribute()
337 if (Symbol->isUndefined()) in EmitSymbolAttribute()
359 if (Symbol->isUndefined()) in EmitSymbolAttribute()
377 void MCMachOStreamer::EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { in EmitSymbolDesc() argument
381 getAssembler().getOrCreateSymbolData(*Symbol).setFlags( in EmitSymbolDesc()
385 void MCMachOStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, in EmitCommonSymbol() argument
388 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in EmitCommonSymbol()
390 AssignSection(Symbol, nullptr); in EmitCommonSymbol()
392 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol); in EmitCommonSymbol()
397 void MCMachOStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, in EmitLocalCommonSymbol() argument
401 Symbol, Size, ByteAlignment); in EmitLocalCommonSymbol()
404 void MCMachOStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol, in EmitZerofill() argument
408 // The symbol may not be present, which only creates the section. in EmitZerofill()
409 if (!Symbol) in EmitZerofill()
415 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in EmitZerofill()
417 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol); in EmitZerofill()
426 AssignSection(Symbol, Section); in EmitZerofill()
435 void MCMachOStreamer::EmitTBSSSymbol(const MCSection *Section, MCSymbol *Symbol, in EmitTBSSSymbol() argument
437 EmitZerofill(Section, Symbol, Size, ByteAlignment); in EmitTBSSSymbol()
465 // First, scan the symbol table to build a lookup table from fragments to in FinishImpl()
471 // An atom defining symbol should never be internal to a fragment. in FinishImpl()
472 assert(SD.getOffset() == 0 && "Invalid offset in atom defining symbol!"); in FinishImpl()
478 // symbol. in FinishImpl()