summaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2005-05-19 00:54:10 +0000
committerReid Spencer <rspencer@reidspencer.com>2005-05-19 00:54:10 +0000
commit9daa06129319c482cb2261f16d48f0f276e5d599 (patch)
treed7eb3e010f928fe3b6aeb5765c5d1c137763da22 /projects
parentcc97cfc43eb481ef61763feecb16aa3658016284 (diff)
Add an llvmc specification file for the "st" suffix. This allows Stacker
programs to benefit from the optimization capabilities of the llvmc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22133 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'projects')
-rw-r--r--projects/Stacker/tools/stkrc/Makefile3
-rw-r--r--projects/Stacker/tools/stkrc/st63
2 files changed, 65 insertions, 1 deletions
diff --git a/projects/Stacker/tools/stkrc/Makefile b/projects/Stacker/tools/stkrc/Makefile
index a4f97a90f5a..99f04471f40 100644
--- a/projects/Stacker/tools/stkrc/Makefile
+++ b/projects/Stacker/tools/stkrc/Makefile
@@ -12,7 +12,8 @@ TOOLNAME = stkrc
LLVMLIBS = LLVMAsmParser LLVMBCWriter LLVMTransforms LLVMipo.a LLVMipa.a \
LLVMScalarOpts LLVMAnalysis.a LLVMTarget.a LLVMTransformUtils \
LLVMCore LLVMSupport.a LLVMbzip2 LLVMSystem.a
-
+CONFIG_FILES = st
+EXTRA_DIST = st
USEDLIBS=stkr_compiler
diff --git a/projects/Stacker/tools/stkrc/st b/projects/Stacker/tools/stkrc/st
new file mode 100644
index 00000000000..2006825b6b7
--- /dev/null
+++ b/projects/Stacker/tools/stkrc/st
@@ -0,0 +1,63 @@
+# Stacker configuration file for llvmc
+
+##########################################################
+# Language definitions
+##########################################################
+ lang.name=Stacker
+ lang.opt1=-O1
+ lang.opt2=-O2
+ lang.opt3=-O3
+ lang.opt4=-O4
+ lang.opt5=-O5
+
+##########################################################
+# 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=%bindir%/stkrc -s 2048 %in% -f -o %out% %opt% \
+ %time% %stats% %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=false
+
+ # stkrc doesn't handle the -On options
+ translator.output=bytecode
+
+##########################################################
+# Optimizer definitions
+##########################################################
+
+ # For optimization, we use the LLVM "opt" program
+ optimizer.command=%bindir%/stkrc -s 2048 %in% -f -o %out% %opt% \
+ %time% %stats% %args%
+
+ optimizer.required = yes
+
+ # opt doesn't translate
+ optimizer.translates = yes
+
+ # opt doesn't preprocess
+ optimizer.preprocesses=yes
+
+ # opt produces bytecode
+ optimizer.output = bc
+
+##########################################################
+# Assembler definitions
+##########################################################
+ assembler.command=%bindir%/llc %in% -o %out% %target% %time% %stats%