[PATCH] D119661: [LV] Support chained phis as incoming values for first-order recurs.

Bogdan Graur via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 23 08:17:33 PDT 2022


bgraur added a comment.

Heads-up: we have found this revision to be the culprit for an LTO compilation crash.

Here's the stack trace:

  F0000 00:00:1663945422.368954    9165 logging.cc:48] assert.h assertion failed at third_party/llvm/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:9135 in VPlanPtr llvm::LoopVectorizationPlanner::buildVPlanWithVPRecipes(VFRange &, SmallPtrSetImpl<Instruction *> &, const MapVector<Instruction *, Instruction *> &): VPlanVerifier::verifyPlanIsValid(*Plan) && "VPlan is invalid"
  *** Check failure stack trace: ***
      @     0x55e5fef6ba84  absl::log_internal::LogMessage::SendToLog()
      @     0x55e5fef6b85d  absl::log_internal::LogMessage::Flush()
      @     0x55e5fef6bdc9  absl::log_internal::LogMessageFatal::~LogMessageFatal()
      @     0x55e5fef5c244  __assert_fail
      @     0x55e5fe3b66f1  llvm::LoopVectorizationPlanner::buildVPlanWithVPRecipes()
      @     0x55e5fe3a92cc  llvm::LoopVectorizationPlanner::buildVPlansWithVPRecipes()
      @     0x55e5fe3a8838  llvm::LoopVectorizationPlanner::plan()
      @     0x55e5fe3bfa8d  llvm::LoopVectorizePass::processLoop()
      @     0x55e5fe3c4a34  llvm::LoopVectorizePass::runImpl()
      @     0x55e5fe3c542f  llvm::LoopVectorizePass::run()
      @     0x55e5fd37a472  llvm::detail::PassModel<>::run()
      @     0x55e5fec617db  llvm::PassManager<>::run()
      @     0x55e5fa1d5312  llvm::detail::PassModel<>::run()
      @     0x55e5fec6432d  llvm::ModuleToFunctionPassAdaptor::run()
      @     0x55e5fa1d75d2  llvm::detail::PassModel<>::run()
      @     0x55e5fec60bbb  llvm::PassManager<>::run()
      @     0x55e5fa70498e  llvm::lto::opt()
      @     0x55e5fa7071c5  llvm::lto::thinBackend()::$_3::operator()()
      @     0x55e5fa7070ad  llvm::lto::thinBackend()
      @     0x55e5fa1c3d06  clang::EmitBackendOutput()
      @     0x55e5fa1bfb18  clang::CodeGenAction::ExecuteAction()
      @     0x55e5fadcd323  clang::FrontendAction::Execute()
      @     0x55e5fad42b5f  clang::CompilerInstance::ExecuteAction()
      @     0x55e5f9db0f5e  clang::ExecuteCompilerInvocation()
      @     0x55e5f9da4ca2  cc1_main()
      @     0x55e5f9da2489  ExecuteCC1Tool()
      @     0x55e5faeed1f7  llvm::function_ref<>::callback_fn<>()
      @     0x55e5fedce4ff  llvm::CrashRecoveryContext::RunSafely()
      @     0x55e5faeeca22  clang::driver::CC1Command::Execute()
      @     0x55e5faeae7a7  clang::driver::Compilation::ExecuteCommand()
      @     0x55e5faeaead0  clang::driver::Compilation::ExecuteJobs()
      @     0x55e5faecc02f  clang::driver::Driver::ExecuteCompilation()
      @     0x55e5f9da1b1b  clang_main()
      @     0x7f6b56d77633  __libc_start_main
      @     0x55e5f9d9ebaa  _start

We're working on a reduced test case.

@fhahn could you take a look?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D119661



More information about the llvm-commits mailing list