Lines Matching refs:Symbol
89 void emitLabel(MCSymbol *Symbol, SMLoc Loc = SMLoc()) override;
90 void emitAssignment(MCSymbol *Symbol, const MCExpr *Value) override;
91 void emitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) override;
103 bool emitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override;
104 void emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override;
105 void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
108 void emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
110 void emitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr,
113 void emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, uint64_t Size,
152 void MCMachOStreamer::emitEHSymAttributes(const MCSymbol *Symbol, in emitEHSymAttributes() argument
154 auto *Sym = cast<MCSymbolMachO>(Symbol); in emitEHSymAttributes()
155 getAssembler().registerSymbol(*Symbol); in emitEHSymAttributes()
156 if (Symbol->isExternal()) in emitEHSymAttributes()
164 void MCMachOStreamer::emitLabel(MCSymbol *Symbol, SMLoc Loc) { in emitLabel() argument
167 if (cast<MCSymbolMachO>(Symbol)->isSymbolLinkerVisible()) in emitLabel()
170 MCObjectStreamer::emitLabel(Symbol, Loc); in emitLabel()
179 cast<MCSymbolMachO>(Symbol)->clearReferenceType(); in emitLabel()
182 void MCMachOStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) { in emitAssignment() argument
189 cast<MCSymbolMachO>(Symbol)->setAltEntry(); in emitAssignment()
192 MCObjectStreamer::emitAssignment(Symbol, Value); in emitAssignment()
272 void MCMachOStreamer::emitThumbFunc(MCSymbol *Symbol) { in emitThumbFunc() argument
275 getAssembler().setIsThumbFunc(Symbol); in emitThumbFunc()
276 cast<MCSymbolMachO>(Symbol)->setThumbFunc(); in emitThumbFunc()
281 MCSymbolMachO *Symbol = cast<MCSymbolMachO>(Sym); in emitSymbolAttribute() local
289 {Symbol, getCurrentSectionOnly()}); in emitSymbolAttribute()
296 getAssembler().registerSymbol(*Symbol); in emitSymbolAttribute()
327 Symbol->setExternal(true); in emitSymbolAttribute()
334 Symbol->setReferenceTypeUndefinedLazy(false); in emitSymbolAttribute()
339 Symbol->setNoDeadStrip(); in emitSymbolAttribute()
340 if (Symbol->isUndefined()) in emitSymbolAttribute()
341 Symbol->setReferenceTypeUndefinedLazy(true); in emitSymbolAttribute()
348 Symbol->setNoDeadStrip(); in emitSymbolAttribute()
352 Symbol->setSymbolResolver(); in emitSymbolAttribute()
356 Symbol->setAltEntry(); in emitSymbolAttribute()
360 Symbol->setExternal(true); in emitSymbolAttribute()
361 Symbol->setPrivateExtern(true); in emitSymbolAttribute()
366 if (Symbol->isUndefined()) in emitSymbolAttribute()
367 Symbol->setWeakReference(); in emitSymbolAttribute()
373 Symbol->setWeakDefinition(); in emitSymbolAttribute()
377 Symbol->setWeakDefinition(); in emitSymbolAttribute()
378 Symbol->setWeakReference(); in emitSymbolAttribute()
382 Symbol->setCold(); in emitSymbolAttribute()
389 void MCMachOStreamer::emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) { in emitSymbolDesc() argument
391 getAssembler().registerSymbol(*Symbol); in emitSymbolDesc()
392 cast<MCSymbolMachO>(Symbol)->setDesc(DescValue); in emitSymbolDesc()
395 void MCMachOStreamer::emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, in emitCommonSymbol() argument
398 assert(Symbol->isUndefined() && "Cannot define a symbol twice!"); in emitCommonSymbol()
400 getAssembler().registerSymbol(*Symbol); in emitCommonSymbol()
401 Symbol->setExternal(true); in emitCommonSymbol()
402 Symbol->setCommon(Size, ByteAlignment); in emitCommonSymbol()
405 void MCMachOStreamer::emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, in emitLocalCommonSymbol() argument
409 Symbol, Size, ByteAlignment); in emitLocalCommonSymbol()
412 void MCMachOStreamer::emitZerofill(MCSection *Section, MCSymbol *Symbol, in emitZerofill() argument
430 if (Symbol) { in emitZerofill()
432 emitLabel(Symbol); in emitZerofill()
440 void MCMachOStreamer::emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, in emitTBSSSymbol() argument
442 emitZerofill(Section, Symbol, Size, ByteAlignment); in emitTBSSSymbol()
471 for (const MCSymbol &Symbol : getAssembler().symbols()) { in finishImpl() local
472 auto &Sym = cast<MCSymbolMachO>(Symbol); in finishImpl()
476 assert(Symbol.getOffset() == 0 && in finishImpl()
478 DefiningSymbolMap[Symbol.getFragment()] = &Symbol; in finishImpl()
489 if (const MCSymbol *Symbol = DefiningSymbolMap.lookup(&Frag)) in finishImpl() local
490 CurrentAtom = Symbol; in finishImpl()