projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a FIXME about the format and add a test.
[oota-llvm.git]
/
examples
/
ModuleMaker
/
ModuleMaker.cpp
diff --git
a/examples/ModuleMaker/ModuleMaker.cpp
b/examples/ModuleMaker/ModuleMaker.cpp
index 154e24065c0a82cef9b0a5fadb932d97f0e6671b..c931972f5b60d337974b505675296a50b9b4b1af 100644
(file)
--- a/
examples/ModuleMaker/ModuleMaker.cpp
+++ b/
examples/ModuleMaker/ModuleMaker.cpp
@@
-13,22
+13,25
@@
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
-#include "llvm/Module.h"
-#include "llvm/DerivedTypes.h"
-#include "llvm/Constants.h"
-#include "llvm/Instructions.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "llvm/Bitcode/ReaderWriter.h"
-#include <iostream>
+#include "llvm/IR/Constants.h"
+#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/Instructions.h"
+#include "llvm/IR/LLVMContext.h"
+#include "llvm/IR/Module.h"
+#include "llvm/Support/raw_ostream.h"
using namespace llvm;
int main() {
using namespace llvm;
int main() {
+ LLVMContext Context;
+
// Create the "module" or "program" or "translation unit" to hold the
// function
// Create the "module" or "program" or "translation unit" to hold the
// function
- Module *M = new Module("test");
+ Module *M = new Module("test"
, Context
);
// Create the main function: first create the type 'int ()'
// Create the main function: first create the type 'int ()'
- FunctionType *FT =
FunctionType::get(Type::Int32Ty, std::vector<const Type*>(),
-
/*not vararg*/false);
+ 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.
// By passing a module as the last parameter to the Function constructor,
// it automatically gets appended to the Module.
@@
-36,11
+39,11
@@
int main() {
// Add a basic block to the function... again, it automatically inserts
// because of the last argument.
// Add a basic block to the function... again, it automatically inserts
// because of the last argument.
- BasicBlock *BB = BasicBlock::Create("EntryBlock", F);
+ BasicBlock *BB = BasicBlock::Create(
Context,
"EntryBlock", F);
// Get pointers to the constant integers...
// Get pointers to the constant integers...
- Value *Two = ConstantInt::get(Type::
Int32Ty
, 2);
- Value *Three = ConstantInt::get(Type::
Int32Ty
, 3);
+ 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,
// Create the add instruction... does not insert...
Instruction *Add = BinaryOperator::Create(Instruction::Add, Two, Three,
@@
-50,10
+53,10
@@
int main() {
BB->getInstList().push_back(Add);
// Create the return instruction and add it to 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(Add));
+ BB->getInstList().push_back(ReturnInst::Create(
Context,
Add));
// Output the bitcode file to stdout
// Output the bitcode file to stdout
- WriteBitcodeToFile(M,
std::cout
);
+ WriteBitcodeToFile(M,
outs()
);
// Delete the module and all of its contents.
delete M;
// Delete the module and all of its contents.
delete M;