diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2018-10-26 14:20:11 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-10-26 14:20:11 +0000 |
commit | 619a83463ffd61cb0a646217b36da4fb5be41fac (patch) | |
tree | 78fde653ffdfcfbf958eec2c874b00d463a38b88 /lldb/packages/Python/lldbsuite/test/python_api | |
parent | 56f336e2c904d5babbaf9cbf8c58c131693cdba2 (diff) | |
download | bcm5719-llvm-619a83463ffd61cb0a646217b36da4fb5be41fac.tar.gz bcm5719-llvm-619a83463ffd61cb0a646217b36da4fb5be41fac.zip |
[SimpleLoopUnswitch] Unswitch by experimental.guard intrinsics
This patch adds support of `llvm.experimental.guard` intrinsics to non-trivial
simple loop unswitching. These intrinsics represent implicit control flow which
has pretty much the same semantics as usual conditional branches. The
algorithm of dealing with them is following:
- Consider guards as unswitching candidates;
- If a guard is considered the best candidate, turn it into a branch;
- Apply normal unswitching algorithm on this branch.
The patch has no compile time effect on code that does not contain any guards.
Differential Revision: https://reviews.llvm.org/D53744
Reviewed By: chandlerc
llvm-svn: 345387
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions