Home | History | Annotate | Download | only in MC

Lines Matching defs:Symbol

56   virtual void EmitLabel(MCSymbol *Symbol);
59 virtual void EmitAssignment(MCSymbol *Symbol, const MCExpr *Value);
60 virtual void EmitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol);
61 virtual void EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute);
62 virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) {
65 virtual void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
67 virtual void BeginCOFFSymbolDef(const MCSymbol *Symbol) {
83 virtual void EmitELFSize(MCSymbol *Symbol, const MCExpr *Value) {
84 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol);
88 virtual void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
91 virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = 0,
95 virtual void EmitTBSSSymbol(const MCSection *Section, MCSymbol *Symbol,
162 void MCELFStreamer::EmitLabel(MCSymbol *Symbol) {
163 assert(Symbol->isUndefined() && "Cannot define a symbol twice!");
165 MCObjectStreamer::EmitLabel(Symbol);
168 static_cast<const MCSectionELF&>(Symbol->getSection());
169 MCSymbolData &SD = getAssembler().getSymbolData(*Symbol);
197 void MCELFStreamer::EmitAssignment(MCSymbol *Symbol, const MCExpr *Value) {
201 getAssembler().getOrCreateSymbolData(*Symbol);
202 Symbol->setVariableValue(AddValueSymbols(Value));
212 void MCELFStreamer::EmitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol) {
213 getAssembler().getOrCreateSymbolData(*Symbol);
216 const MCExpr *Value = MCSymbolRefExpr::Create(Symbol, getContext());
220 void MCELFStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
225 // Note that we intentionally cannot use the symbol data here; this is
228 ISD.Symbol = Symbol;
234 // Adding a symbol attribute always introduces the symbol, note that an
236 // the symbol with the assembler.
237 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol);
239 // The implementation of symbol attributes is designed to match 'as', but it
255 llvm_unreachable("Invalid symbol attribute for ELF!");
264 BindingExplicitlySet.insert(Symbol);
271 BindingExplicitlySet.insert(Symbol);
277 BindingExplicitlySet.insert(Symbol);
318 void MCELFStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
320 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol);
322 if (!BindingExplicitlySet.count(Symbol)) {
335 Symbol->setSection(*Section);
346 void MCELFStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
349 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol);
352 BindingExplicitlySet.insert(Symbol);
353 EmitCommonSymbol(Symbol, Size, ByteAlignment);
399 // Add a symbol for the file name of this module. This is the second
400 // entry in the module's symbol table (the first being the null symbol).
402 MCSymbol *Symbol = getAssembler().getContext().GetOrCreateSymbol(Filename);
403 Symbol->setSection(*getCurrentSection());
404 Symbol->setAbsolute();
406 MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol);
495 const MCSymbol &Symbol = SD->getSymbol();
496 const MCSection &Section = Symbol.getSection();