forked from OSchip/llvm-project
				
			The preferred alignment defaults to the ABI one. Omit it if it is the same.
llvm-svn: 197440
This commit is contained in:
		
							parent
							
								
									b8b9712cfe
								
							
						
					
					
						commit
						2da3532aba
					
				| 
						 | 
					@ -485,8 +485,8 @@ public:
 | 
				
			||||||
    this->UIntMaxType = TargetInfo::UnsignedLongLong;
 | 
					    this->UIntMaxType = TargetInfo::UnsignedLongLong;
 | 
				
			||||||
    this->Int64Type = TargetInfo::SignedLongLong;
 | 
					    this->Int64Type = TargetInfo::SignedLongLong;
 | 
				
			||||||
    this->SizeType = TargetInfo::UnsignedInt;
 | 
					    this->SizeType = TargetInfo::UnsignedInt;
 | 
				
			||||||
    this->DescriptionString = "E-p:32:32:32-"
 | 
					    this->DescriptionString = "E-p:32:32-"
 | 
				
			||||||
                              "i64:64:64-n32";
 | 
					                              "i64:64-n32";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -625,8 +625,8 @@ public:
 | 
				
			||||||
    this->IntPtrType = TargetInfo::SignedInt;
 | 
					    this->IntPtrType = TargetInfo::SignedInt;
 | 
				
			||||||
    // RegParmMax is inherited from the underlying architecture
 | 
					    // RegParmMax is inherited from the underlying architecture
 | 
				
			||||||
    this->LongDoubleFormat = &llvm::APFloat::IEEEdouble;
 | 
					    this->LongDoubleFormat = &llvm::APFloat::IEEEdouble;
 | 
				
			||||||
    this->DescriptionString = "e-i64:64:64"
 | 
					    this->DescriptionString = "e-i64:64"
 | 
				
			||||||
                              "-p:32:32:32-v128:32:32";
 | 
					                              "-p:32:32-v128:32";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  virtual typename Target::CallingConvCheckResult checkCallingConvention(
 | 
					  virtual typename Target::CallingConvCheckResult checkCallingConvention(
 | 
				
			||||||
      CallingConv CC) const {
 | 
					      CallingConv CC) const {
 | 
				
			||||||
| 
						 | 
					@ -1179,8 +1179,8 @@ namespace {
 | 
				
			||||||
class PPC32TargetInfo : public PPCTargetInfo {
 | 
					class PPC32TargetInfo : public PPCTargetInfo {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) {
 | 
					  PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) {
 | 
				
			||||||
    DescriptionString = "E-p:32:32:32-"
 | 
					    DescriptionString = "E-p:32:32-"
 | 
				
			||||||
                        "i64:64:64-n32";
 | 
					                        "i64:64-n32";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    switch (getTriple().getOS()) {
 | 
					    switch (getTriple().getOS()) {
 | 
				
			||||||
    case llvm::Triple::Linux:
 | 
					    case llvm::Triple::Linux:
 | 
				
			||||||
| 
						 | 
					@ -1225,11 +1225,11 @@ public:
 | 
				
			||||||
      LongDoubleWidth = LongDoubleAlign = 64;
 | 
					      LongDoubleWidth = LongDoubleAlign = 64;
 | 
				
			||||||
      LongDoubleFormat = &llvm::APFloat::IEEEdouble;
 | 
					      LongDoubleFormat = &llvm::APFloat::IEEEdouble;
 | 
				
			||||||
      DescriptionString = "E-"
 | 
					      DescriptionString = "E-"
 | 
				
			||||||
                          "i64:64:64-"
 | 
					                          "i64:64-"
 | 
				
			||||||
                          "n32:64";
 | 
					                          "n32:64";
 | 
				
			||||||
    } else
 | 
					    } else
 | 
				
			||||||
      DescriptionString = "E-"
 | 
					      DescriptionString = "E-"
 | 
				
			||||||
                          "i64:64:64-f128:128:128-"
 | 
					                          "i64:64-f128:128-"
 | 
				
			||||||
                          "n32:64";
 | 
					                          "n32:64";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // PPC64 supports atomics up to 8 bytes.
 | 
					    // PPC64 supports atomics up to 8 bytes.
 | 
				
			||||||
| 
						 | 
					@ -1253,7 +1253,7 @@ public:
 | 
				
			||||||
    PtrDiffType = SignedInt;    // for http://llvm.org/bugs/show_bug.cgi?id=15726
 | 
					    PtrDiffType = SignedInt;    // for http://llvm.org/bugs/show_bug.cgi?id=15726
 | 
				
			||||||
    LongLongAlign = 32;
 | 
					    LongLongAlign = 32;
 | 
				
			||||||
    SuitableAlign = 128;
 | 
					    SuitableAlign = 128;
 | 
				
			||||||
    DescriptionString = "E-p:32:32:32"
 | 
					    DescriptionString = "E-p:32:32"
 | 
				
			||||||
                        "-n32";
 | 
					                        "-n32";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  virtual BuiltinVaListKind getBuiltinVaListKind() const {
 | 
					  virtual BuiltinVaListKind getBuiltinVaListKind() const {
 | 
				
			||||||
| 
						 | 
					@ -1269,7 +1269,7 @@ public:
 | 
				
			||||||
    HasAlignMac68kSupport = true;
 | 
					    HasAlignMac68kSupport = true;
 | 
				
			||||||
    SuitableAlign = 128;
 | 
					    SuitableAlign = 128;
 | 
				
			||||||
    DescriptionString = "E-"
 | 
					    DescriptionString = "E-"
 | 
				
			||||||
                        "i64:64:64-n32:64";
 | 
					                        "i64:64-n32:64";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
} // end anonymous namespace.
 | 
					} // end anonymous namespace.
 | 
				
			||||||
| 
						 | 
					@ -1376,8 +1376,8 @@ namespace {
 | 
				
			||||||
      PointerWidth = PointerAlign = 32;
 | 
					      PointerWidth = PointerAlign = 32;
 | 
				
			||||||
      SizeType     = PtrDiffType = IntPtrType = TargetInfo::UnsignedInt;
 | 
					      SizeType     = PtrDiffType = IntPtrType = TargetInfo::UnsignedInt;
 | 
				
			||||||
      DescriptionString
 | 
					      DescriptionString
 | 
				
			||||||
        = "e-p:32:32:32-i64:64:64"
 | 
					        = "e-p:32:32-i64:64"
 | 
				
			||||||
          "-v16:16:16-v32:32:32-"
 | 
					          "-v16:16-v32:32-"
 | 
				
			||||||
          "n16:32:64";
 | 
					          "n16:32:64";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					@ -1388,8 +1388,8 @@ namespace {
 | 
				
			||||||
      PointerWidth = PointerAlign = 64;
 | 
					      PointerWidth = PointerAlign = 64;
 | 
				
			||||||
      SizeType     = PtrDiffType = IntPtrType = TargetInfo::UnsignedLongLong;
 | 
					      SizeType     = PtrDiffType = IntPtrType = TargetInfo::UnsignedLongLong;
 | 
				
			||||||
      DescriptionString
 | 
					      DescriptionString
 | 
				
			||||||
        = "e-i64:64:64"
 | 
					        = "e-i64:64"
 | 
				
			||||||
          "-v16:16:16-v32:32:32-"
 | 
					          "-v16:16-v32:32-"
 | 
				
			||||||
          "n16:32:64";
 | 
					          "n16:32:64";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					@ -1408,27 +1408,27 @@ static const unsigned R600AddrSpaceMap[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const char *DescriptionStringR600 =
 | 
					static const char *DescriptionStringR600 =
 | 
				
			||||||
  "e"
 | 
					  "e"
 | 
				
			||||||
  "-p:32:32:32"
 | 
					  "-p:32:32"
 | 
				
			||||||
  "-i64:64:64"
 | 
					  "-i64:64"
 | 
				
			||||||
  "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128"
 | 
					  "-v16:16-v24:32-v32:32-v48:64-v96:128"
 | 
				
			||||||
  "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
 | 
					  "-v192:256-v256:256-v512:512-v1024:1024-v2048:2048"
 | 
				
			||||||
  "-n32:64";
 | 
					  "-n32:64";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const char *DescriptionStringR600DoubleOps =
 | 
					static const char *DescriptionStringR600DoubleOps =
 | 
				
			||||||
  "e"
 | 
					  "e"
 | 
				
			||||||
  "-p:32:32:32"
 | 
					  "-p:32:32"
 | 
				
			||||||
  "-i64:64:64"
 | 
					  "-i64:64"
 | 
				
			||||||
  "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128"
 | 
					  "-v16:16-v24:32-v32:32-v48:64-v96:128"
 | 
				
			||||||
  "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
 | 
					  "-v192:256-v256:256-v512:512-v1024:1024-v2048:2048"
 | 
				
			||||||
  "-n32:64";
 | 
					  "-n32:64";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const char *DescriptionStringSI =
 | 
					static const char *DescriptionStringSI =
 | 
				
			||||||
  "e"
 | 
					  "e"
 | 
				
			||||||
  ""
 | 
					  ""
 | 
				
			||||||
  "-p3:32:32:32"
 | 
					  "-p3:32:32"
 | 
				
			||||||
  "-i64:64:64"
 | 
					  "-i64:64"
 | 
				
			||||||
  "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128"
 | 
					  "-v16:16-v24:32-v32:32-v48:64-v96:128"
 | 
				
			||||||
  "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"
 | 
					  "-v192:256-v256:256-v512:512-v1024:1024-v2048:2048"
 | 
				
			||||||
  "-n32:64";
 | 
					  "-n32:64";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class R600TargetInfo : public TargetInfo {
 | 
					class R600TargetInfo : public TargetInfo {
 | 
				
			||||||
| 
						 | 
					@ -2933,9 +2933,9 @@ public:
 | 
				
			||||||
    LongDoubleWidth = 96;
 | 
					    LongDoubleWidth = 96;
 | 
				
			||||||
    LongDoubleAlign = 32;
 | 
					    LongDoubleAlign = 32;
 | 
				
			||||||
    SuitableAlign = 128;
 | 
					    SuitableAlign = 128;
 | 
				
			||||||
    DescriptionString = "e-p:32:32:32"
 | 
					    DescriptionString = "e-p:32:32"
 | 
				
			||||||
                        "-f64:32:64-"
 | 
					                        "-f64:32:64-"
 | 
				
			||||||
                        "f80:32:32-n8:16:32-S128";
 | 
					                        "f80:32-n8:16:32-S128";
 | 
				
			||||||
    SizeType = UnsignedInt;
 | 
					    SizeType = UnsignedInt;
 | 
				
			||||||
    PtrDiffType = SignedInt;
 | 
					    PtrDiffType = SignedInt;
 | 
				
			||||||
    IntPtrType = SignedInt;
 | 
					    IntPtrType = SignedInt;
 | 
				
			||||||
| 
						 | 
					@ -3029,9 +3029,9 @@ public:
 | 
				
			||||||
    MaxVectorAlign = 256;
 | 
					    MaxVectorAlign = 256;
 | 
				
			||||||
    SizeType = UnsignedLong;
 | 
					    SizeType = UnsignedLong;
 | 
				
			||||||
    IntPtrType = SignedLong;
 | 
					    IntPtrType = SignedLong;
 | 
				
			||||||
    DescriptionString = "e-p:32:32:32"
 | 
					    DescriptionString = "e-p:32:32"
 | 
				
			||||||
                        "-f64:32:64-"
 | 
					                        "-f64:32:64-"
 | 
				
			||||||
                        "f80:128:128-n8:16:32-S128";
 | 
					                        "f80:128-n8:16:32-S128";
 | 
				
			||||||
    HasAlignMac68kSupport = true;
 | 
					    HasAlignMac68kSupport = true;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3047,9 +3047,9 @@ public:
 | 
				
			||||||
    TLSSupported = false;
 | 
					    TLSSupported = false;
 | 
				
			||||||
    WCharType = UnsignedShort;
 | 
					    WCharType = UnsignedShort;
 | 
				
			||||||
    DoubleAlign = LongLongAlign = 64;
 | 
					    DoubleAlign = LongLongAlign = 64;
 | 
				
			||||||
    DescriptionString = "e-p:32:32:32-"
 | 
					    DescriptionString = "e-p:32:32-"
 | 
				
			||||||
                        "i64:64:64-"
 | 
					                        "i64:64-"
 | 
				
			||||||
                        "f80:32:32-n8:16:32-S32";
 | 
					                        "f80:32-n8:16:32-S32";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  virtual void getTargetDefines(const LangOptions &Opts,
 | 
					  virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
                                MacroBuilder &Builder) const {
 | 
					                                MacroBuilder &Builder) const {
 | 
				
			||||||
| 
						 | 
					@ -3116,9 +3116,9 @@ public:
 | 
				
			||||||
    TLSSupported = false;
 | 
					    TLSSupported = false;
 | 
				
			||||||
    WCharType = UnsignedShort;
 | 
					    WCharType = UnsignedShort;
 | 
				
			||||||
    DoubleAlign = LongLongAlign = 64;
 | 
					    DoubleAlign = LongLongAlign = 64;
 | 
				
			||||||
    DescriptionString = "e-p:32:32:32-"
 | 
					    DescriptionString = "e-p:32:32-"
 | 
				
			||||||
                        "i64:64:64-"
 | 
					                        "i64:64-"
 | 
				
			||||||
                        "f80:32:32-n8:16:32-S32";
 | 
					                        "f80:32-n8:16:32-S32";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  virtual void getTargetDefines(const LangOptions &Opts,
 | 
					  virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
                                MacroBuilder &Builder) const {
 | 
					                                MacroBuilder &Builder) const {
 | 
				
			||||||
| 
						 | 
					@ -3225,8 +3225,8 @@ public:
 | 
				
			||||||
    RegParmMax = 6;
 | 
					    RegParmMax = 6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    DescriptionString = "e-"
 | 
					    DescriptionString = "e-"
 | 
				
			||||||
                        "i64:64:64-"
 | 
					                        "i64:64-"
 | 
				
			||||||
                        "s:64:64-f80:128:128-n8:16:32:64-S128";
 | 
					                        "s:64-f80:128-n8:16:32:64-S128";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Use fpret only for long double.
 | 
					    // Use fpret only for long double.
 | 
				
			||||||
    RealTypeUsesObjCFPRet = (1 << TargetInfo::LongDouble);
 | 
					    RealTypeUsesObjCFPRet = (1 << TargetInfo::LongDouble);
 | 
				
			||||||
| 
						 | 
					@ -3399,8 +3399,8 @@ public:
 | 
				
			||||||
    PointerWidth = PointerAlign = 64;
 | 
					    PointerWidth = PointerAlign = 64;
 | 
				
			||||||
    SuitableAlign = 128;
 | 
					    SuitableAlign = 128;
 | 
				
			||||||
    DescriptionString = "e-"
 | 
					    DescriptionString = "e-"
 | 
				
			||||||
                        "i64:64:64-i128:128:128-"
 | 
					                        "i64:64-i128:128-"
 | 
				
			||||||
                        "f128:128:128-n32:64-S128";
 | 
					                        "f128:128-n32:64-S128";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WCharType = UnsignedInt;
 | 
					    WCharType = UnsignedInt;
 | 
				
			||||||
    LongDoubleFormat = &llvm::APFloat::IEEEquad;
 | 
					    LongDoubleFormat = &llvm::APFloat::IEEEquad;
 | 
				
			||||||
| 
						 | 
					@ -3713,12 +3713,12 @@ public:
 | 
				
			||||||
    if (IsThumb) {
 | 
					    if (IsThumb) {
 | 
				
			||||||
      // Thumb1 add sp, #imm requires the immediate value be multiple of 4,
 | 
					      // Thumb1 add sp, #imm requires the immediate value be multiple of 4,
 | 
				
			||||||
      // so set preferred for small types to 32.
 | 
					      // so set preferred for small types to 32.
 | 
				
			||||||
      DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-"
 | 
					      DescriptionString = ("e-p:32:32-i1:8:32-i8:8:32-i16:16:32-"
 | 
				
			||||||
                           "i64:64:64-"
 | 
					                           "i64:64-"
 | 
				
			||||||
                           "v128:64:128-a:0:32-n32-S64");
 | 
					                           "v128:64:128-a:0:32-n32-S64");
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      DescriptionString = ("e-p:32:32:32-"
 | 
					      DescriptionString = ("e-p:32:32-"
 | 
				
			||||||
                           "i64:64:64-"
 | 
					                           "i64:64-"
 | 
				
			||||||
                           "v128:64:128-n32-S64");
 | 
					                           "v128:64:128-n32-S64");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3767,11 +3767,11 @@ public:
 | 
				
			||||||
      if (IsThumb) {
 | 
					      if (IsThumb) {
 | 
				
			||||||
        // Thumb1 add sp, #imm requires the immediate value be multiple of 4,
 | 
					        // Thumb1 add sp, #imm requires the immediate value be multiple of 4,
 | 
				
			||||||
        // so set preferred for small types to 32.
 | 
					        // so set preferred for small types to 32.
 | 
				
			||||||
        DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32"
 | 
					        DescriptionString = ("e-p:32:32-i1:8:32-i8:8:32-i16:16:32"
 | 
				
			||||||
                             "-f64:32:64"
 | 
					                             "-f64:32:64"
 | 
				
			||||||
                             "-v64:32:64-v128:32:128-a:0:32-n32-S32");
 | 
					                             "-v64:32:64-v128:32:128-a:0:32-n32-S32");
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        DescriptionString = ("e-p:32:32:32"
 | 
					        DescriptionString = ("e-p:32:32"
 | 
				
			||||||
                             "-f64:32:64"
 | 
					                             "-f64:32:64"
 | 
				
			||||||
                             "-v64:32:64-v128:32:128-a:0:32-n32-S32");
 | 
					                             "-v64:32:64-v128:32:128-a:0:32-n32-S32");
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
| 
						 | 
					@ -4228,8 +4228,8 @@ class HexagonTargetInfo : public TargetInfo {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  HexagonTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) {
 | 
					  HexagonTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) {
 | 
				
			||||||
    BigEndian = false;
 | 
					    BigEndian = false;
 | 
				
			||||||
    DescriptionString = ("e-p:32:32:32-"
 | 
					    DescriptionString = ("e-p:32:32-"
 | 
				
			||||||
                         "i64:64:64-i1:32:32"
 | 
					                         "i64:64-i1:32"
 | 
				
			||||||
                         "-a:0-n32");
 | 
					                         "-a:0-n32");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // {} in inline assembly are packet specifiers, not assembly variant
 | 
					    // {} in inline assembly are packet specifiers, not assembly variant
 | 
				
			||||||
| 
						 | 
					@ -4486,8 +4486,8 @@ class SparcV8TargetInfo : public SparcTargetInfo {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
 | 
					  SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
 | 
				
			||||||
    // FIXME: Support Sparc quad-precision long double?
 | 
					    // FIXME: Support Sparc quad-precision long double?
 | 
				
			||||||
    DescriptionString = "E-p:32:32:32-"
 | 
					    DescriptionString = "E-p:32:32-"
 | 
				
			||||||
                        "i64:64:64-n32-S64";
 | 
					                        "i64:64-n32-S64";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  virtual void getTargetDefines(const LangOptions &Opts,
 | 
					  virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
| 
						 | 
					@ -4503,7 +4503,7 @@ public:
 | 
				
			||||||
  SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
 | 
					  SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {
 | 
				
			||||||
    // FIXME: Support Sparc quad-precision long double?
 | 
					    // FIXME: Support Sparc quad-precision long double?
 | 
				
			||||||
    DescriptionString = "E-"
 | 
					    DescriptionString = "E-"
 | 
				
			||||||
                        "i64:64:64-n32:64-S128";
 | 
					                        "i64:64-n32:64-S128";
 | 
				
			||||||
    // This is an LP64 platform.
 | 
					    // This is an LP64 platform.
 | 
				
			||||||
    LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
 | 
					    LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4678,7 +4678,7 @@ namespace {
 | 
				
			||||||
      IntPtrType = SignedInt;
 | 
					      IntPtrType = SignedInt;
 | 
				
			||||||
      PtrDiffType = SignedInt;
 | 
					      PtrDiffType = SignedInt;
 | 
				
			||||||
      SigAtomicType = SignedLong;
 | 
					      SigAtomicType = SignedLong;
 | 
				
			||||||
      DescriptionString = "e-p:16:16:16-i32:16:32-n8:16";
 | 
					      DescriptionString = "e-p:16:16-i32:16:32-n8:16";
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
    virtual void getTargetDefines(const LangOptions &Opts,
 | 
					    virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
                                  MacroBuilder &Builder) const {
 | 
					                                  MacroBuilder &Builder) const {
 | 
				
			||||||
| 
						 | 
					@ -4774,10 +4774,10 @@ namespace {
 | 
				
			||||||
      FloatFormat = &llvm::APFloat::IEEEsingle;
 | 
					      FloatFormat = &llvm::APFloat::IEEEsingle;
 | 
				
			||||||
      DoubleFormat = &llvm::APFloat::IEEEsingle;
 | 
					      DoubleFormat = &llvm::APFloat::IEEEsingle;
 | 
				
			||||||
      LongDoubleFormat = &llvm::APFloat::IEEEsingle;
 | 
					      LongDoubleFormat = &llvm::APFloat::IEEEsingle;
 | 
				
			||||||
      DescriptionString = "E-p:32:32:32-i8:8:32-"
 | 
					      DescriptionString = "E-p:32:32-i8:8:32-"
 | 
				
			||||||
                          "i16:16:32-i64:32:32"
 | 
					                          "i16:16:32-i64:32"
 | 
				
			||||||
                          "-f64:32:32-v64:32:32-"
 | 
					                          "-f64:32-v64:32-"
 | 
				
			||||||
                          "v128:32:32-a:0:32-n32";
 | 
					                          "v128:32-a:0:32-n32";
 | 
				
			||||||
      AddrSpaceMap = &TCEOpenCLAddrSpaceMap;
 | 
					      AddrSpaceMap = &TCEOpenCLAddrSpaceMap;
 | 
				
			||||||
      UseAddrSpaceMapMangling = true;
 | 
					      UseAddrSpaceMapMangling = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -5114,8 +5114,8 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Mips32EBTargetInfo : public Mips32TargetInfoBase {
 | 
					class Mips32EBTargetInfo : public Mips32TargetInfoBase {
 | 
				
			||||||
  virtual void setDescriptionString() {
 | 
					  virtual void setDescriptionString() {
 | 
				
			||||||
    DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-"
 | 
					    DescriptionString = "E-p:32:32-i8:8:32-i16:16:32-"
 | 
				
			||||||
                        "i64:64:64-n32-S64";
 | 
					                        "i64:64-n32-S64";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
| 
						 | 
					@ -5132,8 +5132,8 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Mips32ELTargetInfo : public Mips32TargetInfoBase {
 | 
					class Mips32ELTargetInfo : public Mips32TargetInfoBase {
 | 
				
			||||||
  virtual void setDescriptionString() {
 | 
					  virtual void setDescriptionString() {
 | 
				
			||||||
    DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-"
 | 
					    DescriptionString = "e-p:32:32-i8:8:32-i16:16:32-"
 | 
				
			||||||
                        "i64:64:64-n32-S64";
 | 
					                        "i64:64-n32-S64";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
| 
						 | 
					@ -5242,12 +5242,12 @@ public:
 | 
				
			||||||
class Mips64EBTargetInfo : public Mips64TargetInfoBase {
 | 
					class Mips64EBTargetInfo : public Mips64TargetInfoBase {
 | 
				
			||||||
  virtual void setDescriptionString() {
 | 
					  virtual void setDescriptionString() {
 | 
				
			||||||
    if (ABI == "n32")
 | 
					    if (ABI == "n32")
 | 
				
			||||||
      DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-"
 | 
					      DescriptionString = "E-p:32:32-i8:8:32-i16:16:32-"
 | 
				
			||||||
                          "i64:64:64-f128:128:128-"
 | 
					                          "i64:64-f128:128-"
 | 
				
			||||||
                          "n32:64-S128";
 | 
					                          "n32:64-S128";
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      DescriptionString = "E-i8:8:32-i16:16:32-"
 | 
					      DescriptionString = "E-i8:8:32-i16:16:32-"
 | 
				
			||||||
                          "i64:64:64-f128:128:128-"
 | 
					                          "i64:64-f128:128-"
 | 
				
			||||||
                          "n32:64-S128";
 | 
					                          "n32:64-S128";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					@ -5266,12 +5266,12 @@ public:
 | 
				
			||||||
class Mips64ELTargetInfo : public Mips64TargetInfoBase {
 | 
					class Mips64ELTargetInfo : public Mips64TargetInfoBase {
 | 
				
			||||||
  virtual void setDescriptionString() {
 | 
					  virtual void setDescriptionString() {
 | 
				
			||||||
    if (ABI == "n32")
 | 
					    if (ABI == "n32")
 | 
				
			||||||
      DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-"
 | 
					      DescriptionString = "e-p:32:32-i8:8:32-i16:16:32-"
 | 
				
			||||||
                          "i64:64:64-f128:128:128"
 | 
					                          "i64:64-f128:128"
 | 
				
			||||||
                          "-n32:64-S128";
 | 
					                          "-n32:64-S128";
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      DescriptionString = "e-i8:8:32-i16:16:32-"
 | 
					      DescriptionString = "e-i8:8:32-i16:16:32-"
 | 
				
			||||||
                          "i64:64:64-f128:128:128-"
 | 
					                          "i64:64-f128:128-"
 | 
				
			||||||
                          "n32:64-S128";
 | 
					                          "n32:64-S128";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
| 
						 | 
					@ -5418,10 +5418,10 @@ namespace {
 | 
				
			||||||
      SizeType     = TargetInfo::UnsignedInt;
 | 
					      SizeType     = TargetInfo::UnsignedInt;
 | 
				
			||||||
      PtrDiffType = IntPtrType = TargetInfo::SignedInt;
 | 
					      PtrDiffType = IntPtrType = TargetInfo::SignedInt;
 | 
				
			||||||
      DescriptionString
 | 
					      DescriptionString
 | 
				
			||||||
        = "e-p:32:32:32-i64:64:64"
 | 
					        = "e-p:32:32-i64:64"
 | 
				
			||||||
          "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-"
 | 
					          "-v16:16-v24:32-v32:32-v48:64-"
 | 
				
			||||||
          "v96:128:128-v192:256:256-v256:256:256-"
 | 
					          "v96:128-v192:256-v256:256-"
 | 
				
			||||||
          "v512:512:512-v1024:1024:1024";
 | 
					          "v512:512-v1024:1024";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    virtual void getTargetDefines(const LangOptions &Opts,
 | 
					    virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
                                  MacroBuilder &Builder) const {
 | 
					                                  MacroBuilder &Builder) const {
 | 
				
			||||||
| 
						 | 
					@ -5436,10 +5436,10 @@ namespace {
 | 
				
			||||||
      SizeType     = TargetInfo::UnsignedLong;
 | 
					      SizeType     = TargetInfo::UnsignedLong;
 | 
				
			||||||
      PtrDiffType = IntPtrType = TargetInfo::SignedLong;
 | 
					      PtrDiffType = IntPtrType = TargetInfo::SignedLong;
 | 
				
			||||||
      DescriptionString
 | 
					      DescriptionString
 | 
				
			||||||
        = "e-i64:64:64"
 | 
					        = "e-i64:64"
 | 
				
			||||||
          "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-"
 | 
					          "-v16:16-v24:32-v32:32-v48:64-"
 | 
				
			||||||
          "v96:128:128-v192:256:256-v256:256:256-"
 | 
					          "v96:128-v192:256-v256:256-"
 | 
				
			||||||
          "v512:512:512-v1024:1024:1024";
 | 
					          "v512:512-v1024:1024";
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    virtual void getTargetDefines(const LangOptions &Opts,
 | 
					    virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
                                  MacroBuilder &Builder) const {
 | 
					                                  MacroBuilder &Builder) const {
 | 
				
			||||||
| 
						 | 
					@ -5464,9 +5464,9 @@ public:
 | 
				
			||||||
    WCharType = UnsignedChar;
 | 
					    WCharType = UnsignedChar;
 | 
				
			||||||
    WIntType = UnsignedInt;
 | 
					    WIntType = UnsignedInt;
 | 
				
			||||||
    UseZeroLengthBitfieldAlignment = true;
 | 
					    UseZeroLengthBitfieldAlignment = true;
 | 
				
			||||||
    DescriptionString = "e-p:32:32:32-a:0:32-n32"
 | 
					    DescriptionString = "e-p:32:32-a:0:32-n32"
 | 
				
			||||||
                        "-i1:8:32-i8:8:32-i16:16:32-i64:32:32"
 | 
					                        "-i1:8:32-i8:8:32-i16:16:32-i64:32"
 | 
				
			||||||
                        "-f16:16:32-f64:32:32";
 | 
					                        "-f16:16:32-f64:32";
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  virtual void getTargetDefines(const LangOptions &Opts,
 | 
					  virtual void getTargetDefines(const LangOptions &Opts,
 | 
				
			||||||
                                MacroBuilder &Builder) const {
 | 
					                                MacroBuilder &Builder) const {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,132 +1,132 @@
 | 
				
			||||||
// RUN: %clang_cc1 -triple i686-unknown-unknown -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple i686-unknown-unknown -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck --check-prefix=I686-UNKNOWN %s
 | 
					// RUN:     FileCheck --check-prefix=I686-UNKNOWN %s
 | 
				
			||||||
// I686-UNKNOWN: target datalayout = "e-p:32:32:32-f64:32:64-f80:32:32-n8:16:32-S128"
 | 
					// I686-UNKNOWN: target datalayout = "e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple i686-apple-darwin9 -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple i686-apple-darwin9 -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck --check-prefix=I686-DARWIN %s
 | 
					// RUN:     FileCheck --check-prefix=I686-DARWIN %s
 | 
				
			||||||
// I686-DARWIN: target datalayout = "e-p:32:32:32-f64:32:64-f80:128:128-n8:16:32-S128"
 | 
					// I686-DARWIN: target datalayout = "e-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple i686-unknown-win32 -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple i686-unknown-win32 -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck --check-prefix=I686-WIN32 %s
 | 
					// RUN:     FileCheck --check-prefix=I686-WIN32 %s
 | 
				
			||||||
// I686-WIN32: target datalayout = "e-p:32:32:32-i64:64:64-f80:32:32-n8:16:32-S32"
 | 
					// I686-WIN32: target datalayout = "e-p:32:32-i64:64-f80:32-n8:16:32-S32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple i686-unknown-cygwin -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple i686-unknown-cygwin -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck --check-prefix=I686-CYGWIN %s
 | 
					// RUN:     FileCheck --check-prefix=I686-CYGWIN %s
 | 
				
			||||||
// I686-CYGWIN: target datalayout = "e-p:32:32:32-i64:64:64-f80:32:32-n8:16:32-S32"
 | 
					// I686-CYGWIN: target datalayout = "e-p:32:32-i64:64-f80:32-n8:16:32-S32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck --check-prefix=X86_64 %s
 | 
					// RUN:     FileCheck --check-prefix=X86_64 %s
 | 
				
			||||||
// X86_64: target datalayout = "e-i64:64:64-s:64:64-f80:128:128-n8:16:32:64-S128"
 | 
					// X86_64: target datalayout = "e-i64:64-s:64-f80:128-n8:16:32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple xcore-unknown-unknown -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple xcore-unknown-unknown -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck --check-prefix=XCORE %s
 | 
					// RUN:     FileCheck --check-prefix=XCORE %s
 | 
				
			||||||
// XCORE: target datalayout = "e-p:32:32:32-a:0:32-n32-i1:8:32-i8:8:32-i16:16:32-i64:32:32-f16:16:32-f64:32:32"
 | 
					// XCORE: target datalayout = "e-p:32:32-a:0:32-n32-i1:8:32-i8:8:32-i16:16:32-i64:32-f16:16:32-f64:32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN:     FileCheck %s --check-prefix=SPARC-V8
 | 
					// RUN:     FileCheck %s --check-prefix=SPARC-V8
 | 
				
			||||||
// SPARC-V8: target datalayout = "E-p:32:32:32-i64:64:64-n32-S64"
 | 
					// SPARC-V8: target datalayout = "E-p:32:32-i64:64-n32-S64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \
 | 
					// RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \
 | 
				
			||||||
// RUN: FileCheck %s --check-prefix=SPARC-V9
 | 
					// RUN: FileCheck %s --check-prefix=SPARC-V9
 | 
				
			||||||
// SPARC-V9: target datalayout = "E-i64:64:64-n32:64-S128"
 | 
					// SPARC-V9: target datalayout = "E-i64:64-n32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple mipsel-linux-gnu -o - -emit-llvm %s |     \
 | 
					// RUN: %clang_cc1 -triple mipsel-linux-gnu -o - -emit-llvm %s |     \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=MIPS-32EL
 | 
					// RUN: FileCheck %s -check-prefix=MIPS-32EL
 | 
				
			||||||
// MIPS-32EL: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-n32-S64"
 | 
					// MIPS-32EL: target datalayout = "e-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=MIPS-32EB
 | 
					// RUN: FileCheck %s -check-prefix=MIPS-32EB
 | 
				
			||||||
// MIPS-32EB: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-n32-S64"
 | 
					// MIPS-32EB: target datalayout = "E-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=MIPS-64EL
 | 
					// RUN: FileCheck %s -check-prefix=MIPS-64EL
 | 
				
			||||||
// MIPS-64EL: target datalayout = "e-i8:8:32-i16:16:32-i64:64:64-f128:128:128-n32:64-S128"
 | 
					// MIPS-64EL: target datalayout = "e-i8:8:32-i16:16:32-i64:64-f128:128-n32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \
 | 
					// RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \
 | 
				
			||||||
// RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32
 | 
					// RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32
 | 
				
			||||||
// MIPS-64EL-N32: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f128:128:128-n32:64-S128"
 | 
					// MIPS-64EL-N32: target datalayout = "e-p:32:32-i8:8:32-i16:16:32-i64:64-f128:128-n32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=MIPS-64EB
 | 
					// RUN: FileCheck %s -check-prefix=MIPS-64EB
 | 
				
			||||||
// MIPS-64EB: target datalayout = "E-i8:8:32-i16:16:32-i64:64:64-f128:128:128-n32:64-S128"
 | 
					// MIPS-64EB: target datalayout = "E-i8:8:32-i16:16:32-i64:64-f128:128-n32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \
 | 
					// RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \
 | 
				
			||||||
// RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32
 | 
					// RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32
 | 
				
			||||||
// MIPS-64EB-N32: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f128:128:128-n32:64-S128"
 | 
					// MIPS-64EB-N32: target datalayout = "E-p:32:32-i8:8:32-i16:16:32-i64:64-f128:128-n32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=PS3
 | 
					// RUN: FileCheck %s -check-prefix=PS3
 | 
				
			||||||
// PS3: target datalayout = "E-p:32:32:32-i64:64:64-n32"
 | 
					// PS3: target datalayout = "E-p:32:32-i64:64-n32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=NACL
 | 
					// RUN: FileCheck %s -check-prefix=NACL
 | 
				
			||||||
// RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=NACL
 | 
					// RUN: FileCheck %s -check-prefix=NACL
 | 
				
			||||||
// NACL: target datalayout = "e-i64:64:64-p:32:32:32-v128:32:32"
 | 
					// NACL: target datalayout = "e-i64:64-p:32:32-v128:32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=PPC
 | 
					// RUN: FileCheck %s -check-prefix=PPC
 | 
				
			||||||
// PPC: target datalayout = "E-p:32:32:32-i64:64:64-n32"
 | 
					// PPC: target datalayout = "E-p:32:32-i64:64-n32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=PPC64-FREEBSD
 | 
					// RUN: FileCheck %s -check-prefix=PPC64-FREEBSD
 | 
				
			||||||
// PPC64-FREEBSD: target datalayout = "E-i64:64:64-n32:64"
 | 
					// PPC64-FREEBSD: target datalayout = "E-i64:64-n32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=PPC64-LINUX
 | 
					// RUN: FileCheck %s -check-prefix=PPC64-LINUX
 | 
				
			||||||
// PPC64-LINUX: target datalayout = "E-i64:64:64-f128:128:128-n32:64"
 | 
					// PPC64-LINUX: target datalayout = "E-i64:64-f128:128-n32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=PPC32-DARWIN
 | 
					// RUN: FileCheck %s -check-prefix=PPC32-DARWIN
 | 
				
			||||||
// PPC32-DARWIN: target datalayout = "E-p:32:32:32-n32"
 | 
					// PPC32-DARWIN: target datalayout = "E-p:32:32-n32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=PPC64-DARWIN
 | 
					// RUN: FileCheck %s -check-prefix=PPC64-DARWIN
 | 
				
			||||||
// PPC64-DARWIN: target datalayout = "E-i64:64:64-n32:64"
 | 
					// PPC64-DARWIN: target datalayout = "E-i64:64-n32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=NVPTX
 | 
					// RUN: FileCheck %s -check-prefix=NVPTX
 | 
				
			||||||
// NVPTX: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v32:32:32-n16:32:64"
 | 
					// NVPTX: target datalayout = "e-p:32:32-i64:64-v16:16-v32:32-n16:32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=NVPTX64
 | 
					// RUN: FileCheck %s -check-prefix=NVPTX64
 | 
				
			||||||
// NVPTX64: target datalayout = "e-i64:64:64-v16:16:16-v32:32:32-n16:32:64"
 | 
					// NVPTX64: target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=R600
 | 
					// RUN: FileCheck %s -check-prefix=R600
 | 
				
			||||||
// R600: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"
 | 
					// R600: target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \
 | 
					// RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \
 | 
				
			||||||
// RUN: | FileCheck %s -check-prefix=R600D
 | 
					// RUN: | FileCheck %s -check-prefix=R600D
 | 
				
			||||||
// R600D: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"
 | 
					// R600D: target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple r600-unknown -target-cpu hawaii -o - -emit-llvm %s \
 | 
					// RUN: %clang_cc1 -triple r600-unknown -target-cpu hawaii -o - -emit-llvm %s \
 | 
				
			||||||
// RUN: | FileCheck %s -check-prefix=R600SI
 | 
					// RUN: | FileCheck %s -check-prefix=R600SI
 | 
				
			||||||
// R600SI: target datalayout = "e-p3:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"
 | 
					// R600SI: target datalayout = "e-p3:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple aarch64-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple aarch64-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=AARCH64
 | 
					// RUN: FileCheck %s -check-prefix=AARCH64
 | 
				
			||||||
// AARCH64: target datalayout = "e-i64:64:64-i128:128:128-f128:128:128-n32:64-S128"
 | 
					// AARCH64: target datalayout = "e-i64:64-i128:128-f128:128-n32:64-S128"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=THUMB
 | 
					// RUN: FileCheck %s -check-prefix=THUMB
 | 
				
			||||||
// THUMB: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64:64-v128:64:128-a:0:32-n32-S64"
 | 
					// THUMB: target datalayout = "e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64-v128:64:128-a:0:32-n32-S64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=ARM
 | 
					// RUN: FileCheck %s -check-prefix=ARM
 | 
				
			||||||
// ARM: target datalayout = "e-p:32:32:32-i64:64:64-v128:64:128-n32-S64"
 | 
					// ARM: target datalayout = "e-p:32:32-i64:64-v128:64:128-n32-S64"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-gnu \
 | 
					// RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-gnu \
 | 
				
			||||||
// RUN: %s | FileCheck %s -check-prefix=THUMB-GNU
 | 
					// RUN: %s | FileCheck %s -check-prefix=THUMB-GNU
 | 
				
			||||||
// THUMB-GNU: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
 | 
					// THUMB-GNU: target datalayout = "e-p:32:32-i1:8:32-i8:8:32-i16:16:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm -target-abi apcs-gnu \
 | 
					// RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm -target-abi apcs-gnu \
 | 
				
			||||||
// RUN: %s | FileCheck %s -check-prefix=ARM-GNU
 | 
					// RUN: %s | FileCheck %s -check-prefix=ARM-GNU
 | 
				
			||||||
// ARM-GNU: target datalayout = "e-p:32:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
 | 
					// ARM-GNU: target datalayout = "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple hexagon-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple hexagon-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=HEXAGON
 | 
					// RUN: FileCheck %s -check-prefix=HEXAGON
 | 
				
			||||||
// HEXAGON: target datalayout = "e-p:32:32:32-i64:64:64-i1:32:32-a:0-n32"
 | 
					// HEXAGON: target datalayout = "e-p:32:32-i64:64-i1:32-a:0-n32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=SYSTEMZ
 | 
					// RUN: FileCheck %s -check-prefix=SYSTEMZ
 | 
				
			||||||
| 
						 | 
					@ -134,16 +134,16 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=MSP430
 | 
					// RUN: FileCheck %s -check-prefix=MSP430
 | 
				
			||||||
// MSP430: target datalayout = "e-p:16:16:16-i32:16:32-n8:16"
 | 
					// MSP430: target datalayout = "e-p:16:16-i32:16:32-n8:16"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=TCE
 | 
					// RUN: FileCheck %s -check-prefix=TCE
 | 
				
			||||||
// TCE: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-n32"
 | 
					// TCE: target datalayout = "E-p:32:32-i8:8:32-i16:16:32-i64:32-f64:32-v64:32-v128:32-a:0:32-n32"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=SPIR
 | 
					// RUN: FileCheck %s -check-prefix=SPIR
 | 
				
			||||||
// SPIR: target datalayout = "e-p:32:32:32-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"
 | 
					// SPIR: target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \
 | 
					// RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \
 | 
				
			||||||
// RUN: FileCheck %s -check-prefix=SPIR64
 | 
					// RUN: FileCheck %s -check-prefix=SPIR64
 | 
				
			||||||
// SPIR64: target datalayout = "e-i64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v96:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"
 | 
					// SPIR64: target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue