summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2017-10-05 13:43:00 +0000
committerMichael Kruse <llvm@meinersbur.de>2017-10-05 13:43:00 +0000
commitcc345e6e9405819065fd9f663d0772b004ebc29c (patch)
treed5a7ed3a7dd690661ec0ac2e2c1ed9d7089edf8c /lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
parentfc500041bb2ecf3f7eea26735fa7ead9468dadc4 (diff)
downloadbcm5719-llvm-cc345e6e9405819065fd9f663d0772b004ebc29c.tar.gz
bcm5719-llvm-cc345e6e9405819065fd9f663d0772b004ebc29c.zip
[ScopBuilder] Introduce -polly-stmt-granularity=scalar-indep option.
The option splits BasicBlocks into minimal statements such that no additional scalar dependencies are introduced. The algorithm is based on a union-find structure, and unites sets if putting them into separate statements would introduce a scalar dependencies. As a consequence, instructions may be split into separate statements such their relative order is different than the statements they are in. This is accounted for instructions whose relative order matters (e.g. memory accesses). The algorithm is generic in that heuristic changes can be made relatively easily. We might relax the order requirement for read-reads or accesses to different base pointers. Forwardable instructions can be made to not cause a join. This implementation gives us a speed-up of 82% in SPEC 2006 456.hmmer benchmark by allowing loop-distribution in a hot loop such that one of the loops can be vectorized. Differential Revision: https://reviews.llvm.org/D38403 llvm-svn: 314983
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud