Skip to content

[GISel][NFC] Use ranged-for/enumerate in a few places.#143185

Merged
nvjle merged 1 commit into
llvm:mainfrom
nvjle:jle-givaluetrack-rangedfor
Jun 7, 2025
Merged

[GISel][NFC] Use ranged-for/enumerate in a few places.#143185
nvjle merged 1 commit into
llvm:mainfrom
nvjle:jle-givaluetrack-rangedfor

Conversation

@nvjle

@nvjle nvjle commented Jun 6, 2025

Copy link
Copy Markdown
Contributor

Follow-up to #143113.

@nvjle nvjle marked this pull request as ready for review June 6, 2025 19:18
@llvmbot

llvmbot commented Jun 6, 2025

Copy link
Copy Markdown
Member

@llvm/pr-subscribers-llvm-globalisel

Author: Jason Eckhardt (nvjle)

Changes

Follow-up to #143113.


Full diff: https://github.com/llvm/llvm-project/pull/143185.diff

1 Files Affected:

  • (modified) llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp (+9-14)
diff --git a/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp b/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
index 135e1d2163e23..6650ad25bed04 100644
--- a/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
@@ -222,12 +222,11 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
     // Collect the known bits that are shared by every demanded vector element.
     Known.Zero.setAllBits();
     Known.One.setAllBits();
-    for (unsigned I = 0, E = MI.getNumOperands() - 1; I < E; ++I) {
+    for (const auto &[I, MO] : enumerate(drop_begin(MI.operands()))) {
       if (!DemandedElts[I])
         continue;
 
-      computeKnownBitsImpl(MI.getOperand(I + 1).getReg(), Known2, APInt(1, 1),
-                           Depth + 1);
+      computeKnownBitsImpl(MO.getReg(), Known2, APInt(1, 1), Depth + 1);
 
       // Known bits are the values that are shared by every demanded element.
       Known = Known.intersectWith(Known2);
@@ -683,14 +682,12 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
     Known.One.setAllBits();
     unsigned NumSubVectorElts =
         MRI.getType(MI.getOperand(1).getReg()).getNumElements();
-    unsigned NumSubVectors = MI.getNumOperands() - 1;
 
-    for (unsigned I = 0; I != NumSubVectors; ++I) {
+    for (const auto &[I, MO] : enumerate(drop_begin(MI.operands()))) {
       APInt DemandedSub =
           DemandedElts.extractBits(NumSubVectorElts, I * NumSubVectorElts);
       if (!!DemandedSub) {
-        computeKnownBitsImpl(MI.getOperand(I + 1).getReg(), Known2, DemandedSub,
-                             Depth + 1);
+        computeKnownBitsImpl(MO.getReg(), Known2, DemandedSub, Depth + 1);
 
         Known = Known.intersectWith(Known2);
       }
@@ -1944,12 +1941,12 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
     // Collect the known bits that are shared by every demanded vector element.
     FirstAnswer = TyBits;
     APInt SingleDemandedElt(1, 1);
-    for (unsigned I = 0, E = MI.getNumOperands() - 1; I < E; ++I) {
+    for (const auto &[I, MO] : enumerate(drop_begin(MI.operands()))) {
       if (!DemandedElts[I])
         continue;
 
-      unsigned Tmp2 = computeNumSignBits(MI.getOperand(I + 1).getReg(),
-                                         SingleDemandedElt, Depth + 1);
+      unsigned Tmp2 =
+          computeNumSignBits(MO.getReg(), SingleDemandedElt, Depth + 1);
       FirstAnswer = std::min(FirstAnswer, Tmp2);
 
       // If we don't know any bits, early out.
@@ -1966,14 +1963,12 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
     // elts of the input vectors. Early out if the result is already 1.
     unsigned NumSubVectorElts =
         MRI.getType(MI.getOperand(1).getReg()).getNumElements();
-    unsigned NumSubVectors = MI.getNumOperands() - 1;
-    for (unsigned I = 0; I < NumSubVectors; ++I) {
+    for (const auto &[I, MO] : enumerate(drop_begin(MI.operands()))) {
       APInt DemandedSub =
           DemandedElts.extractBits(NumSubVectorElts, I * NumSubVectorElts);
       if (!DemandedSub)
         continue;
-      unsigned Tmp2 = computeNumSignBits(MI.getOperand(I + 1).getReg(),
-                                         DemandedSub, Depth + 1);
+      unsigned Tmp2 = computeNumSignBits(MO.getReg(), DemandedSub, Depth + 1);
 
       FirstAnswer = std::min(FirstAnswer, Tmp2);
 

@nvjle nvjle merged commit bf53a49 into llvm:main Jun 7, 2025
11 checks passed
tomtor pushed a commit to tomtor/llvm-project that referenced this pull request Jun 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants