[PATCH] D74511: [BFI] Fix missed BFI updates in MachineSink.
Hiroshi Yamauchi via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 12 15:45:28 PST 2020
yamauchi added a comment.
Here's a sample stack trace:
********************
Testing: 0.. 10..
FAIL: LLVM :: CodeGen/AArch64/arm64-addr-type-promotion.ll (7419 of 35971)
******************** TEST 'LLVM :: CodeGen/AArch64/arm64-addr-type-promotion.ll' FAILED ********************
Script:
--
: 'RUN: at line 1'; /bfi/llvm-project/llvm/build/bin/llc < /bfi/llvm-project/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll -mtriple=arm64-apple-ios3.0.0 -aarch64-enable-collect-loh=false | /bfi/llvm-project/llvm/build/bin/FileCheck /bfi/llvm-project/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
--
Exit Code: 2
Command Output (stderr):
--
llc: ../include/llvm/Analysis/BlockFrequencyInfoImpl.h:877: const BlockT* llvm::BlockFrequencyInfoImpl<BlockT>::getBlock(const llvm::BlockFrequencyInfoImplBase::BlockNode&) const [with BT = llvm::MachineBasicBlock; llvm::BlockFrequencyInfoImpl<BlockT>::BlockT = llvm::MachineBasicBlock]: Assertion `Node.Index < RPOT.size()' failed.
Stack dump:
0. Program arguments: /bfi/llvm-project/llvm/build/bin/llc -mtriple=arm64-apple-ios3.0.0 -aarch64-enable-collect-loh=false
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'Machine code sinking' on function '@fullGtU'
#0 0x0000563cfafac050 llvm::sys::PrintStackTrace(llvm::raw_ostream&) /bfi/llvm-project/llvm/build/../lib/Support/Unix/Signals.inc:564:22
#1 0x0000563cfafac0e3 PrintStackTraceSignalHandler(void*) /bfi/llvm-project/llvm/build/../lib/Support/Unix/Signals.inc:625:1
#2 0x0000563cfafaa188 llvm::sys::RunSignalHandlers() /bfi/llvm-project/llvm/build/../lib/Support/Signals.cpp:68:20
#3 0x0000563cfafaba92 SignalHandler(int) /bfi/llvm-project/llvm/build/../lib/Support/Unix/Signals.inc:406:1
#4 0x00007f33d149d520 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13520)
#5 0x00007f33d0f78081 raise /build/glibc-G5rUEF/glibc-2.29/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#6 0x00007f33d0f63535 abort /build/glibc-G5rUEF/glibc-2.29/stdlib/abort.c:81:7
#7 0x00007f33d0f6340f _nl_load_domain /build/glibc-G5rUEF/glibc-2.29/intl/loadmsgcat.c:1177:9
#8 0x00007f33d0f70b92 (/lib/x86_64-linux-gnu/libc.so.6+0x32b92)
#9 0x0000563cfa19f9af llvm::BlockFrequencyInfoImpl<llvm::MachineBasicBlock>::getBlock(llvm::BlockFrequencyInfoImplBase::BlockNode const&) const /bfi/llvm-project/llvm/build/../include/llvm/Analysis/BlockFrequencyInfoImpl.h:878:22
#10 0x0000563cfa19e36d llvm::BlockFrequencyInfoImpl<llvm::MachineBasicBlock>::getBlockName[abi:cxx11](llvm::BlockFrequencyInfoImplBase::BlockNode const&) const /bfi/llvm-project/llvm/build/../include/llvm/Analysis/BlockFrequencyInfoImpl.h:958:51
#11 0x0000563cf9c83808 llvm::BlockFrequencyInfoImplBase::getBlockFreq(llvm::BlockFrequencyInfoImplBase::BlockNode const&) const /bfi/llvm-project/llvm/build/../lib/Analysis/BlockFrequencyInfoImpl.cpp:564:77
#12 0x0000563cfa19c146 llvm::BlockFrequencyInfoImpl<llvm::MachineBasicBlock>::getBlockFreq(llvm::MachineBasicBlock const*) const /bfi/llvm-project/llvm/build/../include/llvm/Analysis/BlockFrequencyInfoImpl.h:973:3
#13 0x0000563cfa19a21e llvm::MachineBlockFrequencyInfo::getBlockFreq(llvm::MachineBasicBlock const*) const /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineBlockFrequencyInfo.cpp:229:39
#14 0x0000563cfa2db834 (anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)::operator()(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*) const /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineSink.cpp:645:55
#15 0x0000563cfa2df025 bool __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>::operator()<llvm::MachineBasicBlock**, llvm::MachineBasicBlock**>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**) /usr/include/c++/9/bits/predefined_ops.h:143:49
#16 0x0000563cfa2df94f void std::__move_merge_adaptive<llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)> >(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>) /usr/include/c++/9/bits/stl_algo.h:2309:4
#17 0x0000563cfa2df343 void std::__merge_adaptive<llvm::MachineBasicBlock**, long, llvm::MachineBasicBlock**, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)> >(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, long, long, llvm::MachineBasicBlock**, long, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>) /usr/include/c++/9/bits/stl_algo.h:2421:26
#18 0x0000563cfa2def25 void std::__stable_sort_adaptive<llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, long, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)> >(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, long, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>) /usr/include/c++/9/bits/stl_algo.h:2745:28
#19 0x0000563cfa2decf4 void std::__stable_sort<llvm::MachineBasicBlock**, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)> >(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>) /usr/include/c++/9/bits/stl_algo.h:5028:15
#20 0x0000563cfa2dec1c void std::stable_sort<llvm::MachineBasicBlock**, (anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>(llvm::MachineBasicBlock**, llvm::MachineBasicBlock**, (anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)) /usr/include/c++/9/bits/stl_algo.h:5104:5
#21 0x0000563cfa2debb6 void llvm::stable_sort<llvm::SmallVector<llvm::MachineBasicBlock*, 4u>&, (anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)>(llvm::SmallVector<llvm::MachineBasicBlock*, 4u>&, (anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const::'lambda'(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*)) /bfi/llvm-project/llvm/build/../include/llvm/ADT/STLExtras.h:1292:1
#22 0x0000563cfa2dbacf (anonymous namespace)::MachineSinking::GetAllSortedSuccessors(llvm::MachineInstr&, llvm::MachineBasicBlock*, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) const /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineSink.cpp:651:48
#23 0x0000563cfa2dbd57 (anonymous namespace)::MachineSinking::FindSuccToSinkTo(llvm::MachineInstr&, llvm::MachineBasicBlock*, bool&, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineSink.cpp:713:57
#24 0x0000563cfa2dc750 (anonymous namespace)::MachineSinking::SinkInstruction(llvm::MachineInstr&, bool&, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineSink.cpp:911:23
#25 0x0000563cfa2daef5 (anonymous namespace)::MachineSinking::ProcessBlock(llvm::MachineBasicBlock&) /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineSink.cpp:418:5
#26 0x0000563cfa2daa6e (anonymous namespace)::MachineSinking::runOnMachineFunction(llvm::MachineFunction&) /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineSink.cpp:344:18
#27 0x0000563cfa20b4c4 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /bfi/llvm-project/llvm/build/../lib/CodeGen/MachineFunctionPass.cpp:73:33
#28 0x0000563cfa6a9395 llvm::FPPassManager::runOnFunction(llvm::Function&) /bfi/llvm-project/llvm/build/../lib/IR/LegacyPassManager.cpp:1482:20
#29 0x0000563cfa6a95fa llvm::FPPassManager::runOnModule(llvm::Module&) /bfi/llvm-project/llvm/build/../lib/IR/LegacyPassManager.cpp:1518:13
#30 0x0000563cfa6a9a24 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /bfi/llvm-project/llvm/build/../lib/IR/LegacyPassManager.cpp:1583:20
#31 0x0000563cfa6aa1a0 llvm::legacy::PassManagerImpl::run(llvm::Module&) /bfi/llvm-project/llvm/build/../lib/IR/LegacyPassManager.cpp:1695:13
#32 0x0000563cfa6aa39d llvm::legacy::PassManager::run(llvm::Module&) /bfi/llvm-project/llvm/build/../lib/IR/LegacyPassManager.cpp:1727:1
#33 0x0000563cf8740b99 compileModule(char**, llvm::LLVMContext&) /bfi/llvm-project/llvm/build/../tools/llc/llc.cpp:620:66
#34 0x0000563cf873f1aa main /bfi/llvm-project/llvm/build/../tools/llc/llc.cpp:356:35
#35 0x00007f33d0f64bbb __libc_start_main /build/glibc-G5rUEF/glibc-2.29/csu/../csu/libc-start.c:342:3
#36 0x0000563cf873d02a _start (/bfi/llvm-project/llvm/build/bin/llc+0x4fb002a)
FileCheck error: '<stdin>' is empty.
FileCheck command line: /bfi/llvm-project/llvm/build/bin/FileCheck /bfi/llvm-project/llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74511/new/
https://reviews.llvm.org/D74511
More information about the llvm-commits
mailing list