Lines Matching refs:IBI
231 bool simplifyIndirectBr(IndirectBrInst *IBI);
249 bool SimplifyIndirectBrOnSelect(IndirectBrInst *IBI, SelectInst *SI);
732 } else if (IndirectBrInst *IBI = dyn_cast<IndirectBrInst>(TI)) { in EraseTerminatorAndDCECond() local
733 Cond = dyn_cast<Instruction>(IBI->getAddress()); in EraseTerminatorAndDCECond()
3768 bool SimplifyCFGOpt::SimplifyIndirectBrOnSelect(IndirectBrInst *IBI, in SimplifyIndirectBrOnSelect() argument
3781 return SimplifyTerminatorOnSelect(IBI, SI->getCondition(), TrueBB, FalseBB, 0, in SimplifyIndirectBrOnSelect()
5897 bool SimplifyCFGOpt::simplifyIndirectBr(IndirectBrInst *IBI) { in simplifyIndirectBr() argument
5898 BasicBlock *BB = IBI->getParent(); in simplifyIndirectBr()
5903 for (unsigned i = 0, e = IBI->getNumDestinations(); i != e; ++i) { in simplifyIndirectBr()
5904 BasicBlock *Dest = IBI->getDestination(i); in simplifyIndirectBr()
5907 IBI->removeDestination(i); in simplifyIndirectBr()
5914 if (IBI->getNumDestinations() == 0) { in simplifyIndirectBr()
5916 new UnreachableInst(IBI->getContext(), IBI); in simplifyIndirectBr()
5917 EraseTerminatorAndDCECond(IBI); in simplifyIndirectBr()
5921 if (IBI->getNumDestinations() == 1) { in simplifyIndirectBr()
5923 BranchInst::Create(IBI->getDestination(0), IBI); in simplifyIndirectBr()
5924 EraseTerminatorAndDCECond(IBI); in simplifyIndirectBr()
5928 if (SelectInst *SI = dyn_cast<SelectInst>(IBI->getAddress())) { in simplifyIndirectBr()
5929 if (SimplifyIndirectBrOnSelect(IBI, SI)) in simplifyIndirectBr()