[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