diff options
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h b/gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h deleted file mode 100644 index f83aae53939..00000000000 --- a/gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h +++ /dev/null @@ -1,114 +0,0 @@ -//===--- RISCV.h - Declare RISCV target feature support ---------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file declares RISCV TargetInfo objects. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_RISCV_H -#define LLVM_CLANG_LIB_BASIC_TARGETS_RISCV_H - -#include "clang/Basic/TargetInfo.h" -#include "clang/Basic/TargetOptions.h" -#include "llvm/ADT/Triple.h" -#include "llvm/Support/Compiler.h" - -namespace clang { -namespace targets { - -// RISC-V Target -class RISCVTargetInfo : public TargetInfo { -protected: - std::string ABI; - bool HasM; - bool HasA; - bool HasF; - bool HasD; - bool HasC; - -public: - RISCVTargetInfo(const llvm::Triple &Triple, const TargetOptions &) - : TargetInfo(Triple), HasM(false), HasA(false), HasF(false), - HasD(false), HasC(false) { - TLSSupported = false; - LongDoubleWidth = 128; - LongDoubleAlign = 128; - LongDoubleFormat = &llvm::APFloat::IEEEquad(); - SuitableAlign = 128; - WCharType = SignedInt; - WIntType = UnsignedInt; - } - - StringRef getABI() const override { return ABI; } - void getTargetDefines(const LangOptions &Opts, - MacroBuilder &Builder) const override; - - ArrayRef<Builtin::Info> getTargetBuiltins() const override { return None; } - - BuiltinVaListKind getBuiltinVaListKind() const override { - return TargetInfo::VoidPtrBuiltinVaList; - } - - const char *getClobbers() const override { return ""; } - - ArrayRef<const char *> getGCCRegNames() const override; - - ArrayRef<TargetInfo::GCCRegAlias> getGCCRegAliases() const override; - - bool validateAsmConstraint(const char *&Name, - TargetInfo::ConstraintInfo &Info) const override { - return false; - } - - bool hasFeature(StringRef Feature) const override; - - bool handleTargetFeatures(std::vector<std::string> &Features, - DiagnosticsEngine &Diags) override; -}; -class LLVM_LIBRARY_VISIBILITY RISCV32TargetInfo : public RISCVTargetInfo { -public: - RISCV32TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) - : RISCVTargetInfo(Triple, Opts) { - IntPtrType = SignedInt; - PtrDiffType = SignedInt; - SizeType = UnsignedInt; - resetDataLayout("e-m:e-p:32:32-i64:64-n32-S128"); - } - - bool setABI(const std::string &Name) override { - // TODO: support ilp32f and ilp32d ABIs. - if (Name == "ilp32") { - ABI = Name; - return true; - } - return false; - } -}; -class LLVM_LIBRARY_VISIBILITY RISCV64TargetInfo : public RISCVTargetInfo { -public: - RISCV64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) - : RISCVTargetInfo(Triple, Opts) { - LongWidth = LongAlign = PointerWidth = PointerAlign = 64; - IntMaxType = Int64Type = SignedLong; - resetDataLayout("e-m:e-p:64:64-i64:64-i128:128-n64-S128"); - } - - bool setABI(const std::string &Name) override { - // TODO: support lp64f and lp64d ABIs. - if (Name == "lp64") { - ABI = Name; - return true; - } - return false; - } -}; -} // namespace targets -} // namespace clang - -#endif // LLVM_CLANG_LIB_BASIC_TARGETS_RISCV_H |
