Deleted Added
full compact
Targets.cpp (280031) Targets.cpp (283526)
1//===--- Targets.cpp - Implement -arch option and targets -----------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 405 unchanged lines hidden (view full) ---

414 case llvm::Triple::thumbeb:
415 Builder.defineMacro("__ARM_DWARF_EH__");
416 break;
417 }
418 }
419public:
420 NetBSDTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) {
421 this->UserLabelPrefix = "";
1//===--- Targets.cpp - Implement -arch option and targets -----------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 405 unchanged lines hidden (view full) ---

414 case llvm::Triple::thumbeb:
415 Builder.defineMacro("__ARM_DWARF_EH__");
416 break;
417 }
418 }
419public:
420 NetBSDTargetInfo(const llvm::Triple &Triple) : OSTargetInfo<Target>(Triple) {
421 this->UserLabelPrefix = "";
422 this->MCountName = "_mcount";
422 }
423};
424
425// OpenBSD Target
426template<typename Target>
427class OpenBSDTargetInfo : public OSTargetInfo<Target> {
428protected:
429 void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,

--- 484 unchanged lines hidden (view full) ---

914 const char *getClobbers() const override {
915 return "";
916 }
917 int getEHDataRegisterNumber(unsigned RegNo) const override {
918 if (RegNo == 0) return 3;
919 if (RegNo == 1) return 4;
920 return -1;
921 }
423 }
424};
425
426// OpenBSD Target
427template<typename Target>
428class OpenBSDTargetInfo : public OSTargetInfo<Target> {
429protected:
430 void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,

--- 484 unchanged lines hidden (view full) ---

915 const char *getClobbers() const override {
916 return "";
917 }
918 int getEHDataRegisterNumber(unsigned RegNo) const override {
919 if (RegNo == 0) return 3;
920 if (RegNo == 1) return 4;
921 return -1;
922 }
923
924 bool hasSjLjLowering() const override {
925 return true;
926 }
922};
923
924const Builtin::Info PPCTargetInfo::BuiltinInfo[] = {
925#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
926#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
927 ALL_LANGUAGES },
928#include "clang/Basic/BuiltinsPPC.def"
929};

--- 1246 unchanged lines hidden (view full) ---

2176 CC == CC_C ||
2177 CC == CC_X86Pascal ||
2178 CC == CC_IntelOclBicc) ? CCCR_OK : CCCR_Warning;
2179 }
2180
2181 CallingConv getDefaultCallingConv(CallingConvMethodType MT) const override {
2182 return MT == CCMT_Member ? CC_X86ThisCall : CC_C;
2183 }
927};
928
929const Builtin::Info PPCTargetInfo::BuiltinInfo[] = {
930#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
931#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\
932 ALL_LANGUAGES },
933#include "clang/Basic/BuiltinsPPC.def"
934};

--- 1246 unchanged lines hidden (view full) ---

