[PATCH] D146987: [Assignment Tracking] Enable by default

Steven Johnson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 20 15:59:15 PDT 2023


srj added a comment.

>> That's a new one -- would you be able to give some context and a reproducer? Thanks for reporting!
>
> Yep -- as of LLVM commit 3c9083f6757cbaf6f8d6c601586d99a11faf642e <https://reviews.llvm.org/rG3c9083f6757cbaf6f8d6c601586d99a11faf642e>, Halide is still broken. Working on a repro case now.

This is regrettably large, but easy to repro:

- Unzip the file
- `llc gpu_object_lifetime.runtime.ll`
- See the assertion failure and stack dump (pasted below):

  Assertion failed: (!(Elmt.getFragmentOrDefault() == Next.getFragmentOrDefault())), function operator(), file AssignmentTrackingAnalysis.cpp, line 2020.
  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
  Stack dump:
  0.	Program arguments: /Users/srj/llvm-17-install/bin/llc gpu_object_lifetime.runtime.ll
  1.	Running pass 'Function Pass Manager' on module 'gpu_object_lifetime.runtime.ll'.
  2.	Running pass 'Assignment Tracking Analysis' on function '@halide_debug_to_file'
   #0 0x0000000106b92697 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/srj/llvm-17-install/bin/llc+0x101fab697)
   #1 0x0000000106b90638 llvm::sys::RunSignalHandlers() (/Users/srj/llvm-17-install/bin/llc+0x101fa9638)
   #2 0x0000000106b92e40 SignalHandler(int) (/Users/srj/llvm-17-install/bin/llc+0x101fabe40)
   #3 0x00007ff81c079dfd (/usr/lib/system/libsystem_platform.dylib+0x7ff800336dfd)
   #4 0x00007ff7bb316720
   #5 0x00007ff81bfafd24 (/usr/lib/system/libsystem_c.dylib+0x7ff80026cd24)
   #6 0x00007ff81bfaf0cb (/usr/lib/system/libsystem_c.dylib+0x7ff80026c0cb)
   #7 0x00000001076f1da3 void std::__1::__sort<buildOverlapMapAndRecordDeclares(llvm::Function&, FunctionVarLocsBuilder*, llvm::DenseSet<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::DenseMapInfo<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, void>> const&, llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>, llvm::DenseMapInfo<llvm::Instruction const*, void>, llvm::detail::DenseMapPair<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>>>&, unsigned int&)::$_1&, llvm::DebugVariable*>(llvm::DebugVariable*, llvm::DebugVariable*, buildOverlapMapAndRecordDeclares(llvm::Function&, FunctionVarLocsBuilder*, llvm::DenseSet<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::DenseMapInfo<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, void>> const&, llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>, llvm::DenseMapInfo<llvm::Instruction const*, void>, llvm::detail::DenseMapPair<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>>>&, unsigned int&)::$_1&) (.cold.4) (/Users/srj/llvm-17-install/bin/llc+0x102b0ada3)
   #8 0x0000000105e3b47d void std::__1::__sort<buildOverlapMapAndRecordDeclares(llvm::Function&, FunctionVarLocsBuilder*, llvm::DenseSet<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::DenseMapInfo<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, void>> const&, llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>, llvm::DenseMapInfo<llvm::Instruction const*, void>, llvm::detail::DenseMapPair<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>>>&, unsigned int&)::$_1&, llvm::DebugVariable*>(llvm::DebugVariable*, llvm::DebugVariable*, buildOverlapMapAndRecordDeclares(llvm::Function&, FunctionVarLocsBuilder*, llvm::DenseSet<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, llvm::DenseMapInfo<std::__1::pair<llvm::DILocalVariable const*, llvm::DILocation const*>, void>> const&, llvm::DenseMap<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>, llvm::DenseMapInfo<llvm::Instruction const*, void>, llvm::detail::DenseMapPair<llvm::Instruction const*, llvm::SmallVector<std::__1::pair<llvm::VariableID, llvm::at::AssignmentInfo>, 1u>>>&, unsigned int&)::$_1&) (/Users/srj/llvm-17-install/bin/llc+0x10125447d)
   #9 0x0000000105e2ff8c (anonymous namespace)::AssignmentTrackingLowering::run(FunctionVarLocsBuilder*) (/Users/srj/llvm-17-install/bin/llc+0x101248f8c)
  #10 0x0000000105e2ce9e llvm::AssignmentTrackingAnalysis::runOnFunction(llvm::Function&) (/Users/srj/llvm-17-install/bin/llc+0x101245e9e)
  #11 0x000000010649a082 llvm::FPPassManager::runOnFunction(llvm::Function&) (/Users/srj/llvm-17-install/bin/llc+0x1018b3082)
  #12 0x00000001064a08a1 llvm::FPPassManager::runOnModule(llvm::Module&) (/Users/srj/llvm-17-install/bin/llc+0x1018b98a1)
  #13 0x000000010649a687 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/Users/srj/llvm-17-install/bin/llc+0x1018b3687)
  #14 0x0000000104beed44 compileModule(char**, llvm::LLVMContext&) (/Users/srj/llvm-17-install/bin/llc+0x100007d44)
  #15 0x0000000104beca4f main (/Users/srj/llvm-17-install/bin/llc+0x100005a4f)

F27211069: gpu_object_lifetime.runtime.ll.zip <https://reviews.llvm.org/F27211069>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146987



More information about the cfe-commits mailing list