diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-05-18 21:34:46 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-05-18 21:34:46 +0000 |
commit | 94f497b0724601539dd02637aabda584b41e200e (patch) | |
tree | cfd87d99edfe63d36e65ef7467ccd46e58dfb932 /docs | |
parent | 2f2433f2c4965640e3eea62c87deb7292492b10f (diff) | |
download | clang-94f497b0724601539dd02637aabda584b41e200e.tar.gz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72044 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/tools/clang.pod | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/docs/tools/clang.pod b/docs/tools/clang.pod index 4adf57faf2..c520f93997 100644 --- a/docs/tools/clang.pod +++ b/docs/tools/clang.pod @@ -93,15 +93,10 @@ Run the preprocessor stage. 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 @@ Same as B<-std=c89>. =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 @@ with both GC and non-GC mode. =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 @@ may not exist on earlier ones. =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 sets the default visibility level. 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> |