Model statement wise reduction dependences
authorJohannes Doerfert <jdoerfert@codeaurora.org>
Fri, 20 Jun 2014 16:37:11 +0000 (16:37 +0000)
committerJohannes Doerfert <jdoerfert@codeaurora.org>
Fri, 20 Jun 2014 16:37:11 +0000 (16:37 +0000)
commitf1906138b4cb4562b5489623f52f49dc6bef28e7
tree1b89aeeddd9d07bea828547663b297ab8db8f084
parent59c6ab20d64a6705ae027ba8f2226a1e1fe5065e
Model statement wise reduction dependences

+ Collect reduction dependences
+ Introduced TYPE_RED in Dependences.h which can be used to obtain the
  reduction dependences
+ Used TYPE_RED to prevent parallelization while we do not have a privatizing
  code generation
+ Relax the dependences for non-parallel code generation
+ Add privatization dependences to ensure correctness
+ 12 Test cases to check for reduction and privatization dependences

llvm-svn: 211369
16 files changed:
polly/include/polly/Dependences.h
polly/lib/Analysis/Dependences.cpp
polly/lib/CodeGen/IslAst.cpp
polly/lib/Transform/DeadCodeElimination.cpp
polly/test/Dependences/reduction_multiple_reductions.ll [new file with mode: 0644]
polly/test/Dependences/reduction_multiple_reductions_2.ll [new file with mode: 0644]
polly/test/Dependences/reduction_only_reduction_like_access.ll [new file with mode: 0644]
polly/test/Dependences/reduction_only_reduction_like_access_2.ll [new file with mode: 0644]
polly/test/Dependences/reduction_privatization_deps.ll [new file with mode: 0644]
polly/test/Dependences/reduction_privatization_deps_2.ll [new file with mode: 0644]
polly/test/Dependences/reduction_privatization_deps_3.ll [new file with mode: 0644]
polly/test/Dependences/reduction_privatization_deps_4.ll [new file with mode: 0644]
polly/test/Dependences/reduction_privatization_deps_5.ll [new file with mode: 0644]
polly/test/Dependences/reduction_simple_iv.ll [new file with mode: 0644]
polly/test/Dependences/reduction_simple_privatization_deps_2.ll [new file with mode: 0644]
polly/test/Dependences/reduction_simple_privatization_deps_w_parameter.ll [new file with mode: 0644]