2181 CC == CC_C ||
2182 CC == CC_X86Pascal ||
2183 CC == CC_IntelOclBicc) ? CCCR_OK : CCCR_Warning;
2184 }
2185
2186 CallingConv getDefaultCallingConv(CallingConvMethodType MT) const override {
2187 return MT == CCMT_Member ? CC_X86ThisCall : CC_C;
2188 }
2189
2190 bool hasSjLjLowering() const override {
2191 return true;
2192 }
2184};
2185
2186bool X86TargetInfo::setFPMath(StringRef Name) {
2187 if (Name == "387") {
2188 FPMath = FP_387;
2189 return true;
2190 }
2191 if (Name == "sse") {

--- 1157 unchanged lines hidden (view full) ---

3349namespace {
3350// x86-32 Windows target
3351class WindowsX86_32TargetInfo : public WindowsTargetInfo<X86_32TargetInfo> {
3352public:
3353 WindowsX86_32TargetInfo(const llvm::Triple &Triple)
3354 : WindowsTargetInfo<X86_32TargetInfo>(Triple) {
3355 WCharType = UnsignedShort;
3356 DoubleAlign = LongLongAlign = 64;
2193};
2194
2195bool X86TargetInfo::setFPMath(StringRef Name) {
2196 if (Name == "387") {
2197 FPMath = FP_387;
2198 return true;
2199 }
2200 if (Name == "sse") {

--- 1157 unchanged lines hidden (view full) ---

3358namespace {
3359// x86-32 Windows target
3360class WindowsX86_32TargetInfo : public WindowsTargetInfo<X86_32TargetInfo> {
3361public:
3362 WindowsX86_32TargetInfo(const llvm::Triple &Triple)
3363 : WindowsTargetInfo<X86_32TargetInfo>(Triple) {
3364 WCharType = UnsignedShort;
3365 DoubleAlign = LongLongAlign = 64;
3357 DescriptionString = "e-m:w-p:32:32-i64:64-f80:32-n8:16:32-S32";
3366 bool IsWinCOFF =
3367 getTriple().isOSWindows() && getTriple().isOSBinFormatCOFF();
3368 DescriptionString = IsWinCOFF ? "e-m:w-p:32:32-i64:64-f80:32-n8:16:32-S32"
3369 : "e-m:e-p:32:32-i64:64-f80:32-n8:16:32-S32";
3358 }
3359 void getTargetDefines(const LangOptions &Opts,
3360 MacroBuilder &Builder) const override {
3361 WindowsTargetInfo<X86_32TargetInfo>::getTargetDefines(Opts, Builder);
3362 }
3363};
3364
3365// x86-32 Windows Visual Studio target

--- 2257 unchanged lines hidden (view full) ---

5623 bool HasFP64;
5624 std::string ABI;
5625
5626public:
5627 MipsTargetInfoBase(const llvm::Triple &Triple, const std::string &ABIStr,
5628 const std::string &CPUStr)
5629 : TargetInfo(Triple), CPU(CPUStr), IsMips16(false), IsMicromips(false),
5630 IsNan2008(false), IsSingleFloat(false), FloatABI(HardFloat),
3370 }
3371 void getTargetDefines(const LangOptions &Opts,
3372 MacroBuilder &Builder) const override {
3373 WindowsTargetInfo<X86_32TargetInfo>::getTargetDefines(Opts, Builder);
3374 }
3375};
3376
3377// x86-32 Windows Visual Studio target

--- 2257 unchanged lines hidden (view full) ---

5635 bool HasFP64;
5636 std::string ABI;
5637
5638public:
5639 MipsTargetInfoBase(const llvm::Triple &Triple, const std::string &ABIStr,
5640 const std::string &CPUStr)
5641 : TargetInfo(Triple), CPU(CPUStr), IsMips16(false), IsMicromips(false),
5642 IsNan2008(false), IsSingleFloat(false), FloatABI(HardFloat),
5631 DspRev(NoDSP), HasMSA(false), HasFP64(false), ABI(ABIStr) {}
5643 DspRev(NoDSP), HasMSA(false), HasFP64(false), ABI(ABIStr) {
5644 TheCXXABI.set(TargetCXXABI::GenericMIPS);
5645 }
5632
5633 bool isNaN2008Default() const {
5634 return CPU == "mips32r6" || CPU == "mips64r6";
5635 }
5636
5637 bool isFP64Default() const {
5638 return CPU == "mips32r6" || ABI == "n32" || ABI == "n64" || ABI == "64";
5639 }

--- 1017 unchanged lines hidden (view full) ---

6657 default:
6658 return new PPC64TargetInfo(Triple);
6659 }
6660
6661 case llvm::Triple::ppc64le:
6662 switch (os) {
6663 case llvm::Triple::Linux:
6664 return new LinuxTargetInfo<PPC64TargetInfo>(Triple);
5646
5647 bool isNaN2008Default() const {
5648 return CPU == "mips32r6" || CPU == "mips64r6";
5649 }
5650
5651 bool isFP64Default() const {
5652 return CPU == "mips32r6" || ABI == "n32" || ABI == "n64" || ABI == "64";
5653 }

--- 1017 unchanged lines hidden (view full) ---

6671 default:
6672 return new PPC64TargetInfo(Triple);
6673 }
6674
6675 case llvm::Triple::ppc64le:
6676 switch (os) {
6677 case llvm::Triple::Linux:
6678 return new LinuxTargetInfo<PPC64TargetInfo>(Triple);
6679 case llvm::Triple::NetBSD:
6680 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple);
6665 default:
6666 return new PPC64TargetInfo(Triple);
6667 }
6668
6669 case llvm::Triple::nvptx:
6670 return new NVPTX32TargetInfo(Triple);
6671 case llvm::Triple::nvptx64:
6672 return new NVPTX64TargetInfo(Triple);

--- 206 unchanged lines hidden ---
6681 default:
6682 return new PPC64TargetInfo(Triple);
6683 }
6684
6685 case llvm::Triple::nvptx:
6686 return new NVPTX32TargetInfo(Triple);
6687 case llvm::Triple::nvptx64:
6688 return new NVPTX64TargetInfo(Triple);

--- 206 unchanged lines hidden ---