|
73 | 73 | release primarily improves the <a href="#codequality">performance of the
|
74 | 74 | code</a> produced by all aspects of the LLVM compiler, adds many <a
|
75 | 75 | href="#newfeatures">new features</a>, <a href="#bugfix">fixes a few
|
76 |
| -bugs</a>, and speeds up the compiler.</p> |
| 76 | +bugs</a>, speeds up the compiler, and introduces a new (experimental) |
| 77 | +PowerPC code generator.</p> |
77 | 78 |
|
78 | 79 | <p> At this time, LLVM is known to correctly compile and run all C & C++
|
79 | 80 | SPEC CPU95 & 2000 benchmarks, the Olden benchmarks, and the Ptrdist
|
|
149 | 150 | <li>All LLVM tools will now respond to the
|
150 | 151 | <a href="http://llvm.cs.uiuc.edu/PR413"><tt>--version</tt> option</a> which
|
151 | 152 | will tell you the version of LLVM on which the tool is based.</li>
|
| 153 | +<li>An experimental PowerPC backend has been added, capable of compiling several |
| 154 | +SPEC benchmarks.</li> |
152 | 155 | </ol>
|
153 | 156 |
|
154 | 157 | </div>
|
|
198 | 201 | Bytecode Reader</a></li>
|
199 | 202 | <li><a href="http://llvm.cs.uiuc.edu/PR392">Global Vars Have (Somewhat) Limited
|
200 | 203 | Type Range</a></li>
|
201 |
| -<li><a href="http://llvm.cs.uiuc.edu/PR341">operator<< on a Value* now prints the address of the object instead of its contents.</a></li> |
| 204 | +<li><a href="http://llvm.cs.uiuc.edu/PR341">operator<< on a Value* now |
| 205 | +prints the address of the object instead of its contents.</a></li> |
202 | 206 | <li><a href="http://llvm.cs.uiuc.edu/PR402">Bytecode Enhancements
|
203 |
| - Needed</a></li> |
204 |
| -<li><a href="http://llvm.cs.uiuc.edu/PR404">[loopsimplify] Loop simplify is really slow on 252.eon</a></li> |
205 |
| -<li><a href="Http://llvm.cs.uiuc.edu/PR122">[code-cleanup] SymbolTable |
206 |
| - class cleanup, Type should not derive from Value, eliminate |
207 |
| - ConstantPointerRef class</a>.</li> |
| 207 | +Needed</a></li> |
| 208 | +<li><a href="http://llvm.cs.uiuc.edu/PR404">[loopsimplify] Loop simplify is |
| 209 | +really slow on 252.eon</a></li> |
| 210 | +<li><a href="Http://llvm.cs.uiuc.edu/PR122">[code-cleanup] SymbolTable class |
| 211 | +cleanup, Type should not derive from Value, eliminate ConstantPointerRef |
| 212 | +class</a>.</li> |
208 | 213 | <li>The memory footprint of the LLVM IR has been reduced substantially.</li>
|
209 | 214 | <li>The LLVM linker and many core classes have been sped up substantially.</li>
|
210 | 215 | </ol>
|
|
345 | 350 | <li>Intel and AMD machines running Red Hat Linux and FreeBSD (and probably
|
346 | 351 | other unix-like systems).</li>
|
347 | 352 | <li>Sun UltraSPARC workstations running Solaris 8.</li>
|
348 |
| -<li>PowerPC-based Mac OS X boxes, running 10.3 and above (C backend and |
349 |
| - interpreter only, no native codegen is available yet).</li> |
350 | 353 | <li>Intel and AMD machines running on Win32 with the Cygwin libraries.</li>
|
| 354 | +<li>PowerPC-based Mac OS X boxes, running 10.2 and above. Note that no JIT |
| 355 | +support is available yet, and LLC support is beta. The C backend can be used |
| 356 | +to produce stable code for this platform.</li> |
351 | 357 | </ul>
|
352 | 358 |
|
353 |
| - |
354 | 359 | <p>The core LLVM infrastructure uses
|
355 | 360 | <a href="http://www.gnu.org/software/autoconf/">GNU autoconf</a> to adapt itself
|
356 | 361 | to the machine and operating system on which it is built. However, minor
|
|
396 | 401 | components, please contact us on the llvmdev list.</p>
|
397 | 402 |
|
398 | 403 | <ul>
|
| 404 | +<li>The PowerPC backend is incomplete and is known to miscompile several SPEC |
| 405 | +benchmarks. The file <tt>llvm/lib/Target/PowerPC/README.txt</tt> has |
| 406 | +details.</li> |
399 | 407 | <li>The following passes are incomplete or buggy: <tt>-pgmdep, -memdep,
|
400 | 408 | -ipmodref, -cee</tt></li>
|
401 |
| - |
402 | 409 | <li>The <tt>-pre</tt> pass is incomplete (there are cases it doesn't handle that
|
403 | 410 | it should) and not thoroughly tested.</li>
|
404 | 411 | <li>The <tt>llvm-ar</tt> tool is incomplete and probably buggy.</li>
|
|
423 | 430 | such, execution of a threaded program could cause these data structures to be
|
424 | 431 | corrupted.</li>
|
425 | 432 |
|
426 |
| -<li>It is not possible to <tt>dlopen</tt> an LLVM bytecode file in the JIT.</li> |
427 |
| - |
428 |
| -<li>Linking in static archive files (.a files) is very slow (there is no symbol |
| 433 | +<li>Linking in static archive files (.a files) is slow (there is no symbol |
429 | 434 | table in the archive).</li>
|
430 | 435 |
|
431 | 436 | <li>The gccld program <a href="http://llvm.cs.uiuc.edu/PR139">does not link
|
|
0 commit comments