Home | History | Annotate | Download | only in Utils

Lines Matching refs:IBI

161   bool SimplifyIndirectBr(IndirectBrInst *IBI);
633 } else if (IndirectBrInst *IBI = dyn_cast<IndirectBrInst>(TI)) {
634 Cond = dyn_cast<Instruction>(IBI->getAddress());
3108 static bool SimplifyIndirectBrOnSelect(IndirectBrInst *IBI, SelectInst *SI) {
3120 return SimplifyTerminatorOnSelect(IBI, SI->getCondition(), TrueBB, FalseBB, 0,
5087 bool SimplifyCFGOpt::SimplifyIndirectBr(IndirectBrInst *IBI) {
5088 BasicBlock *BB = IBI->getParent();
5093 for (unsigned i = 0, e = IBI->getNumDestinations(); i != e; ++i) {
5094 BasicBlock *Dest = IBI->getDestination(i);
5097 IBI->removeDestination(i);
5104 if (IBI->getNumDestinations() == 0) {
5106 new UnreachableInst(IBI->getContext(), IBI);
5107 EraseTerminatorInstAndDCECond(IBI);
5111 if (IBI->getNumDestinations() == 1) {
5113 BranchInst::Create(IBI->getDestination(0), IBI);
5114 EraseTerminatorInstAndDCECond(IBI);
5118 if (SelectInst *SI = dyn_cast<SelectInst>(IBI->getAddress())) {
5119 if (SimplifyIndirectBrOnSelect(IBI, SI))
5518 } else if (IndirectBrInst *IBI =
5520 if (SimplifyIndirectBr(IBI))