[llvm] [GlobalISel] Synchronize GISelValueTrackingAnalysis behavior across Legacy and New PM paths (PR #207013)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 06:36:10 PDT 2026


================
@@ -2150,3 +2152,25 @@ TEST_F(AArch64GISelMITest, TestKnownBitsUADDO) {
   EXPECT_EQ(0u, Res.One.getZExtValue());
   EXPECT_EQ(31u, Res.Zero.countl_one());
 }
+
+TEST_F(AArch64GISelMITest, TestSameOptLevelHasSameDepthAcrossPassManagers) {
+  setUp();
+  if (!TM)
+    GTEST_SKIP();
+
+  for (auto OptLevel :
+       {CodeGenOptLevel::None, CodeGenOptLevel::Less, CodeGenOptLevel::Default,
+        CodeGenOptLevel::Aggressive}) {
+    TM->setOptLevel(OptLevel);
+
+    GISelValueTrackingAnalysisLegacy LegacyAnalysis;
+    GISelValueTracking LegacyValueTracking = LegacyAnalysis.get(*MF);
+
+    MachineFunctionAnalysisManager MFAM;
+    GISelValueTrackingAnalysis Analysis;
+    GISelValueTracking ValueTracking = Analysis.run(*MF, MFAM);
+
+    EXPECT_EQ(LegacyValueTracking.getMaxDepth(), ValueTracking.getMaxDepth())
+        << static_cast<int>(OptLevel);
+  }
+}
----------------
daemonpilot wrote:

Thanks, refined.

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


More information about the llvm-commits mailing list