summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/src/llvm/llvm_profiling.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/backend/src/llvm/llvm_profiling.cpp b/backend/src/llvm/llvm_profiling.cpp
index 8c9157c3..211aa434 100644
--- a/backend/src/llvm/llvm_profiling.cpp
+++ b/backend/src/llvm/llvm_profiling.cpp
@@ -177,12 +177,13 @@ namespace gbe
builder->SetInsertPoint(instI);
/* Add the timestamp store function call. */
// __gen_ocl_store_timestamp(int nth, int type);
- builder->CreateCall2(cast<llvm::Function>(module->getOrInsertFunction(
+ Value *Args[2] = {ConstantInt::get(intTy, pointNum++), ConstantInt::get(intTy, profilingType)};
+ builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
"__gen_ocl_calc_timestamp", Type::getVoidTy(module->getContext()),
IntegerType::getInt32Ty(module->getContext()),
IntegerType::getInt32Ty(module->getContext()),
NULL)),
- /* the args */ ConstantInt::get(intTy, pointNum++), ConstantInt::get(intTy, profilingType));
+ ArrayRef<Value*>(Args));
}
/* We insert one store_profiling at the end of the last block to hold the place. */
llvm::Function::iterator BE = F.end();
@@ -190,12 +191,14 @@ namespace gbe
BasicBlock::iterator retInst = BE->end();
retInst--;
builder->SetInsertPoint(retInst);
- builder->CreateCall2(cast<llvm::Function>(module->getOrInsertFunction(
+ Value *Args2[2] = {profilingBuf, ConstantInt::get(intTy, profilingType)};
+
+ builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
"__gen_ocl_store_profiling", Type::getVoidTy(module->getContext()),
ptrTy,
IntegerType::getInt32Ty(module->getContext()),
NULL)),
- /* the args */profilingBuf, ConstantInt::get(intTy, profilingType));
+ ArrayRef<Value*>(Args2));
delete builder;
return changed;