52 bool EmitStackAlign) {
64 auto &ISAInfo = *ParseResult;
75 OS <<
"\t.option\tpush\n";
79 OS <<
"\t.option\tpop\n";
83 OS <<
"\t.option\tpic\n";
87 OS <<
"\t.option\tnopic\n";
91 OS <<
"\t.option\trvc\n";
95 OS <<
"\t.option\tnorvc\n";
99 OS <<
"\t.option\trelax\n";
103 OS <<
"\t.option\tnorelax\n";
108 OS <<
"\t.option\tarch";
109 for (
const auto &Arg : Args) {
127 OS <<
"\t.variant_cc\t" << Symbol.getName() <<
"\n";
130void RISCVTargetAsmStreamer::emitAttribute(
unsigned Attribute,
unsigned Value) {
134void RISCVTargetAsmStreamer::emitTextAttribute(
unsigned Attribute,
139void RISCVTargetAsmStreamer::emitIntTextAttribute(
unsigned Attribute,
143void RISCVTargetAsmStreamer::finishAttributeSection() {}
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Streaming machine code generation interface.
Generic base class for all target subtargets.
bool hasFeature(unsigned Feature) const
const FeatureBitset & getFeatureBits() const
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Target specific streamer interface.
void emitDirectiveOptionPIC() override
void emitDirectiveOptionArch(ArrayRef< RISCVOptionArchArg > Args) override
void emitDirectiveOptionRelax() override
RISCVTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS)
void emitDirectiveOptionNoRVC() override
void emitDirectiveOptionNoPIC() override
void emitDirectiveOptionPop() override
void emitDirectiveOptionNoRelax() override
void emitDirectiveOptionRVC() override
void emitDirectiveVariantCC(MCSymbol &Symbol) override
void emitDirectiveOptionPush() override
virtual void emitDirectiveOptionPIC()
virtual void emitDirectiveOptionNoRelax()
virtual void emitAttribute(unsigned Attribute, unsigned Value)
virtual void emitTextAttribute(unsigned Attribute, StringRef String)
virtual void emitDirectiveVariantCC(MCSymbol &Symbol)
void emitTargetAttributes(const MCSubtargetInfo &STI, bool EmitStackAlign)
virtual void emitIntTextAttribute(unsigned Attribute, unsigned IntValue, StringRef StringValue)
virtual void emitDirectiveOptionPop()
virtual void emitDirectiveOptionNoPIC()
void setTargetABI(RISCVABI::ABI ABI)
RISCVTargetStreamer(MCStreamer &S)
virtual void emitDirectiveOptionArch(ArrayRef< RISCVOptionArchArg > Args)
virtual void finishAttributeSection()
virtual void emitDirectiveOptionPush()
virtual void emitDirectiveOptionRelax()
virtual void emitDirectiveOptionNoRVC()
virtual void emitDirectiveOptionRVC()
StringRef - Represent a constant reference to a string, i.e.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
LLVM Value Representation.
llvm::Expected< std::unique_ptr< RISCVISAInfo > > parseFeatureBits(bool IsRV64, const FeatureBitset &FeatureBits)
This is an optimization pass for GlobalISel generic memory operations.
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.