14 #ifndef LLVM_CLANG_LIB_BASIC_TARGETS_AARCH64_H 15 #define LLVM_CLANG_LIB_BASIC_TARGETS_AARCH64_H 19 #include "llvm/Support/TargetParser.h" 25 virtual void setDataLayout() = 0;
29 enum FPUModeEnum { FPUMode, NeonMode = (1 << 0), SveMode = (1 << 1) };
36 llvm::AArch64::ArchKind ArchKind;
45 StringRef getABI()
const override;
46 bool setABI(
const std::string &Name)
override;
48 bool isValidCPUName(StringRef Name)
const override;
49 bool setCPU(
const std::string &Name)
override;
55 void getTargetDefinesARMV81A(
const LangOptions &Opts,
57 void getTargetDefinesARMV82A(
const LangOptions &Opts,
64 bool hasFeature(StringRef Feature)
const override;
65 bool handleTargetFeatures(std::vector<std::string> &Features,
70 bool isCLZForZeroUndef()
const override;
76 bool validateAsmConstraint(
const char *&Name,
79 validateConstraintModifier(StringRef Constraint,
char Modifier,
unsigned Size,
80 std::string &SuggestedModifier)
const override;
81 const char *getClobbers()
const override;
83 int getEHDataRegisterNumber(
unsigned RegNo)
const override;
93 void setDataLayout()
override;
98 const llvm::Triple Triple;
104 void setDataLayout()
override;
118 void getVisualStudioDefines(
const LangOptions &Opts,
138 void setDataLayout()
override;
149 void getOSDefines(
const LangOptions &Opts,
const llvm::Triple &Triple,
167 #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.
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.