diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-08-23 19:28:39 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-08-23 19:28:39 +0000 |
commit | 157b956e42871b53bb9c72e28d6f3409edb4fe42 (patch) | |
tree | 669101e883a64a51fcc851943f3ff0fb89d551cd /projects/SmallExamples/ModuleMaker/tools | |
parent | c21214ac59735dc71cbbd923ff284a3d60146303 (diff) |
Moved the "SmallExamples" out of the /projects directory and into a new
/examples directory. History was maintained. These programs do not need to
be configured but things in /projects must be.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'projects/SmallExamples/ModuleMaker/tools')
3 files changed, 0 insertions, 107 deletions
diff --git a/projects/SmallExamples/ModuleMaker/tools/Makefile b/projects/SmallExamples/ModuleMaker/tools/Makefile deleted file mode 100644 index b15b35b33d..0000000000 --- a/projects/SmallExamples/ModuleMaker/tools/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -##===- projects/ModuleMaker/tools/Makefile -----------------*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## -# -# Relative path to the top of the source tree. -# -LEVEL=.. - -# -# List all of the subdirectories that we will compile. -# -DIRS=ModuleMaker - -include $(LEVEL)/Makefile.common diff --git a/projects/SmallExamples/ModuleMaker/tools/ModuleMaker/Makefile b/projects/SmallExamples/ModuleMaker/tools/ModuleMaker/Makefile deleted file mode 100644 index 21e8579d9f..0000000000 --- a/projects/SmallExamples/ModuleMaker/tools/ModuleMaker/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -##===- projects/ModuleMaker/tools/ModuleMaker/Makefile -----*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## -# -# LEVEL - Indicate where we are relative to the top of the source tree. -# -LEVEL=../.. - -# -# TOOLNAME = Give the name of the tool. -# -TOOLNAME=ModuleMaker - -# -# LLVMLIBS - List LLVM libraries that we'll need -# -LLVMLIBS= bcwriter vmcore support.a - -# -# USEDLIBS - List all project local libraries here -# -#USEDLIBS= - -# -# Include Makefile.common so we know what to do. -# -include $(LEVEL)/Makefile.common - diff --git a/projects/SmallExamples/ModuleMaker/tools/ModuleMaker/ModuleMaker.cpp b/projects/SmallExamples/ModuleMaker/tools/ModuleMaker/ModuleMaker.cpp deleted file mode 100644 index 71e6c8cd76..0000000000 --- a/projects/SmallExamples/ModuleMaker/tools/ModuleMaker/ModuleMaker.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//===- ModuleMaker.cpp - Example project which creates modules --*- C++ -*-===// -// -// This programs is a simple example that creates an LLVM module "from scratch", -// emitting it as a bytecode file to standard out. This is just to show how -// LLVM projects work and to demonstrate some of the LLVM APIs. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Module.h" -#include "llvm/DerivedTypes.h" -#include "llvm/Constants.h" -#include "llvm/Instructions.h" -#include "llvm/Bytecode/Writer.h" -#include <iostream> - -using namespace llvm; - -int main() { - // Create the "module" or "program" or "translation unit" to hold the - // function - Module *M = new Module("test"); - - // Create the main function: first create the type 'int ()' - FunctionType *FT = FunctionType::get(Type::IntTy, std::vector<const Type*>(), - /*not vararg*/false); - - // By passing a module as the last parameter to the Function constructor, - // it automatically gets appended to the Module. - Function *F = new Function(FT, Function::ExternalLinkage, "main", M); - - // Add a basic block to the function... again, it automatically inserts - // because of the last argument. - BasicBlock *BB = new BasicBlock("EntryBlock", F); - - // Get pointers to the constant integers... - Value *Two = ConstantSInt::get(Type::IntTy, 2); - Value *Three = ConstantSInt::get(Type::IntTy, 3); - - // Create the add instruction... does not insert... - Instruction *Add = BinaryOperator::create(Instruction::Add, Two, Three, - "addresult"); - - // explicitly insert it into the basic block... - BB->getInstList().push_back(Add); - - // Create the return instruction and add it to the basic block - BB->getInstList().push_back(new ReturnInst(Add)); - - // Output the bytecode file to stdout - WriteBytecodeToFile(M, std::cout); - - // Delete the module and all of its contents. - delete M; - return 0; -} |