aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ParallelCG.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-08-30 21:13:53 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2015-08-30 21:13:53 +0000
commit96425c2574d00997b99fff72afe3137956111502 (patch)
tree4a5d87667189c9b38b6d7e945e1e9d3b165ddd4f /llvm/lib/CodeGen/ParallelCG.cpp
parentb1e3bbb7c98591a51205ad7eb55157054777f6d8 (diff)
downloadllvm-96425c2574d00997b99fff72afe3137956111502.zip
llvm-96425c2574d00997b99fff72afe3137956111502.tar.gz
llvm-96425c2574d00997b99fff72afe3137956111502.tar.bz2
Traverse the SCoP to compute non-loop-carried domain conditions
In order to compute domain conditions for conditionals we will now traverse the region in the ScopInfo once and build the domains for each block in the region. The SCoP statements can then use these constraints when they build their domain. The reason behind this change is twofold: 1) This removes a big chunk of preprocessing logic from the TempScopInfo, namely the Conditionals we used to build there. Additionally to moving this logic it is also simplified. Instead of walking the dominance tree up for each basic block in the region (as we did before), we now traverse the region only once in order to collect the domain conditions. 2) This is the first step towards the isl based domain creation. The second step will traverse the region similar to this step, however it will propagate back edge conditions. Once both are in place this conditional handling will allow multiple exit loops additional logic. Reviewers: grosser Differential Revision: http://reviews.llvm.org/D12428 llvm-svn: 246398
Diffstat (limited to 'llvm/lib/CodeGen/ParallelCG.cpp')
0 files changed, 0 insertions, 0 deletions