[llvm-bugs] [Bug 48554] New: ICE: polly/lib/External/isl/isl_ast_build_expr.c:1745: cannot handle void expression

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Dec 18 11:23:51 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=48554

            Bug ID: 48554
           Summary: ICE: polly/lib/External/isl/isl_ast_build_expr.c:1745:
                    cannot handle void expression
           Product: Polly
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: isl
          Assignee: polly-dev at googlegroups.com
          Reporter: Vsevolod.Livinskij at frtk.ru
                CC: llvm-bugs at lists.llvm.org

Reproducer:
extern char var_2, var_13;
extern short var_7, var_14;
extern int var_10;
extern short arr_17[][8][3];
extern int arr_20[][20][15][8][3];
void test() {
  for (int a = 0; a < var_2; a++)
    for (char b = 0; b < var_10; b += 2)
      for (short c = 0; c < 15; c++)
#pragma omp simd
        for (int d = 0; d < var_13; d += var_7)
          for (char e = var_14 - 37; e; e++)
            arr_20[a][b][c][d][e] = arr_17[a][d][e];
}

Error:
>$ clang++ -fopenmp-simd -mllvm -polly -mllvm -polly-vectorizer=stripmine -O1 -c func.cpp
llvm-trunk/polly/lib/External/isl/isl_ast_build_expr.c:1745: cannot handle void
expression
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: clang++ -fopenmp-simd -mllvm -polly -mllvm
-polly-vectorizer=stripmine -O1 -c func.cpp
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'Function Pass Manager' on module 'func.cpp'.
4.      Running pass 'Region Pass Manager' on function '@_Z4testv'
5.      Running pass 'Polly - Generate an AST from the SCoP (isl)' on basic
block '%for.cond6.preheader'
  #0 0x0000563158313e31 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(/clang-12+0x1f0ae31)
  #1 0x00005631583119c4 llvm::sys::RunSignalHandlers() (/clang-12+0x1f089c4)
  #2 0x0000563158311c61 llvm::sys::CleanupOnSignal(unsigned long)
(/clang-12+0x1f08c61)
  #3 0x0000563158276a78 CrashRecoverySignalHandler(int) (/clang-12+0x1e6da78)
  #4 0x00007f99f6eeb3c0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
  #5 0x00007f99f696d18b raise
/build/glibc-ZN95T4/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
  #6 0x00007f99f694c859 abort
/build/glibc-ZN95T4/glibc-2.31/stdlib/abort.c:81:7
  #7 0x0000563159557a5c (/clang-12+0x314ea5c)
  #8 0x000056315952fb8f isl_ast_build_expr_from_pw_aff_internal
(/clang-12+0x3126b8f)
  #9 0x000056315952fdc8 isl_ast_build_with_arguments (/clang-12+0x3126dc8)
 #10 0x00005631595301ef isl_ast_build_call_from_executed (/clang-12+0x31271ef)
 #11 0x000056315953e6e3 isl_ast_graft_alloc_domain (/clang-12+0x31356e3)
 #12 0x0000563159537767 add_domain.isra.0 (/clang-12+0x312e767)
 #13 0x000056315956121c isl_hash_table_foreach (/clang-12+0x315821c)
 #14 0x0000563159648001 isl_union_map_foreach_map (/clang-12+0x323f001)
 #15 0x000056315953a269 generate_inner_level (/clang-12+0x3131269)
 #16 0x0000563159539903 build_ast_from_schedule_node (/clang-12+0x3130903)
 #17 0x000056315953a2ae generate_inner_level (/clang-12+0x31312ae)
 #18 0x0000563159538953 generate_next_level (/clang-12+0x312f953)
 #19 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #20 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #21 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #22 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #23 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #24 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #25 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #26 0x0000563159539a29 build_ast_from_schedule_node (/clang-12+0x3130a29)
 #27 0x0000563159539c5a build_ast_from_schedule_node (/clang-12+0x3130c5a)
 #28 0x000056315953a2ae generate_inner_level (/clang-12+0x31312ae)
 #29 0x0000563159538953 generate_next_level (/clang-12+0x312f953)
 #30 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #31 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #32 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #33 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #34 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #35 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #36 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #37 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #38 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #39 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #40 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #41 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #42 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #43 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #44 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #45 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #46 0x000056315953c8a5 add_nodes (/clang-12+0x31338a5)
 #47 0x0000563159612fbb isl_basic_set_list_foreach_scc (/clang-12+0x3209fbb)
 #48 0x000056315953bcca generate_sorted_domains (/clang-12+0x3132cca)
 #49 0x000056315953c46a generate_sorted_domains_wrap (/clang-12+0x313346a)
 #50 0x0000563159612fbb isl_basic_set_list_foreach_scc (/clang-12+0x3209fbb)
 #51 0x000056315953bdd5 generate_parallel_domains (/clang-12+0x3132dd5)
 #52 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #53 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #54 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #55 0x0000563159539a29 build_ast_from_schedule_node (/clang-12+0x3130a29)
 #56 0x000056315953a2ae generate_inner_level (/clang-12+0x31312ae)
 #57 0x0000563159538953 generate_next_level (/clang-12+0x312f953)
 #58 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #59 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #60 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #61 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #62 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #63 0x000056315953c2b7 generate_shifted_component_tree_part
