summaryrefslogtreecommitdiff
path: root/docs/Passes.rst
diff options
context:
space:
mode:
authorAmjad Aboud <amjad.aboud@intel.com>2018-01-25 12:06:32 +0000
committerAmjad Aboud <amjad.aboud@intel.com>2018-01-25 12:06:32 +0000
commitc6483fb8735c7a99459eefe2b3d1bf4d12a2bec0 (patch)
treed02805890064958d8f727dd17d31f2261ea2c6c3 /docs/Passes.rst
parentf83ca8289b6760c7c2c089670c89a4ffbc3e8a1b (diff)
Another try to commit 323321 (aggressive instruction combine).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@323416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/Passes.rst')
-rw-r--r--docs/Passes.rst15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/Passes.rst b/docs/Passes.rst
index 77461f3c52d..39874e4c8a0 100644
--- a/docs/Passes.rst
+++ b/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
--------------------------------------------