[PATCH] D145894: [IndVars] Option verify-indvars is broken (and always has been), delete it
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 14 03:40:27 PDT 2023
This revision was automatically updated to reflect the committed changes.
Closed by commit rG47021bda646a: [IndVars] Option verify-indvars is broken (and always has been), delete it (authored by mkazantsev).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145894/new/
https://reviews.llvm.org/D145894
Files:
llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Index: llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
===================================================================
--- llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -93,15 +93,6 @@
STATISTIC(NumElimExt , "Number of IV sign/zero extends eliminated");
STATISTIC(NumElimIV , "Number of congruent IVs eliminated");
-// Trip count verification can be enabled by default under NDEBUG if we
-// implement a strong expression equivalence checker in SCEV. Until then, we
-// use the verify-indvars flag, which may assert in some cases.
-static cl::opt<bool> VerifyIndvars(
- "verify-indvars", cl::Hidden,
- cl::desc("Verify the ScalarEvolution result after running indvars. Has no "
- "effect in release builds. (Note: this adds additional SCEV "
- "queries potentially changing the analysis result)"));
-
static cl::opt<ReplaceExitVal> ReplaceExitValue(
"replexitval", cl::Hidden, cl::init(OnlyCheapRepl),
cl::desc("Choose the strategy to replace exit value in IndVarSimplify"),
@@ -2023,16 +2014,6 @@
if (!L->isLoopSimplifyForm())
return false;
-#ifndef NDEBUG
- // Used below for a consistency check only
- // Note: Since the result returned by ScalarEvolution may depend on the order
- // in which previous results are added to its cache, the call to
- // getBackedgeTakenCount() may change following SCEV queries.
- const SCEV *BackedgeTakenCount;
- if (VerifyIndvars)
- BackedgeTakenCount = SE->getBackedgeTakenCount(L);
-#endif
-
bool Changed = false;
// If there are any floating-point recurrences, attempt to
// transform them to use integer recurrences.
@@ -2178,27 +2159,10 @@
// Clean up dead instructions.
Changed |= DeleteDeadPHIs(L->getHeader(), TLI, MSSAU.get());
+#ifndef NDEBUG
// Check a post-condition.
assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
"Indvars did not preserve LCSSA!");
-
- // Verify that LFTR, and any other change have not interfered with SCEV's
- // ability to compute trip count. We may have *changed* the exit count, but
- // only by reducing it.
-#ifndef NDEBUG
- if (VerifyIndvars && !isa<SCEVCouldNotCompute>(BackedgeTakenCount)) {
- SE->forgetLoop(L);
- const SCEV *NewBECount = SE->getBackedgeTakenCount(L);
- if (SE->getTypeSizeInBits(BackedgeTakenCount->getType()) <
- SE->getTypeSizeInBits(NewBECount->getType()))
- NewBECount = SE->getTruncateOrNoop(NewBECount,
- BackedgeTakenCount->getType());
- else
- BackedgeTakenCount = SE->getTruncateOrNoop(BackedgeTakenCount,
- NewBECount->getType());
- assert(!SE->isKnownPredicate(ICmpInst::ICMP_ULT, BackedgeTakenCount,
- NewBECount) && "indvars must preserve SCEV");
- }
if (VerifyMemorySSA && MSSAU)
MSSAU->getMemorySSA()->verifyMemorySSA();
#endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145894.505012.patch
Type: text/x-patch
Size: 2968 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230314/267d1a9d/attachment.bin>
More information about the llvm-commits
mailing list