[PATCH] [FIX] Teach RegionGenerator to respect and update dominance
Johannes Doerfert
doerfert at cs.uni-saarland.de
Fri Feb 27 09:37:33 PST 2015
Hi grosser, sebpop, simbuerg, zinob,
When we generate code for a whole region we have to respect dominance
and update it too.
The first is achieved with multiple "BBMap"s. Each copied block in the
region gets its own map. It is initialized only with values mapped in
the immediate dominator block, if this block is in the region and was
therefor already copied. This way no values defined in a block that
doesn't dominate the current one will be used.
To update dominance information we check if the immediate dominator of
the original block we want to copy is in the region. If so we set the
immediate dominator of the current block to the copy of the immediate
dominator of the original block.
http://reviews.llvm.org/D7942
Files:
include/polly/CodeGen/BlockGenerators.h
lib/CodeGen/BlockGenerators.cpp
test/Isl/CodeGen/non-affine-subregion-dominance-reuse.ll
test/Isl/CodeGen/non_affine_float_compare.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7942.20858.patch
Type: text/x-patch
Size: 11679 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150227/35c2dfd1/attachment.bin>
More information about the llvm-commits
mailing list