push bytecode decompressor out through APIs. Now the bytecode reader
[oota-llvm.git] / tools / llvmc / st
index 93d5c5b286c2e7d1cdb8ccd7cd77ac57acfc927e..87b476991d932dfcd8042050d5645ee7971908be 100644 (file)
@@ -4,15 +4,11 @@
 # Language definitions
 ##########################################################
   lang.name=Stacker 
-  lang.opt1=-simplifycfg -instcombine -mem2reg
-  lang.opt2=-simplifycfg -instcombine -mem2reg -scalarrepl -sccp
-  lang.opt3=-simplifycfg -instcombine -mem2reg -scalarrepl -sccp \
-  -branch-combine -adce -globaldce -inline -licm -pre
-  lang.opt4=-simplifycfg -instcombine -mem2reg -scalarrepl -sccp \
-  -ipconstprop -branch-combine -adce -globaldce -inline -licm -pre
-  lang.opt5=-simplifycfg -instcombine -mem2reg -scalarrepl -sccp \
-  -ipconstprop -branch-combine -adce -globaldce -inline -licm -pre \
-  -block-placement
+  lang.opt1=-O1
+  lang.opt2=-O2
+  lang.opt3=-O3
+  lang.opt4=-O4
+  lang.opt5=-O5
 
 ##########################################################
 # Pre-processor definitions
@@ -20,7 +16,7 @@
 
   # Stacker doesn't have a preprocessor but the following
   # allows the -E option to be supported
-  preprocessor.command=cp @in@ @out@
+  preprocessor.command=cp %in% %out%
   preprocessor.required=false
 
 ##########################################################
 
   # 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@
+  translator.command=stkrc -s 2048 %in% -f -o %out% %opt% \
+    %time% %stats% %args%
 
   # stkrc doesn't preprocess but we set this to true so
   # that we don't run the cp command by default.
   translator.preprocesses=true
 
   # The translator is required to run.
-  translator.required=true
-
-  # stkrc doesn't do any optimization, it just translates
-  translator.optimizes=no
+  translator.required=false
 
   # stkrc doesn't handle the -On options
-  translator.groks_dash_O=no
+  translator.output=bytecode
 
 ##########################################################
 # Optimizer definitions
 ##########################################################
   
   # For optimization, we use the LLVM "opt" program
-  optimizer.command=opt @in@ -o @out@ @opt@ @time@ @stats@
+  optimizer.command=stkrc -s 2048 %in% -f -o %out% %opt% \
+    %time% %stats% %args%
 
-  # opt doesn't (yet) grok -On
-  optimizer.groks_dash_O=no
+  optimizer.required = yes
 
   # opt doesn't translate
-  optimizer.translates = no
+  optimizer.translates = yes
 
   # opt doesn't preprocess
-  optimizer.preprocesses=no
+  optimizer.preprocesses=yes
 
-##########################################################
-# Assembler definitions
-##########################################################
-  assembler.command=llc @in@ -o @out@ @target@ "-regalloc=linearscan" \
-  @time@ @stats@
+  # opt produces bytecode
+  optimizer.output = bc
 
 ##########################################################
-# Linker definitions
+# Assembler definitions
 ##########################################################
-  linker.command=gccld @in@ -o @out@ -lstkr_runtime
+  assembler.command=llc %in% -o %out% %target% %time% %stats%