diff --git a/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp b/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
index a36cb41a63dfb..8de61bb102326 100644
--- a/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
+++ b/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
@@ -430,11 +430,10 @@ class HTMLLogger : public Logger {
AST.getSourceManager(), AST.getLangOpts());
if (EltRange.isInvalid())
continue;
- if (EltRange.getBegin() < Range.getBegin() ||
- EltRange.getEnd() >= Range.getEnd() ||
- EltRange.getEnd() < Range.getBegin() ||
- EltRange.getEnd() >= Range.getEnd())
+ if (EltRange.getEnd() < Range.getBegin() ||
+ EltRange.getBegin() >= Range.getEnd())
continue;
+
unsigned Off = EltRange.getBegin().getRawEncoding() -
Range.getBegin().getRawEncoding();
unsigned Len = EltRange.getEnd().getRawEncoding() -
diff --git a/clang/lib/Sema/SemaCast.cpp b/clang/lib/Sema/SemaCast.cpp
index eca8363ee9605..18de4f6007d87 100644
--- a/clang/lib/Sema/SemaCast.cpp
+++ b/clang/lib/Sema/SemaCast.cpp
@@ -2945,8 +2945,7 @@ void CastOperation::CheckCStyleCast() {
if (Self.getASTContext().isDependenceAllowed() &&
(DestType->isDependentType() || SrcExpr.get()->isTypeDependent() ||
SrcExpr.get()->isValueDependent())) {
- assert((DestType->containsErrors() || SrcExpr.get()->containsErrors() ||
- SrcExpr.get()->containsErrors()) &&
+ assert((DestType->containsErrors() || SrcExpr.get()->containsErrors()) &&
"should only occur in error-recovery path.");
assert(Kind == CK_Dependent);
return;
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 9c80b3eec914c..1d378e6b830ae 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -23087,8 +23087,7 @@ OMPClause *SemaOpenMP::ActOnOpenMPDoacrossClause(
if (DSAStack->getCurrentDirective() == OMPD_ordered &&
DepType != OMPC_DOACROSS_source && DepType != OMPC_DOACROSS_sink &&
DepType != OMPC_DOACROSS_sink_omp_cur_iteration &&
- DepType != OMPC_DOACROSS_source_omp_cur_iteration &&
- DepType != OMPC_DOACROSS_source) {
+ DepType != OMPC_DOACROSS_source_omp_cur_iteration) {
Diag(DepLoc, diag::err_omp_unexpected_clause_value)
<< "'source' or 'sink'" << getOpenMPClauseName(OMPC_doacross);
return nullptr;
diff --git a/llvm/lib/Transforms/Scalar/JumpThreading.cpp b/llvm/lib/Transforms/Scalar/JumpThreading.cpp
index 7a0b661a07799..25d092739e4b0 100644
--- a/llvm/lib/Transforms/Scalar/JumpThreading.cpp
+++ b/llvm/lib/Transforms/Scalar/JumpThreading.cpp
@@ -2380,7 +2380,10 @@ void JumpThreadingPass::threadEdge(BasicBlock *BB,
// Build BPI/BFI before any changes are made to IR.
bool HasProfile = doesBlockHaveProfileData(BB);
auto *BFI = getOrCreateBFI(HasProfile);
- auto *BPI = getOrCreateBPI(BFI != nullptr);
+ BranchProbabilityInfo *BPI = nullptr;
+ if (BFI) {
+ BPI = getOrCreateBPI(true);
+ }
// And finally, do it! Start by factoring the predecessors if needed.
BasicBlock *PredBB;
@@ -2520,7 +2523,7 @@ void JumpThreadingPass::updateBlockFreqAndEdgeWeight(BasicBlock *PredBB,
BlockFrequencyInfo *BFI,
BranchProbabilityInfo *BPI,
bool HasProfile) {
- assert(((BFI && BPI) || (!BFI && !BFI)) &&
+ assert(((BFI && BPI) || (!BFI && !BPI)) &&
"Both BFI & BPI should either be set or unset");
if (!BFI) {
diff --git a/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp b/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
index 6e633739fcc3d..2868e0130f8b6 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
+++ b/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
@@ -412,7 +412,7 @@ void PlainCFGBuilder::buildPlainCFG() {
: static_cast(Successor));
continue;
}
- assert(BI->isConditional() && NumSuccs == 2 && BI->isConditional() &&
+ assert(BI->isConditional() && NumSuccs == 2 &&
"block must have conditional branch with 2 successors");
// Look up the branch condition to get the corresponding VPValue
// representing the condition bit in VPlan (which may be in another VPBB).
diff --git a/mlir/lib/Analysis/Presburger/Simplex.cpp b/mlir/lib/Analysis/Presburger/Simplex.cpp
index 7c8a019557132..254904d69f75a 100644
--- a/mlir/lib/Analysis/Presburger/Simplex.cpp
+++ b/mlir/lib/Analysis/Presburger/Simplex.cpp
@@ -107,7 +107,6 @@ Simplex::Unknown &SimplexBase::unknownFromRow(unsigned row) {
unsigned SimplexBase::addZeroRow(bool makeRestricted) {
// Resize the tableau to accommodate the extra row.
unsigned newRow = tableau.appendExtraRow();
- assert(getNumRows() == getNumRows() && "Inconsistent tableau size");
rowUnknown.emplace_back(~con.size());
con.emplace_back(Orientation::Row, makeRestricted, newRow);
undoLog.emplace_back(UndoLogEntry::RemoveLastConstraint);
diff --git a/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp b/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
index 6420c192b257d..4b9f026832044 100644
--- a/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
+++ b/mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
@@ -778,11 +778,11 @@ FailureOr
ValueBoundsConstraintSet::areOverlappingSlices(MLIRContext *ctx,
HyperrectangularSlice slice1,
HyperrectangularSlice slice2) {
- assert(slice1.getMixedOffsets().size() == slice1.getMixedOffsets().size() &&
+ assert(slice1.getMixedOffsets().size() == slice2.getMixedOffsets().size() &&
"expected slices of same rank");
- assert(slice1.getMixedSizes().size() == slice1.getMixedSizes().size() &&
+ assert(slice1.getMixedSizes().size() == slice2.getMixedSizes().size() &&
"expected slices of same rank");
- assert(slice1.getMixedStrides().size() == slice1.getMixedStrides().size() &&
+ assert(slice1.getMixedStrides().size() == slice2.getMixedStrides().size() &&
"expected slices of same rank");
Builder b(ctx);
@@ -843,11 +843,11 @@ FailureOr
ValueBoundsConstraintSet::areEquivalentSlices(MLIRContext *ctx,
HyperrectangularSlice slice1,
HyperrectangularSlice slice2) {
- assert(slice1.getMixedOffsets().size() == slice1.getMixedOffsets().size() &&
+ assert(slice1.getMixedOffsets().size() == slice2.getMixedOffsets().size() &&
"expected slices of same rank");
- assert(slice1.getMixedSizes().size() == slice1.getMixedSizes().size() &&
+ assert(slice1.getMixedSizes().size() == slice2.getMixedSizes().size() &&
"expected slices of same rank");
- assert(slice1.getMixedStrides().size() == slice1.getMixedStrides().size() &&
+ assert(slice1.getMixedStrides().size() == slice2.getMixedStrides().size() &&
"expected slices of same rank");
// The two slices are equivalent if all of their offsets, sizes and strides