Lines Matching refs:CS
349 bool processByValArgument(CallSite CS, unsigned ArgNo);
599 CallSite CS(C); in performCallSlotOptzn() local
697 for (unsigned i = 0, e = CS.arg_size(); i != e; ++i) in performCallSlotOptzn()
698 if (CS.getArgument(i) == cpySrc && !CS.doesNotCapture(i)) in performCallSlotOptzn()
722 for (unsigned i = 0; i < CS.arg_size(); ++i) in performCallSlotOptzn()
723 if (CS.getArgument(i)->stripPointerCasts() == cpySrc) { in performCallSlotOptzn()
728 if (CS.getArgument(i)->getType() == Dest->getType()) in performCallSlotOptzn()
729 CS.setArgument(i, Dest); in performCallSlotOptzn()
731 CS.setArgument(i, CastInst::CreatePointerCast(Dest, in performCallSlotOptzn()
732 CS.getArgument(i)->getType(), Dest->getName(), C)); in performCallSlotOptzn()
956 bool MemCpyOpt::processByValArgument(CallSite CS, unsigned ArgNo) { in processByValArgument() argument
957 const DataLayout &DL = CS.getCaller()->getParent()->getDataLayout(); in processByValArgument()
959 Value *ByValArg = CS.getArgument(ArgNo); in processByValArgument()
964 true, CS.getInstruction(), in processByValArgument()
965 CS.getInstruction()->getParent()); in processByValArgument()
984 unsigned ByValAlign = CS.getParamAlignment(ArgNo+1); in processByValArgument()
991 *CS->getParent()->getParent()); in processByValArgument()
995 CS.getInstruction(), &AC, &DT) < ByValAlign) in processByValArgument()
1009 false, CS.getInstruction(), MDep->getParent()); in processByValArgument()
1016 "tmpcast", CS.getInstruction()); in processByValArgument()
1020 << " " << *CS.getInstruction() << "\n"); in processByValArgument()
1023 CS.setArgument(ArgNo, TmpCast); in processByValArgument()
1048 else if (auto CS = CallSite(I)) { in iterateOnFunction() local
1049 for (unsigned i = 0, e = CS.arg_size(); i != e; ++i) in iterateOnFunction()
1050 if (CS.isByValArgument(i)) in iterateOnFunction()
1051 MadeChange |= processByValArgument(CS, i); in iterateOnFunction()