Lines Matching refs:FirstInst
34 auto *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in PHIArgMergedDebugLoc() local
35 Inst->setDebugLoc(FirstInst->getDebugLoc()); in PHIArgMergedDebugLoc()
285 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in FoldPHIArgBinOpIntoPHI() local
286 assert(isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)); in FoldPHIArgBinOpIntoPHI()
287 unsigned Opc = FirstInst->getOpcode(); in FoldPHIArgBinOpIntoPHI()
288 Value *LHSVal = FirstInst->getOperand(0); in FoldPHIArgBinOpIntoPHI()
289 Value *RHSVal = FirstInst->getOperand(1); in FoldPHIArgBinOpIntoPHI()
306 if (CI->getPredicate() != cast<CmpInst>(FirstInst)->getPredicate()) in FoldPHIArgBinOpIntoPHI()
323 Value *InLHS = FirstInst->getOperand(0); in FoldPHIArgBinOpIntoPHI()
324 Value *InRHS = FirstInst->getOperand(1); in FoldPHIArgBinOpIntoPHI()
328 FirstInst->getOperand(0)->getName() + ".pn"); in FoldPHIArgBinOpIntoPHI()
336 FirstInst->getOperand(1)->getName() + ".pn"); in FoldPHIArgBinOpIntoPHI()
357 if (CmpInst *CIOp = dyn_cast<CmpInst>(FirstInst)) { in FoldPHIArgBinOpIntoPHI()
364 BinaryOperator *BinOp = cast<BinaryOperator>(FirstInst); in FoldPHIArgBinOpIntoPHI()
378 GetElementPtrInst *FirstInst =cast<GetElementPtrInst>(PN.getIncomingValue(0)); in FoldPHIArgGEPIntoPHI() local
380 SmallVector<Value*, 16> FixedOperands(FirstInst->op_begin(), in FoldPHIArgGEPIntoPHI()
381 FirstInst->op_end()); in FoldPHIArgGEPIntoPHI()
396 if (!GEP || !GEP->hasOneUse() || GEP->getType() != FirstInst->getType() || in FoldPHIArgGEPIntoPHI()
397 GEP->getNumOperands() != FirstInst->getNumOperands()) in FoldPHIArgGEPIntoPHI()
409 for (unsigned op = 0, e = FirstInst->getNumOperands(); op != e; ++op) { in FoldPHIArgGEPIntoPHI()
410 if (FirstInst->getOperand(op) == GEP->getOperand(op)) in FoldPHIArgGEPIntoPHI()
418 if (isa<ConstantInt>(FirstInst->getOperand(op)) || in FoldPHIArgGEPIntoPHI()
422 if (FirstInst->getOperand(op)->getType() !=GEP->getOperand(op)->getType()) in FoldPHIArgGEPIntoPHI()
453 Value *FirstOp = FirstInst->getOperand(i); in FoldPHIArgGEPIntoPHI()
479 GetElementPtrInst::Create(FirstInst->getSourceElementType(), Base, in FoldPHIArgGEPIntoPHI()
731 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in FoldPHIArgOpIntoPHI() local
733 if (isa<GetElementPtrInst>(FirstInst)) in FoldPHIArgOpIntoPHI()
735 if (isa<LoadInst>(FirstInst)) in FoldPHIArgOpIntoPHI()
745 if (isa<CastInst>(FirstInst)) { in FoldPHIArgOpIntoPHI()
746 CastSrcTy = FirstInst->getOperand(0)->getType(); in FoldPHIArgOpIntoPHI()
754 } else if (isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)) { in FoldPHIArgOpIntoPHI()
757 ConstantOp = dyn_cast<Constant>(FirstInst->getOperand(1)); in FoldPHIArgOpIntoPHI()
767 if (!I || !I->hasOneUse() || !I->isSameOperationAs(FirstInst)) in FoldPHIArgOpIntoPHI()
779 PHINode *NewPN = PHINode::Create(FirstInst->getOperand(0)->getType(), in FoldPHIArgOpIntoPHI()
783 Value *InVal = FirstInst->getOperand(0); in FoldPHIArgOpIntoPHI()
806 if (CastInst *FirstCI = dyn_cast<CastInst>(FirstInst)) { in FoldPHIArgOpIntoPHI()
813 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst)) { in FoldPHIArgOpIntoPHI()
824 CmpInst *CIOp = cast<CmpInst>(FirstInst); in FoldPHIArgOpIntoPHI()