Go to the documentation of this file.
31 if (Name.find_first_not_of(
"0123456789_."
32 "abcdefghijklmnopqrstuvwxyz"
33 "ABCDEFGHIJKLMNOPQRSTUVWXYZ") == Name.npos) {
38 for (
const char *
B = Name.begin(), *
E = Name.end();
B <
E; ++
B) {
55 const MCExpr *Subsection)
const {
60 Subsection->
print(OS, &MAI);
120 }
else if (
T.isARM() ||
T.isThumb()) {
143 OS <<
"preinit_array";
159 OS <<
"llvm_linker_options";
161 OS <<
"llvm_call_graph_profile";
163 OS <<
"llvm_dependent_libraries";
165 OS <<
"llvm_sympart";
167 OS <<
"llvm_bb_addr_map";
169 OS <<
"llvm_bb_addr_map_v0";
171 OS <<
"llvm_offloading";
178 OS <<
"," << EntrySize;
183 printName(OS, Group.getPointer()->getName());
197 OS <<
",unique," << UniqueID;
202 OS <<
"\t.subsection\t";
203 Subsection->
print(OS, &MAI);
bool usesSunStyleELFSectionSwitchSyntax() const
This is an optimization pass for GlobalISel generic memory operations.
StringRef getCommentString() const
@ SHT_LLVM_DEPENDENT_LIBRARIES
void printSwitchToSection(const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, const MCExpr *Subsection) const override
This class is intended to be used as a base class for asm properties and features specific to the tar...
Triple - Helper class for working with autoconf configuration names.
The instances of the Type class are immutable: once they are created, they are never changed.
@ XCORE_SHF_DP_SECTION
All sections with the "d" flag are grouped together by the linker to form the data section and the dp...
virtual bool shouldOmitSectionDirective(StringRef SectionName) const
Return true if the .section directive should be omitted when emitting SectionName.
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
static void printName(raw_ostream &OS, StringRef Name)
@ SHT_LLVM_CALL_GRAPH_PROFILE
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
bool isVirtualSection() const override
Check whether this section is "virtual", that is has no actual object file contents.
void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
@ SHT_LLVM_LINKER_OPTIONS
This class implements an extremely fast bulk output stream that can only output to a stream.
bool shouldOmitSectionDirective(StringRef Name, const MCAsmInfo &MAI) const
Decides whether a '.section' directive should be printed before the section name.
StringRef getName() const
getName - Get the symbol name.
static Twine utohexstr(const uint64_t &Val)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
unsigned getFlags() const
bool useCodeAlign() const override
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
StringRef - Represent a constant reference to a string, i.e.
StringRef getVirtualSectionKind() const override
@ SHT_LLVM_BB_ADDR_MAP_V0
StringRef getName() const
void print(raw_ostream &OS, const MCAsmInfo *MAI, bool InParens=false) const
Base class for the full range of assembler expressions which are needed for parsing.
@ XCORE_SHF_CP_SECTION
All sections with the "c" flag are grouped together by the linker to form the constant pool and the c...