forked from OSchip/llvm-project
parent
1be9f88a2f
commit
0597229d3e
|
@ -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
|
||||
> 0 on x86/x86-64.</li>
|
||||
<li>MIPS floating point support? [BRUNO]</li>
|
||||
<li>The PowerPC backend now supports trampolines.</li>
|
||||
</ul>
|
||||
|
|
Loading…
Reference in New Issue