Lines Matching refs:InsertPoint
310 bool llvm::isSafeToMoveBefore(Instruction &I, Instruction &InsertPoint, in isSafeToMoveBefore() argument
318 if (&I == &InsertPoint) in isSafeToMoveBefore()
322 if (I.getNextNode() == &InsertPoint) in isSafeToMoveBefore()
325 if (isa<PHINode>(I) || isa<PHINode>(InsertPoint)) in isSafeToMoveBefore()
332 if (!isControlFlowEquivalent(I, InsertPoint, DT, *PDT)) in isSafeToMoveBefore()
335 if (!DT.dominates(&InsertPoint, &I)) in isSafeToMoveBefore()
338 if (UserInst != &InsertPoint && !DT.dominates(&InsertPoint, U)) in isSafeToMoveBefore()
340 if (!DT.dominates(&I, &InsertPoint)) in isSafeToMoveBefore()
343 if (&InsertPoint == OpInst || !DT.dominates(OpInst, &InsertPoint)) in isSafeToMoveBefore()
347 const bool MoveForward = domTreeLevelBefore(&DT, &I, &InsertPoint); in isSafeToMoveBefore()
348 Instruction &StartInst = (MoveForward ? I : InsertPoint); in isSafeToMoveBefore()
349 Instruction &EndInst = (MoveForward ? InsertPoint : I); in isSafeToMoveBefore()
353 InstsToCheck.insert(&InsertPoint); in isSafeToMoveBefore()
389 bool llvm::isSafeToMoveBefore(BasicBlock &BB, Instruction &InsertPoint, in isSafeToMoveBefore() argument
396 return isSafeToMoveBefore(I, InsertPoint, DT, PDT, DI); in isSafeToMoveBefore()