lana555 / dynamatic

MIT License
86 stars 38 forks source link

Exception while trying to run the elastic circuits examples #15

Open jmgorius opened 1 year ago

jmgorius commented 1 year ago

I tried running the examples from elastic-circuits/examples by following the README instructions, but I get an unhandled exception error. You will find the corresponding execution trace below.

Is this a known issue?

$ make name=loop_array graph
mkdir -p _build/loop_array
rm -rf _build/loop_array/*.dot
../../../llvm-6.0/bin/clang  -Xclang -disable-O0-optnone -emit-llvm -S  -c loop_array.cpp -o _build/loop_array/loop_array.ll
../../../llvm-6.0/bin/opt  -mem2reg  _build/loop_array/loop_array.ll -S -o _build/loop_array/loop_array_mem2reg.ll
../../../llvm-6.0/bin/opt  -loop-rotate -constprop  _build/loop_array/loop_array_mem2reg.ll -S -o _build/loop_array/loop_array_mem2reg_constprop.ll
../../../llvm-6.0/bin/opt  -simplifycfg _build/loop_array/loop_array_mem2reg_constprop.ll -S -o _build/loop_array/loop_array_mem2reg_constprop_simplifycfg.ll
../../../llvm-6.0/bin/opt  -die -instcombine -lowerswitch _build/loop_array/loop_array_mem2reg_constprop_simplifycfg.ll -S -o _build/loop_array/loop_array_mem2reg_constprop_simplifycfg_die.ll
../../../llvm-6.0/bin/opt  -load ../_build/MemElemInfo/libLLVMMemElemInfo.so -load ../_build/ElasticPass/libElasticPass.so -load ../_build/OptimizeBitwidth/libLLVMOptimizeBitWidth.so -load ../_build/MyCFGPass/libMyCFGPass.so -polly-process-unprofitable -mycfgpass  _build/loop_array/loop_array_mem2reg_constprop_simplifycfg_die.ll -S -cfg-outdir=_build/loop_array
0Time elapsed: 1e-06s.
couldn't open file _Z5dummyii_freq.txt
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string: construction from null is not valid
llvm-symbolizer: .../dynamatic/etc/llvm/include/llvm/ADT/Optional.h:156: T&& llvm::Optional<T>::getValue() && [with T = const char*]: Assertion `hasVal' failed.
llvm-symbolizer(+0xbd2e3)[0x55e6ea0452e3]
llvm-symbolizer(+0xbd37f)[0x55e6ea04537f]
llvm-symbolizer(+0xbb4f8)[0x55e6ea0434f8]
llvm-symbolizer(+0xbcb3d)[0x55e6ea044b3d]
/usr/lib/libc.so.6(+0x39ab0)[0x7fa4e604fab0]
/usr/lib/libc.so.6(+0x8926c)[0x7fa4e609f26c]
/usr/lib/libc.so.6(gsignal+0x18)[0x7fa4e604fa08]
/usr/lib/libc.so.6(abort+0xd7)[0x7fa4e6038538]
/usr/lib/libc.so.6(+0x2245c)[0x7fa4e603845c]
/usr/lib/libc.so.6(+0x323d6)[0x7fa4e60483d6]
llvm-symbolizer(+0x166b50)[0x55e6ea0eeb50]
llvm-symbolizer(+0x162460)[0x55e6ea0ea460]
llvm-symbolizer(+0x162d2e)[0x55e6ea0ead2e]
llvm-symbolizer(+0x163684)[0x55e6ea0eb684]
llvm-symbolizer(+0x1635d1)[0x55e6ea0eb5d1]
llvm-symbolizer(+0x12297e)[0x55e6ea0aa97e]
llvm-symbolizer(+0x123932)[0x55e6ea0ab932]
llvm-symbolizer(+0x1192ea)[0x55e6ea0a12ea]
llvm-symbolizer(+0x10c48b)[0x55e6ea09448b]
llvm-symbolizer(+0x4ec28)[0x55e6e9fd6c28]
/usr/lib/libc.so.6(+0x23850)[0x7fa4e6039850]
/usr/lib/libc.so.6(__libc_start_main+0x8a)[0x7fa4e603990a]
llvm-symbolizer(+0x4e015)[0x55e6e9fd6015]
Stack dump:
0.  Program arguments: llvm-symbolizer --functions=linkage --inlining --demangle 
../../../llvm-6.0/bin/opt(llvm::sys::PrintStackTrace(llvm::raw_ostream&)+0x39)[0x557bccb91d35]
../../../llvm-6.0/bin/opt(+0x1b9bdd1)[0x557bccb91dd1]
../../../llvm-6.0/bin/opt(llvm::sys::RunSignalHandlers()+0x8a)[0x557bccb8ff4a]
../../../llvm-6.0/bin/opt(+0x1b9b58f)[0x557bccb9158f]
/usr/lib/libc.so.6(+0x39ab0)[0x7f6d83962ab0]
/usr/lib/libc.so.6(+0x8926c)[0x7f6d839b226c]
/usr/lib/libc.so.6(gsignal+0x18)[0x7f6d83962a08]
/usr/lib/libc.so.6(abort+0xd7)[0x7f6d8394b538]
/usr/lib/libstdc++.so.6(+0x9ca6f)[0x7f6d83c9ca6f]
/usr/lib/libstdc++.so.6(+0xb011c)[0x7f6d83cb011c]
/usr/lib/libstdc++.so.6(+0xb0189)[0x7f6d83cb0189]
/usr/lib/libstdc++.so.6(+0xb03ed)[0x7f6d83cb03ed]
/usr/lib/libstdc++.so.6(std::__throw_logic_error(char const*)+0x44)[0x7f6d83ca00b3]
/usr/lib/libstdc++.so.6(+0x15ca48)[0x7f6d83d5ca48]
../_build/ElasticPass/libElasticPass.so(read_data_from_csv(int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)+0x157)[0x7f6d837deac7]
../_build/ElasticPass/libElasticPass.so(get_component_delay(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)+0x285)[0x7f6d837df3f5]
../_build/ElasticPass/libElasticPass.so(getNodeDotParams(ENode*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x3ff2)[0x7f6d83821bf1]
../_build/ElasticPass/libElasticPass.so(printDotNodes(std::vector<ENode*, std::allocator<ENode*> >*, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x312)[0x7f6d838263ff]
../_build/ElasticPass/libElasticPass.so(printDotDFG(std::vector<ENode*, std::allocator<ENode*> >*, std::vector<BBNode*, std::allocator<BBNode*> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x19c)[0x7f6d8382b2d8]
../_build/MyCFGPass/libMyCFGPass.so(+0xea6f)[0x7f6d83fffa6f]
../_build/MyCFGPass/libMyCFGPass.so(+0xee33)[0x7f6d83fffe33]
../../../llvm-6.0/bin/opt(llvm::FPPassManager::runOnFunction(llvm::Function&)+0x135)[0x557bcc37cf6d]
../../../llvm-6.0/bin/opt(llvm::FPPassManager::runOnModule(llvm::Module&)+0x70)[0x557bcc37d12a]
../../../llvm-6.0/bin/opt(+0x13874e7)[0x557bcc37d4e7]
../../../llvm-6.0/bin/opt(llvm::legacy::PassManagerImpl::run(llvm::Module&)+0x100)[0x557bcc37dc72]
../../../llvm-6.0/bin/opt(llvm::legacy::PassManager::run(llvm::Module&)+0x27)[0x557bcc37de89]
../../../llvm-6.0/bin/opt(main+0x24f6)[0x557bcb59ac2b]
/usr/lib/libc.so.6(+0x23850)[0x7f6d8394c850]
/usr/lib/libc.so.6(__libc_start_main+0x8a)[0x7f6d8394c90a]
../../../llvm-6.0/bin/opt(_start+0x25)[0x557bcb568365]
Stack dump:
0.  Program arguments: ../../../llvm-6.0/bin/opt -load ../_build/MemElemInfo/libLLVMMemElemInfo.so -load ../_build/ElasticPass/libElasticPass.so -load ../_build/OptimizeBitwidth/libLLVMOptimizeBitWidth.so -load ../_build/MyCFGPass/libMyCFGPass.so -polly-process-unprofitable -mycfgpass _build/loop_array/loop_array_mem2reg_constprop_simplifycfg_die.ll -S -cfg-outdir=_build/loop_array 
1.  Running pass 'Function Pass Manager' on module '_build/loop_array/loop_array_mem2reg_constprop_simplifycfg_die.ll'.
2.  Running pass 'Creates new CFG pass' on function '@dummy(int, int)'
make: [Makefile:65: test] Aborted (core dumped) (ignored)
#mv print.txt _build/loop_array || true
#mv *_graph.dot _build/loop_array
dot -Tpng _build/loop_array/*_graph.dot > _build/loop_array/loop_array_graph.png
dot -Tpng _build/loop_array/*bbgraph.dot > _build/loop_array/loop_array_bbgraph.png
Error: dot: can't open _build/loop_array/*bbgraph.dot: No such file or directory
make: *** [Makefile:79: graph] Error 2