|
64 | 64 | The default optimizer sequence used by the C/C++ front-ends is:<p>
|
65 | 65 |
|
66 | 66 | <ol>
|
| 67 | +<li>CFG simplification (-simplifycfg) |
67 | 68 | <li>Interprocedural dead code elimination (-globaldce)
|
| 69 | +<li>Interprocedural constant propagation (-ipconstprop) |
| 70 | +<li>Dead argument elimination (-deadargelim) |
68 | 71 | <li>Exception handling pruning (-prune-eh)
|
69 | 72 | <li>Function inlining (-inline)
|
70 | 73 | <li>Instruction combining (-instcombine)
|
|
94 | 97 | <ol>
|
95 | 98 | <li>Global constant merging (-constmerge)
|
96 | 99 | <li>[optional] Internalization [which marks most functions and global variables static] (-internalize)
|
| 100 | +<li>Interprocedural constant propagation (-ipconstprop) |
97 | 101 | <li>Interprocedural dead argument elimination (-deadargelim)
|
98 | 102 | <li>Instruction combining (-instcombine)
|
99 | 103 | <li>CFG simplification (-simplifycfg)
|
|
103 | 107 | At this time, LLVM is known to work properly with SPEC CPU 2000, the Olden
|
104 | 108 | benchmarks, and the Ptrdist benchmarks among many other programs. Note however
|
105 | 109 | that the Sparc and X86 backends do not currently support exception throwing or
|
106 |
| -long jumping. For these programs you must use the C backend.<p> |
| 110 | +long jumping (including 253.perlbmk in SPEC). For these programs you must use |
| 111 | +the C backend.<p> |
107 | 112 |
|
108 | 113 |
|
109 | 114 | <!-- *********************************************************************** -->
|
|
358 | 363 | <li><a href="http://llvm.cs.uiuc.edu/PR33">Initializers for global variables</a>
|
359 | 364 | cannot include special floating point numbers like Not-A-Number or Infinity.<p>
|
360 | 365 |
|
| 366 | +<li><a href="http://zion.cs.uiuc.edu/PR56">Zero arg vararg functions are not |
| 367 | +supported</a>. This should not affect LLVM produced by the C or C++ |
| 368 | +frontends.<p> |
| 369 | + |
361 | 370 | <li>The code produces by the C back-end has only been tested with the Sun CC and
|
362 | 371 | GCC compilers. It is possible that it will have to be adjusted to support other
|
363 | 372 | C compilers.<p>
|
|
389 | 398 | <hr><font size-1>
|
390 | 399 |
|
391 | 400 | Maintained By: <a href="http://llvm.cs.uiuc.edu/">The LLVM Team</a><br>
|
392 |
| -<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> |
393 |
| -<br> |
394 | 401 | <!-- Created: Wed Oct 1 17:38:54 CDT 2003 -->
|
395 | 402 | <!-- hhmts start -->
|
396 | 403 | Last modified: Mon Oct 20 14:04:51 CDT 2003
|
|
0 commit comments