[SCEV] Fix ScalarEvolution tests under NPM
authorArthur Eubanks <aeubanks@google.com>
Thu, 16 Jul 2020 18:09:47 +0000 (11:09 -0700)
committerArthur Eubanks <aeubanks@google.com>
Thu, 16 Jul 2020 18:24:07 +0000 (11:24 -0700)
commit9adbb5cb3a56f77bc3739da10cacafca36d5bedf
treea53c6824f5d04a769ab353462ba21b07c19242f1
parentf7868f87accb1941bced3b8ff2debc8d56d53c3e
[SCEV] Fix ScalarEvolution tests under NPM

Many tests use opt's -analyze feature, which does not translate well to
NPM and has better alternatives. The alternative here is to explicitly
add a pass that calls ScalarEvolution::print().

The legacy pass manager RUNs aren't changing, but they are now pinned to
the legacy pass manager.  For each legacy pass manager RUN, I added a
corresponding NPM RUN using the 'print<scalar-evolution>' pass. For
compatibility with update_analyze_test_checks.py and existing test
CHECKs, 'print<scalar-evolution>' now prints what -analyze prints per
function.

This was generated by the following Python script and failures were
manually fixed up:

import sys
for i in sys.argv:
    with open(i, 'r') as f:
        s = f.read()
    with open(i, 'w') as f:
        for l in s.splitlines():
            if "RUN:" in l and ' -analyze ' in l and '\\' not in l:
                f.write(l.replace(' -analyze ', ' -analyze -enable-new-pm=0 '))
                f.write('\n')
                f.write(l.replace(' -analyze ', ' -disable-output ').replace(' -scalar-evolution ', ' "-passes=print<scalar-evolution>" ').replace(" | ", " 2>&1 | "))
                f.write('\n')
            else:
                f.write(l)

