Skip to content

Commit 078976c

Browse files
committed
Address review comments
1 parent 88cbf67 commit 078976c

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,13 +1961,13 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
19611961
case TargetOpcode::G_CONCAT_VECTORS: {
19621962
if (MRI.getType(MI.getOperand(0).getReg()).isScalableVector())
19631963
break;
1964-
FirstAnswer = std::numeric_limits<unsigned>::max();
1964+
FirstAnswer = TyBits;
19651965
// Determine the minimum number of sign bits across all demanded
19661966
// elts of the input vectors. Early out if the result is already 1.
19671967
unsigned NumSubVectorElts =
19681968
MRI.getType(MI.getOperand(1).getReg()).getNumElements();
19691969
unsigned NumSubVectors = MI.getNumOperands() - 1;
1970-
for (unsigned i = 0; (i < NumSubVectors); ++i) {
1970+
for (unsigned i = 0; i < NumSubVectors; ++i) {
19711971
APInt DemandedSub =
19721972
DemandedElts.extractBits(NumSubVectorElts, i * NumSubVectorElts);
19731973
if (!DemandedSub)
@@ -1976,6 +1976,10 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
19761976
DemandedSub, Depth + 1);
19771977

19781978
FirstAnswer = std::min(FirstAnswer, Tmp2);
1979+
1980+
// If we don't know any bits, early out.
1981+
if (FirstAnswer == 1)
1982+
break;
19791983
}
19801984
break;
19811985
}

0 commit comments

Comments
 (0)