Mercurial > hg > CbC > CbC_llvm
comparison docs/CommandGuide/opt.rst @ 83:60c9769439b8 LLVM3.7
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | 54457678186b |
children | 1172e4bd9c6f |
comparison
equal
deleted
inserted
replaced
78:af83660cff7b | 83:60c9769439b8 |
---|---|
60 :program:`opt` provides the ability to run any of LLVM's optimization or | 60 :program:`opt` provides the ability to run any of LLVM's optimization or |
61 analysis passes in any order. The :option:`-help` option lists all the passes | 61 analysis passes in any order. The :option:`-help` option lists all the passes |
62 available. The order in which the options occur on the command line are the | 62 available. The order in which the options occur on the command line are the |
63 order in which they are executed (within pass constraints). | 63 order in which they are executed (within pass constraints). |
64 | 64 |
65 .. option:: -std-compile-opts | |
66 | |
67 This is short hand for a standard list of *compile time optimization* passes. | |
68 It might be useful for other front end compilers as well. To discover the | |
69 full set of options available, use the following command: | |
70 | |
71 .. code-block:: sh | |
72 | |
73 llvm-as < /dev/null | opt -std-compile-opts -disable-output -debug-pass=Arguments | |
74 | |
75 .. option:: -disable-inlining | 65 .. option:: -disable-inlining |
76 | 66 |
77 This option is only meaningful when :option:`-std-compile-opts` is given. It | 67 This option simply removes the inlining pass from the standard list. |
78 simply removes the inlining pass from the standard list. | |
79 | 68 |
80 .. option:: -disable-opt | 69 .. option:: -disable-opt |
81 | 70 |
82 This option is only meaningful when :option:`-std-compile-opts` is given. It | 71 This option is only meaningful when :option:`-std-link-opts` is given. It |
83 disables most, but not all, of the :option:`-std-compile-opts`. The ones that | 72 disables most passes. |
84 remain are :option:`-verify`, :option:`-lower-setjmp`, and | |
85 :option:`-funcresolve`. | |
86 | 73 |
87 .. option:: -strip-debug | 74 .. option:: -strip-debug |
88 | 75 |
89 This option causes opt to strip debug information from the module before | 76 This option causes opt to strip debug information from the module before |
90 applying other optimizations. It is essentially the same as :option:`-strip` | 77 applying other optimizations. It is essentially the same as :option:`-strip` |
93 .. option:: -verify-each | 80 .. option:: -verify-each |
94 | 81 |
95 This option causes opt to add a verify pass after every pass otherwise | 82 This option causes opt to add a verify pass after every pass otherwise |
96 specified on the command line (including :option:`-verify`). This is useful | 83 specified on the command line (including :option:`-verify`). This is useful |
97 for cases where it is suspected that a pass is creating an invalid module but | 84 for cases where it is suspected that a pass is creating an invalid module but |
98 it is not clear which pass is doing it. The combination of | 85 it is not clear which pass is doing it. |
99 :option:`-std-compile-opts` and :option:`-verify-each` can quickly track down | |
100 this kind of problem. | |
101 | 86 |
102 .. option:: -stats | 87 .. option:: -stats |
103 | 88 |
104 Print statistics. | 89 Print statistics. |
105 | 90 |