Home | History | Annotate | Download | only in Utils

Lines Matching refs:IBI

71   bool SimplifyIndirectBr(IndirectBrInst *IBI);
441 } else if (IndirectBrInst *IBI = dyn_cast<IndirectBrInst>(TI)) {
442 Cond = dyn_cast<Instruction>(IBI->getAddress());
1909 static bool SimplifyIndirectBrOnSelect(IndirectBrInst *IBI, SelectInst *SI) {
1921 return SimplifyTerminatorOnSelect(IBI, SI->getCondition(), TrueBB, FalseBB);
2627 bool SimplifyCFGOpt::SimplifyIndirectBr(IndirectBrInst *IBI) {
2628 BasicBlock *BB = IBI->getParent();
2633 for (unsigned i = 0, e = IBI->getNumDestinations(); i != e; ++i) {
2634 BasicBlock *Dest = IBI->getDestination(i);
2637 IBI->removeDestination(i);
2643 if (IBI->getNumDestinations() == 0) {
2645 new UnreachableInst(IBI->getContext(), IBI);
2646 EraseTerminatorInstAndDCECond(IBI);
2650 if (IBI->getNumDestinations() == 1) {
2652 BranchInst::Create(IBI->getDestination(0), IBI);
2653 EraseTerminatorInstAndDCECond(IBI);
2657 if (SelectInst *SI = dyn_cast<SelectInst>(IBI->getAddress())) {
2658 if (SimplifyIndirectBrOnSelect(IBI, SI))
2897 } else if (IndirectBrInst *IBI =
2899 if (SimplifyIndirectBr(IBI)) return true;