[llvm-branch-commits] [cfe-branch] r72056 - /cfe/branches/Apple/Dib/docs/tools/clang.pod

Mike Stump mrs at apple.com
Mon May 18 15:30:39 PDT 2009


Author: mrs
Date: Mon May 18 17:30:38 2009
New Revision: 72056

URL: http://llvm.org/viewvc/llvm-project?rev=72056&view=rev
Log:
Merge in 72044:

Several fixes to the clang man page.
 - -emit-llvm isn't a stage selection option.

 - Document -O4 and -flto.

 - -ObjC++ and -ObjC apply to all inputs, not subsequent ones.

 - Some versions of pod2man aren't happy about the comment after =over=?

 - Some minor grammar fixes.

Modified:
    cfe/branches/Apple/Dib/docs/tools/clang.pod

Modified: cfe/branches/Apple/Dib/docs/tools/clang.pod
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/Apple/Dib/docs/tools/clang.pod?rev=72056&r1=72055&r2=72056&view=diff

==============================================================================
--- cfe/branches/Apple/Dib/docs/tools/clang.pod (original)
+++ cfe/branches/Apple/Dib/docs/tools/clang.pod Mon May 18 17:30:38 2009
@@ -93,15 +93,10 @@
 
 Run the preprocessor, parser and type checking stages.
 
-=item B<-emit-llvm>
-
-Run the preprocessor, parser, type checking stages, LLVM generation and
-optimization stages.
-
 =item B<-S>
 
-Run all of the above, plus target-specific code generation, producing an
-assembly file.
+Run the previous stages as well as LLVM generation and optimization stages and
+target-specific code generation, producing an assembly file.
 
 =item B<-c>
 
@@ -138,11 +133,11 @@
 
 =item B<-ObjC++>
 
-Treat subsequent source input files as Objective-C++ inputs.
+Treat source input files as Objective-C++ inputs.
 
 =item B<-ObjC>
 
-Treat subsequent source input files as Objective-C inputs.
+Treat source input files as Objective-C inputs.
 
 =item B<-trigraphs>
 
@@ -200,19 +195,12 @@
 
 =head2 Target Selection Options
 
-Clang fully supports cross compilation and an inherent part of its design.
+Clang fully supports cross compilation as an inherent part of its design.
 Depending on how your version of Clang is configured, it may have support for
-a number of cross compilers, or may just support a native target.
+a number of cross compilers, or may only support a native target.
 
 =over
 
-=cut
-######
-######=item B<-triple>=I<target triple>
-######
-=pod
-
-
 =item B<-arch> I<architecture>
 
 Specify the architecture to build for.
@@ -245,12 +233,14 @@
 =item B<-O0> B<-O1> B<-O2> B<-Os> B<-O3> B<-O4>
 
 Specify which optimization level to use.  B<-O0> means "no optimization": this
-level compiles the fastest and generates the most debuggable code.  B<-O2> is
-a moderate level of debugging which enables most optimizations.  B<-Os> is like
-B<-O2> but it does extra optimizations to reduce code size.  B<-O3> is like
-B<-O2>, except that it enables optimizations that take longer to perform or that
-may generate larger code (in an attempt to make the program run faster).  B<-O1>
-is somewhere between B<-O0> and B<-O1>.
+level compiles the fastest and generates the most debuggable code.  B<-O2> is a
+moderate level of optimization which enables most optimizations.  B<-Os> is like
+B<-O2> with extra optimizations to reduce code size.  B<-O3> is like B<-O2>,
+except that it enables optimizations that take longer to perform or that may
+generate larger code (in an attempt to make the program run faster).  On
+supported platforms, B<-O4> enables link-time optimization; object files are
+stored in the LLVM bitcode file format and whole program optimization is done at
+link time. B<-O1> is somewhere between B<-O0> and B<-O2>.
 
 =item B<-g>
 
@@ -279,6 +269,13 @@
 This flag specifies that variables without initializers get common linkage.  It
 can be disabled with B<-fno-common>.
 
+=item B<-flto> B<-emit-llvm>
+
+Generate output files in LLVM formats, suitable for link time optimization. When
+used with B<-S> this generates LLVM intermediate language assembly files,
+otherwise this generates LLVM bitcode format object files (which may be passed
+to the linker depending on the stage selection options).
+
 =cut
 
 ##=item B<-fnext-runtime> B<-fobjc-nonfragile-abi> B<-fgnu-runtime>





More information about the llvm-branch-commits mailing list