[clang] [llvm] [DirectX] Set DXIL Version using shader model version in compilation target profile (PR #89823)

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 26 10:27:16 PDT 2024


================
@@ -1171,18 +1181,27 @@ TEST(TripleTest, Normalization) {
                           Triple::getOSTypeName(FirstOSType),
                           Triple::getEnvironmentTypeName(FirstEnvType)};
   for (int Arch = FirstArchType; Arch <= Triple::LastArchType; ++Arch) {
-    StringRef C[] = {InitialC[0], InitialC[1], InitialC[2], InitialC[3]};
-    C[0] = Triple::getArchTypeName(Triple::ArchType(Arch));
-    std::string E = Join(C[0], C[1], C[2]);
-    int I[] = {0, 1, 2};
-    do {
-      EXPECT_EQ(E, Triple::normalize(Join(C[I[0]], C[I[1]], C[I[2]])));
-    } while (std::next_permutation(std::begin(I), std::end(I)));
-    std::string F = Join(C[0], C[1], C[2], C[3]);
-    int J[] = {0, 1, 2, 3};
-    do {
-      EXPECT_EQ(F, Triple::normalize(Join(C[J[0]], C[J[1]], C[J[2]], C[J[3]])));
-    } while (std::next_permutation(std::begin(J), std::end(J)));
+    // Valid DXIL ArchTypes are changed to include version number as SubArch
+    // type.
+
+    // Exclude testing DXIL Arch since arch type name for Triple::dxil depends
+    // on SubArch and is no longer "dxil". Instead, normalization tests for
+    // Triple::dxil are added at an earlier location in this test function.
+    if (Arch != Triple::dxil) {
----------------
bogner wrote:

This is more evidence that treating DXIL specially here is problematic.

https://github.com/llvm/llvm-project/pull/89823


More information about the llvm-commits mailing list