service/method-inliner/CFGInliner.cpp
/*
 * If it isn't already, make `it` the last instruction of its block
 * return the block that should be run after the callee and blk containing
 * callsite as a pair.
 */
If it isn't already, make `it` the last instruction of its block
return the block that should be run after the callee and blk containing
callsite as a pair.
If it isn ' t already make ` it ` the last instruction of its block return the block that should be run after the callee and blk containing callsite as a pair .
std::pair<Block*, Block*> CFGInliner::maybe_split_block(
    ControlFlowGraph* caller, const InstructionIterator& it) {
  always_assert(caller->editable());
  always_assert(!it.block()->empty());
  const IRList::iterator& raw_it = it.unwrap();
  Block* old_block = it.block();
  if (raw_it != old_block->get_last_insn()) {
    caller->split_block(it);
  }
  Block* goto_block = old_block->goes_to();
  always_assert(goto_block != nullptr);
  return std::make_pair(goto_block, old_block);
}
std :: pair < Block * , Block * > CFGInliner :: maybe_split_block ( ControlFlowGraph * caller , const InstructionIterator & it ) { always_assert ( caller -> editable ( ) ) ; always_assert ( ! it . block ( ) -> empty ( ) ) ; const IRList :: iterator & raw_it = it . unwrap ( ) ; Block * old_block = it . block ( ) ; if ( raw_it != old_block -> get_last_insn ( ) ) { caller -> split_block ( it ) ; } Block * goto_block = old_block -> goes_to ( ) ; always_assert ( goto_block != nullptr ) ; return std :: make_pair ( goto_block , old_block ) ; }
If it isn't already, make `it` the last instruction of its block
 return the block that should be run after the callee and blk containing
 callsite as a pair.
If it isn ' t already make ` it ` the last instruction of its block return the block that should be run after the callee and blk containing callsite as a pair .
// The call is already the last instruction of the block. // No need to change the code, just return the next block