mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
bae6825e1d
actually execute actions and it is been shown to optimize a Stacker program git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15912 91177308-0d34-0410-b5e6-96231b3b80d8
73 lines
2.5 KiB
Plaintext
73 lines
2.5 KiB
Plaintext
# Stacker Configuration File For llvmc
|
|
|
|
##########################################################
|
|
# 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
|
|
|
|
##########################################################
|
|
# 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@
|
|
|
|
# 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
|
|
|
|
# stkrc doesn't handle the -On options
|
|
translator.groks_dash_O=no
|
|
|
|
##########################################################
|
|
# Optimizer definitions
|
|
##########################################################
|
|
|
|
# For optimization, we use the LLVM "opt" program
|
|
optimizer.command=opt @in@ -o @out@ @opt@ @time@ @stats@
|
|
|
|
# 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
|
|
|
|
##########################################################
|
|
# Assembler definitions
|
|
##########################################################
|
|
assembler.command=llc @in@ -o @out@ @target@ "-regalloc=linearscan" \
|
|
@time@ @stats@
|
|
|
|
##########################################################
|
|
# Linker definitions
|
|
##########################################################
|
|
linker.command=gccld @in@ -o @out@ -lstkr_runtime
|