diff options
author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-03-29 21:31:05 +0000 |
---|---|---|
committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-03-29 21:31:05 +0000 |
commit | a144fb148bed550baab070e86aedfeb2d3e8338b (patch) | |
tree | 96efc205ef97a3768e46f7acf4f1668102ac8394 /lldb/source/Expression/ExpressionSourceCode.cpp | |
parent | 03e18d41ad1f74c6bb03f8417a502cdeef811ca3 (diff) | |
download | bcm5719-llvm-a144fb148bed550baab070e86aedfeb2d3e8338b.tar.gz bcm5719-llvm-a144fb148bed550baab070e86aedfeb2d3e8338b.zip |
Exploit graph properties during domain generation
As a CFG is often structured we can simplify the steps performed
during domain generation. When we push domain information we can
utilize the information from a block A to build the domain of a
block B, if A dominates B. When we pull domain information we can
use information from a block A to build the domain of a block B
if B post-dominates A. This patch implements both ideas and thereby
simplifies domains that were not simplified by isl. For the FINAL
basic block in
test/ScopInfo/complex-successor-structure-3.ll .
we used to build a universe set with 81 basic sets. Now it actually is
represented as universe set.
While the initial idea to utilize the graph structure depended on the
dominator and post-dominator tree we can use the available region
information as a coarse grained replacement. To this end we push the
region entry domain to the region exit and pull it from the region
entry for the region exit.
Differential Revision: http://reviews.llvm.org/D18450
llvm-svn: 264789
Diffstat (limited to 'lldb/source/Expression/ExpressionSourceCode.cpp')
0 files changed, 0 insertions, 0 deletions