Lines Matching refs:CGF
42 void EmitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args) override;
78 void CGNVCUDARuntime::EmitDeviceStubBody(CodeGenFunction &CGF, in EmitDeviceStubBody() argument
85 llvm::Value *V = CGF.GetAddrOfLocalVar(*I); in EmitDeviceStubBody()
91 CGF.getLLVMContext(), ArgTypes); in EmitDeviceStubBody()
93 llvm::BasicBlock *EndBlock = CGF.createBasicBlock("setup.end"); in EmitDeviceStubBody()
99 llvm::BasicBlock *NextBlock = CGF.createBasicBlock("setup.next"); in EmitDeviceStubBody()
100 Args[0] = CGF.Builder.CreatePointerCast(ArgValues[I], VoidPtrTy); in EmitDeviceStubBody()
101 Args[1] = CGF.Builder.CreateIntCast( in EmitDeviceStubBody()
104 Args[2] = CGF.Builder.CreateIntCast( in EmitDeviceStubBody()
107 llvm::CallSite CS = CGF.EmitRuntimeCallOrInvoke(cudaSetupArgFn, Args); in EmitDeviceStubBody()
109 llvm::Value *CSZero = CGF.Builder.CreateICmpEQ(CS.getInstruction(), Zero); in EmitDeviceStubBody()
110 CGF.Builder.CreateCondBr(CSZero, NextBlock, EndBlock); in EmitDeviceStubBody()
111 CGF.EmitBlock(NextBlock); in EmitDeviceStubBody()
116 llvm::Value *Arg = CGF.Builder.CreatePointerCast(CGF.CurFn, CharPtrTy); in EmitDeviceStubBody()
117 CGF.EmitRuntimeCallOrInvoke(cudaLaunchFn, Arg); in EmitDeviceStubBody()
118 CGF.EmitBranch(EndBlock); in EmitDeviceStubBody()
120 CGF.EmitBlock(EndBlock); in EmitDeviceStubBody()