Lines Matching refs:Symbol
85 void emitLabel(MCSymbol *Symbol, SMLoc Loc = SMLoc()) override;
86 void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override;
87 void emitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) override;
96 bool emitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override;
97 void emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override;
98 void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
101 void emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
103 void emitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr,
106 void emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, uint64_t Size,
172 void MCMachOStreamer::emitEHSymAttributes(const MCSymbol *Symbol, in emitEHSymAttributes() argument
174 getAssembler().registerSymbol(*Symbol); in emitEHSymAttributes()
175 if (Symbol->isExternal()) in emitEHSymAttributes()
177 if (cast<MCSymbolMachO>(Symbol)->isWeakDefinition()) in emitEHSymAttributes()
179 if (Symbol->isPrivateExtern()) in emitEHSymAttributes()
183 void MCMachOStreamer::emitLabel(MCSymbol *Symbol, SMLoc Loc) { in emitLabel() argument
186 if (getAssembler().isSymbolLinkerVisible(*Symbol)) in emitLabel()
189 MCObjectStreamer::emitLabel(Symbol, Loc); in emitLabel()
198 cast<MCSymbolMachO>(Symbol)->clearReferenceType(); in emitLabel()
201 void MCMachOStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) { in emitAssignment() argument
208 cast<MCSymbolMachO>(Symbol)->setAltEntry(); in emitAssignment()
211 MCObjectStreamer::emitAssignment(Symbol, Value); in emitAssignment()
286 void MCMachOStreamer::emitThumbFunc(MCSymbol *Symbol) { in emitThumbFunc() argument
289 getAssembler().setIsThumbFunc(Symbol); in emitThumbFunc()
290 cast<MCSymbolMachO>(Symbol)->setThumbFunc(); in emitThumbFunc()
295 MCSymbolMachO *Symbol = cast<MCSymbolMachO>(Sym); in emitSymbolAttribute() local
303 ISD.Symbol = Symbol; in emitSymbolAttribute()
312 getAssembler().registerSymbol(*Symbol); in emitSymbolAttribute()
340 Symbol->setExternal(true); in emitSymbolAttribute()
347 Symbol->setReferenceTypeUndefinedLazy(false); in emitSymbolAttribute()
352 Symbol->setNoDeadStrip(); in emitSymbolAttribute()
353 if (Symbol->isUndefined()) in emitSymbolAttribute()
354 Symbol->setReferenceTypeUndefinedLazy(true); in emitSymbolAttribute()
361 Symbol->setNoDeadStrip(); in emitSymbolAttribute()
365 Symbol->setSymbolResolver(); in emitSymbolAttribute()
369 Symbol->setAltEntry(); in emitSymbolAttribute()
373 Symbol->setExternal(true); in emitSymbolAttribute()
374 Symbol->setPrivateExtern(true); in emitSymbolAttribute()
379 if (Symbol->isUndefined()) in emitSymbolAttribute()
380 Symbol->setWeakReference(); in emitSymbolAttribute()
386 Symbol->setWeakDefinition(); in emitSymbolAttribute()
390 Symbol->setWeakDefinition(); in emitSymbolAttribute()
391 Symbol->setWeakReference(); in emitSymbolAttribute()
395 Symbol->setCold(); in emitSymbolAttribute()
402 void MCMachOStreamer::emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { in emitSymbolDesc() argument
404 getAssembler().registerSymbol(*Symbol); in emitSymbolDesc()
405 cast<MCSymbolMachO>(Symbol)->setDesc(DescValue); in emitSymbolDesc()
408 void MCMachOStreamer::emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, in emitCommonSymbol() argument
411 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in emitCommonSymbol()
413 getAssembler().registerSymbol(*Symbol); in emitCommonSymbol()
414 Symbol->setExternal(true); in emitCommonSymbol()
415 Symbol->setCommon(Size, ByteAlignment); in emitCommonSymbol()
418 void MCMachOStreamer::emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, in emitLocalCommonSymbol() argument
422 Symbol, Size, ByteAlignment); in emitLocalCommonSymbol()
425 void MCMachOStreamer::emitZerofill(MCSection *Section, MCSymbol *Symbol, in emitZerofill() argument
443 if (Symbol) { in emitZerofill()
445 emitLabel(Symbol); in emitZerofill()
453 void MCMachOStreamer::emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, in emitTBSSSymbol() argument
455 emitZerofill(Section, Symbol, Size, ByteAlignment); in emitTBSSSymbol()
485 for (const MCSymbol &Symbol : getAssembler().symbols()) { in finishImpl() local
486 if (getAssembler().isSymbolLinkerVisible(Symbol) && Symbol.isInSection() && in finishImpl()
487 !Symbol.isVariable()) { in finishImpl()
489 assert(Symbol.getOffset() == 0 && in finishImpl()
491 DefiningSymbolMap[Symbol.getFragment()] = &Symbol; in finishImpl()
500 if (const MCSymbol *Symbol = DefiningSymbolMap.lookup(&Frag)) in finishImpl() local
501 CurrentAtom = Symbol; in finishImpl()