[llvm] [GlobalIsel] Do not run getKnownBits if it is an exact udiv (NFC) (PR #99560)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 18 13:30:24 PDT 2024


https://github.com/AtariDreams created https://github.com/llvm/llvm-project/pull/99560

This should be better for compile times.

>From 27934bf41c5b7bc91e0caaa8d7eefef3472e41c7 Mon Sep 17 00:00:00 2001
From: Rose <gfunni234 at gmail.com>
Date: Thu, 18 Jul 2024 16:30:06 -0400
Subject: [PATCH] [GlobalIsel] Do not run getKnownBits if it is an exact udiv
 (NFC)

This should be better for compile times.
---
 llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
index dfc3d73e322b8..a510f40decb84 100644
--- a/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
@@ -5180,7 +5180,9 @@ MachineInstr *CombinerHelper::buildUDivUsingMul(MachineInstr &MI) {
   LLT ScalarShiftAmtTy = ShiftAmtTy.getScalarType();
 
   unsigned KnownLeadingZeros =
-      KB ? KB->getKnownBits(LHS).countMinLeadingZeros() : 0;
+      (!MI.getFlag(MachineInstr::MIFlag::IsExact) && KB)
+          ? KB->getKnownBits(LHS).countMinLeadingZeros()
+          : 0;
   auto &MIB = Builder;
 
   bool UseSRL = false;



More information about the llvm-commits mailing list