|
81 | 81 | date, and we encourage you to upgrade if you are using LLVM 1.0 or 1.1.
|
82 | 82 | </p>
|
83 | 83 |
|
84 |
| -<p><B> FIXME: UPDATE: </b> |
85 |
| -At this time, LLVM is known to correctly compile and run all C |
86 |
| -& C++ SPEC CPU2000 benchmarks, the Olden benchmarks, and the Ptrdist |
87 |
| -benchmarks. It has also been used to compile <b>many</b> other programs. LLVM |
88 |
| -now also works with a broad variety of C++ programs, though it has still |
89 |
| -received less testing than the C front-end. |
| 84 | +<p> |
| 85 | +At this time, LLVM is known to correctly compile and run all C & C++ SPEC |
| 86 | +CPU2000 benchmarks, the Olden benchmarks, and the Ptrdist benchmarks. It has |
| 87 | +also been used to compile <b>many</b> other programs. LLVM now also works with |
| 88 | +a broad variety of C++ programs, though it has still received less testing than |
| 89 | +the C front-end. |
90 | 90 | </p>
|
91 | 91 |
|
92 | 92 | <!--=========================================================================-->
|
|
127 | 127 | <li>LLVM includes a new interprocedural optimization that marks global variables
|
128 | 128 | "constant" when they are provably never written to.</li>
|
129 | 129 | <li>LLVM now includes a new interprocedural optimization that converts small "by reference" arguments to "by value" arguments, which is often improve the performance of C++ programs substantially.</li>
|
| 130 | +<li>Bugpoint can now do a better job reducing miscompilation problems by |
| 131 | +reducing programs down to a particular loop nest, instead of just the function |
| 132 | +being miscompiled.</li> |
| 133 | +<li>The GCSE and LICM passes can now operate on side-effect-free function calls, for example hoisting calls to "<tt>strlen</tt>" and folding "<tt>cos</tt>" common subexpressions.</li> |
| 134 | +<li>LLVM has early support for a new <a |
| 135 | +href="LangRef.html#i_select"><tt>select</tt></a> instruction, though it is |
| 136 | +currently only supported by the C backend.</li> |
130 | 137 | </ol>
|
131 | 138 |
|
132 | 139 |
|
|
136 | 143 | </div>
|
137 | 144 |
|
138 | 145 | <ol>
|
139 |
| -<li><a href="http://llvm.cs.uiuc.edu/PR16">Exception handling support in the X86 |
140 |
| -& Sparc native code generators</a></li> |
141 |
| -<li>The C/C++ front-end now support the GCC <tt>__builtin_return_address</tt> and <tt>__builtin_frame_address</tt> extensions.</li> |
| 146 | +<li><a href="http://llvm.cs.uiuc.edu/PR16">Exception handling in the X86 |
| 147 | +& Sparc native code generators</a> is now supported</li> |
| 148 | +<li>The C/C++ front-end now support the GCC <tt>__builtin_return_address</tt> and <tt>__builtin_frame_address</tt> extensions. These are also supported by the X86 backend and by the C backend.</li> |
142 | 149 | <li><a href="http://llvm.cs.uiuc.edu/PR249">[X86] Missing cast from ULong -> Double, cast FP -> bool and support for -9223372036854775808</a></li>
|
143 | 150 | <li>The C/C++ front-end <a href="http://llvm.cs.uiuc.edu/PR273">now supports</a>
|
144 | 151 | the "<a href="http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html#Labels%20as%20Values">labels as values</a>" GCC extension, often used to build "threaded interpreters".</a></li>
|
|
0 commit comments