13#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_CSKY_H
14#define LLVM_CLANG_LIB_BASIC_TARGETS_CSKY_H
18#include "llvm/TargetParser/CSKYTargetParser.h"
26 llvm::CSKY::ArchKind Arch = llvm::CSKY::ArchKind::INVALID;
29 bool HardFloat =
false;
30 bool HardFloatABI =
false;
31 bool FPUV2_SF =
false;
32 bool FPUV2_DF =
false;
33 bool FPUV3_SF =
false;
34 bool FPUV3_DF =
false;
46 DoubleAlign = LongDoubleAlign = 32;
47 SizeType = UnsignedInt;
48 PtrDiffType = SignedInt;
49 IntPtrType = SignedInt;
50 WCharType = SignedInt;
51 WIntType = UnsignedInt;
53 UseZeroLengthBitfieldAlignment =
true;
54 MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 32;
55 resetDataLayout(
"e-m:e-S32-p:32:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-"
56 "v64:32:32-v128:32:32-a:0:32-Fi32-n32");
61 StringRef
getABI()
const override {
return ABI; }
62 bool setABI(
const std::string &Name)
override {
63 if (Name ==
"abiv2" || Name ==
"abiv1") {
70 bool setCPU(
const std::string &Name)
override;
72 bool isValidCPUName(StringRef Name)
const override;
74 unsigned getMinGlobalAlign(uint64_t,
bool HasNonWeakDef)
const override;
79 return VoidPtrBuiltinVaList;
82 bool validateAsmConstraint(
const char *&Name,
89 bool hasFeature(StringRef Feature)
const override;
90 bool handleTargetFeatures(std::vector<std::string> &Features,
Defines the clang::MacroBuilder utility class.
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.
Concrete class used by the front-end to report problems and issues.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Exposes information about the current target.
BuiltinVaListKind
The different kinds of __builtin_va_list types defined by the target implementation.
Options for controlling the target.
CSKYTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
bool setABI(const std::string &Name) override
Use the specified ABI.
StringRef getABI() const override
Get the ABI currently in use.
std::string_view getClobbers() const override
Returns a string of target-specific clobbers, in LLVM format.
bool allowsLargerPreferedTypeAlignment() const override
Whether target allows to overalign ABI-specified preferred alignment.
bool hasBitIntType() const override
Determine whether the _BitInt type is supported on this target.
BuiltinVaListKind getBuiltinVaListKind() const override
Returns the kind of __builtin_va_list type that should be used with this target.
Defines the clang::TargetInfo interface.
The JSON file list parser is used to communicate input to InstallAPI.