diff options
Diffstat (limited to 'clang/lib/Basic/Targets/RISCV.h')
-rw-r--r-- | clang/lib/Basic/Targets/RISCV.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets/RISCV.h b/clang/lib/Basic/Targets/RISCV.h index f1e9215b2d17..7e0846581ca1 100644 --- a/clang/lib/Basic/Targets/RISCV.h +++ b/clang/lib/Basic/Targets/RISCV.h @@ -47,6 +47,8 @@ protected: bool HasZvamo = false; bool HasZvlsseg = false; + static const Builtin::Info BuiltinInfo[]; + public: RISCVTargetInfo(const llvm::Triple &Triple, const TargetOptions &) : TargetInfo(Triple) { @@ -56,6 +58,9 @@ public: SuitableAlign = 128; WCharType = SignedInt; WIntType = UnsignedInt; + HasRISCVVTypes = true; + MCountName = "_mcount"; + HasFloat16 = true; } bool setCPU(const std::string &Name) override { @@ -69,7 +74,7 @@ public: void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override; - ArrayRef<Builtin::Info> getTargetBuiltins() const override { return None; } + ArrayRef<Builtin::Info> getTargetBuiltins() const override; BuiltinVaListKind getBuiltinVaListKind() const override { return TargetInfo::VoidPtrBuiltinVaList; @@ -93,6 +98,13 @@ public: bool validateAsmConstraint(const char *&Name, TargetInfo::ConstraintInfo &Info) const override; + std::string convertConstraint(const char *&Constraint) const override; + + bool + initFeatureMap(llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags, + StringRef CPU, + const std::vector<std::string> &FeaturesVec) const override; + bool hasFeature(StringRef Feature) const override; bool handleTargetFeatures(std::vector<std::string> &Features, |