forked from OSchip/llvm-project
72 lines
2.4 KiB
Plaintext
72 lines
2.4 KiB
Plaintext
# Stacker Configuration File For llvmc
|
|
|
|
##########################################################
|
|
# Language definitions
|
|
##########################################################
|
|
lang.name=Stacker
|
|
lang.opt1=-simplifycfg -instcombine -mem2reg
|
|
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
|
|
|
|
##########################################################
|
|
# Pre-processor definitions
|
|
##########################################################
|
|
|
|
# Stacker doesn't have a preprocessor but the following
|
|
# allows the -E option to be supported
|
|
preprocessor.command=cp %in% %out%
|
|
preprocessor.required=false
|
|
|
|
##########################################################
|
|
# Translator definitions
|
|
##########################################################
|
|
|
|
# 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% %force% %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 handle the -On options
|
|
translator.output=bytecode
|
|
|
|
##########################################################
|
|
# Optimizer definitions
|
|
##########################################################
|
|
|
|
# For optimization, we use the LLVM "opt" program
|
|
optimizer.command=opt %in% -o %out% %opt% %time% %stats% \
|
|
%force% %args%
|
|
|
|
optimizer.required = true
|
|
|
|
# opt doesn't translate
|
|
optimizer.translates = no
|
|
|
|
# opt doesn't preprocess
|
|
optimizer.preprocesses=no
|
|
|
|
# opt produces bytecode
|
|
optimizer.output = bc
|
|
|
|
##########################################################
|
|
# Assembler definitions
|
|
##########################################################
|
|
assembler.command=llc %in% -o %out% %target% %time% %stats%
|