diff options
author | Stephen Hines <srhines@google.com> | 2014-05-29 02:49:00 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-05-29 02:49:00 -0700 |
commit | dce4a407a24b04eebc6a376f8e62b41aaa7b071f (patch) | |
tree | dcebc53f2b182f145a2e659393bf9a0472cedf23 /docs/Passes.rst | |
parent | 220b921aed042f9e520c26cffd8282a94c66c3d5 (diff) | |
download | external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.zip external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.tar.gz external_llvm-dce4a407a24b04eebc6a376f8e62b41aaa7b071f.tar.bz2 |
Update LLVM for 3.5 rebase (r209712).
Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
Diffstat (limited to 'docs/Passes.rst')
-rw-r--r-- | docs/Passes.rst | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/docs/Passes.rst b/docs/Passes.rst index a288933..b51829d 100644 --- a/docs/Passes.rst +++ b/docs/Passes.rst @@ -302,15 +302,6 @@ standard error in a human-readable form. This pass, only available in ``opt``, printsthe SCCs of each function CFG to standard error in a human-readable fom. -``-print-dbginfo``: Print debug info in human readable form ------------------------------------------------------------ - -Pass that prints instructions, and associated debug info: - -#. source/line/col information -#. original variable name -#. original type name - ``-print-dom-info``: Dominator Info Printer ------------------------------------------- @@ -549,6 +540,8 @@ instructions that are obviously dead. A trivial dead store elimination that only considers basic-block local redundant stores. +.. _passes-functionattrs: + ``-functionattrs``: Deduce function attributes ---------------------------------------------- @@ -657,7 +650,7 @@ program, and is used for a wide variety of program transformations. ------------------------------------------------ Combine instructions to form fewer, simple instructions. This pass does not -modify the CFG This pass is where algebraic simplification happens. +modify the CFG. This pass is where algebraic simplification happens. This pass combines things like: @@ -690,6 +683,13 @@ program: shifts. #. … etc. +This pass can also simplify calls to specific well-known function calls (e.g. +runtime library functions). For example, a call ``exit(3)`` that occurs within +the ``main()`` function can be transformed into simply ``return 3``. Whether or +not library calls are simplified is controlled by the +:ref:`-functionattrs <passes-functionattrs>` pass and LLVM's knowledge of +library calls on different targets. + ``-internalize``: Internalize Global Symbols -------------------------------------------- @@ -1020,14 +1020,6 @@ as: Note that this pass has a habit of making definitions be dead. It is a good idea to run a :ref:`DCE <passes-dce>` pass sometime after running this pass. -``-simplify-libcalls``: Simplify well-known library calls ---------------------------------------------------------- - -Applies a variety of small optimizations for calls to specific well-known -function calls (e.g. runtime library functions). For example, a call -``exit(3)`` that occurs within the ``main()`` function can be transformed into -simply ``return 3``. - .. _passes-simplifycfg: ``-simplifycfg``: Simplify the CFG |