Lines Matching refs:Symbol
90 void emitLabel(MCSymbol *Symbol, SMLoc Loc = SMLoc()) override;
91 void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override;
92 void emitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) override;
104 bool emitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override;
105 void emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override;
106 void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
109 void emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
111 void emitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr,
114 void emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, uint64_t Size,
190 void MCMachOStreamer::emitEHSymAttributes(const MCSymbol *Symbol, in emitEHSymAttributes() argument
192 getAssembler().registerSymbol(*Symbol); in emitEHSymAttributes()
193 if (Symbol->isExternal()) in emitEHSymAttributes()
195 if (cast<MCSymbolMachO>(Symbol)->isWeakDefinition()) in emitEHSymAttributes()
197 if (Symbol->isPrivateExtern()) in emitEHSymAttributes()
201 void MCMachOStreamer::emitLabel(MCSymbol *Symbol, SMLoc Loc) { in emitLabel() argument
204 if (getAssembler().isSymbolLinkerVisible(*Symbol)) in emitLabel()
207 MCObjectStreamer::emitLabel(Symbol, Loc); in emitLabel()
216 cast<MCSymbolMachO>(Symbol)->clearReferenceType(); in emitLabel()
219 void MCMachOStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) { in emitAssignment() argument
226 cast<MCSymbolMachO>(Symbol)->setAltEntry(); in emitAssignment()
229 MCObjectStreamer::emitAssignment(Symbol, Value); in emitAssignment()
311 void MCMachOStreamer::emitThumbFunc(MCSymbol *Symbol) { in emitThumbFunc() argument
314 getAssembler().setIsThumbFunc(Symbol); in emitThumbFunc()
315 cast<MCSymbolMachO>(Symbol)->setThumbFunc(); in emitThumbFunc()
320 MCSymbolMachO *Symbol = cast<MCSymbolMachO>(Sym); in emitSymbolAttribute() local
328 ISD.Symbol = Symbol; in emitSymbolAttribute()
337 getAssembler().registerSymbol(*Symbol); in emitSymbolAttribute()
366 Symbol->setExternal(true); in emitSymbolAttribute()
373 Symbol->setReferenceTypeUndefinedLazy(false); in emitSymbolAttribute()
378 Symbol->setNoDeadStrip(); in emitSymbolAttribute()
379 if (Symbol->isUndefined()) in emitSymbolAttribute()
380 Symbol->setReferenceTypeUndefinedLazy(true); in emitSymbolAttribute()
387 Symbol->setNoDeadStrip(); in emitSymbolAttribute()
391 Symbol->setSymbolResolver(); in emitSymbolAttribute()
395 Symbol->setAltEntry(); in emitSymbolAttribute()
399 Symbol->setExternal(true); in emitSymbolAttribute()
400 Symbol->setPrivateExtern(true); in emitSymbolAttribute()
405 if (Symbol->isUndefined()) in emitSymbolAttribute()
406 Symbol->setWeakReference(); in emitSymbolAttribute()
412 Symbol->setWeakDefinition(); in emitSymbolAttribute()
416 Symbol->setWeakDefinition(); in emitSymbolAttribute()
417 Symbol->setWeakReference(); in emitSymbolAttribute()
421 Symbol->setCold(); in emitSymbolAttribute()
428 void MCMachOStreamer::emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { in emitSymbolDesc() argument
430 getAssembler().registerSymbol(*Symbol); in emitSymbolDesc()
431 cast<MCSymbolMachO>(Symbol)->setDesc(DescValue); in emitSymbolDesc()
434 void MCMachOStreamer::emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, in emitCommonSymbol() argument
437 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in emitCommonSymbol()
439 getAssembler().registerSymbol(*Symbol); in emitCommonSymbol()
440 Symbol->setExternal(true); in emitCommonSymbol()
441 Symbol->setCommon(Size, ByteAlignment); in emitCommonSymbol()
444 void MCMachOStreamer::emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, in emitLocalCommonSymbol() argument
448 Symbol, Size, ByteAlignment); in emitLocalCommonSymbol()
451 void MCMachOStreamer::emitZerofill(MCSection *Section, MCSymbol *Symbol, in emitZerofill() argument
469 if (Symbol) { in emitZerofill()
471 emitLabel(Symbol); in emitZerofill()
479 void MCMachOStreamer::emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, in emitTBSSSymbol() argument
481 emitZerofill(Section, Symbol, Size, ByteAlignment); in emitTBSSSymbol()
511 for (const MCSymbol &Symbol : getAssembler().symbols()) { in finishImpl() local
512 if (getAssembler().isSymbolLinkerVisible(Symbol) && Symbol.isInSection() && in finishImpl()
513 !Symbol.isVariable()) { in finishImpl()
515 assert(Symbol.getOffset() == 0 && in finishImpl()
517 DefiningSymbolMap[Symbol.getFragment()] = &Symbol; in finishImpl()
526 if (const MCSymbol *Symbol = DefiningSymbolMap.lookup(&Frag)) in finishImpl() local
527 CurrentAtom = Symbol; in finishImpl()