summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression/ExpressionSourceCode.cpp
diff options
context:
space:
mode:
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-03-29 21:31:05 +0000
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>2016-03-29 21:31:05 +0000
commita144fb148bed550baab070e86aedfeb2d3e8338b (patch)
tree96efc205ef97a3768e46f7acf4f1668102ac8394 /lldb/source/Expression/ExpressionSourceCode.cpp
parent03e18d41ad1f74c6bb03f8417a502cdeef811ca3 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud