[PATCH] Allow to model non-affine control flow in a SCoP.
Johannes Doerfert
doerfert at cs.uni-saarland.de
Thu Feb 19 10:15:40 PST 2015
Hi grosser, sebpop, simbuerg, zinob,
In order to model non-affine control flow SCoP statements can now
represent a basic block (precise/affine case) or a whole region
(non-affine case). In the latter all write accesses except the ones in
the region entry and exit will be may-write accesses as we cannot be
certain they are executed.
As there is no real difference non-affine branches as well as floating
point branches are covered (and both called non-affine control flow).
Furthermore, conditionals as wells as loops with non-affine control
flow can be overapproximated.
http://reviews.llvm.org/D7764
Files:
include/polly/ScopDetection.h
include/polly/ScopInfo.h
include/polly/TempScopInfo.h
lib/Analysis/ScopDetection.cpp
lib/Analysis/ScopInfo.cpp
lib/Analysis/TempScopInfo.cpp
test/ScopDetect/non-affine-conditional.ll
test/ScopDetect/non-affine-loop-condition-dependent-access.ll
test/ScopInfo/non-affine-conditionals-nested.ll
test/ScopInfo/non-affine-float-compare.ll
test/ScopInfo/non-affine-loop-condition.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7764.20314.patch
Type: text/x-patch
Size: 35949 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150219/e590f545/attachment.bin>
More information about the llvm-commits
mailing list