Lines Matching full:symbol

58 /// virtual emitBar(const MCSymbol &Symbol) = 0;
84 virtual void emitLabel(MCSymbol *Symbol);
86 virtual void emitAssignment(MCSymbol *Symbol, const MCExpr *Value);
130 virtual void emitThumbSet(MCSymbol *Symbol, const MCExpr *Value);
174 /// \brief Tracks an index to represent the order a symbol was emitted in.
175 /// Zero means we did not emit that symbol.
270 /// \name Symbol & Section Management
288 /// \brief Returns an index to represent the order a symbol was emitted in.
289 /// (zero if we did not emit that symbol)
357 /// \brief Sets the symbol's section.
359 /// Each emitted symbol will be tracked in the ordering table,
361 void AssignFragment(MCSymbol *Symbol, MCFragment *Fragment);
363 /// \brief Emit a label for \p Symbol into the current section.
368 /// \param Symbol - The symbol to emit. A given symbol should only be
371 // FIXME: These emission are non-const because we mutate the symbol to
373 virtual void EmitLabel(MCSymbol *Symbol);
375 virtual void EmitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol);
395 /// \brief Emit an assignment of \p Value to \p Symbol.
398 /// symbol = value
404 /// \param Symbol - The symbol being assigned to.
405 /// \param Value - The value for the symbol.
406 virtual void EmitAssignment(MCSymbol *Symbol, const MCExpr *Value);
408 /// \brief Emit an weak reference from \p Alias to \p Symbol.
411 /// .weakref alias, symbol
414 /// \param Symbol - The symbol being aliased.
415 virtual void EmitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol);
417 /// \brief Add the given \p Attribute to \p Symbol.
418 virtual bool EmitSymbolAttribute(MCSymbol *Symbol,
421 /// \brief Set the \p DescValue for the \p Symbol.
423 /// \param Symbol - The symbol to have its n_desc field set.
425 virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue);
427 /// \brief Start emitting COFF symbol definition
429 /// \param Symbol - The symbol to have its External & Type fields set.
430 virtual void BeginCOFFSymbolDef(const MCSymbol *Symbol);
432 /// \brief Emit the storage class of the symbol.
434 /// \param StorageClass - The storage class the symbol should have.
437 /// \brief Emit the type of the symbol.
442 /// \brief Marks the end of the symbol definition.
445 virtual void EmitCOFFSafeSEH(MCSymbol const *Symbol);
449 /// \param Symbol - Symbol the section number relocation should point to.
450 virtual void EmitCOFFSectionIndex(MCSymbol const *Symbol);
454 /// \param Symbol - Symbol the section relative relocation should point to.
455 virtual void EmitCOFFSecRel32(MCSymbol const *Symbol);
460 /// .size symbol, expression
461 virtual void emitELFSize(MCSymbolELF *Symbol, const MCExpr *Value);
467 /// \brief Emit a common symbol.
469 /// \param Symbol - The common symbol to emit.
470 /// \param Size - The size of the common symbol.
471 /// \param ByteAlignment - The alignment of the symbol if
473 virtual void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
476 /// \brief Emit a local common (.lcomm) symbol.
478 /// \param Symbol - The common symbol to emit.
479 /// \param Size - The size of the common symbol.
480 /// \param ByteAlignment - The alignment of the common symbol in bytes.
481 virtual void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
484 /// \brief Emit the zerofill section and an optional symbol.
486 /// \param Section - The zerofill section to create and or to put the symbol
487 /// \param Symbol - The zerofill symbol to emit, if non-NULL.
488 /// \param Size - The size of the zerofill symbol.
489 /// \param ByteAlignment - The alignment of the zerofill symbol if
491 virtual void EmitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr,
494 /// \brief Emit a thread local bss (.tbss) symbol.
497 /// \param Symbol - The thread local common symbol to emit.
498 /// \param Size - The size of the symbol.
499 /// \param ByteAlignment - The alignment of the thread local common symbol
501 virtual void EmitTBSSSymbol(MCSection *Section, MCSymbol *Symbol,
668 virtual void EmitWinCFIStartProc(const MCSymbol *Symbol);