diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/tools/clang/lib/Basic/Targets/SPIR.h | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Basic/Targets/SPIR.h')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/Basic/Targets/SPIR.h | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/gnu/llvm/tools/clang/lib/Basic/Targets/SPIR.h b/gnu/llvm/tools/clang/lib/Basic/Targets/SPIR.h deleted file mode 100644 index e8d92f11a12..00000000000 --- a/gnu/llvm/tools/clang/lib/Basic/Targets/SPIR.h +++ /dev/null @@ -1,133 +0,0 @@ -//===--- SPIR.h - Declare SPIR 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 SPIR TargetInfo objects. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_SPIR_H -#define LLVM_CLANG_LIB_BASIC_TARGETS_SPIR_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 { - -static const unsigned SPIRAddrSpaceMap[] = { - 0, // Default - 1, // opencl_global - 3, // opencl_local - 2, // opencl_constant - 0, // opencl_private - 4, // opencl_generic - 0, // cuda_device - 0, // cuda_constant - 0 // cuda_shared -}; - -class LLVM_LIBRARY_VISIBILITY SPIRTargetInfo : public TargetInfo { -public: - SPIRTargetInfo(const llvm::Triple &Triple, const TargetOptions &) - : TargetInfo(Triple) { - assert(getTriple().getOS() == llvm::Triple::UnknownOS && - "SPIR target must use unknown OS"); - assert(getTriple().getEnvironment() == llvm::Triple::UnknownEnvironment && - "SPIR target must use unknown environment type"); - TLSSupported = false; - VLASupported = false; - LongWidth = LongAlign = 64; - AddrSpaceMap = &SPIRAddrSpaceMap; - UseAddrSpaceMapMangling = true; - HasLegalHalfType = true; - HasFloat16 = true; - // Define available target features - // These must be defined in sorted order! - NoAsmVariants = true; - } - - void getTargetDefines(const LangOptions &Opts, - MacroBuilder &Builder) const override; - - bool hasFeature(StringRef Feature) const override { - return Feature == "spir"; - } - - // SPIR supports the half type and the only llvm intrinsic allowed in SPIR is - // memcpy as per section 3 of the SPIR spec. - bool useFP16ConversionIntrinsics() const override { return false; } - - ArrayRef<Builtin::Info> getTargetBuiltins() const override { return None; } - - const char *getClobbers() const override { return ""; } - - ArrayRef<const char *> getGCCRegNames() const override { return None; } - - bool validateAsmConstraint(const char *&Name, - TargetInfo::ConstraintInfo &info) const override { - return true; - } - - ArrayRef<TargetInfo::GCCRegAlias> getGCCRegAliases() const override { - return None; - } - - BuiltinVaListKind getBuiltinVaListKind() const override { - return TargetInfo::VoidPtrBuiltinVaList; - } - - CallingConvCheckResult checkCallingConvention(CallingConv CC) const override { - return (CC == CC_SpirFunction || CC == CC_OpenCLKernel) ? CCCR_OK - : CCCR_Warning; - } - - CallingConv getDefaultCallingConv(CallingConvMethodType MT) const override { - return CC_SpirFunction; - } - - void setSupportedOpenCLOpts() override { - // Assume all OpenCL extensions and optional core features are supported - // for SPIR since it is a generic target. - getSupportedOpenCLOpts().supportAll(); - } -}; -class LLVM_LIBRARY_VISIBILITY SPIR32TargetInfo : public SPIRTargetInfo { -public: - SPIR32TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) - : SPIRTargetInfo(Triple, Opts) { - PointerWidth = PointerAlign = 32; - SizeType = TargetInfo::UnsignedInt; - PtrDiffType = IntPtrType = TargetInfo::SignedInt; - resetDataLayout("e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-" - "v96:128-v192:256-v256:256-v512:512-v1024:1024"); - } - - void getTargetDefines(const LangOptions &Opts, - MacroBuilder &Builder) const override; -}; - -class LLVM_LIBRARY_VISIBILITY SPIR64TargetInfo : public SPIRTargetInfo { -public: - SPIR64TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) - : SPIRTargetInfo(Triple, Opts) { - PointerWidth = PointerAlign = 64; - SizeType = TargetInfo::UnsignedLong; - PtrDiffType = IntPtrType = TargetInfo::SignedLong; - resetDataLayout("e-i64:64-v16:16-v24:32-v32:32-v48:64-" - "v96:128-v192:256-v256:256-v512:512-v1024:1024"); - } - - void getTargetDefines(const LangOptions &Opts, - MacroBuilder &Builder) const override; -}; -} // namespace targets -} // namespace clang -#endif // LLVM_CLANG_LIB_BASIC_TARGETS_SPIR_H |
