Home | History | Annotate | Download | only in Scalar

Lines Matching refs:BasicBlock

32 class BasicBlock;
52 using PredValueInfo = SmallVectorImpl<std::pair<Constant *, BasicBlock *>>;
53 using PredValueInfoTy = SmallVector<std::pair<Constant *, BasicBlock *>, 8>;
85 SmallPtrSet<const BasicBlock *, 16> LoopHeaders;
87 SmallSet<AssertingVH<const BasicBlock>, 16> LoopHeaders;
89 DenseSet<std::pair<Value *, BasicBlock *>> RecursionSet;
95 DenseSet<std::pair<Value *, BasicBlock *>> &TheSet;
96 std::pair<Value *, BasicBlock *> ThePair;
98 RecursionSetRemover(DenseSet<std::pair<Value *, BasicBlock *>> &S,
99 std::pair<Value *, BasicBlock *> P)
122 bool ProcessBlock(BasicBlock *BB);
123 bool ThreadEdge(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs,
124 BasicBlock *SuccBB);
126 BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs);
129 ComputeValueKnownInPredecessors(Value *V, BasicBlock *BB,
133 bool ProcessThreadableEdges(Value *Cond, BasicBlock *BB,
139 bool ProcessImpliedCondition(BasicBlock *BB);
142 bool TryToUnfoldSelect(CmpInst *CondCmp, BasicBlock *BB);
143 bool TryToUnfoldSelectInCurrBB(BasicBlock *BB);
145 bool ProcessGuards(BasicBlock *BB);
146 bool ThreadGuard(BasicBlock *BB, IntrinsicInst *Guard, BranchInst *BI);
149 BasicBlock *SplitBlockPreds(BasicBlock *BB, ArrayRef<BasicBlock *> Preds,
151 void UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB,
152 BasicBlock *NewBB, BasicBlock *SuccBB);
154 bool doesBlockHaveProfileData(BasicBlock *BB);