Skip to content

Commit 577d588

Browse files
committed
add additional tests for DataLayoutUpgrade and move existing to proper location
1 parent e1e0a88 commit 577d588

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@ TEST(DataLayoutUpgradeTest, ValidDataLayoutUpgrade) {
9292
"e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64", "mips64el"),
9393
"e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64");
9494

95+
// Check that PowerPC64 targets add -i128:128.
96+
EXPECT_EQ(UpgradeDataLayoutString("e-m:e-i64:64-n32:64", "powerpc64le-linux"),
97+
"e-m:e-i64:64-i128:128-n32:64");
98+
EXPECT_EQ(UpgradeDataLayoutString(
99+
"E-m:e-Fn32-i64:64-n32:64", "powerpc64-linux"),
100+
"E-m:e-Fn32-i64:64-i128:128-n32:64");
101+
EXPECT_EQ(UpgradeDataLayoutString(
102+
"E-m:a-Fi64-i64:64-n32:64", "powerpc64-ibm-aix"),
103+
"E-m:a-Fi64-i64:64-i128:128-n32:64");
104+
95105
// Check that SPIR && SPIRV targets add -G1 if it's not present.
96106
EXPECT_EQ(UpgradeDataLayoutString("e-p:32:32", "spir"), "e-p:32:32-G1");
97107
EXPECT_EQ(UpgradeDataLayoutString("e-p:32:32", "spir64"), "e-p:32:32-G1");
@@ -108,8 +118,6 @@ TEST(DataLayoutUpgradeTest, NoDataLayoutUpgrade) {
108118
"-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
109119
"-n8:16:32:64-S128",
110120
"x86_64-unknown-linux-gnu");
111-
std::string DL2 = UpgradeDataLayoutString("e-m:e-i64:64-n32:64",
112-
"powerpc64le-unknown-linux-gnu");
113121
std::string DL3 = UpgradeDataLayoutString(
114122
"e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32",
115123
"aarch64--");
@@ -118,7 +126,6 @@ TEST(DataLayoutUpgradeTest, NoDataLayoutUpgrade) {
118126
"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-i128:128:128"
119127
"-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64"
120128
"-f80:128:128-n8:16:32:64-S128");
121-
EXPECT_EQ(DL2, "e-m:e-i64:64-i128:128-n32:64");
122129
EXPECT_EQ(DL3, "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:"
123130
"64-S128-Fn32");
124131

@@ -153,6 +160,14 @@ TEST(DataLayoutUpgradeTest, NoDataLayoutUpgrade) {
153160
EXPECT_EQ(UpgradeDataLayoutString("G2", "spir64"), "G2");
154161
EXPECT_EQ(UpgradeDataLayoutString("G2", "spirv32"), "G2");
155162
EXPECT_EQ(UpgradeDataLayoutString("G2", "spirv64"), "G2");
163+
164+
// Check that PowerPC32 targets don't add -i128:128.
165+
EXPECT_EQ(UpgradeDataLayoutString("e-m:e-i64:64-n32", "powerpcle-linux"),
166+
"e-m:e-i64:64-n32");
167+
EXPECT_EQ(UpgradeDataLayoutString("E-m:e-Fn32-i64:64-n32", "powerpc-linux"),
168+
"E-m:e-Fn32-i64:64-n32");
169+
EXPECT_EQ(UpgradeDataLayoutString("E-m:a-Fi64-i64:64-n32", "powerpc-aix"),
170+
"E-m:a-Fi64-i64:64-n32");
156171
}
157172

158173
TEST(DataLayoutUpgradeTest, EmptyDataLayout) {

0 commit comments

Comments
 (0)