The bolt pass failed run. For the nas-is and nas-cg, it shows operand is not an expression. For hash join, bfs, g500, pr, it shows TopLLCMiss is not a loop.I attached the nas-is backtrace. I wonder if I need to modify the code. Thanks for your help!
llvm-bolt: /home/yinmingzhuo/research/RPG2/llvm-bolt/llvm/include/llvm/MC/MCInst.h:115: const llvm::MCExpr* llvm::MCOperand::getExpr() const: Assertion `isExpr() && "This is not an expression"' failed.
#0 0x0000558ec91368c6 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/yinmingzhuo/research/RPG2/llvm-bolt/llvm/lib/Support/Unix/Signals.inc:569:3
#1 0x0000558ec9134aa4 llvm::sys::RunSignalHandlers() /home/yinmingzhuo/research/RPG2/llvm-bolt/llvm/lib/Support/Signals.cpp:96:20
#2 0x0000558ec9134c26 SignalHandler(int) /home/yinmingzhuo/research/RPG2/llvm-bolt/llvm/lib/Support/Unix/Signals.inc:407:1
#3 0x00007f92be242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f92be2969fc __pthread_kill_implementation ./nptl/./nptl/pthread_kill.c:44:76
#5 0x00007f92be2969fc __pthread_kill_internal ./nptl/./nptl/pthread_kill.c:78:10
#6 0x00007f92be2969fc pthread_kill ./nptl/./nptl/pthread_kill.c:89:10
#7 0x00007f92be242476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007f92be2287f3 abort ./stdlib/./stdlib/abort.c:81:7
#9 0x00007f92be22871b _nl_load_domain ./intl/./intl/loadmsgcat.c:1177:9
#10 0x00007f92be239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x0000558ec9187c65 (/home/yinmingzhuo/research/RPG2/llvm-bolt/build/bin/llvm-bolt+0xbf1c65)
#12 0x0000558ec91911e0 llvm::bolt::InjectPrefetchInnerLoop::createPrefetchBB(llvm::bolt::BinaryFunction&, llvm::bolt::BinaryBasicBlock*, llvm::bolt::BinaryBasicBlock*, llvm::MCInst*, llvm::MCInst*, std::unordered_map<unsigned short, unsigned short, std::hash<unsigned short>, std::equal_to<unsigned short>, std::allocator<std::pair<unsigned short const, unsigned short> > >, int, std::vector<llvm::MCInst, std::allocator<llvm::MCInst> >) /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Passes/InjectPrefetchInnerLoop.cpp:859:17
#13 0x0000558ec91979c8 std::_Hashtable<unsigned short, std::pair<unsigned short const, unsigned short>, std::allocator<std::pair<unsigned short const, unsigned short> >, std::__detail::_Select1st, std::equal_to<unsigned short>, std::hash<unsigned short>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_begin() const /usr/include/c++/11/bits/hashtable.h:463:62
#14 0x0000558ec91979c8 std::_Hashtable<unsigned short, std::pair<unsigned short const, unsigned short>, std::allocator<std::pair<unsigned short const, unsigned short> >, std::__detail::_Select1st, std::equal_to<unsigned short>, std::hash<unsigned short>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::clear() /usr/include/c++/11/bits/hashtable.h:2320:32
#15 0x0000558ec91979c8 std::_Hashtable<unsigned short, std::pair<unsigned short const, unsigned short>, std::allocator<std::pair<unsigned short const, unsigned short> >, std::__detail::_Select1st, std::equal_to<unsigned short>, std::hash<unsigned short>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable() /usr/include/c++/11/bits/hashtable.h:1532:12
#16 0x0000558ec91979c8 std::unordered_map<unsigned short, unsigned short, std::hash<unsigned short>, std::equal_to<unsigned short>, std::allocator<std::pair<unsigned short const, unsigned short> > >::~unordered_map() /usr/include/c++/11/bits/unordered_map.h:102:11
#17 0x0000558ec91979c8 llvm::bolt::InjectPrefetchInnerLoop::runOnFunction(llvm::bolt::BinaryFunction&) /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Passes/InjectPrefetchInnerLoop.cpp:199:52
#18 0x0000558ec91985e3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const /usr/include/c++/11/bits/basic_string.h:195:28
#19 0x0000558ec91985e3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const /usr/include/c++/11/bits/basic_string.h:230:23
#20 0x0000558ec91985e3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() /usr/include/c++/11/bits/basic_string.h:239:18
#21 0x0000558ec91985e3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() /usr/include/c++/11/bits/basic_string.h:672:19
#22 0x0000558ec91985e3 llvm::bolt::InjectPrefetchInnerLoop::runOnFunctions(llvm::bolt::BinaryContext&) /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Passes/InjectPrefetchInnerLoop.cpp:955:4
#23 0x0000558ec91985e3 llvm::bolt::InjectPrefetchInnerLoop::runOnFunctions(llvm::bolt::BinaryContext&) /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Passes/InjectPrefetchInnerLoop.cpp:943:6
#24 0x0000558ec8f8394c std::_Hashtable<unsigned int, std::pair<unsigned int const, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > > >, std::allocator<std::pair<unsigned int const, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > > > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable() /usr/include/c++/11/bits/hashtable.h:1532:12
#25 0x0000558ec8f8394c std::unordered_map<unsigned int, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > >, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > > > > >::~unordered_map() /usr/include/c++/11/bits/unordered_map.h:102:11
#26 0x0000558ec8f8394c llvm::bolt::DynoStats::~DynoStats() /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/include/bolt/Core/DynoStats.h:29:7
#27 0x0000558ec8f8394c callWithDynoStats<llvm::bolt::BinaryFunctionPassManager::runPasses()::<lambda()>, std::map<long unsigned int, llvm::bolt::BinaryFunction> > /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/include/bolt/Core/DynoStats.h:181:1
#28 0x0000558ec8f8394c llvm::bolt::BinaryFunctionPassManager::runPasses() /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Rewrite/BinaryPassManager.cpp:284:22
#29 0x0000558ec8f84c42 std::_Hashtable<unsigned int, std::pair<unsigned int const, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > > >, std::allocator<std::pair<unsigned int const, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > > > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable() /usr/include/c++/11/bits/hashtable.h:1532:12
#30 0x0000558ec8f84c42 std::unordered_map<unsigned int, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > >, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, std::pair<unsigned long, std::multimap<unsigned long, std::pair<llvm::StringRef, unsigned int>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::pair<llvm::StringRef, unsigned int> > > > > > > >::~unordered_map() /usr/include/c++/11/bits/unordered_map.h:102:11
#31 0x0000558ec8f84c42 llvm::bolt::DynoStats::~DynoStats() /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/include/bolt/Core/DynoStats.h:29:7
#32 0x0000558ec8f84c42 llvm::bolt::BinaryFunctionPassManager::runAllPasses(llvm::bolt::BinaryContext&) /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Rewrite/BinaryPassManager.cpp:499:1
#33 0x0000558ec8f23941 llvm::TimeRegion::~TimeRegion() /home/yinmingzhuo/research/RPG2/llvm-bolt/llvm/include/llvm/Support/Timer.h:158:9
#34 0x0000558ec8f23941 llvm::NamedRegionTimer::~NamedRegionTimer() /home/yinmingzhuo/research/RPG2/llvm-bolt/llvm/include/llvm/Support/Timer.h:166:8
#35 0x0000558ec8f23941 llvm::bolt::RewriteInstance::runOptimizationPasses() /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Rewrite/RewriteInstance.cpp:2890:1
#36 0x0000558ec8f827b0 llvm::bolt::RewriteInstance::run() /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/lib/Rewrite/RewriteInstance.cpp:782:14
#37 0x0000558ec8877efa main /home/yinmingzhuo/research/RPG2/llvm-bolt/bolt/tools/driver/llvm-bolt.cpp:272:5
#38 0x00007f92be229d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#39 0x00007f92be229e40 call_init ./csu/../csu/libc-start.c:128:20
#40 0x00007f92be229e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#41 0x0000558ec88e2035 _start (/home/yinmingzhuo/research/RPG2/llvm-bolt/build/bin/llvm-bolt+0x34c035)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/yinmingzhuo/research/RPG2/llvm-bolt/build/bin/llvm-bolt --enable-bat --inject-prefetch --prefetch-location-file=/home/yinmingzhuo/research/RPG2/rpg2_data/prefetch_loc.txt /home/yinmingzhuo/research/RPG2/pg2_reloc/workloads/AinsworthCGO2017/nas-is/is -o /home/yinmingzhuo/research/RPG2/rpg2_data/is.bolt
Put here since github supports reply using markdown.