| # 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% |