[PATCH] D133198: [SCCP] convert signed div/rem to unsigned for non-negative operands

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 6 10:41:35 PDT 2022


fhahn added a comment.

I should have been clearer, this patch seems to cause the assertion below for the reproducer:

  Assertion failed: (I != ValueState.end() && "V not found in ValueState nor Paramstate map!"), function getLatticeValueFor, file SCCPSolver.cpp, line 418.
  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
  Stack dump:
  0. Program arguments: ..../bin/opt -ipsccp bugpoint-reduced-simplified.ll
  Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
  0  opt                      0x0000000106285094 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
  1  opt                      0x0000000106284094 llvm::sys::RunSignalHandlers() + 112
  2  opt                      0x0000000106285720 SignalHandler(int) + 344
  3  libsystem_platform.dylib 0x0000000197bc82a4 _sigtramp + 56
  4  libsystem_pthread.dylib  0x0000000197b99cec pthread_kill + 288
  5  libsystem_c.dylib        0x0000000197ad32c8 abort + 180
  6  libsystem_c.dylib        0x0000000197ad2620 err + 0
  7  opt                      0x00000001072a5cac llvm::SCCPInstVisitor::getLatticeValueFor(llvm::Value*) const (.cold.3) + 0
  8  opt                      0x00000001063883ec llvm::SCCPSolver::getTrackedRetVals() + 0
  9  opt                      0x000000010610dbb8 simplifyInstsInBlock(llvm::SCCPSolver&, llvm::BasicBlock&, llvm::SmallPtrSetImpl<llvm::Value*>&, llvm::TrackingStatistic&, llvm::TrackingStatistic&) + 964
  10 opt                      0x000000010610c144 llvm::runIPSCCP(llvm::Module&, llvm::DataLayout const&, std::__1::function<llvm::TargetLibraryInfo const& (llvm::Function&)>, llvm::function_ref<llvm::AnalysisResultsForFn (llvm::Function&)>) + 1488
  11 opt                      0x0000000105cac960 llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 200
  12 opt                      0x0000000105a688e0 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 460
  13 opt                      0x0000000104979b10 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) + 12628
  14 opt                      0x0000000104989eb4 main + 13084
  15 dyld                     0x0000000197873e50 start + 2544 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133198



More information about the llvm-commits mailing list