From 8cdd7939ad29c0424da18e3456797b5c83c1f387 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 22 Apr 2010 06:38:11 +0000 Subject: [PATCH] add mc and static analyzer blurbs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102053 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ReleaseNotes.html | 51 +++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index fc662618e9d..8931bc801e0 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -145,13 +145,18 @@ suitable for use as a a beta quality ARM compiler.
-

Previously announced in the 2.4, 2.5, and 2.6 LLVM releases, the Clang project also -includes an early stage static source code analysis tool for automatically finding bugs -in C and Objective-C programs. The tool performs checks to find -bugs that occur on a specific path within a program.

- -

In the LLVM 2.7 time-frame, the analyzer core has sprouted legs and...

+

The Clang Static Analyzer + project is an effort to use static source code analysis techniques to + automatically find bugs in C and Objective-C programs (and hopefully C++ in the + future!). The tool is very good at finding bugs that occur on specific + paths through code, such as on error conditions.

+ +

In the LLVM 2.7 time-frame, the analyzer core has made several major and + minor improvements, including better support for tracking the fields of + structures, initial support (not enabled by default yet) for doing + interprocedural (cross-function) analysis, and new checks have been added. +

@@ -255,12 +260,27 @@ DragonEgg is a new project which is seeing its first release with llvm-2.7.

-The LLVM Machine Code (MC) Toolkit project is ... +The LLVM Machine Code (aka MC) sub-project of LLVM was created to solve a number +of problems in the realm of assembly, disassembly, object file format handling, +and a number of other related areas that CPU instruction-set level tools work +in. It is a sub-project of LLVM which provides it with a number of advantages +over other compilers that do not have tightly integrated assembly-level tools. +For a gentle introduction, please see the Intro to the +LLVM MC Project Blog Post.

-

-MC Disassembler (with blog post), MCInstPrinter. Many X86 backend and AsmPrinter simplifications -Can transcode from GAS to intel syntax with "llvm-mc foo.s -output-asm-variant=1" +

2.7 includes major parts of the work required by the new MC Project. A few + targets have been refactored to support it, and work is underway to support a + native assembler in LLVM. This work is not complete in LLVM 2.7, but you has + made substantially more progress on LLVM mainline.

+ +

One minor example of what MC can do is to transcode an AT&T syntax + X86 .s file into intel syntax. You can do this with something like:

+ +
+  llvm-mc foo.s -output-asm-variant=1 -o foo-intel.s
+

@@ -455,13 +475,8 @@ Address of Label and Indirect Branches in LLVM IR Blog Post. href="http://blog.llvm.org/2010/01/x86-disassembler.html">The X86 Disassembler Blog Post for more information. -
  • 2.7 includes major parts of the work required by the new MC Project, - which aims to rework our handling of low-level machine code. A few targets - have been refactored to support it, and work is underway to support a native - assembler in LLVM. This work is not complete in LLVM 2.7, but you has made - substantially more progress on LLVM mainline. You can read more about this - in the - Intro to the LLVM MC Project Blog Post. +
  • 2.7 includes major parts of the work required by the new MC Project, + see the MC update above for more information.
  • -- 2.34.1