|
@@ -340,8 +340,7 @@ public:
|
|
LongDoubleWidth = 96;
|
|
LongDoubleWidth = 96;
|
|
LongDoubleAlign = 32;
|
|
LongDoubleAlign = 32;
|
|
SuitableAlign = 128;
|
|
SuitableAlign = 128;
|
|
- resetDataLayout("e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-"
|
|
|
|
- "f80:32-n8:16:32-S128");
|
|
|
|
|
|
+ resetDataLayout("e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128");
|
|
SizeType = UnsignedInt;
|
|
SizeType = UnsignedInt;
|
|
PtrDiffType = SignedInt;
|
|
PtrDiffType = SignedInt;
|
|
IntPtrType = SignedInt;
|
|
IntPtrType = SignedInt;
|
|
@@ -441,8 +440,7 @@ public:
|
|
UseSignedCharForObjCBool = false;
|
|
UseSignedCharForObjCBool = false;
|
|
SizeType = UnsignedLong;
|
|
SizeType = UnsignedLong;
|
|
IntPtrType = SignedLong;
|
|
IntPtrType = SignedLong;
|
|
- resetDataLayout("e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-"
|
|
|
|
- "f80:128-n8:16:32-S128");
|
|
|
|
|
|
+ resetDataLayout("e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128");
|
|
HasAlignMac68kSupport = true;
|
|
HasAlignMac68kSupport = true;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -467,10 +465,9 @@ public:
|
|
DoubleAlign = LongLongAlign = 64;
|
|
DoubleAlign = LongLongAlign = 64;
|
|
bool IsWinCOFF =
|
|
bool IsWinCOFF =
|
|
getTriple().isOSWindows() && getTriple().isOSBinFormatCOFF();
|
|
getTriple().isOSWindows() && getTriple().isOSBinFormatCOFF();
|
|
- resetDataLayout(IsWinCOFF ? "e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:"
|
|
|
|
- "64-i64:64-f80:32-n8:16:32-a:0:32-S32"
|
|
|
|
- : "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:"
|
|
|
|
- "64-i64:64-f80:32-n8:16:32-a:0:32-S32");
|
|
|
|
|
|
+ resetDataLayout(IsWinCOFF
|
|
|
|
+ ? "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
|
|
|
|
+ : "e-m:e-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32");
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
@@ -518,8 +515,7 @@ public:
|
|
: X86_32TargetInfo(Triple, Opts) {
|
|
: X86_32TargetInfo(Triple, Opts) {
|
|
this->WCharType = TargetInfo::UnsignedShort;
|
|
this->WCharType = TargetInfo::UnsignedShort;
|
|
DoubleAlign = LongLongAlign = 64;
|
|
DoubleAlign = LongLongAlign = 64;
|
|
- resetDataLayout("e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:"
|
|
|
|
- "32-n8:16:32-a:0:32-S32");
|
|
|
|
|
|
+ resetDataLayout("e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32");
|
|
}
|
|
}
|
|
|
|
|
|
void getTargetDefines(const LangOptions &Opts,
|
|
void getTargetDefines(const LangOptions &Opts,
|
|
@@ -556,8 +552,7 @@ public:
|
|
: X86_32TargetInfo(Triple, Opts) {
|
|
: X86_32TargetInfo(Triple, Opts) {
|
|
LongDoubleWidth = 64;
|
|
LongDoubleWidth = 64;
|
|
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
|
|
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
|
|
- resetDataLayout("e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:32-f64:"
|
|
|
|
- "32-f128:32-n8:16:32-a:0:32-S32");
|
|
|
|
|
|
+ resetDataLayout("e-m:e-p:32:32-i64:32-f64:32-f128:32-n8:16:32-a:0:32-S32");
|
|
WIntType = UnsignedInt;
|
|
WIntType = UnsignedInt;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -616,12 +611,10 @@ public:
|
|
RegParmMax = 6;
|
|
RegParmMax = 6;
|
|
|
|
|
|
// Pointers are 32-bit in x32.
|
|
// Pointers are 32-bit in x32.
|
|
- resetDataLayout(IsX32 ? "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-"
|
|
|
|
- "i64:64-f80:128-n8:16:32:64-S128"
|
|
|
|
- : IsWinCOFF ? "e-m:w-p270:32:32-p271:32:32-p272:64:"
|
|
|
|
- "64-i64:64-f80:128-n8:16:32:64-S128"
|
|
|
|
- : "e-m:e-p270:32:32-p271:32:32-p272:64:"
|
|
|
|
- "64-i64:64-f80:128-n8:16:32:64-S128");
|
|
|
|
|
|
+ resetDataLayout(IsX32
|
|
|
|
+ ? "e-m:e-p:32:32-i64:64-f80:128-n8:16:32:64-S128"
|
|
|
|
+ : IsWinCOFF ? "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
|
|
|
|
+ : "e-m:e-i64: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);
|
|
@@ -811,8 +804,7 @@ public:
|
|
llvm::Triple T = llvm::Triple(Triple);
|
|
llvm::Triple T = llvm::Triple(Triple);
|
|
if (T.isiOS())
|
|
if (T.isiOS())
|
|
UseSignedCharForObjCBool = false;
|
|
UseSignedCharForObjCBool = false;
|
|
- resetDataLayout("e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:"
|
|
|
|
- "16:32:64-S128");
|
|
|
|
|
|
+ resetDataLayout("e-m:o-i64:64-f80:128-n8:16:32:64-S128");
|
|
}
|
|
}
|
|
|
|
|
|
bool handleTargetFeatures(std::vector<std::string> &Features,
|
|
bool handleTargetFeatures(std::vector<std::string> &Features,
|