Lines Matching refs:Term
78 void openIf(BranchInst *Term);
80 void insertElse(BranchInst *Term);
84 void handleLoop(BranchInst *Term);
191 void SIAnnotateControlFlow::openIf(BranchInst *Term) { in openIf() argument
192 Value *Ret = CallInst::Create(If, Term->getCondition(), "", Term); in openIf()
193 Term->setCondition(ExtractValueInst::Create(Ret, 0, "", Term)); in openIf()
194 push(Term->getSuccessor(1), ExtractValueInst::Create(Ret, 1, "", Term)); in openIf()
198 void SIAnnotateControlFlow::insertElse(BranchInst *Term) { in insertElse() argument
199 Value *Ret = CallInst::Create(Else, popSaved(), "", Term); in insertElse()
200 Term->setCondition(ExtractValueInst::Create(Ret, 0, "", Term)); in insertElse()
201 push(Term->getSuccessor(1), ExtractValueInst::Create(Ret, 1, "", Term)); in insertElse()
261 void SIAnnotateControlFlow::handleLoop(BranchInst *Term) { in handleLoop() argument
262 BasicBlock *Target = Term->getSuccessor(1); in handleLoop()
268 Value *Cond = Term->getCondition(); in handleLoop()
269 Term->setCondition(BoolTrue); in handleLoop()
272 BasicBlock *BB = Term->getParent(); in handleLoop()
280 Term->setCondition(CallInst::Create(Loop, Arg, "", Term)); in handleLoop()
281 push(Term->getSuccessor(0), Arg); in handleLoop()
297 BranchInst *Term = dyn_cast<BranchInst>((*I)->getTerminator()); in runOnFunction() local
299 if (!Term || Term->isUnconditional()) { in runOnFunction()
305 if (I.nodeVisited(Term->getSuccessor(1))) { in runOnFunction()
308 handleLoop(Term); in runOnFunction()
313 PHINode *Phi = dyn_cast<PHINode>(Term->getCondition()); in runOnFunction()
315 insertElse(Term); in runOnFunction()
321 openIf(Term); in runOnFunction()