14#ifndef LLVM_DWARFCFICHECKER_DWARFCFIFUNCTIONFRAMESTREAMER_H
15#define LLVM_DWARFCFICHECKER_DWARFCFIFUNCTIONFRAMESTREAMER_H
37 std::unique_ptr<CFIFunctionFrameReceiver> Receiver)
39 assert(this->Receiver &&
"Receiver should not be null");
50 Align ByteAlignment)
override {}
71 void updateReceiver(
const std::optional<MCInst> &NewInst);
86 std::unique_ptr<CFIFunctionFrameReceiver> Receiver;
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file declares CFIFunctionFrameReceiver class.
This file defines the SmallVector class.
This class is an MCStreamer implementation that watches for machine instructions and CFI directives.
void emitRawTextImpl(StringRef String) override
EmitRawText - If this file is backed by an assembly streamer, this dumps the specified string in the ...
void emitSubsectionsViaSymbols() override
Emit a .subsection_via_symbols directive.
void emitCOFFSymbolStorageClass(int StorageClass) override
Emit the storage class of the symbol.
bool emitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override
Add the given Attribute to Symbol.
void emitCOFFSymbolType(int Type) override
Emit the type of the symbol.
CFIFunctionFrameStreamer(MCContext &Context, std::unique_ptr< CFIFunctionFrameReceiver > Receiver)
bool hasRawTextSupport() const override
Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText.
void beginCOFFSymbolDef(const MCSymbol *Symbol) override
Start emitting COFF symbol definition.
void endCOFFSymbolDef() override
Marks the end of the symbol definition.
void emitXCOFFSymbolLinkageWithVisibility(MCSymbol *Symbol, MCSymbolAttr Linkage, MCSymbolAttr Visibility) override
Emit a symbol's linkage and visibility with a linkage directive for XCOFF.
void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) override
Emit a common symbol.
Context object for machine code objects.
Instances of this class represent a single low-level machine instruction.
Streaming machine code generation interface.
Generic base class for all target subtargets.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
This is an optimization pass for GlobalISel generic memory operations.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
This struct is a compact representation of a valid (non-zero power of two) alignment.