diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-01-17 02:18:44 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-01-17 02:18:44 +0000 |
commit | d203342a597bff2bc896cb31b7ea8dcd4e45a425 (patch) | |
tree | 94158de0997f4ddd009fa98f593f042f2baa334d /projects/Stacker/tools | |
parent | 67bb0796ddc3e6f93de80519aa16fb661f84d1e9 (diff) |
For PR1074:
Remove the projects/Stacker directory. LLVM is now free of dependency
on llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33278 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'projects/Stacker/tools')
-rw-r--r-- | projects/Stacker/tools/Makefile | 20 | ||||
-rw-r--r-- | projects/Stacker/tools/stkrc/Makefile | 33 | ||||
-rw-r--r-- | projects/Stacker/tools/stkrc/st | 63 | ||||
-rw-r--r-- | projects/Stacker/tools/stkrc/stkrc.cpp | 180 |
4 files changed, 0 insertions, 296 deletions
diff --git a/projects/Stacker/tools/Makefile b/projects/Stacker/tools/Makefile deleted file mode 100644 index 39d33dc083..0000000000 --- a/projects/Stacker/tools/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -##===- projects/Stacker/tools/Makefile ---------------------*- Makefile -*-===## -# -# This is the stacker tools makefile -# -##===----------------------------------------------------------------------===## - -# -# Indicates our relative path to the top of the project's root directory. -# -LEVEL = .. - -# -# Directories that needs to be built. -# -DIRS = stkrc - -# -# Include the Master Makefile that knows how to build all. -# -include $(LEVEL)/Makefile.common diff --git a/projects/Stacker/tools/stkrc/Makefile b/projects/Stacker/tools/stkrc/Makefile deleted file mode 100644 index 643e5d2471..0000000000 --- a/projects/Stacker/tools/stkrc/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -##===- projects/Stacker/lib/stkrc/Makefile -----------------*- Makefile -*-===## - -# -# Indicate where we are relative to the top of the source tree. -# -LEVEL=../.. - -# -# Give the name of a library. This will build a dynamic version. -# -TOOLNAME = stkrc -LLVMLIBS = LLVMAsmParser.a LLVMBCWriter.a LLVMipo.a LLVMScalarOpts.a \ - LLVMTransforms.a LLVMTransformUtils.a LLVMipa.a LLVMAnalysis.a \ - LLVMTarget.a LLVMCore.a LLVMSupport.a LLVMbzip2.a LLVMSystem.a -CONFIG_FILES = st -EXTRA_DIST = st -USEDLIBS=stkr_compiler -REQUIRES_EH := 1 - - -ifdef PARSE_DEBUG -CPPFLAGS = -DPARSE_DEBUG=1 -endif - -ifdef FLEX_DEBUG -CPPFLAGS += -DFLEX_DEBUG=1 -endif - -# -# Include Makefile.common so we know what to do. -# -include $(LEVEL)/Makefile.common - diff --git a/projects/Stacker/tools/stkrc/st b/projects/Stacker/tools/stkrc/st deleted file mode 100644 index 7cf6215411..0000000000 --- a/projects/Stacker/tools/stkrc/st +++ /dev/null @@ -1,63 +0,0 @@ -# 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 %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 %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% diff --git a/projects/Stacker/tools/stkrc/stkrc.cpp b/projects/Stacker/tools/stkrc/stkrc.cpp deleted file mode 100644 index 38ed78e02d..0000000000 --- a/projects/Stacker/tools/stkrc/stkrc.cpp +++ /dev/null @@ -1,180 +0,0 @@ -//===--- stkrc.cpp --- The Stacker Compiler -------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and donated to the LLVM research -// group and is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This is the "main" program for the Stacker Compiler. It is simply a utility -// that invokes the StackerCompiler::compile method (see StackerCompiler.cpp) -// -// To get help using this utility, you can invoke it with: -// stkrc --help - Output information about command line switches -// -// -//===------------------------------------------------------------------------=== - -#include "../../lib/compiler/StackerCompiler.h" -#include "llvm/Assembly/Parser.h" -#include "llvm/Bytecode/Writer.h" -#include "llvm/Analysis/Verifier.h" -#include "llvm/Support/CommandLine.h" -#include "llvm/Support/Streams.h" -#include "llvm/System/Signals.h" -#include <fstream> -#include <iostream> -#include <memory> -using namespace llvm; - -static cl::opt<std::string> -InputFilename(cl::Positional, cl::desc("<input .st file>"), cl::init("-")); - -static cl::opt<std::string> -OutputFilename("o", cl::desc("Override output filename"), - cl::value_desc("filename")); - -static cl::opt<bool> -Force("f", cl::desc("Overwrite output files")); - -static cl::opt<uint32_t> -StackSize("s", cl::desc("Specify program maximum stack size"), - cl::init(1024), cl::value_desc("stack size")); - -static cl::opt<bool> -DumpAsm("d", cl::desc("Print LLVM Assembly as parsed"), cl::Hidden); - -#ifdef PARSE_DEBUG -static cl::opt<bool> -ParseDebug("g", cl::desc("Turn on Bison Debugging"), cl::Hidden); -#endif - -#ifdef FLEX_DEBUG -static cl::opt<bool> -FlexDebug("x", cl::desc("Turn on Flex Debugging"), cl::Hidden); -#endif - -static cl::opt<bool> -EchoSource("e", cl::desc("Print Stacker Source as parsed"), cl::Hidden); - -enum OptLev { - None = 0, - One = 1, - Two = 2, - Three = 3, - Four = 4, - Five = 5 -}; - -static cl::opt<OptLev> OptLevel( - cl::desc("Choose optimization level to apply:"), - cl::init(One), - cl::values( - clEnumValN(None,"O0","An alias for the -O1 option"), - clEnumValN(One,"O1","Optimize for compilation speed"), - clEnumValN(Two,"O2","Perform simple optimizations to reduce code size"), - clEnumValN(Three,"O3","More aggressive optimizations"), - clEnumValN(Four,"O4","High level of optimization"), - clEnumValN(Five,"O5","An alias for the -O4 option"), - clEnumValEnd - )); - -int main(int argc, char **argv) -{ - cl::ParseCommandLineOptions(argc, argv, " stacker .st -> .bc compiler\n"); - - std::ostream *Out = 0; - try { - StackerCompiler compiler; - try - { -#ifdef PARSE_DEBUG - { - extern int Stackerdebug; - Stackerdebug = ParseDebug; - } -#endif -#ifdef FLEX_DEBUG - { - extern int Stacker_flex_debug; - Stacker_flex_debug = FlexDebug; - } -#endif - // Parse the file now... - - std::auto_ptr<Module> M ( - compiler.compile(InputFilename,EchoSource,OptLevel,StackSize)); - if (M.get() == 0) { - throw std::string("program didn't parse correctly."); - } - - if (verifyModule(*M.get())) { - throw std::string("program parsed, but does not verify as correct!"); - } - - if (DumpAsm) - cerr << "Here's the assembly:" << M.get(); - - if (OutputFilename != "") { // Specified an output filename? - if (OutputFilename != "-") { // Not stdout? - if (!Force && std::ifstream(OutputFilename.c_str())) { - // If force is not specified, make sure not to overwrite a file! - throw std::string("error opening '") + OutputFilename + - "': file exists!\n" + - "Use -f command line argument to force output"; - return 1; - } - Out = new std::ofstream(OutputFilename.c_str()); - } else { // Specified stdout - Out = &std::cout; - } - } else { - if (InputFilename == "-") { - OutputFilename = "-"; - Out = &std::cout; - } else { - std::string IFN = InputFilename; - int Len = IFN.length(); - if (IFN[Len-3] == '.' && IFN[Len-2] == 's' && IFN[Len-1] == 't') { - // Source ends in .ll - OutputFilename = std::string(IFN.begin(), IFN.end()-3); - } else { - OutputFilename = IFN; // Append a .bc to it - } - OutputFilename += ".bc"; - - if (!Force && std::ifstream(OutputFilename.c_str())) { - // If force is not specified, make sure not to overwrite a file! - throw std::string("error opening '") + OutputFilename + - "': file exists!\n" + - "Use -f command line argument to force output\n"; - } - - Out = new std::ofstream(OutputFilename.c_str()); - // Make sure that the Out file gets unlinked from the disk if we get a - // SIGINT - sys::RemoveFileOnSignal(sys::Path(OutputFilename)); - } - } - - if (!Out->good()) { - throw std::string("error opening ") + OutputFilename + "!"; - } - - OStream L(*Out); - WriteBytecodeToFile(M.get(), L); - } catch (const ParseError &E) { - cerr << argv[0] << ": " << E.getMessage() << "\n"; - return 1; - } - } - catch (const std::string& msg ) { - cerr << argv[0] << ": " << msg << "\n"; - return 1; - } - - if (Out != &std::cout) delete Out; - return 0; -} |