diff --git a/docs/CompilerDriver.html b/docs/CompilerDriver.html index 2e347a963e0..1d1bdb662d1 100644 --- a/docs/CompilerDriver.html +++ b/docs/CompilerDriver.html @@ -138,9 +138,9 @@ llvmc -O2 x.c y.c z.c -o xyz

must produce exactly the same results as:


-    llvmc -O2 x.c
-    llvmc -O2 y.c
-    llvmc -O2 z.c
+    llvmc -O2 x.c -o x.o
+    llvmc -O2 y.c -o y.o
+    llvmc -O2 z.c -o z.o
     llvmc -O2 x.o y.o z.o -o xyz

To accomplish this, llvmc uses a very simple goal oriented procedure to do its work. The overall goal is to produce a functioning @@ -446,6 +446,16 @@ optimization.

Description Default +

LLVMC ITEMS

+ + version + string + Provides the version string for the contents of this + configuration file. What is accepted as a legal configuration file + will change over time and this item tells llvmc which version + should be expected. + b +

LANG ITEMS

lang.name @@ -520,7 +530,7 @@ optimization.

translator.output - native, bytecode or assembly + bytecode or assembly This item specifies the kind of output the language's translator generates. bytecode @@ -533,24 +543,6 @@ optimization.

whenever the final phase is not pre-processing. false - - translator.optimizes - boolean - Indicates that the translator also optimizes. If - this is true, then llvmc will skip the optimization phase - whenever the final phase is optimization or later. - false - - - translator.groks_dash_o - boolean - Indicates that the translator understands the - intent of the various -On options to - llvmc. This will cause the -On option to be - given to the translator instead of the equivalent options provided by - lang.optn. - false -

OPTIMIZER ITEMS

optimizer.command @@ -562,9 +554,9 @@ optimization.

optimizer.output - native, bytecode or assembly + bytecode or assembly This item specifies the kind of output the language's - optimizer generates. + optimizer generates. Valid values are "assembly" and "bytecode" bytecode @@ -583,16 +575,6 @@ optimization.

whenever the final phase is optimization or later. false - - optimizer.groks_dash_o - boolean - Indicates that the translator understands the - intent of the various -On options to - llvmc. This will cause the -On option to be - given to the translator instead of the equivalent options provided by - lang.optn. - false -

ASSEMBLER ITEMS

assembler.command @@ -602,36 +584,6 @@ optimization.

input file and %out% for the output file. <blank> -

LINKER ITEMS

- - linker.libs - library names - This provides the list of runtime libraries that the - source language could link with. In general, the libraries - needed will be encoded into the LLVM Assembly or bytecode file. - However, this list tells llvmc the names of the ones that - apply to this source language. The names provided here should be - unadorned with no suffix and no "lib" prefix. - - <blank> - - - linker.lib_paths - Fully qualifed local path names - This item provides a list of potential directories - in which the source language's runtime libraries might be located. If - a given object file compiled with this language's translator is linked - then those libraries will be given as -L options to the - linker. - <blank> - - - linker.output - native, bytecode or assembly - This item specifies the kind of output the language's - translator generates. - bytecode - @@ -661,6 +613,13 @@ optimization.

then you are explicitly disallowing the -T option for your tool. + + %force% + Replaced with the -f option if it was + specified on the llvmc command line. This is intended to tell + the compiler tool to force the overwrite of output files. + + %in% Replaced with the full path of the input file. You @@ -753,7 +712,7 @@ optimization.

# To compile stacker source, we just run the stacker # compiler with a default stack size of 2048 entries. translator.command=stkrc -s 2048 %in% -o %out% %time% \ - %stats% %args% + %stats% %force% %args% # stkrc doesn't preprocess but we set this to true so # that we don't run the cp command by default. @@ -762,11 +721,8 @@ optimization.

# The translator is required to run. translator.required=true - # stkrc doesn't do any optimization, it just translates - translator.optimizes=no - # stkrc doesn't handle the -On options - translator.groks_dash_O=no + translator.output=bytecode ########################################################## # Optimizer definitions @@ -774,10 +730,9 @@ optimization.

# For optimization, we use the LLVM "opt" program optimizer.command=opt %in% -o %out% %opt% %time% %stats% \ - %args% + %force% %args% - # opt doesn't (yet) grok -On - optimizer.groks_dash_O=no + optimizer.required = true # opt doesn't translate optimizer.translates = no @@ -785,17 +740,13 @@ optimization.

# opt doesn't preprocess optimizer.preprocesses=no + # opt produces bytecode + optimizer.output = bc + ########################################################## # Assembler definitions ########################################################## - assembler.command=llc %in% -o %out% %target% \ - "-regalloc=linearscan" %time% %stats% - -########################################################## -# Linker definitions -########################################################## - linker.libs=stkr_runtime - linker.paths= + assembler.command=llc %in% -o %out% %target% %time% %stats%