now emits host object file with ptx in it... next step .. testing

This commit is contained in:
Evghenii
2013-10-31 18:05:04 +01:00
parent 0a069f7de2
commit 2cef101022
2 changed files with 13 additions and 2 deletions

View File

@@ -3633,6 +3633,7 @@ FunctionEmitContext::LaunchInst(llvm::Value *callee,
allocArgs.push_back(launchGroupHandlePtr);
allocArgs.push_back(structSize);
allocArgs.push_back(LLVMInt32(align));
CallInst(falloc, NULL, allocArgs, "args_ptr");
// Copy the values of the parameters into the appropriate place in
// the argument block
@@ -3651,9 +3652,10 @@ FunctionEmitContext::LaunchInst(llvm::Value *callee,
llvm::Value* ptr_arg1_addr = AllocaInst(type, "argptr");
StoreInst(argVals[i], ptr_arg1_addr);
llvm::ConstantInt* const_int64_10 = llvm::ConstantInt::get(*g->ctx, llvm::APInt(64, 0));
llvm::ConstantInt* const_int64_11 = llvm::ConstantInt::get(*g->ctx, llvm::APInt(64, i));
std::vector<llvm::Value*> ptr_arrayinit_begin_indices;
ptr_arrayinit_begin_indices.push_back(const_int64_11);
ptr_arrayinit_begin_indices.push_back(const_int64_10);
ptr_arrayinit_begin_indices.push_back(const_int64_11);
llvm::GetElementPtrInst* ptr_arrayinit_element =
llvm::GetElementPtrInst::Create(ptrParam, ptr_arrayinit_begin_indices, "el", bblock);

View File

@@ -2366,8 +2366,17 @@ Module::CompileAndOutput(const char *srcFile,
targetOutFileName[suffix+1] = 0;
}
}
if (!m->writeOutput(outputType, targetOutFileName.c_str(), includeFileName))
if (outputType != Object)
{
if (!m->writeOutput(outputType, targetOutFileName.c_str(), includeFileName))
return 1;
}
else if (itarget > 0)
{
if (!m->writeOutput(outputType, outFileName, includeFileName))
return 1;
}
if (itarget == 0)
{ /* store ptx into memory */