diff options
author | Craig Topper <craig.topper@sifive.com> | 2022-01-03 10:07:37 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2022-01-03 10:08:14 -0800 |
commit | 14849fe55432110cfdcfed225f6ffda919da10f4 (patch) | |
tree | 0860446bfc85347eda11e1168df9b8c42bced280 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp | |
parent | 9bd22595bad36cd19f5e7ae18ccd9f41cba29dc5 (diff) | |
download | llvm-14849fe55432110cfdcfed225f6ffda919da10f4.zip llvm-14849fe55432110cfdcfed225f6ffda919da10f4.tar.gz llvm-14849fe55432110cfdcfed225f6ffda919da10f4.tar.bz2 |
[SimplifyCFG] Make use of ComputeMinSignedBits and KnownBits::getBitWidth. NFC
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 1046998..02bd0bd 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -4935,14 +4935,12 @@ static bool eliminateDeadSwitchCases(SwitchInst *SI, DomTreeUpdater *DTU, AssumptionCache *AC, const DataLayout &DL) { Value *Cond = SI->getCondition(); - unsigned Bits = Cond->getType()->getIntegerBitWidth(); KnownBits Known = computeKnownBits(Cond, DL, 0, AC, SI); // We can also eliminate cases by determining that their values are outside of // the limited range of the condition based on how many significant (non-sign) // bits are in the condition value. - unsigned ExtraSignBits = ComputeNumSignBits(Cond, DL, 0, AC, SI) - 1; - unsigned MaxSignificantBitsInCond = Bits - ExtraSignBits; + unsigned MaxSignificantBitsInCond = ComputeMinSignedBits(Cond, DL, 0, AC, SI); // Gather dead cases. SmallVector<ConstantInt *, 8> DeadCases; @@ -4973,8 +4971,8 @@ static bool eliminateDeadSwitchCases(SwitchInst *SI, DomTreeUpdater *DTU, bool HasDefault = !isa<UnreachableInst>(SI->getDefaultDest()->getFirstNonPHIOrDbg()); const unsigned NumUnknownBits = - Bits - (Known.Zero | Known.One).countPopulation(); - assert(NumUnknownBits <= Bits); + Known.getBitWidth() - (Known.Zero | Known.One).countPopulation(); + assert(NumUnknownBits <= Known.getBitWidth()); if (HasDefault && DeadCases.empty() && NumUnknownBits < 64 /* avoid overflow */ && SI->getNumCases() == (1ULL << NumUnknownBits)) { |