forked from OSchip/llvm-project
parent
b43c36f391
commit
93127aecb9
|
@ -2932,80 +2932,6 @@ namespace {
|
|||
}
|
||||
}
|
||||
|
||||
namespace {
|
||||
class BlackfinTargetInfo : public TargetInfo {
|
||||
static const char * const GCCRegNames[];
|
||||
public:
|
||||
BlackfinTargetInfo(const std::string& triple) : TargetInfo(triple) {
|
||||
TLSSupported = false;
|
||||
DoubleAlign = 32;
|
||||
LongLongAlign = 32;
|
||||
LongDoubleAlign = 32;
|
||||
DescriptionString = "e-p:32:32-i64:32-f64:32-n32";
|
||||
}
|
||||
|
||||
virtual void getTargetDefines(const LangOptions &Opts,
|
||||
MacroBuilder &Builder) const {
|
||||
DefineStd(Builder, "bfin", Opts);
|
||||
DefineStd(Builder, "BFIN", Opts);
|
||||
Builder.defineMacro("__ADSPBLACKFIN__");
|
||||
// FIXME: This one is really dependent on -mcpu
|
||||
Builder.defineMacro("__ADSPLPBLACKFIN__");
|
||||
// FIXME: Add cpu-dependent defines and __SILICON_REVISION__
|
||||
}
|
||||
|
||||
virtual void getTargetBuiltins(const Builtin::Info *&Records,
|
||||
unsigned &NumRecords) const {
|
||||
// FIXME: Implement.
|
||||
Records = 0;
|
||||
NumRecords = 0;
|
||||
}
|
||||
|
||||
virtual void getGCCRegNames(const char * const *&Names,
|
||||
unsigned &NumNames) const;
|
||||
|
||||
virtual void getGCCRegAliases(const GCCRegAlias *&Aliases,
|
||||
unsigned &NumAliases) const {
|
||||
// No aliases.
|
||||
Aliases = 0;
|
||||
NumAliases = 0;
|
||||
}
|
||||
|
||||
virtual bool validateAsmConstraint(const char *&Name,
|
||||
TargetInfo::ConstraintInfo &Info) const {
|
||||
if (strchr("adzDWeABbvfcCtukxywZY", Name[0])) {
|
||||
Info.setAllowsRegister();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual const char *getClobbers() const {
|
||||
return "";
|
||||
}
|
||||
|
||||
virtual const char *getVAListDeclaration() const {
|
||||
return "typedef char* __builtin_va_list;";
|
||||
}
|
||||
};
|
||||
|
||||
const char * const BlackfinTargetInfo::GCCRegNames[] = {
|
||||
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
|
||||
"p0", "p1", "p2", "p3", "p4", "p5", "sp", "fp",
|
||||
"i0", "i1", "i2", "i3", "b0", "b1", "b2", "b3",
|
||||
"l0", "l1", "l2", "l3", "m0", "m1", "m2", "m3",
|
||||
"a0", "a1", "cc",
|
||||
"rets", "reti", "retx", "retn", "rete", "astat", "seqstat", "usp",
|
||||
"argp", "lt0", "lt1", "lc0", "lc1", "lb0", "lb1"
|
||||
};
|
||||
|
||||
void BlackfinTargetInfo::getGCCRegNames(const char * const *&Names,
|
||||
unsigned &NumNames) const {
|
||||
Names = GCCRegNames;
|
||||
NumNames = llvm::array_lengthof(GCCRegNames);
|
||||
}
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
// LLVM and Clang cannot be used directly to output native binaries for
|
||||
|
@ -3485,11 +3411,6 @@ static TargetInfo *AllocateTarget(const std::string &T) {
|
|||
return new ARMTargetInfo(T);
|
||||
}
|
||||
|
||||
case llvm::Triple::bfin:
|
||||
if ( os == llvm::Triple::RTEMS )
|
||||
return new RTEMSTargetInfo<BlackfinTargetInfo>(T);
|
||||
return new BlackfinTargetInfo(T);
|
||||
|
||||
case llvm::Triple::msp430:
|
||||
return new MSP430TargetInfo(T);
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// RUN: %clang_cc1 -g -triple armv6-apple-darwin9 -emit-llvm -o %t %s
|
||||
// RUN: %clang_cc1 -g -triple armv6-unknown-unknown -emit-llvm -o %t %s
|
||||
// RUN: %clang_cc1 -g -triple bfin-unknown-unknown -emit-llvm -o %t %s
|
||||
// RUN: %clang_cc1 -g -triple i686-apple-darwin9 -emit-llvm -o %t %s
|
||||
// RUN: %clang_cc1 -g -triple i686-pc-linux-gnu -emit-llvm -o %t %s
|
||||
// RUN: %clang_cc1 -g -triple i686-unknown-dragonfly -emit-llvm -o %t %s
|
||||
|
|
|
@ -220,103 +220,6 @@
|
|||
// ARM:#define __arm 1
|
||||
// ARM:#define __arm__ 1
|
||||
//
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=bfin-none-none < /dev/null | FileCheck -check-prefix BFIN %s
|
||||
//
|
||||
// BFIN:#define BFIN 1
|
||||
// BFIN:#define __ADSPBLACKFIN__ 1
|
||||
// BFIN:#define __ADSPLPBLACKFIN__ 1
|
||||
// BFIN:#define __BFIN 1
|
||||
// BFIN:#define __BFIN__ 1
|
||||
// BFIN:#define __CHAR16_TYPE__ unsigned short
|
||||
// BFIN:#define __CHAR32_TYPE__ unsigned int
|
||||
// BFIN:#define __CHAR_BIT__ 8
|
||||
// BFIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
|
||||
// BFIN:#define __DBL_DIG__ 15
|
||||
// BFIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
|
||||
// BFIN:#define __DBL_HAS_DENORM__ 1
|
||||
// BFIN:#define __DBL_HAS_INFINITY__ 1
|
||||
// BFIN:#define __DBL_HAS_QUIET_NAN__ 1
|
||||
// BFIN:#define __DBL_MANT_DIG__ 53
|
||||
// BFIN:#define __DBL_MAX_10_EXP__ 308
|
||||
// BFIN:#define __DBL_MAX_EXP__ 1024
|
||||
// BFIN:#define __DBL_MAX__ 1.7976931348623157e+308
|
||||
// BFIN:#define __DBL_MIN_10_EXP__ (-307)
|
||||
// BFIN:#define __DBL_MIN_EXP__ (-1021)
|
||||
// BFIN:#define __DBL_MIN__ 2.2250738585072014e-308
|
||||
// BFIN:#define __DECIMAL_DIG__ 17
|
||||
// BFIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
|
||||
// BFIN:#define __FLT_DIG__ 6
|
||||
// BFIN:#define __FLT_EPSILON__ 1.19209290e-7F
|
||||
// BFIN:#define __FLT_EVAL_METHOD__ 0
|
||||
// BFIN:#define __FLT_HAS_DENORM__ 1
|
||||
// BFIN:#define __FLT_HAS_INFINITY__ 1
|
||||
// BFIN:#define __FLT_HAS_QUIET_NAN__ 1
|
||||
// BFIN:#define __FLT_MANT_DIG__ 24
|
||||
// BFIN:#define __FLT_MAX_10_EXP__ 38
|
||||
// BFIN:#define __FLT_MAX_EXP__ 128
|
||||
// BFIN:#define __FLT_MAX__ 3.40282347e+38F
|
||||
// BFIN:#define __FLT_MIN_10_EXP__ (-37)
|
||||
// BFIN:#define __FLT_MIN_EXP__ (-125)
|
||||
// BFIN:#define __FLT_MIN__ 1.17549435e-38F
|
||||
// BFIN:#define __FLT_RADIX__ 2
|
||||
// BFIN:#define __INT16_TYPE__ short
|
||||
// BFIN:#define __INT32_TYPE__ int
|
||||
// BFIN:#define __INT64_C_SUFFIX__ LL
|
||||
// BFIN:#define __INT64_TYPE__ long long int
|
||||
// BFIN:#define __INT8_TYPE__ char
|
||||
// BFIN:#define __INTMAX_MAX__ 9223372036854775807LL
|
||||
// BFIN:#define __INTMAX_TYPE__ long long int
|
||||
// BFIN:#define __INTMAX_WIDTH__ 64
|
||||
// BFIN:#define __INTPTR_TYPE__ long int
|
||||
// BFIN:#define __INTPTR_WIDTH__ 32
|
||||
// BFIN:#define __INT_MAX__ 2147483647
|
||||
// BFIN:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
|
||||
// BFIN:#define __LDBL_DIG__ 15
|
||||
// BFIN:#define __LDBL_EPSILON__ 2.2204460492503131e-16
|
||||
// BFIN:#define __LDBL_HAS_DENORM__ 1
|
||||
// BFIN:#define __LDBL_HAS_INFINITY__ 1
|
||||
// BFIN:#define __LDBL_HAS_QUIET_NAN__ 1
|
||||
// BFIN:#define __LDBL_MANT_DIG__ 53
|
||||
// BFIN:#define __LDBL_MAX_10_EXP__ 308
|
||||
// BFIN:#define __LDBL_MAX_EXP__ 1024
|
||||
// BFIN:#define __LDBL_MAX__ 1.7976931348623157e+308
|
||||
// BFIN:#define __LDBL_MIN_10_EXP__ (-307)
|
||||
// BFIN:#define __LDBL_MIN_EXP__ (-1021)
|
||||
// BFIN:#define __LDBL_MIN__ 2.2250738585072014e-308
|
||||
// BFIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
|
||||
// BFIN:#define __LONG_MAX__ 2147483647L
|
||||
// BFIN:#define __NO_INLINE__ 1
|
||||
// BFIN:#define __POINTER_WIDTH__ 32
|
||||
// BFIN:#define __PTRDIFF_TYPE__ long int
|
||||
// BFIN:#define __PTRDIFF_WIDTH__ 32
|
||||
// BFIN:#define __SCHAR_MAX__ 127
|
||||
// BFIN:#define __SHRT_MAX__ 32767
|
||||
// BFIN:#define __SIG_ATOMIC_WIDTH__ 32
|
||||
// BFIN:#define __SIZEOF_DOUBLE__ 8
|
||||
// BFIN:#define __SIZEOF_FLOAT__ 4
|
||||
// BFIN:#define __SIZEOF_INT__ 4
|
||||
// BFIN:#define __SIZEOF_LONG_DOUBLE__ 8
|
||||
// BFIN:#define __SIZEOF_LONG_LONG__ 8
|
||||
// BFIN:#define __SIZEOF_LONG__ 4
|
||||
// BFIN:#define __SIZEOF_POINTER__ 4
|
||||
// BFIN:#define __SIZEOF_PTRDIFF_T__ 4
|
||||
// BFIN:#define __SIZEOF_SHORT__ 2
|
||||
// BFIN:#define __SIZEOF_SIZE_T__ 4
|
||||
// BFIN:#define __SIZEOF_WCHAR_T__ 4
|
||||
// BFIN:#define __SIZEOF_WINT_T__ 4
|
||||
// BFIN:#define __SIZE_TYPE__ long unsigned int
|
||||
// BFIN:#define __SIZE_WIDTH__ 32
|
||||
// BFIN:#define __UINTMAX_TYPE__ long long unsigned int
|
||||
// BFIN:#define __USER_LABEL_PREFIX__ _
|
||||
// BFIN:#define __WCHAR_MAX__ 2147483647
|
||||
// BFIN:#define __WCHAR_TYPE__ int
|
||||
// BFIN:#define __WCHAR_WIDTH__ 32
|
||||
// BFIN:#define __WINT_TYPE__ int
|
||||
// BFIN:#define __WINT_WIDTH__ 32
|
||||
// BFIN:#define __bfin 1
|
||||
// BFIN:#define __bfin__ 1
|
||||
// BFIN:#define bfin 1
|
||||
//
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
|
||||
//
|
||||
// I386:#define __CHAR16_TYPE__ unsigned short
|
||||
|
|
|
@ -106,114 +106,6 @@
|
|||
// ARM:UINTMAX_C_(0) 0ULL
|
||||
//
|
||||
//
|
||||
// RUN: %clang_cc1 -E -ffreestanding -triple=bfin-none-none %s | FileCheck -check-prefix BFIN %s
|
||||
//
|
||||
// BFIN:typedef signed long long int int64_t;
|
||||
// BFIN:typedef unsigned long long int uint64_t;
|
||||
// BFIN:typedef int64_t int_least64_t;
|
||||
// BFIN:typedef uint64_t uint_least64_t;
|
||||
// BFIN:typedef int64_t int_fast64_t;
|
||||
// BFIN:typedef uint64_t uint_fast64_t;
|
||||
//
|
||||
// BFIN:typedef signed int int32_t;
|
||||
// BFIN:typedef unsigned int uint32_t;
|
||||
// BFIN:typedef int32_t int_least32_t;
|
||||
// BFIN:typedef uint32_t uint_least32_t;
|
||||
// BFIN:typedef int32_t int_fast32_t;
|
||||
// BFIN:typedef uint32_t uint_fast32_t;
|
||||
//
|
||||
// BFIN:typedef signed short int16_t;
|
||||
// BFIN:typedef unsigned short uint16_t;
|
||||
// BFIN:typedef int16_t int_least16_t;
|
||||
// BFIN:typedef uint16_t uint_least16_t;
|
||||
// BFIN:typedef int16_t int_fast16_t;
|
||||
// BFIN:typedef uint16_t uint_fast16_t;
|
||||
//
|
||||
// BFIN:typedef signed char int8_t;
|
||||
// BFIN:typedef unsigned char uint8_t;
|
||||
// BFIN:typedef int8_t int_least8_t;
|
||||
// BFIN:typedef uint8_t uint_least8_t;
|
||||
// BFIN:typedef int8_t int_fast8_t;
|
||||
// BFIN:typedef uint8_t uint_fast8_t;
|
||||
//
|
||||
// BFIN:typedef int32_t intptr_t;
|
||||
// BFIN:typedef uint32_t uintptr_t;
|
||||
//
|
||||
// BFIN:typedef long long int intmax_t;
|
||||
// BFIN:typedef long long unsigned int uintmax_t;
|
||||
//
|
||||
// BFIN:INT8_MAX_ 127
|
||||
// BFIN:INT8_MIN_ (-127 -1)
|
||||
// BFIN:UINT8_MAX_ 255
|
||||
// BFIN:INT_LEAST8_MIN_ (-127 -1)
|
||||
// BFIN:INT_LEAST8_MAX_ 127
|
||||
// BFIN:UINT_LEAST8_MAX_ 255
|
||||
// BFIN:INT_FAST8_MIN_ (-127 -1)
|
||||
// BFIN:INT_FAST8_MAX_ 127
|
||||
// BFIN:UINT_FAST8_MAX_ 255
|
||||
//
|
||||
// BFIN:INT16_MAX_ 32767
|
||||
// BFIN:INT16_MIN_ (-32767 -1)
|
||||
// BFIN:UINT16_MAX_ 65535
|
||||
// BFIN:INT_LEAST16_MIN_ (-32767 -1)
|
||||
// BFIN:INT_LEAST16_MAX_ 32767
|
||||
// BFIN:UINT_LEAST16_MAX_ 65535
|
||||
// BFIN:INT_FAST16_MIN_ (-32767 -1)
|
||||
// BFIN:INT_FAST16_MAX_ 32767
|
||||
// BFIN:UINT_FAST16_MAX_ 65535
|
||||
//
|
||||
// BFIN:INT32_MAX_ 2147483647
|
||||
// BFIN:INT32_MIN_ (-2147483647 -1)
|
||||
// BFIN:UINT32_MAX_ 4294967295U
|
||||
// BFIN:INT_LEAST32_MIN_ (-2147483647 -1)
|
||||
// BFIN:INT_LEAST32_MAX_ 2147483647
|
||||
// BFIN:UINT_LEAST32_MAX_ 4294967295U
|
||||
// BFIN:INT_FAST32_MIN_ (-2147483647 -1)
|
||||
// BFIN:INT_FAST32_MAX_ 2147483647
|
||||
// BFIN:UINT_FAST32_MAX_ 4294967295U
|
||||
//
|
||||
// BFIN:INT64_MAX_ 9223372036854775807LL
|
||||
// BFIN:INT64_MIN_ (-9223372036854775807LL -1)
|
||||
// BFIN:UINT64_MAX_ 18446744073709551615ULL
|
||||
// BFIN:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
|
||||
// BFIN:INT_LEAST64_MAX_ 9223372036854775807LL
|
||||
// BFIN:UINT_LEAST64_MAX_ 18446744073709551615ULL
|
||||
// BFIN:INT_FAST64_MIN_ (-9223372036854775807LL -1)
|
||||
// BFIN:INT_FAST64_MAX_ 9223372036854775807LL
|
||||
// BFIN:UINT_FAST64_MAX_ 18446744073709551615ULL
|
||||
//
|
||||
// BFIN:INTPTR_MIN_ (-2147483647 -1)
|
||||
// BFIN:INTPTR_MAX_ 2147483647
|
||||
// BFIN:UINTPTR_MAX_ 4294967295U
|
||||
// BFIN:PTRDIFF_MIN_ (-2147483647 -1)
|
||||
// BFIN:PTRDIFF_MAX_ 2147483647
|
||||
// BFIN:SIZE_MAX_ 4294967295U
|
||||
//
|
||||
// BFIN:INTMAX_MIN_ (-9223372036854775807LL -1)
|
||||
// BFIN:INTMAX_MAX_ 9223372036854775807LL
|
||||
// BFIN:UINTMAX_MAX_ 18446744073709551615ULL
|
||||
//
|
||||
// BFIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
|
||||
// BFIN:SIG_ATOMIC_MAX_ 2147483647
|
||||
// BFIN:WINT_MIN_ (-2147483647 -1)
|
||||
// BFIN:WINT_MAX_ 2147483647
|
||||
//
|
||||
// BFIN:WCHAR_MAX_ 2147483647
|
||||
// BFIN:WCHAR_MIN_ (-2147483647 -1)
|
||||
//
|
||||
// BFIN:INT8_C_(0) 0
|
||||
// BFIN:UINT8_C_(0) 0U
|
||||
// BFIN:INT16_C_(0) 0
|
||||
// BFIN:UINT16_C_(0) 0U
|
||||
// BFIN:INT32_C_(0) 0
|
||||
// BFIN:UINT32_C_(0) 0U
|
||||
// BFIN:INT64_C_(0) 0LL
|
||||
// BFIN:UINT64_C_(0) 0ULL
|
||||
//
|
||||
// BFIN:INTMAX_C_(0) 0LL
|
||||
// BFIN:UINTMAX_C_(0) 0ULL
|
||||
//
|
||||
//
|
||||
// RUN: %clang_cc1 -E -ffreestanding -triple=i386-none-none %s | FileCheck -check-prefix I386 %s
|
||||
//
|
||||
// I386:typedef signed long long int int64_t;
|
||||
|
|
|
@ -18,7 +18,6 @@ cxxflags = ['-D__STDC_LIMIT_MACROS',
|
|||
'-I%s/include' % root.llvm_obj_root,
|
||||
'-I%s/lib/Target/Alpha' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/ARM' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/Blackfin' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CBackend' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CellSPU' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CppBackend' % root.llvm_src_root,
|
||||
|
@ -32,7 +31,6 @@ cxxflags = ['-D__STDC_LIMIT_MACROS',
|
|||
'-I%s/lib/Target/XCore' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/Alpha' % target_obj_root,
|
||||
'-I%s/lib/Target/ARM' % target_obj_root,
|
||||
'-I%s/lib/Target/Blackfin' % target_obj_root,
|
||||
'-I%s/lib/Target/CBackend' % target_obj_root,
|
||||
'-I%s/lib/Target/CellSPU' % target_obj_root,
|
||||
'-I%s/lib/Target/CppBackend' % target_obj_root,
|
||||
|
|
|
@ -18,7 +18,6 @@ cxxflags = ['-D__STDC_LIMIT_MACROS',
|
|||
'-I%s/include' % root.llvm_obj_root,
|
||||
'-I%s/lib/Target/Alpha' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/ARM' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/Blackfin' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CBackend' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CellSPU' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CppBackend' % root.llvm_src_root,
|
||||
|
@ -32,7 +31,6 @@ cxxflags = ['-D__STDC_LIMIT_MACROS',
|
|||
'-I%s/lib/Target/XCore' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/Alpha' % target_obj_root,
|
||||
'-I%s/lib/Target/ARM' % target_obj_root,
|
||||
'-I%s/lib/Target/Blackfin' % target_obj_root,
|
||||
'-I%s/lib/Target/CBackend' % target_obj_root,
|
||||
'-I%s/lib/Target/CellSPU' % target_obj_root,
|
||||
'-I%s/lib/Target/CppBackend' % target_obj_root,
|
||||
|
|
|
@ -17,7 +17,6 @@ cxxflags = ['-D__STDC_LIMIT_MACROS',
|
|||
'-I%s/include' % root.llvm_obj_root,
|
||||
'-I%s/lib/Target/Alpha' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/ARM' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/Blackfin' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CBackend' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CellSPU' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/CppBackend' % root.llvm_src_root,
|
||||
|
@ -31,7 +30,6 @@ cxxflags = ['-D__STDC_LIMIT_MACROS',
|
|||
'-I%s/lib/Target/XCore' % root.llvm_src_root,
|
||||
'-I%s/lib/Target/Alpha' % target_obj_root,
|
||||
'-I%s/lib/Target/ARM' % target_obj_root,
|
||||
'-I%s/lib/Target/Blackfin' % target_obj_root,
|
||||
'-I%s/lib/Target/CBackend' % target_obj_root,
|
||||
'-I%s/lib/Target/CellSPU' % target_obj_root,
|
||||
'-I%s/lib/Target/CppBackend' % target_obj_root,
|
||||
|
|
Loading…
Reference in New Issue