Closed 0e6f8740-1d2a-4afc-85fd-df25c3a603fd closed 2 years ago
mentioned in issue llvm/llvm-bugzilla-archive#23127
Move to Polly Product.
This works for me with r250518.
Bug llvm/llvm-bugzilla-archive#23127 has been marked as a duplicate of this bug.
The TODO in the assertion is supposed to tell people that polly vector code generation is not compatible with non-affine subregions yet. The latter is by default on, the former is not, thus with -polly -O3 this should not happen.
In case the polly vectorizer is requested specifically with -polly-vectorizer=polly (as is the case here) the non-affine subregion detection has to be disabled: -polly-allow-nonaffine-branches=false
I would suggest you close this bug and open a "ticket" to implement non-affine subregion support in the vector code generator.
This assert was introduced by commit:
commit 195f94f406dd53a34bc8138e41d3ce3c3c454d94 Author: Johannes Doerfert doerfert@cs.uni-saarland.de Date: Tue Feb 24 16:16:32 2015 +0000
Allow non-affine control flow -- Code Generation
This is the code generation for region statements that are created
when non-affine control flow was present in the input. A new
generator, similar to the block or vector generator, for regions is
used to traverse and copy the region statement and to adjust the
control flow inside the new region in the end.
git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@230340
Extended Description
Polly fails to build ffmpeg in recent llvm trunk
Assertion failed: (Stmt.isBlockStmt() && "TODO: Only block statements can be copied by " "the vector block generator"), function copyStmt, file CodeGen/BlockGenerators.cpp, line 651. 0 libLLVM-3.7svn.dylib 0x0000000108947704 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 57 1 libLLVM-3.7svn.dylib 0x0000000108947d52 SignalHandler(int) + 220 2 libsystem_c.dylib 0x00007fff9121b90a _sigtramp + 26 3 libsystem_c.dylib 0x00007fa91845fa28 _sigtramp + 2267300152 4 libLLVM-3.7svn.dylib 0x0000000108947bd5 abort + 22 5 libLLVM-3.7svn.dylib 0x0000000108947bbf abort + 0 6 LLVMPolly.dylib 0x000000010a420e74 polly::RegionGenerator::repairDominance(llvm::BasicBlock, llvm::BasicBlock, llvm::DenseMap<llvm::BasicBlock, llvm::BasicBlock, llvm::DenseMapInfo<llvm::BasicBlock>, llvm::detail::DenseMapPair<llvm::BasicBlock, llvm::BasicBlock> >&) + 0 7 LLVMPolly.dylib 0x000000010a428810 IslNodeBuilder::createUserVector(isl_ast_node, std::1::vector<llvm::Value*, std::1::allocator<llvm::Value> >&, isl_id, isl_union_map) + 328 8 LLVMPolly.dylib 0x000000010a428c4d IslNodeBuilder::createForVector(isl_ast_node, int) + 787 9 LLVMPolly.dylib 0x000000010a428ff3 IslNodeBuilder::createForSequential(isl_ast_node) + 759 10 LLVMPolly.dylib 0x000000010a42a265 IslNodeBuilder::createBlock(isl_ast_node) + 63 11 LLVMPolly.dylib 0x000000010a42aba4 (anonymous namespace)::IslCodeGeneration::runOnScop(polly::Scop&) + 528 12 LLVMPolly.dylib 0x000000010a419119 polly::ScopPass::runOnRegion(llvm::Region, llvm::RGPassManager&) + 47 13 libLLVM-3.7svn.dylib 0x0000000107f0b473 llvm::RGPassManager::runOnFunction(llvm::Function&) + 749 14 libLLVM-3.7svn.dylib 0x0000000108257175 llvm::FPPassManager::runOnFunction(llvm::Function&) + 297 15 libLLVM-3.7svn.dylib 0x0000000108256c6d llvm::legacy::FunctionPassManagerImpl::run(llvm::Function&) + 91 16 libLLVM-3.7svn.dylib 0x0000000108256ba2 llvm::legacy::FunctionPassManager::run(llvm::Function&) + 48 17 clang 0x000000010644600c clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module, clang::BackendAction, llvm::raw_ostream) + 6326 18 clang 0x0000000106542689 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 527 19 clang 0x00000001065b6b39 clang::ParseAST(clang::Sema&, bool, bool) + 384 20 clang 0x000000010654181b clang::CodeGenAction::ExecuteAction() + 519 21 clang 0x00000001063069d1 clang::FrontendAction::Execute() + 67 22 clang 0x00000001062e106b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 547 23 clang 0x00000001062b1587 clang::ExecuteCompilerInvocation(clang::CompilerInstance) + 3931 24 clang 0x00000001062a9cdc cc1_main(llvm::ArrayRef<char const>, char const, void*) + 940 25 clang 0x00000001062af8e2 main + 8117 26 libdyld.dylib 0x00007fff912177e1 start + 0 27 libdyld.dylib 0x000000000000006f start + 1860077710 Stack dump:
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang: note: diagnostic msg: /var/folders/yk/q1qsnnm53ms89plrqm9yrqc00000gn/T/avf_showcqt-b82350.c clang: note: diagnostic msg: /var/folders/yk/q1qsnnm53ms89plrqm9yrqc00000gn/T/avf_showcqt-b82350.sh clang: note: diagnostic msg:
make: *** [libavfilter/avf_showcqt.o] Error 254