[PATCH] D110908: [NPM] Automatic 'opt' pipeline reducer script.

Markus Lavin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 1 01:24:59 PDT 2021


markus added a comment.

For testing the following can be tried. First re-introduce a bug in opt by reverting the following revert

  commit 1fbdbb559569641f6d509b569966901c8fb02b63
  Author: Florian Hahn <flo at fhahn.com>
  Date:   Thu Sep 30 18:52:38 2021 +0100
  
      Revert "Recommit "[SCEV] Look through single value PHIs." (take 2)"
  
      This reverts commit 764d9aa97905f202385b4f25f8d234630b4feef3.
  
      This patch exposed a few additional cases where SCEV expressions are not
      properly invalidated.
  
      See PR52024, PR52023.

then running

  ./utils/reduce_pipeline.py --opt-binary=../build-debug/bin/opt --input=bbi-60925.ll --output=test2.ll --passes='canonicalize-aliases,objc-arc-apelim,cgscc(require<no-op-cgscc>,argpromotion,invalidate<all>,no-op-cgscc),objc-arc-apelim,function(function(aa-eval,loop-mssa(lnicm,licm,loop-instsimplify,indvars,loop-idiom),loop(indvars,require<iv-users>,loop-unroll-and-jam,simple-loop-unswitch<nontrivial>,loop-unroll-full),invalidate<all>)),function(early-cse<memssa>,loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only>,early-cse<memssa>,verify<memoryssa>,loop-mssa(require<pass-instrumentation>,loop-deletion),alignment-from-assumptions)'

F19348179: bbi-60925.ll <https://reviews.llvm.org/F19348179>
should result in

  The following extra args will be passed to opt: []
  ---Starting step #0---
  -passes="canonicalize-aliases,objc-arc-apelim,cgscc(require<no-op-cgscc>,argpromotion,invalidate<all>,no-op-cgscc),objc-arc-apelim,function(function(aa-eval,loop-mssa(lnicm,licm,loop-instsimplify,indvars,loop-idiom),loop(indvars,require<iv-users>,loop-unroll-and-jam,simple-loop-unswitch<nontrivial>,loop-unroll-full),invalidate<all>)),function(early-cse<memssa>,loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only>,early-cse<memssa>,verify<memoryssa>,loop-mssa(require<pass-instrumentation>,loop-deletion),alignment-from-assumptions)"
  ---Starting step #1---
  -passes="function(function(loop-mssa(lnicm,licm,loop-instsimplify,indvars,loop-idiom),loop(indvars,require<iv-users>,loop-unroll-and-jam,simple-loop-unswitch<nontrivial>,loop-unroll-full),invalidate<all>)),function(early-cse<memssa>,loop-vectorize<no-interleave-forced-only;no-vectorize-forced-only>,early-cse<memssa>,verify<memoryssa>,loop-mssa(require<pass-instrumentation>,loop-deletion),alignment-from-assumptions)"
  ---Starting step #2---
  -passes="function(function(loop-mssa(lnicm,licm,loop-instsimplify,indvars,loop-idiom),loop(indvars,require<iv-users>,loop-unroll-and-jam,simple-loop-unswitch<nontrivial>,loop-unroll-full)))"
  ---Starting step #3---
  -passes="function(function(loop-mssa(licm,loop-instsimplify,indvars),loop(indvars,simple-loop-unswitch<nontrivial>,loop-unroll-full)))"
  ---FINISHED---
  Wrote output to 'test2.ll'.
  -passes="function(function(loop-mssa(licm,loop-instsimplify,indvars),loop(indvars,simple-loop-unswitch<nontrivial>,loop-unroll-full)))"


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110908/new/

https://reviews.llvm.org/D110908



More information about the llvm-commits mailing list