[PATCH] D33362: [Polly][WIP]JSCoP Importer: support for multi-valued schedules

Mike via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 22 03:49:51 PDT 2017


Mike_Jongen added a comment.

When generating an AST of the new scop, I get an "unbounded optimum" error.

This is the error I get:

> /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:706: unbounded optimum
>  #0 0x00007f642f3a810d llvm::sys::PrintStackTrace(llvm::raw_ostream&) /home/s113026/llvm/lib/Support/Unix/Signals.inc:398:0
>  #1 0x00007f642f3a819e PrintStackTraceSignalHandler(void*) /home/s113026/llvm/lib/Support/Unix/Signals.inc:462:0
>  #2 0x00007f642f3a65e4 llvm::sys::RunSignalHandlers() /home/s113026/llvm/lib/Support/Signals.cpp:49:0
>  #3 0x00007f642f3a7aa5 SignalHandler(int) /home/s113026/llvm/lib/Support/Unix/Signals.inc:252:0
>  #4 0x00007f642d6a2cb0 (/lib/x86_64-linux-gnu/libc.so.6+0x36cb0)
>  #5 0x00007f642d6a2c37 gsignal /build/eglibc-SvCtMH/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
>  #6 0x00007f642d6a6028 abort /build/eglibc-SvCtMH/eglibc-2.19/stdlib/abort.c:91:0
>  #7 0x00007f642aff0980 isl_handle_error /home/s113026/llvm/tools/polly/lib/External/isl/isl_ctx.c:101:0
>  #8 0x00007f642b0b846d sol_add /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:705:0
>  #9 0x00007f642b0c0c5f find_solutions /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:4114:0
>  #10 0x00007f642b0c100f find_solutions_main /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:4216:0
>  #11 0x00007f642b0c150f basic_map_partial_lexopt_base_sol /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:4349:0
>  #12 0x00007f642b0c4363 basic_map_partial_lexopt_base_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:5580:0
>  #13 0x00007f642b0c5083 basic_map_partial_lexopt_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_lexopt_templ.c:159:0
>  #14 0x00007f642b0c5216 isl_tab_basic_map_partial_lexopt_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_tab_lexopt_templ.c:225:0
>  #15 0x00007f642b02b43a isl_basic_map_partial_lexopt_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:37:0
>  #16 0x00007f642b02b538 basic_map_partial_lexopt_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:95:0
>  #17 0x00007f642b02b9e0 isl_map_partial_lexopt_aligned_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_map.c:6644:0
>  #18 0x00007f642b02b8b5 isl_map_lexopt_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:209:0
>  #19 0x00007f642b02b8d4 isl_map_lexmin_pw_multi_aff /home/s113026/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:214:0
>  #20 0x00007f642afca960 exact_bound /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:475:0
>  #21 0x00007f642afcabc6 lower_bounds /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:588:0
>  #22 0x00007f642afcb9b1 refine_generic_bounds /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1179:0
>  #23 0x00007f642afcbcb8 refine_generic_split /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1288:0
>  #24 0x00007f642afcbd16 refine_generic /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1313:0
>  #25 0x00007f642afcc1ef create_node_scaled /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1521:0
>  #26 0x00007f642afcc4e8 create_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1677:0
>  #27 0x00007f642afcc9ae add_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1812:0
>  #28 0x00007f642afcd083 generate_sorted_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2039:0
>  #29 0x00007f642afcd2d9 generate_parallel_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2153:0
>  #30 0x00007f642afcef0c generate_shifted_component_tree_base /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3330:0
>  #31 0x00007f642afcf45b generate_shifted_component_tree /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3552:0
>  #32 0x00007f642afcf81c generate_shifted_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3616:0
>  #33 0x00007f642afd14cc generate_next_level /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4763:0
>  #34 0x00007f642afcc07f create_node_scaled /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1495:0
>  #35 0x00007f642afcc4e8 create_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1677:0
>  #36 0x00007f642afcc9ae add_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1812:0
>  #37 0x00007f642afcd083 generate_sorted_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2039:0
>  #38 0x00007f642afcd2d9 generate_parallel_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2153:0
>  #39 0x00007f642afcef0c generate_shifted_component_tree_base /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3330:0
>  #40 0x00007f642afcf45b generate_shifted_component_tree /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3552:0
>  #41 0x00007f642afcf81c generate_shifted_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3616:0
>  #42 0x00007f642afd14cc generate_next_level /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4763:0
>  #43 0x00007f642afcc07f create_node_scaled /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1495:0
>  #44 0x00007f642afcc4e8 create_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1677:0
>  #45 0x00007f642afcc9ae add_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1812:0
>  #46 0x00007f642afcd083 generate_sorted_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2039:0
>  #47 0x00007f642afcd2d9 generate_parallel_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2153:0
>  #48 0x00007f642afcef0c generate_shifted_component_tree_base /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3330:0
>  #49 0x00007f642afcf45b generate_shifted_component_tree /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3552:0
>  #50 0x00007f642afcf81c generate_shifted_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3616:0
>  #51 0x00007f642afd14cc generate_next_level /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4763:0
>  #52 0x00007f642afcc07f create_node_scaled /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1495:0
>  #53 0x00007f642afcc4e8 create_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1677:0
>  #54 0x00007f642afcc9ae add_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1812:0
>  #55 0x00007f642afcd083 generate_sorted_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2039:0
>  #56 0x00007f642afcd2d9 generate_parallel_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2153:0
>  #57 0x00007f642afcef0c generate_shifted_component_tree_base /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3330:0
>  #58 0x00007f642afcf45b generate_shifted_component_tree /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3552:0
>  #59 0x00007f642afcf81c generate_shifted_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3616:0
>  #60 0x00007f642afcf928 generate_shifted_component_from_list /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3662:0
>  #61 0x00007f642afd0282 generate_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4116:0
>  #62 0x00007f642afd132d generate_components /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4707:0
>  #63 0x00007f642afd14e1 generate_next_level /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4765:0
>  #64 0x00007f642afcc07f create_node_scaled /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1495:0
>  #65 0x00007f642afcc4e8 create_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1677:0
>  #66 0x00007f642afcc9ae add_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1812:0
>  #67 0x00007f642afcd083 generate_sorted_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2039:0
>  #68 0x00007f642afcd2d9 generate_parallel_domains /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2153:0
>  #69 0x00007f642afcef0c generate_shifted_component_tree_base /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3330:0
>  #70 0x00007f642afcf45b generate_shifted_component_tree /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3552:0
>  #71 0x00007f642afcf81c generate_shifted_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3616:0
>  #72 0x00007f642afcf928 generate_shifted_component_from_list /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3662:0
>  #73 0x00007f642afd059d generate_component /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4174:0
>  #74 0x00007f642afd132d generate_components /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4707:0
>  #75 0x00007f642afd14e1 generate_next_level /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4765:0
>  #76 0x00007f642afd1c68 build_ast_from_band /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5111:0
>  #77 0x00007f642afd29a4 build_ast_from_schedule_node /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5604:0
>  #78 0x00007f642afd2b34 build_ast_from_child /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5651:0
>  #79 0x00007f642afd2c92 build_ast_from_domain /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5705:0
>  #80 0x00007f642afd2dae isl_ast_build_node_from_schedule /home/s113026/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5746:0
>  #81 0x00007f6432866611 polly::IslAst::init(polly::Dependences const&) /home/s113026/llvm/tools/polly/lib/CodeGen/IslAst.cpp:446:0
>  #82 0x00007f6432866662 polly::IslAst::create(polly::Scop&, polly::Dependences const&) /home/s113026/llvm/tools/polly/lib/CodeGen/IslAst.cpp:454:0
>  #83 0x00007f64328675e0 polly::IslAstInfo::IslAstInfo(polly::Scop&, polly::Dependences const&) /home/s113026/llvm/tools/polly/include/polly/CodeGen/IslAst.h:125:0
>  #84 0x00007f6432866f2a polly::IslAstInfoWrapperPass::runOnScop(polly::Scop&) /home/s113026/llvm/tools/polly/lib/CodeGen/IslAst.cpp:630:0
>  #85 0x00007f643283effe polly::ScopPass::runOnRegion(llvm::Region*, llvm::RGPassManager&) /home/s113026/llvm/tools/polly/lib/Analysis/ScopPass.cpp:29:0
>  #86 0x00007f6431ebb9c2 llvm::RGPassManager::runOnFunction(llvm::Function&) /home/s113026/llvm/lib/Analysis/RegionPass.cpp:98:0
>  #87 0x00007f6431337f10 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/s113026/llvm/lib/IR/LegacyPassManager.cpp:1519:0
>  #88 0x00007f64313380a3 llvm::FPPassManager::runOnModule(llvm::Module&) /home/s113026/llvm/lib/IR/LegacyPassManager.cpp:1540:0
>  #89 0x00007f643133843e (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/s113026/llvm/lib/IR/LegacyPassManager.cpp:1596:0
>  #90 0x00007f6431338b8e llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/s113026/llvm/lib/IR/LegacyPassManager.cpp:1699:0
>  #91 0x00007f6431338dcf llvm::legacy::PassManager::run(llvm::Module&) /home/s113026/llvm/lib/IR/LegacyPassManager.cpp:1731:0
>  #92 0x0000000000484f1c (opt+0x484f1c)
>  #93 0x00007f642d68df45 __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:321:0
>  #94 0x00000000004688d9 (opt+0x4688d9)
>  Stack dump:
>  0.      Program arguments: opt double_convolution_1d_fixed.preopt.ll -basicaa -polly-import-jscop -polly-import-jscop-postfix=fused2 -polly-ast -analyze -disable-polly-legality -polly-process-unprofitable
> 
> 1. Running pass 'Function Pass Manager' on module 'double_convolution_1d_fixed.preopt.ll'.
> 2. Running pass 'Region Pass Manager' on function '@double_convolution'
> 3. Running pass 'Polly - Generate an AST from the SCoP (isl)' on basic block '%for.cond1.preheader' Aborted

I am not sure what exactly causes this error. Are there some limitations on the schedule that might not hold for the new schedule, which might cause this error? Or are there other common mistakes that can cause this error?

The error can be reproduced by using the tests and adding -polly-process-unprofitable.


https://reviews.llvm.org/D33362





More information about the llvm-commits mailing list