summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorKyle Butt <kyle+llvm@iteratee.net>2016-08-24 21:34:24 +0000
committerKyle Butt <kyle+llvm@iteratee.net>2016-08-24 21:34:24 +0000
commit6262ca3448e2698e6c65d911f13fc22e4cc40be8 (patch)
tree4e9499d7edd305d69447bc6f36396b627ffaefae /lldb/packages/Python/lldbsuite/test
parentbcc77b6249a6f193f7322dbb3fdf77482d67bbee (diff)
downloadbcm5719-llvm-6262ca3448e2698e6c65d911f13fc22e4cc40be8.tar.gz
bcm5719-llvm-6262ca3448e2698e6c65d911f13fc22e4cc40be8.zip
IfConversion: Rescan diamonds.
The cost of predicating a diamond is only the instructions that are not shared between the two branches. Additionally If a predicate clobbering instruction occurs in the shared portion of the branches (e.g. a cond move), it may still be possible to if convert the sub-cfg. This change handles these two facts by rescanning the non-shared portion of a diamond sub-cfg to recalculate both the predication cost and whether both blocks are pred-clobbering. Fixed 2 bugs before recommitting. Branch instructions must be compared and found identical before diamond conversion. Also, predicate-clobbering instructions in the shared prefix disqualifies a potential diamond conversion. Includes tests for both. llvm-svn: 279670
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud