9#ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHELFSTREAMER_H
10#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHELFSTREAMER_H
35 std::unique_ptr<MCObjectWriter> MOW,
36 std::unique_ptr<MCCodeEmitter> MCE)
40 unsigned MaxBytesToEmit)
override;
44 std::unique_ptr<MCAsmBackend> MAB,
45 std::unique_ptr<MCObjectWriter> MOW,
46 std::unique_ptr<MCCodeEmitter> MCE);
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
void emitCodeAlignment(Align Alignment, const MCSubtargetInfo &STI, unsigned MaxBytesToEmit) override
Emit nops until the byte alignment ByteAlignment is reached.
LoongArchELFStreamer(MCContext &C, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCObjectWriter > MOW, std::unique_ptr< MCCodeEmitter > MCE)
MCELFStreamer & getStreamer()
void emitDirectiveOptionPop() override
void emitDirectiveOptionPush() override
void emitDTPRel32Value(const MCExpr *) override
void emitDirectiveOptionNoRelax() override
void emitDirectiveOptionRelax() override
void emitDTPRel64Value(const MCExpr *) override
LoongArchTargetELFStreamer(MCStreamer &S, const MCSubtargetInfo &STI)
LoongArchTargetStreamer(MCStreamer &S)
Context object for machine code objects.
MCELFStreamer(MCContext &Context, std::unique_ptr< MCAsmBackend > TAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter)
Base class for the full range of assembler expressions which are needed for parsing.
Streaming machine code generation interface.
Generic base class for all target subtargets.
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.
MCELFStreamer * createLoongArchELFStreamer(MCContext &C, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCObjectWriter > MOW, std::unique_ptr< MCCodeEmitter > MCE)
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.