]> git.lizzy.rs Git - rust.git/commitdiff
Use ".ll" as default suffix of LLVM assembly file
authorHaitao Li <lihaitao@gmail.com>
Tue, 8 Nov 2011 04:37:42 +0000 (12:37 +0800)
committerBrian Anderson <banderson@mozilla.com>
Tue, 8 Nov 2011 05:12:48 +0000 (21:12 -0800)
This commit is a follow up of Issue #1147.

Althought there are some inconsistency about this naming convention in
LLVM. For example, `clang' write LLVM assembly to a file with ".s" suffix,
while both `llvm-dis' and `opt' write to files with ".ll" suffices. We
think ".ll" makes more sense.

Also rustc manual page is updated.

man/rustc.1
src/comp/driver/rustc.rs

index 68c3e01cb2171317b4906409009cc25fa555fab2..58109cd1e9e5525ad8c78a1a8726d7043a32b897 100644 (file)
@@ -25,7 +25,8 @@ output filename for \fBfoo.rs\fR is otherwise \fBfoo\fR plus any
 platform-specific extension (when compiling a binary), a
 platform-specific name, e.g. \fBlibfoo.so\fR (when compiling a
 library), \fBfoo.o\fR (when using \fB-c\fR), \fBfoo.s\fR (when using
-\fB-S\fR) or \fBfoo.bc\fR (when using \fB--emit-llvm\fR), and
+\fB-S\fR) or \fBfoo.bc\fR (when using \fB--emit-llvm\fR), and \fBfoo.ll\fR
+(when using both \fB-S\fR and \fB--emit-llvm\fR).
 .TP
 \fB--lib\fR:
 Compile and link a library crate into a shared object.
@@ -82,7 +83,9 @@ Compile to assembly, but do not assemble or link.
 Compile and assemble, but do not link.
 .TP
 \fB--emit-llvm\fR:
-Generate llvm bitcode.
+Generate output files in LLVM format. When used with \fB-S\fR this generate LLVM
+intermediate language assembly files, otherwise this generates LLVM bitcode
+format object files. 
 .TP
 \fB--save-temps\fR:
 For foo.rs, save generated bitcode before optimization to
index 3787baffc8253062354cf5544ddc7b23bf77c6cd..ec715593ce74346053b2476c7199e0c6ebb9881e 100644 (file)
@@ -477,7 +477,7 @@ fn build_output_filenames(ifile: str, ofile: option::t<str>,
               link::output_type_none. { "none" }
               link::output_type_bitcode. { "bc" }
               link::output_type_assembly. { "s" }
-              link::output_type_llvm_assembly. { "s" }
+              link::output_type_llvm_assembly. { "ll" }
               // Object and exe output both use the '.o' extension here
               link::output_type_object. | link::output_type_exe. {
                 "o"