13#ifndef LLVM_CLANG_LIB_BASIC_TARGETS_SPARC_H
14#define LLVM_CLANG_LIB_BASIC_TARGETS_SPARC_H
17#include "llvm/Support/Compiler.h"
18#include "llvm/TargetParser/Triple.h"
24 static const char *
const GCCRegNames[];
42 if (llvm::is_contained(Features,
"+soft-float"))
129 CPUGeneration getCPUGeneration(CPUKind Kind)
const;
131 CPUKind getCPUKind(StringRef Name)
const;
139 bool setCPU(
const std::string &Name)
override {
145 return std::make_pair(32, 32);
162 case llvm::Triple::NetBSD:
163 case llvm::Triple::OpenBSD:
237 bool setCPU(
const std::string &Name)
override {
static bool hasFeature(StringRef Feature, const LangOptions &LangOpts, const TargetInfo &Target)
Determine whether a translation unit built using the current language options has the given feature.
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...
TargetInfo(const llvm::Triple &T)
const llvm::Triple & getTriple() const
Returns the target triple of the primary target.
BuiltinVaListKind
The different kinds of __builtin_va_list types defined by the target implementation.
@ VoidPtrBuiltinVaList
typedef void* __builtin_va_list;
unsigned char MaxAtomicPromoteWidth
void resetDataLayout(StringRef DL)
Set the data layout to the given string.
unsigned char MaxAtomicInlineWidth
Options for controlling the target.
bool isValidCPUName(StringRef Name) const override
Determine whether this TargetInfo supports the given CPU name.
llvm::SmallVector< Builtin::InfosShard > getTargetBuiltins() const override
Return information about target-specific builtins for the current primary target, and info about whic...
int getEHDataRegisterNumber(unsigned RegNo) const override
Return the register number that __builtin_eh_return_regno would return with the specified argument.
BuiltinVaListKind getBuiltinVaListKind() const override
Returns the kind of __builtin_va_list type that should be used with this target.
CPUGeneration getCPUGeneration(CPUKind Kind) const
bool setCPU(const std::string &Name) override
Target the specified CPU.
bool handleTargetFeatures(std::vector< std::string > &Features, DiagnosticsEngine &Diags) override
Perform initialization based on the user configured set of features (e.g., +sse4).
std::string_view getClobbers() const override
Returns a string of target-specific clobbers, in LLVM format.
CPUKind getCPUKind(StringRef Name) const
std::pair< unsigned, unsigned > hardwareInterferenceSizes() const override
The first value in the pair is the minimum offset between two objects to avoid false sharing (destruc...
bool validateAsmConstraint(const char *&Name, TargetInfo::ConstraintInfo &info) const override
enum clang::targets::SparcTargetInfo::CPUKind CPU
SparcTargetInfo(const llvm::Triple &Triple, const TargetOptions &)
bool hasBitIntType() const override
Determine whether the _BitInt type is supported on this target.
SparcV8TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
SparcV8elTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
SparcV9TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
bool isValidCPUName(StringRef Name) const override
Determine whether this TargetInfo supports the given CPU name.
bool hasBitIntType() const override
Determine whether the _BitInt type is supported on this target.
bool setCPU(const std::string &Name) override
Target the specified CPU.
Defines the clang::TargetInfo interface.
The JSON file list parser is used to communicate input to InstallAPI.
unsigned short SuitableAlign
unsigned char PointerWidth
const llvm::fltSemantics * LongDoubleFormat
unsigned char PointerAlign
unsigned char LongDoubleAlign
unsigned char LongDoubleWidth