Lines Matching refs:Arg
86 bool checkArgumentUses(Value &Arg) const;
87 bool isOutArgumentCandidate(Argument &Arg) const;
117 bool AMDGPURewriteOutArguments::checkArgumentUses(Value &Arg) const { in checkArgumentUses()
121 for (Use &U : Arg.uses()) { in checkArgumentUses()
139 Type *SrcEltTy = Arg.getType()->getPointerElementType(); in checkArgumentUses()
170 bool AMDGPURewriteOutArguments::isOutArgumentCandidate(Argument &Arg) const { in isOutArgumentCandidate()
172 PointerType *ArgTy = dyn_cast<PointerType>(Arg.getType()); in isOutArgumentCandidate()
177 Arg.hasByValAttr() || Arg.hasStructRetAttr() || in isOutArgumentCandidate()
182 return checkArgumentUses(Arg); in isOutArgumentCandidate()
231 for (Argument &Arg : F.args()) { in runOnFunction()
232 if (isOutArgumentCandidate(Arg)) { in runOnFunction()
233 LLVM_DEBUG(dbgs() << "Found possible out argument " << Arg in runOnFunction()
235 OutArgs.push_back(&Arg); in runOnFunction()
380 Argument *Arg = ReturnPoint.first; in runOnFunction() local
382 Type *EltTy = Arg->getType()->getPointerElementType(); in runOnFunction()
415 for (Argument &Arg : F.args()) { in runOnFunction()
416 if (OutArgIndexes.count(Arg.getArgNo())) { in runOnFunction()
419 StubCallArgs.push_back(UndefValue::get(Arg.getType())); in runOnFunction()
421 StubCallArgs.push_back(&Arg); in runOnFunction()
430 for (Argument &Arg : F.args()) { in runOnFunction()
431 if (!OutArgIndexes.count(Arg.getArgNo())) in runOnFunction()
434 PointerType *ArgType = cast<PointerType>(Arg.getType()); in runOnFunction()
438 DL->getValueOrABITypeAlignment(Arg.getParamAlign(), EltTy); in runOnFunction()
444 Value *PtrVal = B.CreateBitCast(&Arg, PtrTy); in runOnFunction()