Go to the documentation of this file.
9 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSABIFLAGSSECTION_H
10 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSABIFLAGSSECTION_H
82 template <
class PredicateLibrary>
88 else if (
P.hasMips64r5())
90 else if (
P.hasMips64r3())
92 else if (
P.hasMips64r2())
96 }
else if (
P.hasMips32()) {
100 else if (
P.hasMips32r5())
102 else if (
P.hasMips32r3())
104 else if (
P.hasMips32r2())
112 else if (
P.hasMips4())
114 else if (
P.hasMips3())
116 else if (
P.hasMips2())
118 else if (
P.hasMips1())
125 template <
class PredicateLibrary>
130 template <
class PredicateLibrary>
132 if (
P.useSoftFloat())
140 template <
class PredicateLibrary>
144 else if (
P.hasCnMips())
150 template <
class PredicateLibrary>
159 if (
P.inMicroMipsMode())
161 if (
P.inMips16Mode())
173 template <
class PredicateLibrary>
178 if (
P.useSoftFloat())
180 else if (
P.isABI_N32() ||
P.isABI_N64())
182 else if (
P.isABI_O32()) {
185 else if (
P.isFP64bit())
192 template <
class PredicateLibrary>
204 MCStreamer &
operator<<(MCStreamer &OS, MipsABIFlagsSection &ABIFlagsSection);
208 #endif // LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSABIFLAGSSECTION_H
This is an optimization pass for GlobalISel generic memory operations.
This currently compiles esp xmm0 movsd esp eax eax esp ret We should use not the dag combiner This is because dagcombine2 needs to be able to see through the X86ISD::Wrapper which DAGCombine can t really do The code for turning x load into a single vector load is target independent and should be moved to the dag combiner The code for turning x load into a vector load can only handle a direct load from a global or a direct load from the stack It should be generalized to handle any load from P
uint32_t getISAExtensionValue()
StringRef getFpABIString(FpABIKind Value)
uint8_t getCPR2SizeValue()
void setAllFromPredicates(const PredicateLibrary &P)
uint32_t getASESetValue()
uint8_t getISARevisionValue()
uint32_t getFlags2Value()
void setASESetFromPredicates(const PredicateLibrary &P)
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)
uint8_t getCPR1SizeValue()
MipsABIFlagsSection()=default
Mips::AFL_EXT ISAExtension
void setISAExtensionFromPredicates(const PredicateLibrary &P)
StringRef - Represent a constant reference to a string, i.e.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
void setFpABI(FpABIKind Value, bool IsABI32Bit)
uint8_t getISALevelValue()
uint8_t getGPRSizeValue()
void setFpAbiFromPredicates(const PredicateLibrary &P)
void setISALevelAndRevisionFromPredicates(const PredicateLibrary &P)
uint32_t getFlags1Value()
void setGPRSizeFromPredicates(const PredicateLibrary &P)
uint16_t getVersionValue()
void setCPR1SizeFromPredicates(const PredicateLibrary &P)
LLVM Value Representation.