Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 1 | # Stacker Configuration File For llvmc |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 2 | |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 3 | ########################################################## |
| 4 | # Language definitions |
| 5 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 6 | lang.name=Stacker |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 7 | lang.opt1=-simplifycfg -instcombine -mem2reg |
Reid Spencer | b50acbc | 2004-08-22 18:01:19 +0000 | [diff] [blame^] | 8 | lang.opt2=-simplifycfg -instcombine -mem2reg -load-vn \ |
| 9 | -gcse -dse -scalarrepl -sccp |
| 10 | lang.opt3=-simplifycfg -instcombine -mem2reg -load-vn \ |
| 11 | -gcse -dse -scalarrepl -sccp -branch-combine -adce \ |
| 12 | -globaldce -inline -licm |
| 13 | lang.opt4=-simplifycfg -instcombine -mem2reg -load-vn \ |
| 14 | -gcse -dse -scalarrepl -sccp -ipconstprop \ |
| 15 | -branch-combine -adce -globaldce -inline -licm |
| 16 | lang.opt5=-simplifycfg -instcombine -mem2reg --load-vn \ |
| 17 | -gcse -dse scalarrepl -sccp -ipconstprop \ |
| 18 | -branch-combine -adce -globaldce -inline -licm \ |
| 19 | -block-placement |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 20 | |
| 21 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 22 | # Pre-processor definitions |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 23 | ########################################################## |
| 24 | |
| 25 | # Stacker doesn't have a preprocessor but the following |
| 26 | # allows the -E option to be supported |
Reid Spencer | 53aa793 | 2004-08-20 22:53:11 +0000 | [diff] [blame] | 27 | preprocessor.command=cp %in% %out% |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 28 | preprocessor.required=false |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 29 | |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 30 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 31 | # Translator definitions |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 32 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 33 | |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 34 | # To compile stacker source, we just run the stacker |
| 35 | # compiler with a default stack size of 2048 entries. |
Reid Spencer | b50acbc | 2004-08-22 18:01:19 +0000 | [diff] [blame^] | 36 | translator.command=stkrc -s 2048 %in% -o %out% %time% \ |
| 37 | %stats% %args% |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 38 | |
| 39 | # stkrc doesn't preprocess but we set this to true so |
| 40 | # that we don't run the cp command by default. |
| 41 | translator.preprocesses=true |
| 42 | |
| 43 | # The translator is required to run. |
| 44 | translator.required=true |
| 45 | |
| 46 | # stkrc doesn't do any optimization, it just translates |
| 47 | translator.optimizes=no |
| 48 | |
| 49 | # stkrc doesn't handle the -On options |
| 50 | translator.groks_dash_O=no |
| 51 | |
| 52 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 53 | # Optimizer definitions |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 54 | ########################################################## |
| 55 | |
| 56 | # For optimization, we use the LLVM "opt" program |
Reid Spencer | b50acbc | 2004-08-22 18:01:19 +0000 | [diff] [blame^] | 57 | optimizer.command=opt %in% -o %out% %opt% %time% %stats% \ |
| 58 | %args% |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 59 | |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 60 | # opt doesn't (yet) grok -On |
| 61 | optimizer.groks_dash_O=no |
| 62 | |
| 63 | # opt doesn't translate |
| 64 | optimizer.translates = no |
| 65 | |
| 66 | # opt doesn't preprocess |
| 67 | optimizer.preprocesses=no |
| 68 | |
| 69 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 70 | # Assembler definitions |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 71 | ########################################################## |
Reid Spencer | b50acbc | 2004-08-22 18:01:19 +0000 | [diff] [blame^] | 72 | assembler.command=llc %in% -o %out% %target% \ |
| 73 | "-regalloc=linearscan" %time% %stats% |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 74 | |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 75 | ########################################################## |
Reid Spencer | 936f5c7 | 2004-08-15 08:16:12 +0000 | [diff] [blame] | 76 | # Linker definitions |
Reid Spencer | bae6825 | 2004-08-19 04:49:47 +0000 | [diff] [blame] | 77 | ########################################################## |
Reid Spencer | 53aa793 | 2004-08-20 22:53:11 +0000 | [diff] [blame] | 78 | linker.libs=stkr_runtime |
| 79 | linker.paths= |