Lines Matching defs:CBR
60 static void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic,
112 if (auto *CBR = dyn_cast<CallBrInst>(BB.getTerminator()))
113 if (!CBR->getType()->isVoidTy() && !CBR->use_empty())
114 CBRs.push_back(CBR);
131 for (CallBrInst *CBR : CBRs)
132 for (unsigned i = 1, e = CBR->getNumSuccessors(); i != e; ++i)
133 if (CBR->getSuccessor(i) == CBR->getSuccessor(0) ||
134 isCriticalEdge(CBR, i, /*AllowIdenticalEdges*/ true))
135 if (SplitKnownCriticalEdge(CBR, i, Options))
144 for (CallBrInst *CBR : CBRs) {
145 if (!CBR->getNumIndirectDests())
149 SSAUpdate.Initialize(CBR->getType(), CBR->getName());
150 SSAUpdate.AddAvailableValue(CBR->getParent(), CBR);
151 SSAUpdate.AddAvailableValue(CBR->getDefaultDest(), CBR);
153 for (BasicBlock *IndDest : CBR->getIndirectDests()) {
158 CBR->getType(), Intrinsic::callbr_landingpad, {CBR});
160 UpdateSSA(DT, CBR, Intrinsic, SSAUpdate);
185 void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic,
189 BasicBlock *DefaultDest = CBR->getDefaultDest();
192 SmallVector<Use *, 4> Uses(make_pointer_range(CBR->uses()));