add LSR and frameaddress info.

llvm-svn: 57478
This commit is contained in:
Chris Lattner 2008-10-14 06:02:29 +00:00
parent 1be9f88a2f
commit 0597229d3e
1 changed files with 14 additions and 7 deletions

View File

@ -112,22 +112,22 @@ front-end work has started to make significant progress.</p>
<p>The Clang project also includes an early stage static source code analysis
tool for <a href="http://clang.llvm.org/StaticAnalysis.html">automatically
finding bugs</a> in C and Objective-C programs. The tool performs a growing set
of checks to find bugs that occur on a specific path within a program. Examples
of checks to find bugs that occur on a specific path within a program. Examples
of bugs the tool finds include logic errors such as null dereferences,
violations of various API rules, dead code, and potential memory leaks in
Objective-C programs. Since its public announcement at Apple's WWDC 2008
conference, the public feedback on the tool has been extremely positive, and
conservative estimates put the number of real bugs it has found in
industrial-quality software on the order of thousands.</p>
Objective-C programs. Since its inception, public feedback on the tool has been
extremely positive, and conservative estimates put the number of real bugs it
has found in industrial-quality software on the order of thousands.</p>
<p>The tool also provides a simple web GUI to inspect potential bugs found by
the tool. While still early in development, the GUI illustrates some of the key
the tool. While still early in development, the GUI illustrates some of the key
features of Clang: accurate source location information, which is used by the
GUI to highlight specific code expressions that relate to a bug (including those
that span multiple lines) and built-in knowledge of macros, which is used to
perform inline expansion of macros within the GUI itself.</p>
<p>The set of checks perform by the static analyzer is gradually expanding, and
<p>The set of checks performed by the static analyzer is gradually expanding,
and
future plans for the tool include full source-level inter-procedural analysis
and deeper checks such as buffer overrun detection. There are many opportunities
to extend and enhance the static analyzer, and anyone interested in working on
@ -319,6 +319,11 @@ values and the transfer functions that operate on them. It handles the
mechanics of worklist processing, liveness tracking, handling PHI nodes,
etc.</li>
<li>The Loop Strength Reduction and induction variable optimization passes have
several improvements to avoid inserting MAX expressions, to optimize simple
floating point induction variables and to analyze trip counts of more
loops.</li>
<li>Various helper functions (ComputeMaskedBits, ComputeNumSignBits, etc) were
pulled out of the Instruction Combining pass and put into a new
<tt>ValueTracking.h</tt> header, where they can be reused by other passes.</li>
@ -396,6 +401,8 @@ faster:</p>
<ul>
<li>Exception handling is supported by default on Linux/x86-64.</li>
<li>Position Independent Code (PIC) is now supported on Linux/x86-64.</li>
<li>@llvm.frameaddress now supports getting the frame address of stack frames
&gt; 0 on x86/x86-64.</li>
<li>MIPS floating point support? [BRUNO]</li>
<li>The PowerPC backend now supports trampolines.</li>
</ul>