[PATCH] D149344: [SCEV] Replace IsAvailableOnEntry with block disposition

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 26 01:06:54 PDT 2023


uabelho added a comment.

Hi,

The following styarts failing with this patch (sorry for the ugly command line, utils/reduce_pipeline.py doesn't get any further):

  opt -passes="cgscc(devirt<4>(function(loop(loop-unroll-full),gvn<>,jump-threading))),function(simplifycfg<no-keep-loops>),cgscc(devirt<4>(function(loop-mssa(loop-rotate),simplifycfg,instcombine,loop(indvars,loop-unroll-full))))" -verify-scev bbi-84034.ll -o /dev/null

It fails with

  Cached disposition of %.pre for block %cleanup.loopexit is incorrect! 
  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
  Stack dump:
  0.	Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=cgscc(devirt<4>(function(loop(loop-unroll-full),gvn<>,jump-threading))),function(simplifycfg<no-keep-loops>),cgscc(devirt<4>(function(loop-mssa(loop-rotate),simplifycfg,instcombine,loop(indvars,loop-unroll-full)))) -verify-scev bbi-84034.ll -o /dev/null
   #0 0x0000556cf9083487 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2dcd487)
   #1 0x0000556cf90811ae llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2dcb1ae)
   #2 0x0000556cf9083b1f SignalHandler(int) Signals.cpp:0:0
   #3 0x00007f77ef000630 __restore_rt sigaction.c:0:0
   #4 0x00007f77ec747387 raise (/lib64/libc.so.6+0x36387)
   #5 0x00007f77ec748a78 abort (/lib64/libc.so.6+0x37a78)
   #6 0x0000556cf827564e llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1fbf64e)
   #7 0x0000556cf9bb2f56 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38fcf56)
   #8 0x0000556cf929977d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2fe377d)
   #9 0x0000556cf8aa6634 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x27f0634)
  #10 0x0000556cf6f4ef7d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0xc98f7d)
  #11 0x0000556cf807a61f llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dc461f)
  #12 0x0000556cf6f508bd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0xc9a8bd)
  #13 0x0000556cf8074ece llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dbeece)
  #14 0x0000556cf92824fd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fcc4fd)
  #15 0x0000556cf80787e5 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dc27e5)
  #16 0x0000556cf929b72d llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fe572d)
  #17 0x0000556cf8074ece llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x1dbeece)
  #18 0x0000556cf92824fd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (../../main-github/llvm/build-all/bin/opt+0x2fcc4fd)
  #19 0x0000556cf8076eda llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x1dc0eda)
  #20 0x0000556cf928279d llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2fcc79d)
  #21 0x0000556cf8aa57c4 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x27ef7c4)
  #22 0x0000556cf6b8701e llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x8d101e)
  #23 0x0000556cf6b956de main (../../main-github/llvm/build-all/bin/opt+0x8df6de)
  #24 0x00007f77ec733555 __libc_start_main (/lib64/libc.so.6+0x22555)
  #25 0x0000556cf6b81770 _start (../../main-github/llvm/build-all/bin/opt+0x8cb770)
  Abort (core dumped)

F28041305: bbi-84034.ll <https://reviews.llvm.org/F28041305>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149344



More information about the llvm-commits mailing list