Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[polly] isl_tab_pip.c:508: unbounded optimum #30304

Closed
efriedma-quic opened this issue Nov 9, 2016 · 1 comment
Closed

[polly] isl_tab_pip.c:508: unbounded optimum #30304

efriedma-quic opened this issue Nov 9, 2016 · 1 comment
Labels
bugzilla Issues migrated from bugzilla polly

Comments

@efriedma-quic
Copy link
Collaborator

Bugzilla Link 30956
Resolution FIXED
Resolved on Nov 10, 2016 03:40
Version unspecified
OS Linux
CC @tobiasgrosser

Extended Description

Testcase (reproduce with opt -polly-process-unprofitable -polly-ast):

target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "thumbv7--linux-android"

define void @​f(i8* %p, i32 %fs) {
entry:
%shr8.i320 = ashr i32 undef, 25
%mul.i321 = shl nsw i32 %shr8.i320, 1
%conv39 = trunc i32 %mul.i321 to i8
%conv2.i446 = and i32 %mul.i321, 254
%cmp236.i.i449 = icmp eq i8 %conv39, 0
br label %if.end67

if.end67:
%arrayidx69 = getelementptr inbounds i8, i8* %p, i32 0
br i1 %cmp236.i.i449, label %exit, label %for.body.i596.preheader

for.body.i596.preheader:
br label %for.body.i596

for.body.i596:
%i.016.i586 = phi i32 [ %inc.i594, %for.body.i596 ], [ 1, %for.body.i596.preheader ]
%arrayidx7.i593 = getelementptr inbounds i8, i8* %arrayidx69, i32 %i.016.i586
store i8 undef, i8* %arrayidx7.i593, align 1
%inc.i594 = add nuw nsw i32 %i.016.i586, 1
%exitcond.i595 = icmp eq i32 %i.016.i586, %conv2.i446
br i1 %exitcond.i595, label %loopexit, label %for.body.i596

loopexit:
br label %exit

exit:
ret void
}

