Lines Matching refs:IndCallBlock
747 BinaryBasicBlock &IndCallBlock, const MCInst &CallInst, in rewriteCall() argument
750 BinaryFunction &Function = *IndCallBlock.getFunction(); in rewriteCall()
766 while (TailInst + 1 < &(*IndCallBlock.end()) && in rewriteCall()
770 InstructionListType MovedInst = IndCallBlock.splitInstructions(&CallInst); in rewriteCall()
774 const uint32_t OrigOffset = IndCallBlock.getInputOffset(); in rewriteCall()
776 IndCallBlock.eraseInstructions(MethodFetchInsns.begin(), in rewriteCall()
778 if (IndCallBlock.empty() || in rewriteCall()
780 IndCallBlock.addInstructions(ICPcode.front().second.begin(), in rewriteCall()
783 IndCallBlock.replaceInstruction(std::prev(IndCallBlock.end()), in rewriteCall()
785 IndCallBlock.addInstructions(TailInsts.begin(), TailInsts.end()); in rewriteCall()
809 IndirectCallPromotion::fixCFG(BinaryBasicBlock &IndCallBlock, in fixCFG() argument
813 BinaryFunction &Function = *IndCallBlock.getFunction(); in fixCFG()
819 uint64_t TotalCount = IndCallBlock.getKnownExecutionCount(); in fixCFG()
844 IndCallBlock.moveAllSuccessorsTo(NewIndCallBlock); in fixCFG()
857 BinaryBasicBlock *SourceBB = I ? NewBBs[I - 1].get() : &IndCallBlock; in fixCFG()
882 assert(NewBBs.size() % 2 == 1 || IndCallBlock.succ_empty()); in fixCFG()
894 IndCallBlock.moveAllSuccessorsTo(MergeBlock); in fixCFG()
899 IndCallBlock.addSuccessor(NewBBs[1].get(), TotalCount); in fixCFG()
900 IndCallBlock.addSuccessor(NewBBs[0].get(), ScaledBBI[0]); in fixCFG()
904 assert(TotalCount <= IndCallBlock.getExecutionCount() || in fixCFG()
936 Function.insertBasicBlocks(&IndCallBlock, std::move(NewBBs)); in fixCFG()