There are a couple failures still in ScalarEvolution under NPM, but
those are due to other unrelated naming conflicts.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D83798
154 files changed:
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/2007-07-15-NegativeStride.ll
llvm/test/Analysis/ScalarEvolution/2007-08-06-Unsigned.ll
llvm/test/Analysis/ScalarEvolution/2007-09-27-LargeStepping.ll
llvm/test/Analysis/ScalarEvolution/2007-11-18-OrInstruction.ll
llvm/test/Analysis/ScalarEvolution/2008-02-11-ReversedCondition.ll
llvm/test/Analysis/ScalarEvolution/2008-02-12-SMAXTripCount.ll
llvm/test/Analysis/ScalarEvolution/2008-02-15-UMax.ll
llvm/test/Analysis/ScalarEvolution/2008-05-25-NegativeStepToZero.ll
llvm/test/Analysis/ScalarEvolution/2008-06-12-BinomialInt64.ll
llvm/test/Analysis/ScalarEvolution/2008-07-12-UnneededSelect1.ll
llvm/test/Analysis/ScalarEvolution/2008-07-12-UnneededSelect2.ll
llvm/test/Analysis/ScalarEvolution/2008-07-19-InfiniteLoop.ll
llvm/test/Analysis/ScalarEvolution/2008-07-19-WrappingIV.ll
llvm/test/Analysis/ScalarEvolution/2008-07-29-SGTTripCount.ll
llvm/test/Analysis/ScalarEvolution/2008-07-29-SMinExpr.ll
llvm/test/Analysis/ScalarEvolution/2008-08-04-IVOverflow.ll
llvm/test/Analysis/ScalarEvolution/2008-08-04-LongAddRec.ll
llvm/test/Analysis/ScalarEvolution/2008-11-02-QuadraticCrash.ll
llvm/test/Analysis/ScalarEvolution/2008-11-15-CubicOOM.ll
llvm/test/Analysis/ScalarEvolution/2008-11-18-LessThanOrEqual.ll
llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride1.ll
llvm/test/Analysis/ScalarEvolution/2008-11-18-Stride2.ll
llvm/test/Analysis/ScalarEvolution/2008-12-08-FiniteSGE.ll
llvm/test/Analysis/ScalarEvolution/2008-12-11-SMaxOverflow.ll
llvm/test/Analysis/ScalarEvolution/2008-12-14-StrideAndSigned.ll
llvm/test/Analysis/ScalarEvolution/2008-12-15-DontUseSDiv.ll
llvm/test/Analysis/ScalarEvolution/2009-01-02-SignedNegativeStride.ll
llvm/test/Analysis/ScalarEvolution/2009-04-22-TruncCast.ll
llvm/test/Analysis/ScalarEvolution/2009-05-09-PointerEdgeCount.ll
llvm/test/Analysis/ScalarEvolution/2009-07-04-GroupConstantsWidthMismatch.ll
llvm/test/Analysis/ScalarEvolution/2010-09-03-RequiredTransitive.ll
llvm/test/Analysis/ScalarEvolution/2011-04-26-FoldAddRec.ll
llvm/test/Analysis/ScalarEvolution/2011-10-04-ConstEvolve.ll
llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
llvm/test/Analysis/ScalarEvolution/ZeroStep.ll
llvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
llvm/test/Analysis/ScalarEvolution/add-like-or.ll
llvm/test/Analysis/ScalarEvolution/and-xor.ll
llvm/test/Analysis/ScalarEvolution/avoid-assume-hang.ll
llvm/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll
llvm/test/Analysis/ScalarEvolution/avoid-smax-0.ll
llvm/test/Analysis/ScalarEvolution/avoid-smax-1.ll
llvm/test/Analysis/ScalarEvolution/binomial-explision.ll
llvm/test/Analysis/ScalarEvolution/constant_condition.ll
llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
llvm/test/Analysis/ScalarEvolution/div-overflow.ll
llvm/test/Analysis/ScalarEvolution/do-loop.ll
llvm/test/Analysis/ScalarEvolution/exact-exit-count-more-precise.ll
llvm/test/Analysis/ScalarEvolution/exact_iter_count.ll
llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
llvm/test/Analysis/ScalarEvolution/exponential-behavior.ll
llvm/test/Analysis/ScalarEvolution/extract-highbits-sameconstmask.ll
llvm/test/Analysis/ScalarEvolution/extract-highbits-variablemask.ll
llvm/test/Analysis/ScalarEvolution/extract-lowbits-sameconstmask.ll
llvm/test/Analysis/ScalarEvolution/extract-lowbits-variablemask.ll
llvm/test/Analysis/ScalarEvolution/flags-from-poison-dbg.ll
llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
llvm/test/Analysis/ScalarEvolution/flattened-0.ll
llvm/test/Analysis/ScalarEvolution/fold.ll
llvm/test/Analysis/ScalarEvolution/how-far-to-zero.ll
llvm/test/Analysis/ScalarEvolution/huge_expression_limit.ll
llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
llvm/test/Analysis/ScalarEvolution/incorrect-nsw.ll
llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
llvm/test/Analysis/ScalarEvolution/inner-loop-by-latch-cond-unknown.ll
llvm/test/Analysis/ScalarEvolution/limit-depth.ll
llvm/test/Analysis/ScalarEvolution/load-with-range-metadata.ll
llvm/test/Analysis/ScalarEvolution/load.ll
llvm/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.ll
llvm/test/Analysis/ScalarEvolution/max-addops-inline.ll
llvm/test/Analysis/ScalarEvolution/max-addrec-size.ll
llvm/test/Analysis/ScalarEvolution/max-be-count-not-constant.ll
llvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
llvm/test/Analysis/ScalarEvolution/max-mulops-inline.ll
llvm/test/Analysis/ScalarEvolution/max-trip-count-address-space.ll
llvm/test/Analysis/ScalarEvolution/max-trip-count.ll
llvm/test/Analysis/ScalarEvolution/merge-add-rec-many-inputs.ll
llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll
llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll
llvm/test/Analysis/ScalarEvolution/no-wrap-unknown-becount.ll
llvm/test/Analysis/ScalarEvolution/non-IV-phi.ll
llvm/test/Analysis/ScalarEvolution/nowrap-preinc-limits.ll
llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
llvm/test/Analysis/ScalarEvolution/nsw.ll
llvm/test/Analysis/ScalarEvolution/overflow-intrinsics-trip-count.ll
llvm/test/Analysis/ScalarEvolution/overflow-intrinsics.ll
llvm/test/Analysis/ScalarEvolution/pointer-sign-bits.ll
llvm/test/Analysis/ScalarEvolution/pr22179.ll
llvm/test/Analysis/ScalarEvolution/pr22641.ll
llvm/test/Analysis/ScalarEvolution/pr24757.ll
llvm/test/Analysis/ScalarEvolution/pr25369.ll
llvm/test/Analysis/ScalarEvolution/pr27315.ll
llvm/test/Analysis/ScalarEvolution/pr34538.ll
llvm/test/Analysis/ScalarEvolution/pr40420.ll
llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll
llvm/test/Analysis/ScalarEvolution/range-signedness.ll
llvm/test/Analysis/ScalarEvolution/range_nw_flag.ll
llvm/test/Analysis/ScalarEvolution/returned.ll
llvm/test/Analysis/ScalarEvolution/scalable-vector.ll
llvm/test/Analysis/ScalarEvolution/scev-dispositions.ll
llvm/test/Analysis/ScalarEvolution/scev-prestart-nowrap.ll
llvm/test/Analysis/ScalarEvolution/sdiv.ll
llvm/test/Analysis/ScalarEvolution/sext-inreg.ll
llvm/test/Analysis/ScalarEvolution/sext-iv-0.ll
llvm/test/Analysis/ScalarEvolution/sext-iv-1.ll
llvm/test/Analysis/ScalarEvolution/sext-iv-2.ll
llvm/test/Analysis/ScalarEvolution/sext-mul.ll
llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
llvm/test/Analysis/ScalarEvolution/sext-zero.ll
llvm/test/Analysis/ScalarEvolution/shift-op.ll
llvm/test/Analysis/ScalarEvolution/shl-lshr-differentconstmask.ll
llvm/test/Analysis/ScalarEvolution/sle.ll
llvm/test/Analysis/ScalarEvolution/smax-br-phi-idioms.ll
llvm/test/Analysis/ScalarEvolution/smax.ll
llvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
llvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
llvm/test/Analysis/ScalarEvolution/solve-quadratic.ll
llvm/test/Analysis/ScalarEvolution/srem.ll
llvm/test/Analysis/ScalarEvolution/strip-injective-zext.ll
llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll
llvm/test/Analysis/ScalarEvolution/trip-count-switch.ll
llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll
llvm/test/Analysis/ScalarEvolution/trip-count.ll
llvm/test/Analysis/ScalarEvolution/trip-count10.ll
llvm/test/Analysis/ScalarEvolution/trip-count11.ll
llvm/test/Analysis/ScalarEvolution/trip-count12.ll
llvm/test/Analysis/ScalarEvolution/trip-count13.ll
llvm/test/Analysis/ScalarEvolution/trip-count14.ll
llvm/test/Analysis/ScalarEvolution/trip-count15.ll
llvm/test/Analysis/ScalarEvolution/trip-count2.ll
llvm/test/Analysis/ScalarEvolution/trip-count3.ll
llvm/test/Analysis/ScalarEvolution/trip-count4.ll
llvm/test/Analysis/ScalarEvolution/trip-count5.ll
llvm/test/Analysis/ScalarEvolution/trip-count6.ll
llvm/test/Analysis/ScalarEvolution/trip-count7.ll
llvm/test/Analysis/ScalarEvolution/trip-count8.ll
llvm/test/Analysis/ScalarEvolution/trip-count9.ll
llvm/test/Analysis/ScalarEvolution/tripmultiple_calculation.ll
llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll
llvm/test/Analysis/ScalarEvolution/truncate.ll
llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll
llvm/test/Analysis/ScalarEvolution/undefined.ll
llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
llvm/test/Analysis/ScalarEvolution/unreachable-code.ll
llvm/test/Analysis/ScalarEvolution/unsimplified-loop.ll
llvm/test/Analysis/ScalarEvolution/urem-0.ll
llvm/test/Analysis/ScalarEvolution/widenable-condition.ll
llvm/test/Analysis/ScalarEvolution/zext-divrem.ll
llvm/test/Analysis/ScalarEvolution/zext-mul.ll
llvm/test/Analysis/ScalarEvolution/zext-wrap.ll