Lines Matching defs:GuardBlocks
1985 static void setupBranchForGuard(SmallVectorImpl<BasicBlock *> &GuardBlocks,
1990 GuardBlocks.push_back(Outgoing.back());
1992 for (int i = 0, e = GuardBlocks.size() - 1; i != e; ++i) {
1995 BranchInst::Create(Out, GuardBlocks[i + 1], GuardPredicates[Out],
1996 GuardBlocks[i]);
2000 GuardBlocks.pop_back();
2007 SmallVectorImpl<BasicBlock *> &GuardBlocks, BBPredicates &GuardPredicates) {
2009 auto FirstGuardBlock = GuardBlocks.front();
2044 Out->getName() + ".predicate", GuardBlocks[i]);
2052 SmallVectorImpl<BasicBlock *> &GuardBlocks, BBPredicates &GuardPredicates,
2057 auto FirstGuardBlock = GuardBlocks.front();
2111 // control flow from \p Incoming block through the \p GuardBlocks to the
2120 convertToGuardPredicates(SmallVectorImpl<BasicBlock *> &GuardBlocks,
2129 GuardBlocks.push_back(
2138 calcPredicateUsingBooleans(Incoming, Outgoing, GuardBlocks, GuardPredicates,
2141 calcPredicateUsingInteger(Incoming, Outgoing, GuardBlocks, GuardPredicates);
2143 setupBranchForGuard(GuardBlocks, Outgoing, GuardPredicates);
2147 DomTreeUpdater *DTU, SmallVectorImpl<BasicBlock *> &GuardBlocks,
2163 convertToGuardPredicates(GuardBlocks, DeletionCandidates, Incoming, Outgoing,
2165 auto FirstGuardBlock = GuardBlocks.front();
2168 for (int i = 0, e = GuardBlocks.size(); i != e; ++i)
2169 reconnectPhis(Outgoing[i], GuardBlocks[i], Incoming, FirstGuardBlock);
2171 reconnectPhis(Outgoing.back(), GuardBlocks.back(), Incoming, FirstGuardBlock);
2174 int NumGuards = GuardBlocks.size();
2181 Updates.push_back({DominatorTree::Insert, GuardBlocks[i], Outgoing[i]});
2183 {DominatorTree::Insert, GuardBlocks[i], GuardBlocks[i + 1]});
2185 Updates.push_back({DominatorTree::Insert, GuardBlocks[NumGuards - 1],
2187 Updates.push_back({DominatorTree::Insert, GuardBlocks[NumGuards - 1],