@@ -222,12 +222,11 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
222
222
// Collect the known bits that are shared by every demanded vector element.
223
223
Known.Zero .setAllBits ();
224
224
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 ())) ) {
226
226
if (!DemandedElts[I])
227
227
continue ;
228
228
229
- computeKnownBitsImpl (MI.getOperand (I + 1 ).getReg (), Known2, APInt (1 , 1 ),
230
- Depth + 1 );
229
+ computeKnownBitsImpl (MO.getReg (), Known2, APInt (1 , 1 ), Depth + 1 );
231
230
232
231
// Known bits are the values that are shared by every demanded element.
233
232
Known = Known.intersectWith (Known2);
@@ -683,14 +682,12 @@ void GISelValueTracking::computeKnownBitsImpl(Register R, KnownBits &Known,
683
682
Known.One .setAllBits ();
684
683
unsigned NumSubVectorElts =
685
684
MRI.getType (MI.getOperand (1 ).getReg ()).getNumElements ();
686
- unsigned NumSubVectors = MI.getNumOperands () - 1 ;
687
685
688
- for (unsigned I = 0 ; I != NumSubVectors; ++I ) {
686
+ for (const auto &[I, MO] : enumerate( drop_begin (MI. operands ())) ) {
689
687
APInt DemandedSub =
690
688
DemandedElts.extractBits (NumSubVectorElts, I * NumSubVectorElts);
691
689
if (!!DemandedSub) {
692
- computeKnownBitsImpl (MI.getOperand (I + 1 ).getReg (), Known2, DemandedSub,
693
- Depth + 1 );
690
+ computeKnownBitsImpl (MO.getReg (), Known2, DemandedSub, Depth + 1 );
694
691
695
692
Known = Known.intersectWith (Known2);
696
693
}
@@ -1944,12 +1941,12 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
1944
1941
// Collect the known bits that are shared by every demanded vector element.
1945
1942
FirstAnswer = TyBits;
1946
1943
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 ())) ) {
1948
1945
if (!DemandedElts[I])
1949
1946
continue ;
1950
1947
1951
- unsigned Tmp2 = computeNumSignBits (MI. getOperand (I + 1 ). getReg (),
1952
- SingleDemandedElt, Depth + 1 );
1948
+ unsigned Tmp2 =
1949
+ computeNumSignBits (MO. getReg (), SingleDemandedElt, Depth + 1 );
1953
1950
FirstAnswer = std::min (FirstAnswer, Tmp2);
1954
1951
1955
1952
// If we don't know any bits, early out.
@@ -1966,14 +1963,12 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
1966
1963
// elts of the input vectors. Early out if the result is already 1.
1967
1964
unsigned NumSubVectorElts =
1968
1965
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 ()))) {
1971
1967
APInt DemandedSub =
1972
1968
DemandedElts.extractBits (NumSubVectorElts, I * NumSubVectorElts);
1973
1969
if (!DemandedSub)
1974
1970
continue ;
1975
- unsigned Tmp2 = computeNumSignBits (MI.getOperand (I + 1 ).getReg (),
1976
- DemandedSub, Depth + 1 );
1971
+ unsigned Tmp2 = computeNumSignBits (MO.getReg (), DemandedSub, Depth + 1 );
1977
1972
1978
1973
FirstAnswer = std::min (FirstAnswer, Tmp2);
1979
1974
0 commit comments