llvm / llvm-project

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

Polly fails with UNREACHABLE executed at tools/polly/lib/CodeGeneration.cpp:797! #12651

Closed fa778132-f3d5-4559-b45d-fa683057d467 closed 8 years ago

fa778132-f3d5-4559-b45d-fa683057d467 commented 12 years ago
Bugzilla Link 12279
Resolution FIXED
Resolved on Jan 18, 2016 17:01
Version unspecified
OS Linux
Attachments bug bytecode
CC @tobiasgrosser

Extended Description

to reproduce:

$ opt -std-compile-opts -O3 -load LLVMPolly.so -polly -enable-polly-vector foo.bc -disable-output { [i0] -> [o0, i0] : exists (e0 = [(o0)/4]: 4e0 = o0 and o0 <= i0 and o0 >= -3 + i0) } Cannot issue vector code for this instruction UNREACHABLE executed at /prj/dsp/austin/llvm/test/users/spop/build/arm/llvm-mainline-2b97238-clang-mainline-8f0d54d-polly-master-bd263d8/tools/polly/lib/CodeGeneration.cpp:797! 0 opt 0x0000000000bf1611 1 opt 0x0000000000bf1404 2 libpthread.so.0 0x00002aaeb87a6e00 3 libc.so.6 0x00002aaeb8e63f45 gsignal + 53 4 libc.so.6 0x00002aaeb8e65340 abort + 272 5 opt 0x0000000000bdaf35 6 LLVMPolly.so 0x00002aaeb91070d0 polly::VectorBlockGenerator::copyInstruction(llvm::Instruction const, llvm::DenseMap<llvm::Value const, llvm::Value, llvm::DenseMapInfo<llvm::Value const>, llvm::DenseMapInfo<llvm::Value> >&, std::vector<llvm::DenseMap<llvm::Value const, llvm::Value, llvm::DenseMapInfo<llvm::Value const>, llvm::DenseMapInfo<llvm::Value> >, std::allocator<llvm::DenseMap<llvm::Value const, llvm::Value, llvm::DenseMapInfo<llvm::Value const>, llvm::DenseMapInfo<llvm::Value> > > >&) + 322 7 LLVMPolly.so 0x00002aaeb910735f polly::VectorBlockGenerator::copyBB() + 533 8 LLVMPolly.so 0x00002aaeb910efa3 9 LLVMPolly.so 0x00002aaeb9108281 polly::ClastStmtCodeGen::codegen(clast_user_stmt const, std::vector<llvm::Value, std::allocator<llvm::Value> >, char const, isl_set) + 603 10 LLVMPolly.so 0x00002aaeb9109e62 polly::ClastStmtCodeGen::codegenForVector(clast_for const) + 778 11 LLVMPolly.so 0x00002aaeb9109faa polly::ClastStmtCodeGen::codegen(clast_for const) + 218 12 LLVMPolly.so 0x00002aaeb910a60e polly::ClastStmtCodeGen::codegen(clast_stmt const) + 244 13 LLVMPolly.so 0x00002aaeb91084d0 polly::ClastStmtCodeGen::codegenForSequential(clast_for const, llvm::Value, llvm::Value) + 514 14 LLVMPolly.so 0x00002aaeb910a076 polly::ClastStmtCodeGen::codegen(clast_for const) + 422 15 LLVMPolly.so 0x00002aaeb910a60e polly::ClastStmtCodeGen::codegen(clast_stmt const) + 244 16 LLVMPolly.so 0x00002aaeb910a88f polly::ClastStmtCodeGen::codegen(clast_root const) + 159 17 LLVMPolly.so 0x00002aaeb910b61d 18 LLVMPolly.so 0x00002aaeb915952e polly::ScopPass::runOnRegion(llvm::Region*, llvm::RGPassManager&) + 114 19 opt 0x0000000000992c0c llvm::RGPassManager::runOnFunction(llvm::Function&) + 922 20 opt 0x0000000000b7c33e llvm::FPPassManager::runOnFunction(llvm::Function&) + 432 21 opt 0x0000000000b7c030 llvm::FunctionPassManagerImpl::run(llvm::Function&) + 94 22 opt 0x0000000000b7bcdb llvm::FunctionPassManager::run(llvm::Function&) + 175 23 opt 0x0000000000640a33 main + 4242 24 libc.so.6 0x00002aaeb8e51304 __libc_start_main + 244 25 opt 0x0000000000631b69 Stack dump:

  1. Program arguments: opt -std-compile-opts -O3 -load LLVMPolly.so -polly -enable-polly-vector foo.bc -disable-output
  2. Running pass 'Region Pass Manager' on function '@compute_row_addresses'
  3. Running pass 'Polly - Create LLVM-IR from SCoPs' on basic block '%for.body' Aborted
tlattner commented 8 years ago

Move to Polly Product.

tobiasgrosser commented 12 years ago

Fixed in 154586