13 #ifndef LLVM_CLANG_LIB_BASIC_TARGETS_AARCH64_H 14 #define LLVM_CLANG_LIB_BASIC_TARGETS_AARCH64_H 18 #include "llvm/Support/TargetParser.h" 24 virtual void setDataLayout() = 0;
28 enum FPUModeEnum { FPUMode, NeonMode = (1 << 0), SveMode = (1 << 1) };
39 llvm::AArch64::ArchKind ArchKind;
48 StringRef getABI()
const override;
49 bool setABI(
const std::string &Name)
override;
51 bool isValidCPUName(StringRef Name)
const override;
53 bool setCPU(
const std::string &Name)
override;
59 void getTargetDefinesARMV81A(
const LangOptions &Opts,
61 void getTargetDefinesARMV82A(
const LangOptions &Opts,
63 void getTargetDefinesARMV83A(
const LangOptions &Opts,
65 void getTargetDefinesARMV84A(
const LangOptions &Opts,
67 void getTargetDefinesARMV85A(
const LangOptions &Opts,
74 bool hasFeature(StringRef Feature)
const override;
75 bool handleTargetFeatures(std::vector<std::string> &Features,
80 bool isCLZForZeroUndef()
const override;
86 bool validateAsmConstraint(
const char *&Name,
89 validateConstraintModifier(StringRef Constraint,
char Modifier,
unsigned Size,
90 std::string &SuggestedModifier)
const override;
91 const char *getClobbers()
const override;
94 StringRef Expression)
const override {
98 int getEHDataRegisterNumber(
unsigned RegNo)
const override;
108 void setDataLayout()
override;
113 const llvm::Triple Triple;
119 void setDataLayout()
override;
136 getCallingConvKind(
bool ClangABICompat4)
const override;
138 unsigned getMinGlobalAlign(uint64_t TypeSize)
const override;
155 void setDataLayout()
override;
166 void getOSDefines(
const LangOptions &Opts,
const llvm::Triple &Triple,
184 #endif // LLVM_CLANG_LIB_BASIC_TARGETS_AARCH64_H
static const Builtin::Info BuiltinInfo[]
static bool hasFeature(StringRef Feature, const LangOptions &LangOpts, const TargetInfo &Target)
Determine whether a translation unit built using the current language options has the given feature...
Options for controlling the target.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Concrete class used by the front-end to report problems and issues.
bool useFP16ConversionIntrinsics() const override
Check whether llvm intrinsics such as llvm.convert.to.fp16 should be used to convert to and from __fp...
static const char *const GCCRegNames[]
Exposes information about the current target.
CallingConv
CallingConv - Specifies the calling convention that a function uses.
StringRef getConstraintRegister(StringRef Constraint, StringRef Expression) const override
Extracts a register from the passed constraint (if it is a single-register constraint) and the asm la...
Enumerates target-specific builtins in their own namespaces within namespace clang.
OpenMPLinearClauseKind Modifier
Modifier of 'linear' clause.
Dataflow Directional Tag Classes.
BuiltinVaListKind
The different kinds of __builtin_va_list types defined by the target implementation.