summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h')
-rw-r--r--gnu/llvm/tools/clang/lib/Basic/Targets/RISCV.h114
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