[llvm] Draft (PR #182284)
Connector Switch via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 19 06:04:52 PST 2026
https://github.com/c8ef created https://github.com/llvm/llvm-project/pull/182284
None
>From 19ce5610cdd344a329400806c9f7b3a2bd1cb294 Mon Sep 17 00:00:00 2001
From: c8ef <c8ef at outlook.com>
Date: Thu, 19 Feb 2026 22:03:33 +0800
Subject: [PATCH] gisel rem
---
.../CodeGen/GlobalISel/GISelValueTracking.cpp | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp b/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
index d39ea2bfa1a0c..cf00739eeaf4a 100644
--- a/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
@@ -386,6 +386,22 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
MI.getFlag(MachineInstr::MIFlag::IsExact));
break;
}
+ case TargetOpcode::G_UREM: {
+ computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts,
+ Depth + 1);
+ computeKnownBitsImpl(MI.getOperand(2).getReg(), Known2, DemandedElts,
+ Depth + 1);
+ Known = KnownBits::urem(Known, Known2);
+ break;
+ }
+ case TargetOpcode::G_SREM: {
+ computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts,
+ Depth + 1);
+ computeKnownBitsImpl(MI.getOperand(2).getReg(), Known2, DemandedElts,
+ Depth + 1);
+ Known = KnownBits::srem(Known, Known2);
+ break;
+ }
case TargetOpcode::G_SELECT: {
computeKnownBitsMin(MI.getOperand(2).getReg(), MI.getOperand(3).getReg(),
Known, DemandedElts, Depth + 1);
More information about the llvm-commits
mailing list