diff options
Diffstat (limited to 'contrib/llvm/examples/ModuleMaker')
-rw-r--r-- | contrib/llvm/examples/ModuleMaker/CMakeLists.txt | 5 | ||||
-rw-r--r-- | contrib/llvm/examples/ModuleMaker/Makefile | 14 | ||||
-rw-r--r-- | contrib/llvm/examples/ModuleMaker/ModuleMaker.cpp | 64 | ||||
-rw-r--r-- | contrib/llvm/examples/ModuleMaker/README.txt | 8 |
4 files changed, 0 insertions, 91 deletions
diff --git a/contrib/llvm/examples/ModuleMaker/CMakeLists.txt b/contrib/llvm/examples/ModuleMaker/CMakeLists.txt deleted file mode 100644 index 81e9115..0000000 --- a/contrib/llvm/examples/ModuleMaker/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -set(LLVM_LINK_COMPONENTS bitwriter) - -add_llvm_example(ModuleMaker - ModuleMaker.cpp - ) diff --git a/contrib/llvm/examples/ModuleMaker/Makefile b/contrib/llvm/examples/ModuleMaker/Makefile deleted file mode 100644 index 9454cf5..0000000 --- a/contrib/llvm/examples/ModuleMaker/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -##===- examples/ModuleMaker/Makefile -----------------------*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## -LEVEL=../.. -TOOLNAME=ModuleMaker -EXAMPLE_TOOL = 1 -LINK_COMPONENTS := bitwriter - -include $(LEVEL)/Makefile.common diff --git a/contrib/llvm/examples/ModuleMaker/ModuleMaker.cpp b/contrib/llvm/examples/ModuleMaker/ModuleMaker.cpp deleted file mode 100644 index 6bc52c1..0000000 --- a/contrib/llvm/examples/ModuleMaker/ModuleMaker.cpp +++ /dev/null @@ -1,64 +0,0 @@ -//===- examples/ModuleMaker/ModuleMaker.cpp - Example project ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This programs is a simple example that creates an LLVM module "from scratch", -// emitting it as a bitcode file to standard out. This is just to show how -// LLVM projects work and to demonstrate some of the LLVM APIs. -// -//===----------------------------------------------------------------------===// - -#include "llvm/LLVMContext.h" -#include "llvm/Module.h" -#include "llvm/DerivedTypes.h" -#include "llvm/Constants.h" -#include "llvm/Instructions.h" -#include "llvm/Bitcode/ReaderWriter.h" -#include "llvm/Support/raw_ostream.h" -using namespace llvm; - -int main() { - LLVMContext Context; - - // Create the "module" or "program" or "translation unit" to hold the - // function - Module *M = new Module("test", Context); - - // Create the main function: first create the type 'int ()' - FunctionType *FT = - FunctionType::get(Type::getInt32Ty(Context), /*not vararg*/false); - - // By passing a module as the last parameter to the Function constructor, - // it automatically gets appended to the Module. - Function *F = Function::Create(FT, Function::ExternalLinkage, "main", M); - - // Add a basic block to the function... again, it automatically inserts - // because of the last argument. - BasicBlock *BB = BasicBlock::Create(Context, "EntryBlock", F); - - // Get pointers to the constant integers... - Value *Two = ConstantInt::get(Type::getInt32Ty(Context), 2); - Value *Three = ConstantInt::get(Type::getInt32Ty(Context), 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(ReturnInst::Create(Context, Add)); - - // Output the bitcode file to stdout - WriteBitcodeToFile(M, outs()); - - // Delete the module and all of its contents. - delete M; - return 0; -} diff --git a/contrib/llvm/examples/ModuleMaker/README.txt b/contrib/llvm/examples/ModuleMaker/README.txt deleted file mode 100644 index ecbe30e..0000000 --- a/contrib/llvm/examples/ModuleMaker/README.txt +++ /dev/null @@ -1,8 +0,0 @@ -//===----------------------------------------------------------------------===// -// ModuleMaker Sample project -//===----------------------------------------------------------------------===// - -This project is an extremely simple example of using some simple pieces of the -LLVM API. The actual executable generated by this project simply emits an -LLVM bytecode file to standard output. It is designed to show some basic -usage of LLVM APIs, and how to link to LLVM libraries. |