llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.02k stars 11.96k forks source link

[polly] Assert in lib/Analysis/ScopInfo.cpp:3952 caused by trunk@261866 #27409

Closed llvmbot closed 8 years ago

llvmbot commented 8 years ago
Bugzilla Link 27035
Resolution FIXED
Resolved on Mar 24, 2016 08:51
Version unspecified
OS Windows NT
Attachments reduced testcase
Reporter LLVM Bugzilla Contributor
CC @tobiasgrosser

Extended Description

The trackback: AAA PollyUseRuntimeAliasChecks=1opt: /prj/llvm-arm/home/lawrence/llvmtrunk_latest/src/llvm/tools/polly/lib/Analysis/ScopInfo.cpp:3952: bool polly::ScopInfo::buildAccessMemIntrinsic(polly::MemAccInst, llvm::Loop , llvm::Region , const ScopDetection::BoxedLoopsSetTy *, const InvariantLoadsSetTy &): Assertion `DestPtrSCEV' failed.

​0 0x00000000010b83c8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0x10b83c8)

​1 0x00000000010b68d6 llvm::sys::RunSignalHandlers() (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0x10b68d6)

​2 0x00000000010b8be9 SignalHandler(int) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0x10b8be9)

​3 0x00007f3ca7536cb0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0xfcb0)

​4 0x00007f3ca68780d5 gsignal /build/eglibc-rrybNj/eglibc-2.15/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:64:0

​5 0x00007f3ca687b83b abort /build/eglibc-rrybNj/eglibc-2.15/stdlib/abort.c:93:0

​6 0x00007f3ca6870d9e __assert_fail_base /build/eglibc-rrybNj/eglibc-2.15/assert/assert.c:55:0

​7 0x00007f3ca6870e42 (/lib/x86_64-linux-gnu/libc.so.6+0x2ee42)

​8 0x00007f3ca640127c polly::ScopInfo::buildAccessMemIntrinsic(polly::MemAccInst, llvm::Loop, llvm::Region, llvm::SetVector<llvm::Loop const, std::__1::vector<llvm::Loop const, std::1::allocator<llvm::Loop const> >, llvm::DenseSet<llvm::Loop const, llvm::DenseMapInfo<llvm::Loop const> > > const, llvm::SetVector<llvm::AssertingVH, std::1::vector<llvm::AssertingVH, std::__1::allocator<llvm::AssertingVH > >, llvm::DenseSet<llvm::AssertingVH, llvm::DenseMapInfo<llvm::AssertingVH > > > const&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/lib/LLVMPolly.so+0x7c27c)

​9 0x00007f3ca6401e83 polly::ScopInfo::buildMemoryAccess(polly::MemAccInst, llvm::Loop, llvm::Region, llvm::SetVector<llvm::Loop const, std::__1::vector<llvm::Loop const, std::1::allocator<llvm::Loop const> >, llvm::DenseSet<llvm::Loop const, llvm::DenseMapInfo<llvm::Loop const> > > const, llvm::SetVector<llvm::AssertingVH, std::1::vector<llvm::AssertingVH, std::1::allocator<llvm::AssertingVH > >, llvm::DenseSet<llvm::AssertingVH, llvm::DenseMapInfo<llvm::AssertingVH > > > const&, std::1::map<llvm::Instruction const, polly::MemAcc, std::__1::less<llvm::Instruction const>, std::1::allocator<std::1::pair<llvm::Instruction const* const, polly::MemAcc> > > const&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/lib/LLVMPolly.so+0x7ce83)

​10 0x00007f3ca640270d polly::ScopInfo::buildAccessFunctions(llvm::Region&, llvm::BasicBlock&, std::1::map<llvm::Instruction const*, polly::MemAcc, std::1::less<llvm::Instruction const>, std::1::allocator<std::1::pair<llvm::Instruction const const, polly::MemAcc> > > const&, llvm::Region*, bool) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/lib/LLVMPolly.so+0x7d70d)

​11 0x00007f3ca640224a polly::ScopInfo::buildAccessFunctions(llvm::Region&, llvm::Region&, std::1::map<llvm::Instruction const*, polly::MemAcc, std::1::less<llvm::Instruction const>, std::1::allocator<std::1::pair<llvm::Instruction const const, polly::MemAcc> > > const&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/lib/LLVMPolly.so+0x7d24a)

​12 0x00007f3ca64034dc polly::ScopInfo::buildScop(llvm::Region&, llvm::AssumptionCache&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/lib/LLVMPolly.so+0x7e4dc)

​13 0x00007f3ca6403e17 polly::ScopInfo::runOnRegion(llvm::Region*, llvm::RGPassManager&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/lib/LLVMPolly.so+0x7ee17)

​14 0x000000000094d0b9 llvm::RGPassManager::runOnFunction(llvm::Function&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0x94d0b9)

​15 0x0000000000ce5b9d llvm::FPPassManager::runOnFunction(llvm::Function&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0xce5b9d)

​16 0x0000000000ce5deb llvm::FPPassManager::runOnModule(llvm::Module&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0xce5deb)

​17 0x0000000000ce6392 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0xce6392)

​18 0x00000000005b2b7b main (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0x5b2b7b)

​19 0x00007f3ca686376d __libc_start_main /build/eglibc-rrybNj/eglibc-2.15/csu/libc-start.c:258:0

​20 0x00000000005a337d _start (/prj/llvm-arm/home/lawrence/llvmtrunk_latest/build_release/llvm/bin/opt+0x5a337d)

Command to reproduce: bin/opt -load your_LLVMPolly.so -polly-process-unprofitable -polly-scops -debug-only=polly-scops -polly-detect-track-failures=false -S bugpoint-reduced-simplified.ll

This is caused by following patch: commit c674474a8e1dcafc63f860722328234c29eaeb06 Author: Johannes Doerfert doerfert@cs.uni-saarland.de Date: Thu Feb 25 14:08:48 2016 +0000

Support calls with known ModRef function behaviour

  Check the ModRefBehaviour of functions in order to decide whether or
  not a call instruction might be acceptable.

Differential Revision: http://reviews.llvm.org/D5227

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@261866 91177308-0d34-0410-b5e6-96231b3b80d8

Today's latest trunk still have the same issue.

jdoerfert commented 8 years ago

Fixed in r264284. Thanks for the test case!

tobiasgrosser commented 8 years ago

As this feature is rather new, I temporarily disabled it as a quick solution.

https://llvm.org/svn/llvm-project/polly/trunk@264140

We can enable it again when this bug has been addressed.

jdoerfert commented 8 years ago

I will.

llvmbot commented 8 years ago

Hi, Johannes, assigned to you because caused by your patch, could you please take a look? thx.

llvmbot commented 8 years ago

assigned to @jdoerfert