Go to the documentation of this file.
13 #ifndef LLVM_CLANG_LIB_BASIC_TARGETS_AVR_H
14 #define LLVM_CLANG_LIB_BASIC_TARGETS_AVR_H
18 #include "llvm/ADT/Triple.h"
19 #include "llvm/Support/Compiler.h"
39 DefaultAlignForAttributeAligned = 8;
46 DoubleFormat = &llvm::APFloat::IEEEsingle();
49 LongDoubleFormat = &llvm::APFloat::IEEEsingle();
50 SizeType = UnsignedInt;
51 PtrDiffType = SignedInt;
52 IntPtrType = SignedInt;
53 Char16Type = UnsignedInt;
55 Int16Type = SignedInt;
57 SigAtomicType = SignedChar;
59 resetDataLayout(
"e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8");
75 "r0",
"r1",
"r2",
"r3",
"r4",
"r5",
"r6",
"r7",
"r8",
"r9",
76 "r10",
"r11",
"r12",
"r13",
"r14",
"r15",
"r16",
"r17",
"r18",
"r19",
77 "r20",
"r21",
"r22",
"r23",
"r24",
"r25",
"X",
"Y",
"Z",
"SP"};
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;
172 StringRef
getABI()
const override {
return ABI; }
182 #endif // LLVM_CLANG_LIB_BASIC_TARGETS_AVR_H
ArrayRef< TargetInfo::AddlRegName > getGCCAddlRegNames() const override
const char * getClobbers() const override
Returns a string of target-specific clobbers, in LLVM format.
ArrayRef< Builtin::Info > getTargetBuiltins() const override
Return information about target-specific builtins for the current primary target, and info about whic...
Exposes information about the current target.
@ VoidPtrBuiltinVaList
typedef void* __builtin_va_list;
IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const final
Return the smallest integer type with at least the specified width.
BuiltinVaListKind
The different kinds of __builtin_va_list types defined by the target implementation.
AVRTargetInfo(const llvm::Triple &Triple, const TargetOptions &)
void setRequiresImmediate(int Min, int Max)
static const char *const GCCRegNames[]
virtual IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const
Return the smallest integer type with at least the specified width.
StringRef getABI() const override
Get the ABI currently in use.
ArrayRef< const char * > getGCCRegNames() const override
IntType getIntTypeByWidth(unsigned BitWidth, bool IsSigned) const final
Return integer type with specified width.
BuiltinVaListKind getBuiltinVaListKind() const override
Returns the kind of __builtin_va_list type that should be used with this target.
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
const TargetInfo::AddlRegName AddlRegNames[]
virtual IntType getIntTypeByWidth(unsigned BitWidth, bool IsSigned) const
Return integer type with specified width.
IntType
===-— Target Data Type Query Methods ----------------------------—===//
ArrayRef< TargetInfo::GCCRegAlias > getGCCRegAliases() const override
Options for controlling the target.
bool validateAsmConstraint(const char *&Name, TargetInfo::ConstraintInfo &Info) const override