diff options
| author | Amjad Aboud <amjad.aboud@intel.com> | 2018-01-24 12:42:42 +0000 |
|---|---|---|
| committer | Amjad Aboud <amjad.aboud@intel.com> | 2018-01-24 12:42:42 +0000 |
| commit | e4453233d78788989c4bf2ff927a9e67433fb63d (patch) | |
| tree | 852418eb4b403be8210679108562c8ddd6fb0033 /llvm/docs/Passes.rst | |
| parent | f26df4783132de2a534572a53847716a89d98339 (diff) | |
| download | bcm5719-llvm-e4453233d78788989c4bf2ff927a9e67433fb63d.tar.gz bcm5719-llvm-e4453233d78788989c4bf2ff927a9e67433fb63d.zip | |
[InstCombine] Introducing Aggressive Instruction Combine pass (-aggressive-instcombine).
Combine expression patterns to form expressions with fewer, simple instructions.
This pass does not modify the CFG.
For example, this pass reduce width of expressions post-dominated by TruncInst
into smaller width when applicable.
It differs from instcombine pass in that it contains pattern optimization that
requires higher complexity than the O(1), thus, it should run fewer times than
instcombine pass.
Differential Revision: https://reviews.llvm.org/D38313
llvm-svn: 323321
Diffstat (limited to 'llvm/docs/Passes.rst')
| -rw-r--r-- | llvm/docs/Passes.rst | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/docs/Passes.rst b/llvm/docs/Passes.rst index 77461f3c52d..39874e4c8a0 100644 --- a/llvm/docs/Passes.rst +++ b/llvm/docs/Passes.rst @@ -641,6 +641,21 @@ not library calls are simplified is controlled by the :ref:`-functionattrs <passes-functionattrs>` pass and LLVM's knowledge of library calls on different targets. +.. _passes-aggressive-instcombine: + +``-aggressive-instcombine``: Combine expression patterns +-------------------------------------------------------- + +Combine expression patterns to form expressions with fewer, simple instructions. +This pass does not modify the CFG. + +For example, this pass reduce width of expressions post-dominated by TruncInst +into smaller width when applicable. + +It differs from instcombine pass in that it contains pattern optimization that +requires higher complexity than the O(1), thus, it should run fewer times than +instcombine pass. + ``-internalize``: Internalize Global Symbols -------------------------------------------- |

