liberty/lib/Utilities/InlineFunctionWithVmap.cpp
/// forwardResume - Forward the 'resume' instruction to the caller's landing pad
/// block. When the landing pad block has only one predecessor, this is a simple
/// branch. When there is more than one predecessor, we need to split the
/// landing pad block after the landingpad instruction and jump to there.
Forward the 'resume' instruction to the caller's landing pad
block. When the landing pad block has only one predecessor, this is a simple
branch. When there is more than one predecessor, we need to split the
landing pad block after the landingpad instruction and jump to there.
Forward the ' resume ' instruction to the caller ' s landing pad block . When the landing pad block has only one predecessor this is a simple branch . When there is more than one predecessor we need to split the landing pad block after the landingpad instruction and jump to there .
void InvokeInliningInfo::forwardResume(ResumeInst *RI) {
  BasicBlock *Dest = getInnerResumeDest();
  BasicBlock *Src = RI->getParent();
  BranchInst::Create(Dest, Src);
  addIncomingPHIValuesForInto(Src, Dest);
  InnerEHValuesPHI->addIncoming(RI->getOperand(0), Src);
  RI->eraseFromParent();
}
void InvokeInliningInfo :: forwardResume ( ResumeInst * RI ) { BasicBlock * Dest = getInnerResumeDest ( ) ; BasicBlock * Src = RI -> getParent ( ) ; BranchInst :: Create ( Dest , Src ) ; addIncomingPHIValuesForInto ( Src , Dest ) ; InnerEHValuesPHI -> addIncoming ( RI -> getOperand ( 0 ) , Src ) ; RI -> eraseFromParent ( ) ; }
forwardResume - Forward the 'resume' instruction to the caller's landing pad
block.
forwardResume - Forward the ' resume ' instruction to the caller ' s landing pad block .
// Update the PHIs in the destination. They were inserted in an order which // makes this work.