LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 30989 - [polly] Assertion `Result.isValid() && "Requested parameters for an invalid SCEV!"' failed.
Summary: [polly] Assertion `Result.isValid() && "Requested parameters for an invalid S...
Status: RESOLVED FIXED
Alias: None
Product: Polly
Classification: Unclassified
Component: Optimizer (show other bugs)
Version: unspecified
Hardware: PC Linux
: P normal
Assignee: Polly Development Mailinglist
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-11 16:08 PST by Eli Friedman
Modified: 2016-11-13 13:32 PST (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eli Friedman 2016-11-11 16:08:17 PST
Testcase (opt -polly-scops -polly-process-unprofitable):

target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64--linux-android"

define void @f(i16 %event) {
entry:
  br label %while.body.i

while.body.i:
  %length.addr.012.i = phi i8 [ 0, %entry ], [ %dec.i558, %while.body.i ]
  %dec.i558 = add i8 %length.addr.012.i, -1
  %cmp21.i = icmp eq i8 %dec.i558, 0
  br i1 false, label %if.end35.i, label %while.body.i

if.end35.i:
  br i1 %cmp21.i, label %if.end45.i, label %if.then39.i

if.then39.i:
  br label %if.end45.i

if.end45.i:
  unreachable
}

Stack trace:

opt: [src]/llvm/tools/polly/lib/Support/SCEVValidator.cpp:573: ParameterSetTy polly::getParamsInAffineExpr(const llvm::Region *, llvm::Loop *, const llvm::SCEV *, llvm::ScalarEvolution &): Assertion `Result.isValid() && "Requested parameters for an invalid SCEV!"' failed.
#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 0x00007f80623a3330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#5 0x00007f8060d94c37 gsignal /build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#6 0x00007f8060d98028 abort /build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0
#7 0x00007f8060d8dbf6 __assert_fail_base /build/eglibc-oGUzwX/eglibc-2.19/assert/assert.c:92:0
#8 0x00007f8060d8dca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2)
#9 0x0000000002f1811c polly::getParamsInAffineExpr(llvm::Region const*, llvm::Loop*, llvm::SCEV const*, llvm::ScalarEvolution&) [src]/llvm/tools/polly/lib/Support/SCEVValidator.cpp:573:3
#10 0x0000000002f135cb polly::SCEVAffinator::getPwAff(llvm::SCEV const*, llvm::BasicBlock*) [src]/llvm/tools/polly/lib/Support/SCEVAffinator.cpp:144:3
#11 0x0000000002e9c5ab polly::Scop::getPwAff(llvm::SCEV const*, llvm::BasicBlock*, bool) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:3920:15
#12 0x0000000002e9cf15 polly::ScopStmt::getPwAff(llvm::SCEV const*, bool) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:1102:17
#13 0x0000000002ea24b6 buildConditionSets(polly::ScopStmt&, llvm::Value*, llvm::TerminatorInst*, llvm::Loop*, isl_set*, llvm::SmallVectorImpl<isl_set*>&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:1383:11
#14 0x0000000002ea5dd7 buildConditionSets(polly::ScopStmt&, llvm::TerminatorInst*, llvm::Loop*, isl_set*, llvm::SmallVectorImpl<isl_set*>&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:1444:3
#15 0x0000000002ea422d polly::Scop::buildDomainsWithBranchConstraints(llvm::Region*, llvm::DominatorTree&, llvm::LoopInfo&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:2573:14
#16 0x0000000002ea3e48 polly::Scop::buildDomainsWithBranchConstraints(llvm::Region*, llvm::DominatorTree&, llvm::LoopInfo&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:2530:13
#17 0x0000000002ea38b7 polly::Scop::buildDomains(llvm::Region*, llvm::DominatorTree&, llvm::LoopInfo&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:2290:7
#18 0x0000000002ea92d9 polly::Scop::init(llvm::AAResults&, llvm::AssumptionCache&, llvm::DominatorTree&, llvm::LoopInfo&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:3121:7
#19 0x0000000002ee718d polly::ScopBuilder::buildScop(llvm::Region&, llvm::AssumptionCache&) [src]/llvm/tools/polly/lib/Analysis/ScopBuilder.cpp:667:1
#20 0x0000000002ee745b polly::ScopBuilder::ScopBuilder(llvm::Region*, llvm::AssumptionCache&, llvm::AAResults&, llvm::DataLayout const&, llvm::DominatorTree&, llvm::LoopInfo&, polly::ScopDetection&, llvm::ScalarEvolution&) [src]/llvm/tools/polly/lib/Analysis/ScopBuilder.cpp:681:3
#21 0x0000000002eb1927 polly::ScopInfoRegionPass::runOnRegion(llvm::Region*, llvm::RGPassManager&) [src]/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:4342:15
#22 0x0000000001b22441 llvm::RGPassManager::runOnFunction(llvm::Function&) [src]/llvm/lib/Analysis/RegionPass.cpp:97:20
#23 0x000000000226e4bf llvm::FPPassManager::runOnFunction(llvm::Function&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1509:23
#24 0x000000000226e7d5 llvm::FPPassManager::runOnModule(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1530:16
#25 0x000000000226f3f3 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1586:23
#26 0x000000000226ea96 llvm::legacy::PassManagerImpl::run(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1689:16
#27 0x000000000226fef1 llvm::legacy::PassManager::run(llvm::Module&) [src]/llvm/lib/IR/LegacyPassManager.cpp:1720:3
#28 0x00000000008bbfb6 main [src]/llvm/tools/opt/opt.cpp:723:3
#29 0x00007f8060d7ff45 __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:321:0
#30 0x00000000008928d4 _start ([bin]/bin/opt+0x8928d4)
Stack dump:
0.      Program arguments: [bin]/bin/opt -polly-scops -polly-process-unprofitable cet4t-reduced.ll
1.      Running pass 'Function Pass Manager' on module 'cet4t-reduced.ll'.
2.      Running pass 'Region Pass Manager' on function '@f'
3.      Running pass 'Polly - Create polyhedral description of Scops' on basic block '%while.body.i'
Aborted
Comment 1 Tobias Grosser 2016-11-13 13:32:57 PST
Resolved in r286769.