[PATCH] D137505: [SCEV] Cache ZExt SCEV expressions.

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 19 23:57:42 PST 2022


uabelho added a comment.

Hi,

We see a verifier error with this patch:

  opt -verify-scev -passes="require<iv-users>" bbi-77099.ll -o /dev/null

results in

  Entry in FoldCache doesn't match FoldCacheUser: (1 + (zext i16 {-4,+,4}<nsw><%for.body919.i> to i32))<nuw><nsw> != {65533,+,4}<nuw><nsw><%for.body919.i>!
  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 -verify-scev -passes=require<iv-users> bbi-77099.ll -o /dev/null
   #0 0x0000000002ef65a3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2ef65a3)
   #1 0x0000000002ef42ce llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2ef42ce)
   #2 0x0000000002ef6926 SignalHandler(int) Signals.cpp:0:0
   #3 0x00007f6e840f4630 __restore_rt sigaction.c:0:0
   #4 0x00007f6e8183b387 raise (/lib64/libc.so.6+0x36387)
   #5 0x00007f6e8183ca78 abort (/lib64/libc.so.6+0x37a78)
   #6 0x0000000001ef311d llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1ef311d)
   #7 0x00000000038d666b llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x38d666b)
   #8 0x000000000326cc1d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
   #9 0x0000000002700edc llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2700edc)
  #10 0x0000000000b0ff1d 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>&) crtstuff.c:0:0
  #11 0x000000000270516e llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x270516e)
  #12 0x0000000000b0fcfd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
  #13 0x000000000270018c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x270018c)
  #14 0x0000000000729aa3 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+0x729aa3)
  #15 0x0000000000738cc7 main (../../main-github/llvm/build-all/bin/opt+0x738cc7)
  #16 0x00007f6e81827555 __libc_start_main (/lib64/libc.so.6+0x22555)
  #17 0x0000000000722b10 _start (../../main-github/llvm/build-all/bin/opt+0x722b10)
  Abort (core dumped)

F25754635: bbi-77099.ll <https://reviews.llvm.org/F25754635>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137505



More information about the llvm-commits mailing list