(/clang-12+0x31332b7)
 #64 0x000056315953c3eb generate_shifted_component_parts (/clang-12+0x31333eb)
 #65 0x0000563159538514 generate_shifted_component (/clang-12+0x312f514)
 #66 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #67 0x0000563159539a29 build_ast_from_schedule_node (/clang-12+0x3130a29)
 #68 0x0000563159539c5a build_ast_from_schedule_node (/clang-12+0x3130c5a)
 #69 0x000056315953a2ae generate_inner_level (/clang-12+0x31312ae)
 #70 0x0000563159538953 generate_next_level (/clang-12+0x312f953)
 #71 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #72 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #73 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #74 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #75 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #76 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #77 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #78 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #79 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #80 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #81 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #82 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #83 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #84 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #85 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #86 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #87 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #88 0x000056315953c46a generate_sorted_domains_wrap (/clang-12+0x313346a)
 #89 0x0000563159612fbb isl_basic_set_list_foreach_scc (/clang-12+0x3209fbb)
 #90 0x000056315953bdd5 generate_parallel_domains (/clang-12+0x3132dd5)
 #91 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #92 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
 #93 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
 #94 0x000056315953a413 create_node_scaled (/clang-12+0x3131413)
 #95 0x000056315953ba1e add_node (/clang-12+0x3132a1e)
 #96 0x000056315953bd23 generate_sorted_domains (/clang-12+0x3132d23)
 #97 0x000056315953be0e generate_parallel_domains (/clang-12+0x3132e0e)
 #98 0x000056315953bfc7 generate_shifted_component_tree_base
(/clang-12+0x3132fc7)
 #99 0x000056315953844d generate_shifted_component (/clang-12+0x312f44d)
#100 0x00005631595389a3 generate_next_level (/clang-12+0x312f9a3)
#101 0x0000563159539a29 build_ast_from_schedule_node (/clang-12+0x3130a29)
#102 0x0000563159539c5a build_ast_from_schedule_node (/clang-12+0x3130c5a)
#103 0x000056315953d2b7 isl_ast_build_node_from_schedule (/clang-12+0x31342b7)
#104 0x000056315946e97e polly::IslAst::init(polly::Dependences const&)
(/clang-12+0x306597e)
#105 0x000056315946eba1 polly::IslAst::create(polly::Scop&, polly::Dependences
const&) (/clang-12+0x3065ba1)
#106 0x000056315946fb87 polly::IslAstInfoWrapperPass::runOnScop(polly::Scop&)
(/clang-12+0x3066b87)
#107 0x00005631574884c9 llvm::RGPassManager::runOnFunction(llvm::Function&)
(/clang-12+0x107f4c9)
#108 0x0000563157bf5bc1 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/clang-12+0x17ecbc1)
#109 0x0000563157bf62b9 llvm::FPPassManager::runOnModule(llvm::Module&)
(/clang-12+0x17ed2b9)
#110 0x0000563157bf552c llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/clang-12+0x17ec52c)
#111 0x00005631585eb479 (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (/clang-12+0x21e2479)
#112 0x00005631585ed296 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (/clang-12+0x21e4296)
#113 0x000056315934bbe9
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(/clang-12+0x2f42be9)
#114 0x000056315a488af9 clang::ParseAST(clang::Sema&, bool, bool)
(/clang-12+0x407faf9)
#115 0x000056315934a778 clang::CodeGenAction::ExecuteAction()
(/clang-12+0x2f41778)
#116 0x0000563158c6ac19 clang::FrontendAction::Execute() (/clang-12+0x2861c19)
#117 0x0000563158c139fe
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/clang-12+0x280a9fe)
#118 0x0000563158d414c0
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/clang-12+0x29384c0)
#119 0x000056315700b237 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/clang-12+0xc02237)
#120 0x0000563157006668 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
(/clang-12+0xbfd668)
#121 0x0000563158ab3bb9 void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const::'lambda'()>(long) (/clang-12+0x26aabb9)
#122 0x0000563158276bfc
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(/clang-12+0x1e6dbfc)
#123 0x0000563158ab4854
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const (.part.0) (/clang-12+0x26ab854)
#124 0x0000563158a871cb
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const (/clang-12+0x267e1cb)
#125 0x0000563158a87cd7
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const
(/clang-12+0x267ecd7)
#126 0x0000563158a92ca9
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&)
(/clang-12+0x2689ca9)
#127 0x0000563156f786fd main (/clang-12+0xb6f6fd)
#128 0x00007f99f694e0b3 __libc_start_main
/build/glibc-ZN95T4/glibc-2.31/csu/../csu/libc-start.c:342:3
#129 0x00005631570061be _start (/clang-12+0xbfd1be)
clang-12: error: clang frontend command failed with exit code 134 (use -v to
see invocation)
clang version 12.0.0 (https://github.com/llvm/llvm-project.git
a5e4a513b0410c7ebafc7b8cc00903220536f555)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: 
clang-12: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-12: note: diagnostic msg: /tmp/func-72a2a3.cpp
clang-12: note: diagnostic msg: /tmp/func-72a2a3.sh
clang-12: note: diagnostic msg: 

********************

clang version 12.0.0 (https://github.com/llvm/llvm-project.git
a5e4a513b0410c7ebafc7b8cc00903220536f555)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201218/e89398bf/attachment-0001.html>


More information about the llvm-bugs mailing list