Stack trace:
[src]/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:508: unbounded optimum
#​0 0x0000000002a7315c llvm::sys::PrintStackTrace(llvm::raw_ostream&) [src]/llvm/lib/Support/Unix/Signals.inc:402:11
#​1 0x0000000002a736b9 PrintStackTraceSignalHandler(void*) [src]/llvm/lib/Support/Unix/Signals.inc:466:1
#​2 0x0000000002a705c7 llvm::sys::RunSignalHandlers() [src]/llvm/lib/Support/Signals.cpp:45:5
#​3 0x0000000002a73a40 SignalHandler(int) [src]/llvm/lib/Support/Unix/Signals.inc:256:1
#​4 0x00007fe396b21330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#​5 0x00007fe395512c37 gsignal /build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#​6 0x00007fe395516028 abort /build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0
#​7 0x0000000003776de5 isl_handle_error [src]/llvm/tools/polly/lib/External/isl/isl_ctx.c:107:1
#​8 0x0000000003841451 sol_add [src]/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:507:5
#​9 0x0000000003840ec3 find_solutions [src]/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:3976:15
#​10 0x0000000003840568 find_solutions_main [src]/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:4078:34
#​11 0x000000000383fec7 basic_map_partial_lexopt_base_sol [src]/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:4204:3
#​12 0x0000000003845cba basic_map_partial_lexopt_base_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_tab_pip.c:5516:6
#​13 0x000000000383c045 basic_map_partial_lexopt_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_tab_lexopt_templ.c:159:3
#​14 0x000000000383bf8a isl_tab_basic_map_partial_lexopt_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_tab_lexopt_templ.c:225:2
#​15 0x00000000037a497b isl_basic_map_partial_lexopt_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:35:2
#​16 0x00000000037b58cd basic_map_partial_lexopt_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:95:3
#​17 0x00000000037a4ba0 isl_map_partial_lexopt_aligned_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_map.c:6204:6
#​18 0x00000000037a4ac0 isl_map_lexopt_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:204:2
#​19 0x00000000037a4d17 isl_map_lexmin_pw_multi_aff [src]/llvm/tools/polly/lib/External/isl/isl_map_lexopt_templ.c:210:2
#​20 0x000000000375b53e exact_bound [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:475:7
#​21 0x000000000375af14 lower_bounds [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:588:6
#​22 0x000000000375ac8b refine_generic_bounds [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1179:8
#​23 0x000000000375aac2 refine_generic_split [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1287:2
#​24 0x000000000375a8b2 refine_generic [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1313:8
#​25 0x000000000375a3b5 create_node_scaled [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1521:10
#​26 0x0000000003759d6e create_node [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1677:3
#​27 0x0000000003759c52 add_node [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1812:8
#​28 0x000000000375c595 add_nodes [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:1965:16
#​29 0x000000000381f0b6 isl_basic_set_list_call_on_scc [src]/llvm/tools/polly/lib/External/isl/isl_list_templ.c:382:2
#​30 0x000000000381ef66 isl_basic_set_list_foreach_scc [src]/llvm/tools/polly/lib/External/isl/isl_list_templ.c:436:23
#​31 0x000000000375c219 generate_sorted_domains [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2048:25
#​32 0x000000000375c351 generate_sorted_domains_wrap [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2109:7
#​33 0x000000000381f0b6 isl_basic_set_list_call_on_scc [src]/llvm/tools/polly/lib/External/isl/isl_list_templ.c:382:2
#​34 0x000000000381ef66 isl_basic_set_list_foreach_scc [src]/llvm/tools/polly/lib/External/isl/isl_list_templ.c:436:23
#​35 0x0000000003758dc1 generate_parallel_domains [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:2162:17
#​36 0x00000000037587fd generate_shifted_component_tree_base [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3330:7
#​37 0x0000000003758261 generate_shifted_component_tree [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3552:3
#​38 0x00000000037567cf generate_shifted_component [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:3616:3
#​39 0x00000000037565f8 generate_next_level [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:4763:3
#​40 0x000000000375717f build_ast_from_band [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5111:9
#​41 0x0000000003756ea1 build_ast_from_schedule_node [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5604:3
#​42 0x0000000003756b56 build_ast_from_child [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5650:2
#​43 0x000000000375619e build_ast_from_domain [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5705:7
#​44 0x0000000003756036 isl_ast_build_node_from_schedule [src]/llvm/tools/polly/lib/External/isl/isl_ast_codegen.c:5746:2
#​45 0x0000000002ef353e polly::IslAst::init(polly::Dependences const&) [src]/llvm/tools/polly/lib/CodeGen/IslAst.cpp:438:8
#​46 0x0000000002ef3a74 polly::IslAst::create(polly::Scop*, polly::Dependences const&) [src]/llvm/tools/polly/lib/CodeGen/IslAst.cpp:446:10
#​47 0x0000000002ef3bef polly::IslAstInfo::runOnScop(polly::Scop&) [src]/llvm/tools/polly/lib/CodeGen/IslAst.cpp:475:7
#​48 0x0000000002ef2b00 polly::ScopPass::runOnRegion(llvm::Region*, llvm::RGPassManager&) [src]/llvm/tools/polly/lib/Analysis/ScopPass.cpp:24:5
#​49 0x0000000001b22441 llvm::RGPassManager::runOnFunction(llvm::Function&) [src]/llvm/lib/Analysis/RegionPass.cpp:97:20
#​50 0x000000000226e4bf llvm::FPPassManager::runOnFunction(llvm::Function&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1509:23
#​51 0x000000000226e7d5 llvm::FPPassManager::runOnModule(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1530:16
#​52 0x000000000226f3f3 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1586:23
#​53 0x000000000226ea96 llvm::legacy::PassManagerImpl::run(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1689:16
#​54 0x000000000226fef1 llvm::legacy::PassManager::run(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1720:3
#​55 0x00000000008bbfb6 main [src]/llvm/tools/opt/opt.cpp:723:3
#​56 0x00007fe3954fdf45 __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:321:0
#​57 0x00000000008928d4 _start ([bin]/bin/opt+0x8928d4)
Stack dump:
0. Program arguments: [bin]/bin/opt -polly-process-unprofitable -polly-ast sbrdec-reduced.ll -o /dev/null

  1.  Running pass 'Function Pass Manager' on module 'sbrdec-reduced.ll'.
    
  2.  Running pass 'Region Pass Manager' on function '@f'
    
  3.  Running pass 'Polly - Generate an AST from the SCoP (isl)' on basic block '%if.end67'
    

Aborted

@tobiasgrosser
Copy link
Contributor

This has been resolved in r286442.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla polly
Projects
None yet
Development

No branches or pull requests

2 participants