[llvm] [MIR2Vec] Fixing non x86 unittest failures (PR #162381)

S. VenkataKeerthy via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 7 15:19:28 PDT 2025


https://github.com/svkeerthy updated https://github.com/llvm/llvm-project/pull/162381

>From 052117b96c3ed70396f7417d4034d91f88822308 Mon Sep 17 00:00:00 2001
From: svkeerthy <venkatakeerthy at google.com>
Date: Tue, 7 Oct 2025 21:51:26 +0000
Subject: [PATCH 1/2] Fixing non x86 test failures

---
 llvm/unittests/CodeGen/MIR2VecTest.cpp | 37 +++++++++++++++-----------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/llvm/unittests/CodeGen/MIR2VecTest.cpp b/llvm/unittests/CodeGen/MIR2VecTest.cpp
index 01f2eadbf4068..56220cbbeb767 100644
--- a/llvm/unittests/CodeGen/MIR2VecTest.cpp
+++ b/llvm/unittests/CodeGen/MIR2VecTest.cpp
@@ -54,27 +54,31 @@ class MIR2VecVocabTestFixture : public ::testing::Test {
   std::unique_ptr<TargetMachine> TM;
   const TargetInstrInfo *TII;
 
+  static void SetUpTestCase() {
+    InitializeAllTargets();
+    InitializeAllTargetMCs();
+  }
+
   void SetUp() override {
-    LLVMInitializeX86TargetInfo();
-    LLVMInitializeX86Target();
-    LLVMInitializeX86TargetMC();
+    Triple TargetTriple("x86_64-unknown-linux-gnu");
+    std::string Error;
+    const Target *T = TargetRegistry::lookupTarget("", TargetTriple, Error);
+    if (!T) {
+      GTEST_SKIP();
+      return;
+    }
 
     Ctx = std::make_unique<LLVMContext>();
     M = std::make_unique<Module>("test", *Ctx);
-
-    // Set up X86 target
-    Triple TargetTriple("x86_64-unknown-linux-gnu");
     M->setTargetTriple(TargetTriple);
 
-    std::string Error;
-    const Target *TheTarget =
-        TargetRegistry::lookupTarget(M->getTargetTriple(), Error);
-    ASSERT_TRUE(TheTarget) << "Failed to lookup target: " << Error;
-
     TargetOptions Options;
-    TM = std::unique_ptr<TargetMachine>(TheTarget->createTargetMachine(
-        M->getTargetTriple(), "", "", Options, Reloc::Model::Static));
-    ASSERT_TRUE(TM);
+    TM = std::unique_ptr<TargetMachine>(
+        T->createTargetMachine(TargetTriple, "", "", Options, std::nullopt));
+    if (!TM) {
+      GTEST_SKIP();
+      return;
+    }
 
     // Create a dummy function to get subtarget info
     FunctionType *FT = FunctionType::get(Type::getVoidTy(*Ctx), false);
@@ -83,7 +87,10 @@ class MIR2VecVocabTestFixture : public ::testing::Test {
 
     // Get the target instruction info
     TII = TM->getSubtargetImpl(*F)->getInstrInfo();
-    ASSERT_TRUE(TII);
+    if (!TII) {
+      GTEST_SKIP();
+      return;
+    }
   }
 };
 

>From 588103ee2861fedb165c493040779b7f15583f16 Mon Sep 17 00:00:00 2001
From: svkeerthy <venkatakeerthy at google.com>
Date: Tue, 7 Oct 2025 22:19:15 +0000
Subject: [PATCH 2/2] Adding reasons

---
 llvm/unittests/CodeGen/MIR2VecTest.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/llvm/unittests/CodeGen/MIR2VecTest.cpp b/llvm/unittests/CodeGen/MIR2VecTest.cpp
index 56220cbbeb767..8e3154faac8b6 100644
--- a/llvm/unittests/CodeGen/MIR2VecTest.cpp
+++ b/llvm/unittests/CodeGen/MIR2VecTest.cpp
@@ -64,7 +64,8 @@ class MIR2VecVocabTestFixture : public ::testing::Test {
     std::string Error;
     const Target *T = TargetRegistry::lookupTarget("", TargetTriple, Error);
     if (!T) {
-      GTEST_SKIP();
+      GTEST_SKIP() << "x86_64-unknown-linux-gnu target triple not available; "
+                      "Skipping test";
       return;
     }
 
@@ -76,7 +77,7 @@ class MIR2VecVocabTestFixture : public ::testing::Test {
     TM = std::unique_ptr<TargetMachine>(
         T->createTargetMachine(TargetTriple, "", "", Options, std::nullopt));
     if (!TM) {
-      GTEST_SKIP();
+      GTEST_SKIP() << "Failed to create X86 target machine; Skipping test";
       return;
     }
 
@@ -88,7 +89,7 @@ class MIR2VecVocabTestFixture : public ::testing::Test {
     // Get the target instruction info
     TII = TM->getSubtargetImpl(*F)->getInstrInfo();
     if (!TII) {
-      GTEST_SKIP();
+      GTEST_SKIP() << "Failed to get target instruction info; Skipping test";
       return;
     }
   }



More information about the llvm-commits mailing list