Go to the documentation of this file.
58 auto &ISAInfo = *ParseResult;
69 OS <<
"\t.option\tpush\n";
73 OS <<
"\t.option\tpop\n";
77 OS <<
"\t.option\tpic\n";
81 OS <<
"\t.option\tnopic\n";
85 OS <<
"\t.option\trvc\n";
89 OS <<
"\t.option\tnorvc\n";
93 OS <<
"\t.option\trelax\n";
97 OS <<
"\t.option\tnorelax\n";
100 void RISCVTargetAsmStreamer::emitAttribute(
unsigned Attribute,
unsigned Value) {
104 void RISCVTargetAsmStreamer::emitTextAttribute(
unsigned Attribute,
109 void RISCVTargetAsmStreamer::emitIntTextAttribute(
unsigned Attribute,
113 void RISCVTargetAsmStreamer::finishAttributeSection() {}
virtual void emitAttribute(unsigned Attribute, unsigned Value)
virtual void emitDirectiveOptionRelax()
Generic address nodes are lowered to some combination of target independent and machine specific ABI
This is an optimization pass for GlobalISel generic memory operations.
void emitDirectiveOptionRVC() override
void emitTargetAttributes(const MCSubtargetInfo &STI)
virtual void emitDirectiveOptionNoRVC()
Streaming machine code generation interface.
virtual void emitTextAttribute(unsigned Attribute, StringRef String)
bool hasFeature(unsigned Feature) const
virtual void emitDirectiveOptionPop()
const FeatureBitset & getFeatureBits() const
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
Target specific streamer interface.
llvm::Expected< std::unique_ptr< RISCVISAInfo > > parseFeatureBits(bool IsRV64, const FeatureBitset &FeatureBits)
void emitDirectiveOptionRelax() override
virtual void emitDirectiveOptionNoRelax()
RISCVTargetStreamer(MCStreamer &S)
virtual void emitDirectiveOptionPIC()
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
virtual void emitDirectiveOptionNoPIC()
void emitDirectiveOptionNoRelax() override
virtual void finishAttributeSection()
StringRef - Represent a constant reference to a string, i.e.
RISCVTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS)
void emitDirectiveOptionPop() override
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
virtual void emitDirectiveOptionRVC()
void setTargetABI(RISCVABI::ABI ABI)
void emitDirectiveOptionPIC() override
void emitDirectiveOptionNoRVC() override
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
virtual void emitIntTextAttribute(unsigned Attribute, unsigned IntValue, StringRef StringValue)
void emitDirectiveOptionPush() override
Generic base class for all target subtargets.
LLVM Value Representation.
void emitDirectiveOptionNoPIC() override
virtual void emitDirectiveOptionPush()