@@ -222,12 +222,11 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
222222 // Collect the known bits that are shared by every demanded vector element.
223223 Known.Zero .setAllBits ();
224224 Known.One .setAllBits ();
225- for (unsigned I = 0 , E = MI.getNumOperands () - 1 ; I < E; ++I ) {
225+ for (const auto &[I, MO] : enumerate( drop_begin ( MI.operands ())) ) {
226226 if (!DemandedElts[I])
227227 continue ;
228228
229- computeKnownBitsImpl (MI.getOperand (I + 1 ).getReg (), Known2, APInt (1 , 1 ),
230- Depth + 1 );
229+ computeKnownBitsImpl (MO.getReg (), Known2, APInt (1 , 1 ), Depth + 1 );
231230
232231 // Known bits are the values that are shared by every demanded element.
233232 Known = Known.intersectWith (Known2);
@@ -683,14 +682,12 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
683682 Known.One .setAllBits ();
684683 unsigned NumSubVectorElts =
685684 MRI.getType (MI.getOperand (1 ).getReg ()).getNumElements ();
686- unsigned NumSubVectors = MI.getNumOperands () - 1 ;
687685
688- for (unsigned I = 0 ; I != NumSubVectors; ++I ) {
686+ for (const auto &[I, MO] : enumerate( drop_begin (MI. operands ())) ) {
689687 APInt DemandedSub =
690688 DemandedElts.extractBits (NumSubVectorElts, I * NumSubVectorElts);
691689 if (!!DemandedSub) {
692- computeKnownBitsImpl (MI.getOperand (I + 1 ).getReg (), Known2, DemandedSub,
693- Depth + 1 );
690+ computeKnownBitsImpl (MO.getReg (), Known2, DemandedSub, Depth + 1 );
694691
695692 Known = Known.intersectWith (Known2);
696693 }
@@ -1944,12 +1941,12 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
19441941 // Collect the known bits that are shared by every demanded vector element.
19451942 FirstAnswer = TyBits;
19461943 APInt SingleDemandedElt (1 , 1 );
1947- for (unsigned I = 0 , E = MI.getNumOperands () - 1 ; I < E; ++I ) {
1944+ for (const auto &[I, MO] : enumerate( drop_begin ( MI.operands ())) ) {
19481945 if (!DemandedElts[I])
19491946 continue ;
19501947
1951- unsigned Tmp2 = computeNumSignBits (MI. getOperand (I + 1 ). getReg (),
1952- SingleDemandedElt, Depth + 1 );
1948+ unsigned Tmp2 =
1949+ computeNumSignBits (MO. getReg (), SingleDemandedElt, Depth + 1 );
19531950 FirstAnswer = std::min (FirstAnswer, Tmp2);
19541951
19551952 // If we don't know any bits, early out.
@@ -1966,14 +1963,12 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
19661963 // elts of the input vectors. Early out if the result is already 1.
19671964 unsigned NumSubVectorElts =
19681965 MRI.getType (MI.getOperand (1 ).getReg ()).getNumElements ();
1969- unsigned NumSubVectors = MI.getNumOperands () - 1 ;
1970- for (unsigned I = 0 ; I < NumSubVectors; ++I) {
1966+ for (const auto &[I, MO] : enumerate(drop_begin (MI.operands ()))) {
19711967 APInt DemandedSub =
19721968 DemandedElts.extractBits (NumSubVectorElts, I * NumSubVectorElts);
19731969 if (!DemandedSub)
19741970 continue ;
1975- unsigned Tmp2 = computeNumSignBits (MI.getOperand (I + 1 ).getReg (),
1976- DemandedSub, Depth + 1 );
1971+ unsigned Tmp2 = computeNumSignBits (MO.getReg (), DemandedSub, Depth + 1 );
19771972
19781973 FirstAnswer = std::min (FirstAnswer, Tmp2);
19791974
0 commit comments