Lines Matching refs:U
57 bool CaptureTracker::shouldExplore(const Use *U) { return true; } in shouldExplore() argument
84 bool captured(const Use *U) override { in captured()
85 if (isa<ReturnInst>(U->getUser()) && !ReturnCaptures) in captured()
88 LLVM_DEBUG(dbgs() << "Captured by: " << *U->getUser() << "\n"); in captured()
125 bool captured(const Use *U) override { in captured()
126 Instruction *I = cast<Instruction>(U->getUser()); in captured()
169 bool captured(const Use *U) override { in captured()
170 Instruction *I = cast<Instruction>(U->getUser()); in captured()
278 const Use &U, in DetermineUseCaptureKind() argument
280 Instruction *I = dyn_cast<Instruction>(U.getUser()); in DetermineUseCaptureKind()
317 if (Call->isCallee(&U)) in DetermineUseCaptureKind()
321 if (Call->isDataOperand(&U) && in DetermineUseCaptureKind()
322 !Call->doesNotCapture(Call->getDataOperandNo(&U))) { in DetermineUseCaptureKind()
339 if (U.getOperandNo() == 0 || cast<StoreInst>(I)->isVolatile()) in DetermineUseCaptureKind()
349 if (U.getOperandNo() == 1 || ARMWI->isVolatile()) in DetermineUseCaptureKind()
360 if (U.getOperandNo() == 1 || U.getOperandNo() == 2 || ACXI->isVolatile()) in DetermineUseCaptureKind()
377 unsigned Idx = U.getOperandNo(); in DetermineUseCaptureKind()
384 if (isNoAliasCall(U.get()->stripPointerCasts())) in DetermineUseCaptureKind()
418 for (const Use &U : V->uses()) { in PointerMayBeCaptured() local
425 if (!Visited.insert(&U).second) in PointerMayBeCaptured()
427 if (!Tracker->shouldExplore(&U)) in PointerMayBeCaptured()
429 Worklist.push_back(&U); in PointerMayBeCaptured()
440 const Use *U = Worklist.pop_back_val(); in PointerMayBeCaptured() local
441 switch (DetermineUseCaptureKind(*U, IsDereferenceableOrNull)) { in PointerMayBeCaptured()
445 if (Tracker->captured(U)) in PointerMayBeCaptured()
449 if (!AddUses(U->getUser())) in PointerMayBeCaptured()