[polly] r211957 - Allow multiple reductions per statement
Tobias Grosser
tobias at grosser.es
Sun Jun 29 04:23:06 PDT 2014
On 27/06/2014 22:31, Johannes Doerfert wrote:
> Author: jdoerfert
> Date: Fri Jun 27 15:31:28 2014
> New Revision: 211957
>
> URL: http://llvm.org/viewvc/llvm-project?rev=211957&view=rev
> Log:
> Allow multiple reductions per statement
>
> Iterate over all store memory accesses and check for valid binary reduction
> candidate loads by following the operands of the stored value. For each
> candidate pair we check if they have the same base address and there are no
> other accesses which may overlap with them. This ensures that no intermediate
> value can escape into other memory locations or is overwritten at some point.
>
> + 17 test cases for reduction detection and reduction dependency modeling
Hi Johannes,
I believe this change broke our LLVM nightly test runs:
http://lab.llvm.org:8011/builders/polly-perf-O3-polly/builds/885
The compilation of 'clamscan' fails.
Here the stack trace produced:
0 llvm::sys::PrintStackTrace(_IO_FILE*) + 34
1
2
3 polly::MemoryAccess::getAccessRelation() const + 0
4 polly::ScopStmt::checkForReductions() + 403
5 polly::ScopStmt::ScopStmt(polly::Scop&, polly::TempScop&,
llvm::Region const&, llvm::BasicBlock&,
llvm::SmallVectorImpl<llvm::Loop*>&, llvm::SmallVectorImpl<unsigned
int>&) + 1159
6 polly::Scop::buildScop(polly::TempScop&, llvm::Region const&,
llvm::SmallVectorImpl<llvm::Loop*>&, llvm::SmallVectorImpl<unsigned
int>&, llvm::LoopInfo&) + 1297
7 polly::Scop::Scop(polly::TempScop&, llvm::LoopInfo&,
llvm::ScalarEvolution&, isl_ctx*) + 441
8 polly::ScopInfo::runOnRegion(llvm::Region*, llvm::RGPassManager&) + 555
9 llvm::RGPassManager::runOnFunction(llvm::Function&) + 1287
10 llvm::FPPassManager::runOnFunction(llvm::Function&) + 655
11 llvm::legacy::FunctionPassManagerImpl::run(llvm::Function&) + 163
12 llvm::legacy::FunctionPassManager::run(llvm::Function&) + 105
13 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::CodeGenOptions const&, clang::TargetOptions const&,
clang::LangOptions const&, llvm::StringRef, llvm::Module*,
clang::BackendAction, llvm::raw_ostream*) + 2957
14
15 clang::ParseAST(clang::Sema&, bool, bool) + 522
16 clang::CodeGenAction::ExecuteAction() + 78
17 clang::FrontendAction::Execute() + 150
18 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 293
19 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1532
20 cc1_main(char const**, char const**, char const*, void*) + 1176
21 main + 5340
22 __libc_start_main + 253
Cheers,
Tobias
More information about the llvm-commits
mailing list