diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-12-16 20:21:07 +0000 | 
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-12-16 20:21:07 +0000 | 
| commit | 32083d503b9b72607e1364634bb86d07a003cc1d (patch) | |
| tree | 4c1ef5048cd5f0fe39b43ad54e1e4630d70f35dc | |
| parent | 8742a28560153c2eef290d4911dacb98852254a2 (diff) | |
| download | bcm5719-llvm-32083d503b9b72607e1364634bb86d07a003cc1d.tar.gz bcm5719-llvm-32083d503b9b72607e1364634bb86d07a003cc1d.zip  | |
Clang DataLayout string cleanup: don't print the integer defaults.
llvm-svn: 197421
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 88 | ||||
| -rw-r--r-- | clang/test/CodeGen/target-data.c | 72 | 
2 files changed, 80 insertions, 80 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index eb7e7d7a925..46ed6dfd13e 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -485,7 +485,7 @@ public:      this->UIntMaxType = TargetInfo::UnsignedLongLong;      this->Int64Type = TargetInfo::SignedLongLong;      this->SizeType = TargetInfo::UnsignedInt; -    this->DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    this->DescriptionString = "E-p:32:32:32-"                                "i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32";    }  }; @@ -625,7 +625,7 @@ public:      this->IntPtrType = TargetInfo::SignedInt;      // RegParmMax is inherited from the underlying architecture      this->LongDoubleFormat = &llvm::APFloat::IEEEdouble; -    this->DescriptionString = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" +    this->DescriptionString = "e-i64:64:64-"                                "f32:32:32-f64:64:64-p:32:32:32-v128:32:32";    }    virtual typename Target::CallingConvCheckResult checkCallingConvention( @@ -1179,7 +1179,7 @@ namespace {  class PPC32TargetInfo : public PPCTargetInfo {  public:    PPC32TargetInfo(const llvm::Triple &Triple) : PPCTargetInfo(Triple) { -    DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "E-p:32:32:32-"                          "i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32";      switch (getTriple().getOS()) { @@ -1224,11 +1224,11 @@ public:      if (getTriple().getOS() == llvm::Triple::FreeBSD) {        LongDoubleWidth = LongDoubleAlign = 64;        LongDoubleFormat = &llvm::APFloat::IEEEdouble; -      DescriptionString = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +      DescriptionString = "E-p:64:64:64-"                            "i64:64:64-f32:32:32-f64:64:64-"                            "v128:128:128-n32:64";      } else -      DescriptionString = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +      DescriptionString = "E-p:64:64:64-"                            "i64:64:64-f32:32:32-f64:64:64-f128:128:128-"                            "v128:128:128-n32:64"; @@ -1253,8 +1253,8 @@ public:      PtrDiffType = SignedInt;    // for http://llvm.org/bugs/show_bug.cgi?id=15726      LongLongAlign = 32;      SuitableAlign = 128; -    DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" -                        "i64:32:64-f32:32:32-f64:64:64-v128:128:128-n32"; +    DescriptionString = "E-p:32:32:32" +                        "-f32:32:32-f64:64:64-v128:128:128-n32";    }    virtual BuiltinVaListKind getBuiltinVaListKind() const {      return TargetInfo::CharPtrBuiltinVaList; @@ -1268,7 +1268,7 @@ public:        : DarwinTargetInfo<PPC64TargetInfo>(Triple) {      HasAlignMac68kSupport = true;      SuitableAlign = 128; -    DescriptionString = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "E-p:64:64:64-"                          "i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64";    }  }; @@ -1376,7 +1376,7 @@ namespace {        PointerWidth = PointerAlign = 32;        SizeType     = PtrDiffType = IntPtrType = TargetInfo::UnsignedInt;        DescriptionString -        = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" +        = "e-p:32:32:32-i64:64:64-"            "f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-"            "n16:32:64";    } @@ -1388,7 +1388,7 @@ namespace {        PointerWidth = PointerAlign = 64;        SizeType     = PtrDiffType = IntPtrType = TargetInfo::UnsignedLongLong;        DescriptionString -        = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" +        = "e-p:64:64:64-i64:64:64-"            "f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-"            "n16:32:64";    } @@ -1409,7 +1409,7 @@ static const unsigned R600AddrSpaceMap[] = {  static const char *DescriptionStringR600 =    "e"    "-p:32:32:32" -  "-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32" +  "-i64:64:64-f32:32:32"    "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128"    "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"    "-n32:64"; @@ -1417,7 +1417,7 @@ static const char *DescriptionStringR600 =  static const char *DescriptionStringR600DoubleOps =    "e"    "-p:32:32:32" -  "-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64" +  "-i64:64:64-f32:32:32-f64:64:64"    "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128"    "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"    "-n32:64"; @@ -1426,7 +1426,7 @@ static const char *DescriptionStringSI =    "e"    "-p:64:64:64"    "-p3:32:32:32" -  "-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64" +  "-i64:64:64-f32:32:32-f64:64:64"    "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128"    "-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048"    "-n32:64"; @@ -2933,8 +2933,8 @@ public:      LongDoubleWidth = 96;      LongDoubleAlign = 32;      SuitableAlign = 128; -    DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" -                        "i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-" +    DescriptionString = "e-p:32:32:32" +                        "-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"                          "a:0:64-f80:32:32-n8:16:32-S128";      SizeType = UnsignedInt;      PtrDiffType = SignedInt; @@ -3029,8 +3029,8 @@ public:      MaxVectorAlign = 256;      SizeType = UnsignedLong;      IntPtrType = SignedLong; -    DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" -                        "i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-" +    DescriptionString = "e-p:32:32:32" +                        "-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"                          "a:0:64-f80:128:128-n8:16:32-S128";      HasAlignMac68kSupport = true;    } @@ -3047,7 +3047,7 @@ public:      TLSSupported = false;      WCharType = UnsignedShort;      DoubleAlign = LongLongAlign = 64; -    DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "e-p:32:32:32-"                          "i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-"                          "v128:128:128-a:0:64-f80:32:32-n8:16:32-S32";    } @@ -3116,7 +3116,7 @@ public:      TLSSupported = false;      WCharType = UnsignedShort;      DoubleAlign = LongLongAlign = 64; -    DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "e-p:32:32:32-"                          "i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-"                          "a:0:64-f80:32:32-n8:16:32-S32";    } @@ -3224,7 +3224,7 @@ public:      Int64Type = SignedLong;      RegParmMax = 6; -    DescriptionString = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "e-p:64:64:64-"                          "i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-"                          "a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128"; @@ -3398,7 +3398,7 @@ public:      LongDoubleWidth = LongDoubleAlign = 128;      PointerWidth = PointerAlign = 64;      SuitableAlign = 128; -    DescriptionString = "e-p:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "e-p:64:64-"                          "i64:64:64-i128:128:128-f32:32:32-f64:64:64-"                          "f128:128:128-n32:64-S128"; @@ -3713,11 +3713,11 @@ public:      if (IsThumb) {        // Thumb1 add sp, #imm requires the immediate value be multiple of 4,        // so set preferred for small types to 32. -      DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-" +      DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-"                             "i64:64:64-f32:32:32-f64:64:64-"                             "v64:64:64-v128:64:128-a:0:32-n32-S64");      } else { -      DescriptionString = ("e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +      DescriptionString = ("e-p:32:32:32-"                             "i64:64:64-f32:32:32-f64:64:64-"                             "v64:64:64-v128:64:128-a:0:64-n32-S64");      } @@ -3767,13 +3767,13 @@ public:        if (IsThumb) {          // Thumb1 add sp, #imm requires the immediate value be multiple of 4,          // so set preferred for small types to 32. -        DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-" -                             "i64:32:64-f32:32:32-f64:32:64-" -                             "v64:32:64-v128:32:128-a:0:32-n32-S32"); +        DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32" +                             "-f32:32:32-f64:32:64" +                             "-v64:32:64-v128:32:128-a:0:32-n32-S32");        } else { -        DescriptionString = ("e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" -                             "i64:32:64-f32:32:32-f64:32:64-" -                             "v64:32:64-v128:32:128-a:0:32-n32-S32"); +        DescriptionString = ("e-p:32:32:32" +                             "-f32:32:32-f64:32:64" +                             "-v64:32:64-v128:32:128-a:0:32-n32-S32");        }        // FIXME: Override "preferred align" for double and long long. @@ -4229,7 +4229,7 @@ public:    HexagonTargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) {      BigEndian = false;      DescriptionString = ("e-p:32:32:32-" -                         "i64:64:64-i32:32:32-i16:16:16-i1:32:32-" +                         "i64:64:64-i1:32:32-"                           "f64:64:64-f32:32:32-a:0-n32");      // {} in inline assembly are packet specifiers, not assembly variant @@ -4486,7 +4486,7 @@ class SparcV8TargetInfo : public SparcTargetInfo {  public:    SparcV8TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {      // FIXME: Support Sparc quad-precision long double? -    DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "E-p:32:32:32-"                          "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64";    } @@ -4502,7 +4502,7 @@ class SparcV9TargetInfo : public SparcTargetInfo {  public:    SparcV9TargetInfo(const llvm::Triple &Triple) : SparcTargetInfo(Triple) {      // FIXME: Support Sparc quad-precision long double? -    DescriptionString = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" +    DescriptionString = "E-p:64:64:64-"                          "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32:64-S128";      // This is an LP64 platform.      LongWidth = LongAlign = PointerWidth = PointerAlign = 64; @@ -4678,7 +4678,7 @@ namespace {        IntPtrType = SignedInt;        PtrDiffType = SignedInt;        SigAtomicType = SignedLong; -      DescriptionString = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16"; +      DescriptionString = "e-p:16:16:16-i32:16:32-n8:16";     }      virtual void getTargetDefines(const LangOptions &Opts,                                    MacroBuilder &Builder) const { @@ -4774,8 +4774,8 @@ namespace {        FloatFormat = &llvm::APFloat::IEEEsingle;        DoubleFormat = &llvm::APFloat::IEEEsingle;        LongDoubleFormat = &llvm::APFloat::IEEEsingle; -      DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:32-" -                          "i16:16:32-i32:32:32-i64:32:32-" +      DescriptionString = "E-p:32:32:32-i8:8:32-" +                          "i16:16:32-i64:32:32-"                            "f32:32:32-f64:32:32-v64:32:32-"                            "v128:32:32-a:0:32-n32";        AddrSpaceMap = &TCEOpenCLAddrSpaceMap; @@ -5114,7 +5114,7 @@ public:  class Mips32EBTargetInfo : public Mips32TargetInfoBase {    virtual void setDescriptionString() { -    DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-" +    DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-"                          "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64";    } @@ -5132,7 +5132,7 @@ public:  class Mips32ELTargetInfo : public Mips32TargetInfoBase {    virtual void setDescriptionString() { -    DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-" +    DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-"                          "i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64";    } @@ -5242,11 +5242,11 @@ public:  class Mips64EBTargetInfo : public Mips64TargetInfoBase {    virtual void setDescriptionString() {      if (ABI == "n32") -      DescriptionString = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-" +      DescriptionString = "E-p:32:32:32-i8:8:32-i16:16:32-"                            "i64:64:64-f32:32:32-f64:64:64-f128:128:128-"                            "v64:64:64-n32:64-S128";      else -      DescriptionString = "E-p:64:64:64-i1:8:8-i8:8:32-i16:16:32-i32:32:32-" +      DescriptionString = "E-p:64:64:64-i8:8:32-i16:16:32-"                            "i64:64:64-f32:32:32-f64:64:64-f128:128:128-"                            "v64:64:64-n32:64-S128"; @@ -5266,11 +5266,11 @@ public:  class Mips64ELTargetInfo : public Mips64TargetInfoBase {    virtual void setDescriptionString() {      if (ABI == "n32") -      DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-" +      DescriptionString = "e-p:32:32:32-i8:8:32-i16:16:32-"                            "i64:64:64-f32:32:32-f64:64:64-f128:128:128"                            "-v64:64:64-n32:64-S128";      else -      DescriptionString = "e-p:64:64:64-i1:8:8-i8:8:32-i16:16:32-i32:32:32-" +      DescriptionString = "e-p:64:64:64-i8:8:32-i16:16:32-"                            "i64:64:64-f32:32:32-f64:64:64-f128:128:128-"                            "v64:64:64-n32:64-S128";    } @@ -5418,7 +5418,7 @@ namespace {        SizeType     = TargetInfo::UnsignedInt;        PtrDiffType = IntPtrType = TargetInfo::SignedInt;        DescriptionString -        = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" +        = "e-p:32:32:32-i64:64:64-"            "f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-"            "v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-"            "v512:512:512-v1024:1024:1024"; @@ -5436,7 +5436,7 @@ namespace {        SizeType     = TargetInfo::UnsignedLong;        PtrDiffType = IntPtrType = TargetInfo::SignedLong;        DescriptionString -        = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-" +        = "e-p:64:64:64-i64:64:64-"            "f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-"            "v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-"            "v512:512:512-v1024:1024:1024"; @@ -5465,7 +5465,7 @@ public:      WIntType = UnsignedInt;      UseZeroLengthBitfieldAlignment = true;      DescriptionString = "e-p:32:32:32-a:0:32-n32" -                        "-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32" +                        "-i1:8:32-i8:8:32-i16:16:32-i64:32:32"                          "-f16:16:32-f32:32:32-f64:32:32";    }    virtual void getTargetDefines(const LangOptions &Opts, diff --git a/clang/test/CodeGen/target-data.c b/clang/test/CodeGen/target-data.c index 5747350b94e..fa64fb04c53 100644 --- a/clang/test/CodeGen/target-data.c +++ b/clang/test/CodeGen/target-data.c @@ -1,132 +1,132 @@  // RUN: %clang_cc1 -triple i686-unknown-unknown -emit-llvm -o - %s | \  // RUN:     FileCheck --check-prefix=I686-UNKNOWN %s -// I686-UNKNOWN: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S128" +// I686-UNKNOWN: target datalayout = "e-p:32:32:32-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S128"  // RUN: %clang_cc1 -triple i686-apple-darwin9 -emit-llvm -o - %s | \  // RUN:     FileCheck --check-prefix=I686-DARWIN %s -// I686-DARWIN: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:128:128-n8:16:32-S128" +// I686-DARWIN: target datalayout = "e-p:32:32:32-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a:0:64-f80:128:128-n8:16:32-S128"  // RUN: %clang_cc1 -triple i686-unknown-win32 -emit-llvm -o - %s | \  // RUN:     FileCheck --check-prefix=I686-WIN32 %s -// I686-WIN32: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32" +// I686-WIN32: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32"  // RUN: %clang_cc1 -triple i686-unknown-cygwin -emit-llvm -o - %s | \  // RUN:     FileCheck --check-prefix=I686-CYGWIN %s -// I686-CYGWIN: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32" +// I686-CYGWIN: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-f80:32:32-n8:16:32-S32"  // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -o - %s | \  // RUN:     FileCheck --check-prefix=X86_64 %s -// X86_64: target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128" +// X86_64: target datalayout = "e-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-s:64:64-f80:128:128-n8:16:32:64-S128"  // RUN: %clang_cc1 -triple xcore-unknown-unknown -emit-llvm -o - %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-i32:32:32-i64:32:32-f16:16:32-f32:32:32-f64:32:32" +// 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-f32:32:32-f64:32:32"  // RUN: %clang_cc1 -triple sparc-sun-solaris -emit-llvm -o - %s | \  // RUN:     FileCheck %s --check-prefix=SPARC-V8 -// SPARC-V8: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64" +// SPARC-V8: target datalayout = "E-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"  // RUN: %clang_cc1 -triple sparcv9-sun-solaris -emit-llvm -o - %s | \  // RUN: FileCheck %s --check-prefix=SPARC-V9 -// SPARC-V9: target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32:64-S128" +// SPARC-V9: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32:64-S128"  // RUN: %clang_cc1 -triple mipsel-linux-gnu -o - -emit-llvm %s |     \  // RUN: FileCheck %s -check-prefix=MIPS-32EL -// MIPS-32EL: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64" +// MIPS-32EL: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"  // RUN: %clang_cc1 -triple mips-linux-gnu -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=MIPS-32EB -// MIPS-32EB: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64" +// MIPS-32EB: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32-S64"  // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=MIPS-64EL -// MIPS-64EL: target datalayout = "e-p:64:64:64-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EL: target datalayout = "e-p:64:64:64-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128"  // RUN: %clang_cc1 -triple mips64el-linux-gnu -o - -emit-llvm -target-abi n32 \  // RUN: %s | FileCheck %s -check-prefix=MIPS-64EL-N32 -// MIPS-64EL-N32: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EL-N32: target datalayout = "e-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128"  // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=MIPS-64EB -// MIPS-64EB: target datalayout = "E-p:64:64:64-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EB: target datalayout = "E-p:64:64:64-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128"  // RUN: %clang_cc1 -triple mips64-linux-gnu -o - -emit-llvm %s -target-abi n32 \  // RUN: | FileCheck %s -check-prefix=MIPS-64EB-N32 -// MIPS-64EB-N32: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128" +// MIPS-64EB-N32: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v64:64:64-n32:64-S128"  // RUN: %clang_cc1 -triple powerpc64-lv2 -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=PS3 -// PS3: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32" +// PS3: target datalayout = "E-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"  // RUN: %clang_cc1 -triple i686-nacl -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=NACL  // RUN: %clang_cc1 -triple le32-nacl -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=NACL -// NACL: target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-p:32:32:32-v128:32:32" +// NACL: target datalayout = "e-i64:64:64-f32:32:32-f64:64:64-p:32:32:32-v128:32:32"  // RUN: %clang_cc1 -triple powerpc-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=PPC -// PPC: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32" +// PPC: target datalayout = "E-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"  // RUN: %clang_cc1 -triple powerpc64-freebsd -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=PPC64-FREEBSD -// PPC64-FREEBSD: target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" +// PPC64-FREEBSD: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"  // RUN: %clang_cc1 -triple powerpc64-linux -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=PPC64-LINUX -// PPC64-LINUX: target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" +// PPC64-LINUX: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"  // RUN: %clang_cc1 -triple powerpc-darwin -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=PPC32-DARWIN -// PPC32-DARWIN: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v128:128:128-n32" +// PPC32-DARWIN: target datalayout = "E-p:32:32:32-f32:32:32-f64:64:64-v128:128:128-n32"  // RUN: %clang_cc1 -triple powerpc64-darwin -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=PPC64-DARWIN -// PPC64-DARWIN: target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" +// PPC64-DARWIN: target datalayout = "E-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"  // RUN: %clang_cc1 -triple nvptx-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=NVPTX -// NVPTX: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" +// NVPTX: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"  // RUN: %clang_cc1 -triple nvptx64-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=NVPTX64 -// NVPTX64: target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64" +// NVPTX64: target datalayout = "e-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"  // RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=R600 -// R600: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128: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:32-i64:64:64-f32:32:32-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"  // RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \  // RUN: | FileCheck %s -check-prefix=R600D -// R600D: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128: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:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"  // RUN: %clang_cc1 -triple r600-unknown -target-cpu hawaii -o - -emit-llvm %s \  // RUN: | FileCheck %s -check-prefix=R600SI -// R600SI: target datalayout = "e-p:64:64:64-p3:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" +// R600SI: target datalayout = "e-p:64:64:64-p3:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"  // RUN: %clang_cc1 -triple aarch64-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=AARCH64 -// AARCH64: target datalayout = "e-p:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-i128:128:128-f32:32:32-f64:64:64-f128:128:128-n32:64-S128" +// AARCH64: target datalayout = "e-p:64:64-i64:64:64-i128:128:128-f32:32:32-f64:64:64-f128:128:128-n32:64-S128"  // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=THUMB -// THUMB: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:32-n32-S64" +// THUMB: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:32-n32-S64"  // RUN: %clang_cc1 -triple arm-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=ARM -// ARM: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:64-n32-S64" +// ARM: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:64-n32-S64"  // RUN: %clang_cc1 -triple thumb-unknown -o - -emit-llvm -target-abi apcs-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-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" +// THUMB-GNU: target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-f32:32: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: %s | FileCheck %s -check-prefix=ARM-GNU -// ARM-GNU: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32" +// ARM-GNU: target datalayout = "e-p:32:32:32-f32: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: FileCheck %s -check-prefix=HEXAGON -// HEXAGON: target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-a:0-n32" +// HEXAGON: target datalayout = "e-p:32:32:32-i64:64:64-i1:32:32-f64:64:64-f32:32:32-a:0-n32"  // RUN: %clang_cc1 -triple s390x-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=SYSTEMZ @@ -134,16 +134,16 @@  // RUN: %clang_cc1 -triple msp430-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=MSP430 -// MSP430: target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16" +// MSP430: target datalayout = "e-p:16:16:16-i32:16:32-n8:16"  // RUN: %clang_cc1 -triple tce-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=TCE -// TCE: target datalayout = "E-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-n32" +// TCE: target datalayout = "E-p:32:32:32-i8:8:32-i16:16:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-n32"  // RUN: %clang_cc1 -triple spir-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=SPIR -// SPIR: target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024" +// SPIR: target datalayout = "e-p:32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"  // RUN: %clang_cc1 -triple spir64-unknown -o - -emit-llvm %s | \  // RUN: FileCheck %s -check-prefix=SPIR64 -// SPIR64: target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024" +// SPIR64: target datalayout = "e-p:64:64:64-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"  | 

