From: Reid Kleckner Date: Fri, 18 Apr 2014 21:19:06 +0000 (+0000) Subject: Remove -simplify-libcalls pass form Passes documentation X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ed5604850a0dbb79dd41a8d950b776e553992fa3;p=oota-llvm.git Remove -simplify-libcalls pass form Passes documentation This pass was removed in r184459. Also added note that the InstCombine pass does library call simplification. Patch slightly modified from one by Daniel Liew ! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206650 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/Passes.rst b/docs/Passes.rst index b2703b7c030..b51829d3a3b 100644 --- a/docs/Passes.rst +++ b/docs/Passes.rst @@ -540,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 ---------------------------------------------- @@ -648,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: @@ -681,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 ` pass and LLVM's knowledge of +library calls on different targets. + ``-internalize``: Internalize Global Symbols -------------------------------------------- @@ -1011,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 ` 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