Lines Matching refs:CBRs
57 static bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT);
58 static bool InsertIntrinsicCalls(ArrayRef<CallBrInst *> CBRs,
79 SmallVector<CallBrInst *, 2> CBRs = FindCallBrs(Fn); in run() local
81 if (CBRs.empty()) in run()
86 Changed |= SplitCriticalEdges(CBRs, DT); in run()
87 Changed |= InsertIntrinsicCalls(CBRs, DT); in run()
110 SmallVector<CallBrInst *, 2> CBRs; in FindCallBrs() local
114 CBRs.push_back(CBR); in FindCallBrs()
115 return CBRs; in FindCallBrs()
118 bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in SplitCriticalEdges() argument
131 for (CallBrInst *CBR : CBRs) in SplitCriticalEdges()
140 bool InsertIntrinsicCalls(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in InsertIntrinsicCalls() argument
143 IRBuilder<> Builder(CBRs[0]->getContext()); in InsertIntrinsicCalls()
144 for (CallBrInst *CBR : CBRs) { in InsertIntrinsicCalls()
224 SmallVector<CallBrInst *, 2> CBRs = FindCallBrs(Fn); in runOnFunction() local
226 if (CBRs.empty()) in runOnFunction()
245 if (SplitCriticalEdges(CBRs, *DT)) in runOnFunction()
248 if (InsertIntrinsicCalls(CBRs, *DT)) in runOnFunction()