|
55 | 55 | href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM developer's mailing
|
56 | 56 | list</a> is a good place to send them.</p>
|
57 | 57 |
|
58 |
| -<p>Note that if you are reading this file from CVS, that this document applies |
59 |
| -to the <i>next</i> release, not the previous one. To see the release notes for |
60 |
| -the previous release, see the <a |
| 58 | +<p>Note that if you are reading this file from CVS, this document applies |
| 59 | +to the <i>next</i> release, not the current one. To see the release notes for |
| 60 | +the current or previous releases, see the <a |
61 | 61 | href="http://llvm.cs.uiuc.edu/releases/">releases page</a>.</p>
|
62 | 62 |
|
63 | 63 | </div>
|
|
74 | 74 | release is primarily a bugfix release, dramatically improving the C/C++
|
75 | 75 | front-end, and improving support for C++ in the LLVM core. This release also
|
76 | 76 | includes a few new features, such as a simple profiler, support for Mac OS/X,
|
77 |
| -and better interoperability with external source bases.</p> |
| 77 | +better interoperability with external source bases, and improves a few |
| 78 | +optimizations.</p> |
78 | 79 |
|
79 | 80 | <p>At this time, LLVM is known to correctly compile the C & C++ SPEC CPU2000
|
80 | 81 | benchmarks (X86 only), the Olden benchmarks, and the Ptrdist benchmarks along
|
|
101 | 102 | LLVM profiler, similar to gprof</a> is available</li>
|
102 | 103 |
|
103 | 104 | <li>LLVM and the C/C++ front-end now compile on Mac OS/X! Mac OS/X users can
|
104 |
| -now explore the LLVM optimizer with the C backend (note that LLVM requires GCC |
105 |
| -3.3 on Mac OS/X).</li> |
| 105 | +now explore the LLVM optimizer with the C backend and interpreter. Note that |
| 106 | +LLVM requires GCC 3.3 on Mac OS/X.</li> |
106 | 107 |
|
107 | 108 | <li>LLVM has been <a
|
108 | 109 | href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-November/000554.html">moved
|
109 | 110 | into an 'llvm' C++ namespace</a>, for easier integration with third-party
|
110 |
| -code. Note that lack of namespace handling in GDB 5.x, you will probably want to |
111 |
| -upgrade to GDB 6 or better to debug LLVM code.</li> |
| 111 | +code. Note that due to lack of namespace support in GDB 5.x, you will probably |
| 112 | +want to upgrade to GDB 6 or better to debug LLVM code.</li> |
112 | 113 |
|
113 | 114 | <li>
|
114 | 115 | The build system now copies Makefiles dynamically from the source tree to the
|
|
129 | 130 | <li>The <tt>configure</tt> script will now configure all projects placed in the
|
130 | 131 | <tt>llvm/projects</tt> directory.</li>
|
131 | 132 |
|
132 |
| -<li>The <tt>-basicaa</tt> pass (the default alias analysis) has been upgraded to be <a href="http://llvm.cs.uiuc.edu/PR86">significantly more precise</a>.</li> |
| 133 | +<li>The <tt>-licm</tt> pass can now sink instructions out the bottom of loops |
| 134 | +in addition to being able to hoist them out the top.</li> |
| 135 | + |
| 136 | + |
| 137 | +<li>The <tt>-basicaa</tt> pass (the default alias analysis) has been upgraded |
| 138 | +to be <a href="http://llvm.cs.uiuc.edu/PR86">significantly more |
| 139 | +precise</a>.</li> |
133 | 140 |
|
134 | 141 | </ol>
|
135 | 142 |
|
|
166 | 173 | <li><a href="http://llvm.cs.uiuc.edu/PR29">C++ front-end is not generating
|
167 | 174 | linkonce linkage type when it can</a></li>
|
168 | 175 |
|
169 |
| -<li><a href="http://llvm.cs.uiuc.edu/PR84">C front-end doesn't emit |
170 |
| -getelementptr for address of array element</a></li> |
| 176 | +<li><a href="http://llvm.cs.uiuc.edu/PR84">C front-end generates non-type-safe code for expressions it could generate type-safe code</a></li> |
171 | 177 |
|
172 | 178 | <li><a href="http://llvm.cs.uiuc.edu/PR96">Bad path to the C/C++ frontend causes
|
173 | 179 | build problems</a></li>
|
|
178 | 184 | href="http://llvm.cs.uiuc.edu/PR127">sped up a lot</a> (up to 4x in some
|
179 | 185 | cases).</li>
|
180 | 186 |
|
181 |
| -<li>Methods and functions in anonymous namespaces <a href="http://llvm.cs.uiuc.edu/PR85">now get internal linkage</a>.</li> |
| 187 | +<li>In C++, methods and functions in anonymous namespaces <a href="http://llvm.cs.uiuc.edu/PR85">now get internal linkage</a>.</li> |
182 | 188 |
|
183 | 189 | <li>Constant initializers now generate loops instead of potentially <a href="http://llvm.cs.uiuc.edu/PR75">huge amounts of straight-line code</a>.</li>
|
184 | 190 |
|
|
273 | 279 |
|
274 | 280 | <p>LLVM has been extensively tested on Intel and AMD machines running Red
|
275 | 281 | Hat Linux, and Sun UltraSPARC workstations running Solaris 8. Additionally,
|
276 |
| -LLVM works on Mac OS/X 10.3 and above, but only with the C back-end (no native |
277 |
| -backend for the PowerPC is available yet). |
| 282 | +LLVM works on Mac OS/X 10.3 and above, but only with the C backend or |
| 283 | +interpreter (no native backend for the PowerPC is available yet). |
278 | 284 | The core LLVM infrastructure uses "autoconf" for portability, so hopefully we
|
279 | 285 | work on more platforms than that. However, it is likely that we
|
280 | 286 | missed something, and that minor porting is required to get LLVM to work on
|
|
504 | 510 |
|
505 | 511 | <div class="doc_text">
|
506 | 512 |
|
507 |
| -<p>For this release, the C++ front-end is considered to be fully functional but |
508 |
| -of <b>beta</b> quality. It has been tested and works for a number of simple |
509 |
| -programs that collectively exercise most of the language. Nevertheless, it has |
510 |
| -not been in use as long as the C front-end. Please report any bugs or |
511 |
| -problems.</p> |
| 513 | +<p>For this release, the C++ front-end is considered to be fully functional, but |
| 514 | +has not been tested as thoroughly as the C front-end. It has been tested and |
| 515 | +works for a number of non-trivial programs, but there may be lurking bugs. |
| 516 | +Please report any bugs or problems.</p> |
512 | 517 |
|
513 | 518 | </div>
|
514 | 519 |
|
|
538 | 543 | <li>The C++ front-end is based on a pre-release of the GCC 3.4 C++ parser. This
|
539 | 544 | parser is significantly more standards compliant (and picky) than prior GCC
|
540 | 545 | versions. For more information, see the C++ section of the <a
|
541 |
| -href="http://gcc.gnu.org/gcc-3.4/changes.html">GCC 3.4 release notes</a>.<p> |
| 546 | +href="http://gcc.gnu.org/gcc-3.4/changes.html">GCC 3.4 release notes</a>.</li> |
542 | 547 |
|
543 | 548 | <li>Destructors for local objects are not always run when a <tt>longjmp</tt> is
|
544 | 549 | performed. In particular, destructors for objects in the <tt>longjmp</tt>ing
|
|
0 commit comments