diff options
Diffstat (limited to 'examples/BrainF')
-rw-r--r-- | examples/BrainF/BrainF.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/examples/BrainF/BrainF.cpp b/examples/BrainF/BrainF.cpp index a443ad4..8536915 100644 --- a/examples/BrainF/BrainF.cpp +++ b/examples/BrainF/BrainF.cpp @@ -54,10 +54,10 @@ void BrainF::header(LLVMContext& C) { //Function prototypes - //declare void @llvm.memset.i32(i8 *, i8, i32, i32) - const Type *Tys[] = { Type::getInt32Ty(C) }; + //declare void @llvm.memset.p0i8.i32(i8 *, i8, i32, i32, i1) + const Type *Tys[] = { Type::getInt8PtrTy(C), Type::getInt32Ty(C) }; Function *memset_func = Intrinsic::getDeclaration(module, Intrinsic::memset, - Tys, 1); + Tys, 2); //declare i32 @getchar() getchar_func = cast<Function>(module-> @@ -88,13 +88,14 @@ void BrainF::header(LLVMContext& C) { NULL, "arr"); BB->getInstList().push_back(cast<Instruction>(ptr_arr)); - //call void @llvm.memset.i32(i8 *%arr, i8 0, i32 %d, i32 1) + //call void @llvm.memset.p0i8.i32(i8 *%arr, i8 0, i32 %d, i32 1, i1 0) { Value *memset_params[] = { ptr_arr, ConstantInt::get(C, APInt(8, 0)), val_mem, - ConstantInt::get(C, APInt(32, 1)) + ConstantInt::get(C, APInt(32, 1)), + ConstantInt::get(C, APInt(1, 0)) }; CallInst *memset_call = builder-> |