diff options
Diffstat (limited to 'llvm/examples')
-rw-r--r-- | llvm/examples/BrainF/BrainF.cpp | 18 | ||||
-rw-r--r-- | llvm/examples/BrainF/BrainF.h | 6 | ||||
-rw-r--r-- | llvm/examples/BrainF/BrainFDriver.cpp | 12 | ||||
-rw-r--r-- | llvm/examples/Fibonacci/fibonacci.cpp | 5 | ||||
-rw-r--r-- | llvm/examples/HowToUseJIT/HowToUseJIT.cpp | 8 | ||||
-rw-r--r-- | llvm/examples/ParallelJIT/ParallelJIT.cpp | 15 |
6 files changed, 31 insertions, 33 deletions
diff --git a/llvm/examples/BrainF/BrainF.cpp b/llvm/examples/BrainF/BrainF.cpp index b4cbc780a04..bcd75325e80 100644 --- a/llvm/examples/BrainF/BrainF.cpp +++ b/llvm/examples/BrainF/BrainF.cpp @@ -72,17 +72,19 @@ void BrainF::header(LLVMContext& C) { Tys); //declare i32 @getchar() - getchar_func = - module->getOrInsertFunction("getchar", IntegerType::getInt32Ty(C)); + getchar_func = cast<Function>(module-> + getOrInsertFunction("getchar", IntegerType::getInt32Ty(C))); //declare i32 @putchar(i32) - putchar_func = module->getOrInsertFunction( - "putchar", IntegerType::getInt32Ty(C), IntegerType::getInt32Ty(C)); + putchar_func = cast<Function>(module-> + getOrInsertFunction("putchar", IntegerType::getInt32Ty(C), + IntegerType::getInt32Ty(C))); //Function header //define void @brainf() - brainf_func = module->getOrInsertFunction("brainf", Type::getVoidTy(C)); + brainf_func = cast<Function>(module-> + getOrInsertFunction("brainf", Type::getVoidTy(C))); builder = new IRBuilder<>(BasicBlock::Create(C, label, brainf_func)); @@ -151,9 +153,9 @@ void BrainF::header(LLVMContext& C) { "aberrormsg"); //declare i32 @puts(i8 *) - FunctionCallee puts_func = module->getOrInsertFunction( - "puts", IntegerType::getInt32Ty(C), - PointerType::getUnqual(IntegerType::getInt8Ty(C))); + Function *puts_func = cast<Function>(module-> + getOrInsertFunction("puts", IntegerType::getInt32Ty(C), + PointerType::getUnqual(IntegerType::getInt8Ty(C)))); //brainf.aberror: aberrorbb = BasicBlock::Create(C, label, brainf_func); diff --git a/llvm/examples/BrainF/BrainF.h b/llvm/examples/BrainF/BrainF.h index 9d6848e5bc6..a2c04f8cb79 100644 --- a/llvm/examples/BrainF/BrainF.h +++ b/llvm/examples/BrainF/BrainF.h @@ -78,9 +78,9 @@ class BrainF { CompileFlags comflag; std::istream *in; Module *module; - FunctionCallee brainf_func; - FunctionCallee getchar_func; - FunctionCallee putchar_func; + Function *brainf_func; + Function *getchar_func; + Function *putchar_func; Value *ptr_arr; Value *ptr_arrmax; BasicBlock *endbb; diff --git a/llvm/examples/BrainF/BrainFDriver.cpp b/llvm/examples/BrainF/BrainFDriver.cpp index 2c63b254246..85c563d136d 100644 --- a/llvm/examples/BrainF/BrainFDriver.cpp +++ b/llvm/examples/BrainF/BrainFDriver.cpp @@ -72,13 +72,11 @@ JIT("jit", cl::desc("Run program Just-In-Time")); //Add main function so can be fully compiled void addMainFunction(Module *mod) { //define i32 @main(i32 %argc, i8 **%argv) - FunctionType *main_func_fty = FunctionType::get( - Type::getInt32Ty(mod->getContext()), - {Type::getInt32Ty(mod->getContext()), - Type::getInt8Ty(mod->getContext())->getPointerTo()->getPointerTo()}); - Function *main_func = - Function::create(main_func_fty, Function::ExternalLinkage, "main", mod); - + Function *main_func = cast<Function>(mod-> + getOrInsertFunction("main", IntegerType::getInt32Ty(mod->getContext()), + IntegerType::getInt32Ty(mod->getContext()), + PointerType::getUnqual(PointerType::getUnqual( + IntegerType::getInt8Ty(mod->getContext()))))); { Function::arg_iterator args = main_func->arg_begin(); Value *arg_0 = &*args++; diff --git a/llvm/examples/Fibonacci/fibonacci.cpp b/llvm/examples/Fibonacci/fibonacci.cpp index 12393a414d0..c28ae765994 100644 --- a/llvm/examples/Fibonacci/fibonacci.cpp +++ b/llvm/examples/Fibonacci/fibonacci.cpp @@ -51,10 +51,9 @@ using namespace llvm; static Function *CreateFibFunction(Module *M, LLVMContext &Context) { // Create the fib function and insert it into module M. This function is said // to return an int and take an int parameter. - FunctionType *FibFTy = FunctionType::get(Type::getInt32Ty(Context), - {Type::getInt32Ty(Context)}, false); Function *FibF = - Function::Create(FibFTy, Function::ExternalLinkage, "fib", M); + cast<Function>(M->getOrInsertFunction("fib", Type::getInt32Ty(Context), + Type::getInt32Ty(Context))); // Add a basic block to the function. BasicBlock *BB = BasicBlock::Create(Context, "EntryBlock", FibF); diff --git a/llvm/examples/HowToUseJIT/HowToUseJIT.cpp b/llvm/examples/HowToUseJIT/HowToUseJIT.cpp index 30354d4cae6..29116131b16 100644 --- a/llvm/examples/HowToUseJIT/HowToUseJIT.cpp +++ b/llvm/examples/HowToUseJIT/HowToUseJIT.cpp @@ -69,9 +69,8 @@ int main() { // Create the add1 function entry and insert this entry into module M. The // function will have a return type of "int" and take an argument of "int". Function *Add1F = - Function::Create(FunctionType::get(Type::getInt32Ty(Context), - {Type::getInt32Ty(Context)}, false), - Function::ExternalLinkage, "add1", M); + cast<Function>(M->getOrInsertFunction("add1", Type::getInt32Ty(Context), + Type::getInt32Ty(Context))); // Add a basic block to the function. As before, it automatically inserts // because of the last argument. @@ -100,8 +99,7 @@ int main() { // Now we're going to create function `foo', which returns an int and takes no // arguments. Function *FooF = - Function::Create(FunctionType::get(Type::getInt32Ty(Context), {}, false), - Function::ExternalLinkage, "foo", M); + cast<Function>(M->getOrInsertFunction("foo", Type::getInt32Ty(Context))); // Add a basic block to the FooF function. BB = BasicBlock::Create(Context, "EntryBlock", FooF); diff --git a/llvm/examples/ParallelJIT/ParallelJIT.cpp b/llvm/examples/ParallelJIT/ParallelJIT.cpp index b5815dd2f78..8485848e0a7 100644 --- a/llvm/examples/ParallelJIT/ParallelJIT.cpp +++ b/llvm/examples/ParallelJIT/ParallelJIT.cpp @@ -49,10 +49,11 @@ using namespace llvm; static Function* createAdd1(Module *M) { // Create the add1 function entry and insert this entry into module M. The // function will have a return type of "int" and take an argument of "int". + // The '0' terminates the list of argument types. Function *Add1F = - Function::Create(FunctionType::get(Type::getInt32Ty(Context), - {Type::getInt32Ty(Context)}, false), - Function::ExternalLinkage, "add1", M); + cast<Function>(M->getOrInsertFunction("add1", + Type::getInt32Ty(M->getContext()), + Type::getInt32Ty(M->getContext()))); // Add a basic block to the function. As before, it automatically inserts // because of the last argument. @@ -79,10 +80,10 @@ static Function* createAdd1(Module *M) { static Function *CreateFibFunction(Module *M) { // Create the fib function and insert it into module M. This function is said // to return an int and take an int parameter. - FunctionType *FibFTy = FunctionType::get(Type::getInt32Ty(Context), - {Type::getInt32Ty(Context)}, false); - Function *FibF = - Function::Create(FibFTy, Function::ExternalLinkage, "fib", M); + Function *FibF = + cast<Function>(M->getOrInsertFunction("fib", + Type::getInt32Ty(M->getContext()), + Type::getInt32Ty(M->getContext()))); // Add a basic block to the function. BasicBlock *BB = BasicBlock::Create(M->getContext(), "EntryBlock", FibF); |