14 #ifndef LLVM_CLANG_LIB_BASIC_TARGETS_AVR_H 15 #define LLVM_CLANG_LIB_BASIC_TARGETS_AVR_H 19 #include "llvm/ADT/Triple.h" 20 #include "llvm/Support/Compiler.h" 40 DefaultAlignForAttributeAligned = 8;
47 DoubleFormat = &llvm::APFloat::IEEEsingle();
50 LongDoubleFormat = &llvm::APFloat::IEEEsingle();
51 SizeType = UnsignedInt;
52 PtrDiffType = SignedInt;
53 IntPtrType = SignedInt;
54 Char16Type = UnsignedInt;
56 Char32Type = UnsignedLong;
57 SigAtomicType = SignedChar;
58 resetDataLayout(
"e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8");
74 "r0",
"r1",
"r2",
"r3",
"r4",
"r5",
"r6",
"r7",
"r8",
"r9",
75 "r10",
"r11",
"r12",
"r13",
"r14",
"r15",
"r16",
"r17",
"r18",
"r19",
76 "r20",
"r21",
"r22",
"r23",
"r24",
"r25",
"X",
"Y",
"Z",
"SP" 78 return llvm::makeArrayRef(GCCRegNames);
92 return llvm::makeArrayRef(AddlRegNames);
98 if (StringRef(Name).size() > 1)
158 return BitWidth == 16 ? (IsSigned ? SignedInt : UnsignedInt)
164 return BitWidth == 16
165 ? (IsSigned ? SignedInt : UnsignedInt)
169 bool isValidCPUName(StringRef Name)
const override;
171 bool setCPU(
const std::string &Name)
override {
172 bool isValid = isValidCPUName(Name);
185 #endif // LLVM_CLANG_LIB_BASIC_TARGETS_AVR_H AVRTargetInfo(const llvm::Triple &Triple, const TargetOptions &)
virtual IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const
Return the smallest integer type with at least the specified width.
ArrayRef< TargetInfo::AddlRegName > getGCCAddlRegNames() const override
IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const final
Return the smallest integer type with at least the specified width.
void setRequiresImmediate(int Min, int Max)
Options for controlling the target.
const char * getClobbers() const override
Returns a string of target-specific clobbers, in LLVM format.
const TargetInfo::AddlRegName AddlRegNames[]
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
ArrayRef< TargetInfo::GCCRegAlias > getGCCRegAliases() const override
bool setCPU(const std::string &Name) override
Target the specified CPU.
static const char *const GCCRegNames[]
typedef void* __builtin_va_list;
Exposes information about the current target.
IntType getIntTypeByWidth(unsigned BitWidth, bool IsSigned) const final
Return integer type with specified width.
ArrayRef< const char * > getGCCRegNames() const override
Defines the clang::TargetOptions class.
IntType
===-— Target Data Type Query Methods ----------------------------—===//
Dataflow Directional Tag Classes.
virtual IntType getIntTypeByWidth(unsigned BitWidth, bool IsSigned) const
Return integer type with specified width.
BuiltinVaListKind
The different kinds of __builtin_va_list types defined by the target implementation.
BuiltinVaListKind getBuiltinVaListKind() const override
Returns the kind of __builtin_va_list type that should be used with this target.
Defines the clang::TargetInfo interface.
ArrayRef< Builtin::Info > getTargetBuiltins() const override
Return information about target-specific builtins for the current primary target, and info about whic...
bool validateAsmConstraint(const char *&Name, TargetInfo::ConstraintInfo &Info) const override