Deleted Added
sdiff udiff text old ( 280031 ) new ( 283526 )
full compact
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 }
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 }
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 }
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;
3357 DescriptionString = "e-m:w-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),
5631 DspRev(NoDSP), HasMSA(false), HasFP64(false), ABI(ABIStr) {}
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);
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 ---