Mercurial > hg > CbC > CbC_llvm
diff examples/BrainF/BrainF.cpp @ 95:afa8332a0e37 LLVM3.8
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | 95c75e76d11b |
children | 1172e4bd9c6f |
line wrap: on
line diff
--- a/examples/BrainF/BrainF.cpp Wed Feb 18 14:56:07 2015 +0900 +++ b/examples/BrainF/BrainF.cpp Tue Oct 13 17:48:58 2015 +0900 @@ -29,6 +29,7 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Intrinsics.h" #include <iostream> + using namespace llvm; //Set the constants for naming @@ -44,7 +45,7 @@ comflag = cf; header(Context); - readloop(0, 0, 0, Context); + readloop(nullptr, nullptr, nullptr, Context); delete builder; return module; } @@ -68,7 +69,6 @@ getOrInsertFunction("putchar", IntegerType::getInt32Ty(C), IntegerType::getInt32Ty(C), NULL)); - //Function header //define void @brainf() @@ -85,7 +85,7 @@ Constant* allocsize = ConstantExpr::getSizeOf(Int8Ty); allocsize = ConstantExpr::getTruncOrBitCast(allocsize, IntPtrTy); ptr_arr = CallInst::CreateMalloc(BB, IntPtrTy, Int8Ty, allocsize, val_mem, - NULL, "arr"); + nullptr, "arr"); BB->getInstList().push_back(cast<Instruction>(ptr_arr)); //call void @llvm.memset.p0i8.i32(i8 *%arr, i8 0, i32 %d, i32 1, i1 0) @@ -114,8 +114,6 @@ ConstantInt::get(C, APInt(32, memtotal/2)), headreg); - - //Function footer //brainf.end: @@ -127,8 +125,6 @@ //ret void ReturnInst::Create(C, endbb); - - //Error block for array out of bounds if (comflag & flag_arraybounds) { @@ -163,7 +159,7 @@ }; Constant *msgptr = ConstantExpr:: - getGetElementPtr(aberrormsg, gep_params); + getGetElementPtr(aberrormsg->getValueType(), aberrormsg, gep_params); Value *puts_params[] = { msgptr @@ -201,7 +197,8 @@ case SYM_READ: { //%tape.%d = call i32 @getchar() - CallInst *getchar_call = builder->CreateCall(getchar_func, tapereg); + CallInst *getchar_call = + builder->CreateCall(getchar_func, {}, tapereg); getchar_call->setTailCall(false); Value *tape_0 = getchar_call;