2004-08-19 04:49:47 +00:00
|
|
|
# Stacker Configuration File For llvmc
|
2004-08-15 08:16:12 +00:00
|
|
|
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
|
|
|
# Language definitions
|
|
|
|
##########################################################
|
2004-08-15 08:16:12 +00:00
|
|
|
lang.name=Stacker
|
2004-08-19 04:49:47 +00:00
|
|
|
lang.opt1=-simplifycfg -instcombine -mem2reg
|
2004-08-22 18:01:19 +00:00
|
|
|
lang.opt2=-simplifycfg -instcombine -mem2reg -load-vn \
|
|
|
|
-gcse -dse -scalarrepl -sccp
|
|
|
|
lang.opt3=-simplifycfg -instcombine -mem2reg -load-vn \
|
|
|
|
-gcse -dse -scalarrepl -sccp -branch-combine -adce \
|
|
|
|
-globaldce -inline -licm
|
|
|
|
lang.opt4=-simplifycfg -instcombine -mem2reg -load-vn \
|
|
|
|
-gcse -dse -scalarrepl -sccp -ipconstprop \
|
|
|
|
-branch-combine -adce -globaldce -inline -licm
|
|
|
|
lang.opt5=-simplifycfg -instcombine -mem2reg --load-vn \
|
|
|
|
-gcse -dse scalarrepl -sccp -ipconstprop \
|
|
|
|
-branch-combine -adce -globaldce -inline -licm \
|
|
|
|
-block-placement
|
2004-08-19 04:49:47 +00:00
|
|
|
|
|
|
|
##########################################################
|
2004-08-15 08:16:12 +00:00
|
|
|
# Pre-processor definitions
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
|
|
|
|
|
|
|
# Stacker doesn't have a preprocessor but the following
|
|
|
|
# allows the -E option to be supported
|
2004-08-20 22:53:11 +00:00
|
|
|
preprocessor.command=cp %in% %out%
|
2004-08-19 04:49:47 +00:00
|
|
|
preprocessor.required=false
|
2004-08-15 08:16:12 +00:00
|
|
|
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
2004-08-15 08:16:12 +00:00
|
|
|
# Translator definitions
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
|
|
|
|
|
|
|
# To compile stacker source, we just run the stacker
|
|
|
|
# compiler with a default stack size of 2048 entries.
|
2004-08-22 18:01:19 +00:00
|
|
|
translator.command=stkrc -s 2048 %in% -o %out% %time% \
|
|
|
|
%stats% %args%
|
2004-08-19 04:49:47 +00:00
|
|
|
|
|
|
|
# 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
|
2004-08-15 08:16:12 +00:00
|
|
|
|
2004-08-19 04:49:47 +00:00
|
|
|
# stkrc doesn't do any optimization, it just translates
|
|
|
|
translator.optimizes=no
|
|
|
|
|
|
|
|
# stkrc doesn't handle the -On options
|
|
|
|
translator.groks_dash_O=no
|
|
|
|
|
|
|
|
##########################################################
|
2004-08-15 08:16:12 +00:00
|
|
|
# Optimizer definitions
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
|
|
|
|
|
|
|
# For optimization, we use the LLVM "opt" program
|
2004-08-22 18:01:19 +00:00
|
|
|
optimizer.command=opt %in% -o %out% %opt% %time% %stats% \
|
|
|
|
%args%
|
2004-08-19 04:49:47 +00:00
|
|
|
|
|
|
|
# opt doesn't (yet) grok -On
|
|
|
|
optimizer.groks_dash_O=no
|
|
|
|
|
|
|
|
# opt doesn't translate
|
|
|
|
optimizer.translates = no
|
|
|
|
|
|
|
|
# opt doesn't preprocess
|
|
|
|
optimizer.preprocesses=no
|
2004-08-15 08:16:12 +00:00
|
|
|
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
2004-08-15 08:16:12 +00:00
|
|
|
# Assembler definitions
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
2004-08-22 18:01:19 +00:00
|
|
|
assembler.command=llc %in% -o %out% %target% \
|
|
|
|
"-regalloc=linearscan" %time% %stats%
|
2004-08-15 08:16:12 +00:00
|
|
|
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
2004-08-15 08:16:12 +00:00
|
|
|
# Linker definitions
|
2004-08-19 04:49:47 +00:00
|
|
|
##########################################################
|
2004-08-20 22:53:11 +00:00
|
|
|
linker.libs=stkr_runtime
|
|
|
|
linker.paths=
|