Lines Matching refs:Arg

119   void handleByValParam(Argument *Arg);
234 static void adjustByValArgAlignment(Argument *Arg, Value *ArgInParamAS, in adjustByValArgAlignment() argument
236 Function *Func = Arg->getParent(); in adjustByValArgAlignment()
237 Type *StructType = Arg->getParamByValType(); in adjustByValArgAlignment()
243 Arg->getAttribute(Attribute::Alignment).getValueAsInt(); in adjustByValArgAlignment()
249 << CurArgAlign << " for " << *Arg << '\n'); in adjustByValArgAlignment()
253 Arg->removeAttr(Attribute::Alignment); in adjustByValArgAlignment()
254 Arg->addAttr(NewAlignAttr); in adjustByValArgAlignment()
312 void NVPTXLowerArgs::handleByValParam(Argument *Arg) { in handleByValParam() argument
313 Function *Func = Arg->getParent(); in handleByValParam()
315 Type *StructType = Arg->getParamByValType(); in handleByValParam()
334 LLVM_DEBUG(dbgs() << "Need a copy of " << *Arg << " because of " << *V in handleByValParam()
336 (void)Arg; in handleByValParam()
345 if (llvm::all_of(Arg->users(), IsALoadChain)) { in handleByValParam()
348 SmallVector<User *, 16> UsersToUpdate(Arg->users()); in handleByValParam()
350 Arg, PointerType::get(StructType, ADDRESS_SPACE_PARAM), Arg->getName(), in handleByValParam()
354 LLVM_DEBUG(dbgs() << "No need to copy " << *Arg << "\n"); in handleByValParam()
363 adjustByValArgAlignment(Arg, ArgInParamAS, TLI); in handleByValParam()
371 AllocaInst *AllocA = new AllocaInst(StructType, AS, Arg->getName(), FirstInst); in handleByValParam()
375 AllocA->setAlignment(Func->getParamAlign(Arg->getArgNo()) in handleByValParam()
377 Arg->replaceAllUsesWith(AllocA); in handleByValParam()
380 Arg, PointerType::get(StructType, ADDRESS_SPACE_PARAM), Arg->getName(), in handleByValParam()
386 new LoadInst(StructType, ArgInParam, Arg->getName(), in handleByValParam()
397 if (Argument *Arg = dyn_cast<Argument>(Ptr)) { in markPointerAsGlobal() local
399 InsertPt = Arg->getParent()->getEntryBlock().begin(); in markPointerAsGlobal()
430 if (Argument *Arg = dyn_cast<Argument>(UO)) { in runOnKernelFunction() local
431 if (Arg->hasByValAttr()) { in runOnKernelFunction()
443 for (Argument &Arg : F.args()) { in runOnKernelFunction()
444 if (Arg.getType()->isPointerTy()) { in runOnKernelFunction()
445 if (Arg.hasByValAttr()) in runOnKernelFunction()
446 handleByValParam(&Arg); in runOnKernelFunction()
448 markPointerAsGlobal(&Arg); in runOnKernelFunction()
457 for (Argument &Arg : F.args()) in runOnDeviceFunction()
458 if (Arg.getType()->isPointerTy() && Arg.hasByValAttr()) in runOnDeviceFunction()
459 handleByValParam(&Arg); in runOnDeviceFunction()