Home | History | Annotate | Download | only in IPO

Lines Matching refs:Arg

86     bool canPaddingBeAccessed(Argument *Arg);
88 bool isSafeToPromoteArgument(Argument *Arg, bool isByVal,
169 bool ArgPromotion::canPaddingBeAccessed(Argument *arg) {
171 assert(arg->hasByValAttr());
175 PtrValues.insert(arg);
183 WorkList.insert(WorkList.end(), arg->user_begin(), arg->user_end());
344 static bool AllCallersPassInValidPointerForArgument(Argument *Arg) {
345 Function *Callee = Arg->getParent();
348 unsigned ArgNo = Arg->getArgNo();
431 bool ArgPromotion::isSafeToPromoteArgument(Argument *Arg,
437 if (Arg->use_empty())
465 if (isByValOrInAlloca || AllCallersPassInValidPointerForArgument(Arg))
470 BasicBlock &EntryBlock = Arg->getParent()->front();
478 if (V == Arg) {
479 // This load actually loads (part of) Arg? Check the indices then.
494 } else if (V == Arg) {
504 for (Use &U : Arg->uses()) {
521 return isSafeToPromoteArgument(Arg, isByValOrInAlloca, AAR);
557 << Arg->getName() << "' because it would require adding more "
737 DEBUG(dbgs() << "ARG PROMOTION: Promoting to:" << *NF << "\n"
928 // Anything that used the arg should now use the alloca.