13#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_DIRECTX_H
14#define LLVM_CLANG_LIB_BASIC_TARGETS_DIRECTX_H
17#include "llvm/Support/Compiler.h"
18#include "llvm/TargetParser/Triple.h"
57 UseAddrSpaceMapMangling =
true;
58 HasLegalHalfType =
true;
61 PlatformMinVersion = Triple.getOSVersion();
62 PlatformName = llvm::Triple::getOSTypeName(Triple.getOS());
63 resetDataLayout(
"e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:"
64 "32-f64:64-n8:16:32:64");
65 TheCXXABI.set(TargetCXXABI::GenericItanium);
72 return Feature ==
"directx";
91 return TargetInfo::VoidPtrBuiltinVaList;
95 TargetInfo::adjust(Diags, Opts);
98 Opts.ThreadsafeStatics =
false;
Defines the clang::TargetOptions class.
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.
std::string_view getClobbers() const override
Returns a string of target-specific clobbers, in LLVM format.
BuiltinVaListKind getBuiltinVaListKind() const override
Returns the kind of __builtin_va_list type that should be used with this target.
ArrayRef< TargetInfo::GCCRegAlias > getGCCRegAliases() const override
bool useFP16ConversionIntrinsics() const override
Check whether llvm intrinsics such as llvm.convert.to.fp16 should be used to convert to and from __fp...
ArrayRef< Builtin::Info > getTargetBuiltins() const override
Return information about target-specific builtins for the current primary target, and info about whic...
ArrayRef< const char * > getGCCRegNames() const override
bool hasFeature(StringRef Feature) const override
Determine whether the given target has the given feature.
bool validateAsmConstraint(const char *&Name, TargetInfo::ConstraintInfo &info) const override
DirectXTargetInfo(const llvm::Triple &Triple, const TargetOptions &)
void adjust(DiagnosticsEngine &Diags, LangOptions &Opts) override
Set forced language options.
Defines the clang::TargetInfo interface.
static const unsigned DirectXAddrSpaceMap[]
The JSON file list parser is used to communicate input to InstallAPI.