Lines Matching refs:FirstInst
43 auto *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in PHIArgMergedDebugLoc() local
44 Inst->setDebugLoc(FirstInst->getDebugLoc()); in PHIArgMergedDebugLoc()
401 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in foldPHIArgBinOpIntoPHI() local
402 assert(isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)); in foldPHIArgBinOpIntoPHI()
403 unsigned Opc = FirstInst->getOpcode(); in foldPHIArgBinOpIntoPHI()
404 Value *LHSVal = FirstInst->getOperand(0); in foldPHIArgBinOpIntoPHI()
405 Value *RHSVal = FirstInst->getOperand(1); in foldPHIArgBinOpIntoPHI()
422 if (CI->getPredicate() != cast<CmpInst>(FirstInst)->getPredicate()) in foldPHIArgBinOpIntoPHI()
439 Value *InLHS = FirstInst->getOperand(0); in foldPHIArgBinOpIntoPHI()
440 Value *InRHS = FirstInst->getOperand(1); in foldPHIArgBinOpIntoPHI()
444 FirstInst->getOperand(0)->getName() + ".pn"); in foldPHIArgBinOpIntoPHI()
452 FirstInst->getOperand(1)->getName() + ".pn"); in foldPHIArgBinOpIntoPHI()
475 if (CmpInst *CIOp = dyn_cast<CmpInst>(FirstInst)) { in foldPHIArgBinOpIntoPHI()
482 BinaryOperator *BinOp = cast<BinaryOperator>(FirstInst); in foldPHIArgBinOpIntoPHI()
496 GetElementPtrInst *FirstInst =cast<GetElementPtrInst>(PN.getIncomingValue(0)); in foldPHIArgGEPIntoPHI() local
498 SmallVector<Value*, 16> FixedOperands(FirstInst->op_begin(), in foldPHIArgGEPIntoPHI()
499 FirstInst->op_end()); in foldPHIArgGEPIntoPHI()
515 GEP->getSourceElementType() != FirstInst->getSourceElementType() || in foldPHIArgGEPIntoPHI()
516 GEP->getNumOperands() != FirstInst->getNumOperands()) in foldPHIArgGEPIntoPHI()
528 for (unsigned Op = 0, E = FirstInst->getNumOperands(); Op != E; ++Op) { in foldPHIArgGEPIntoPHI()
529 if (FirstInst->getOperand(Op) == GEP->getOperand(Op)) in foldPHIArgGEPIntoPHI()
537 if (isa<ConstantInt>(FirstInst->getOperand(Op)) || in foldPHIArgGEPIntoPHI()
541 if (FirstInst->getOperand(Op)->getType() != in foldPHIArgGEPIntoPHI()
574 Value *FirstOp = FirstInst->getOperand(I); in foldPHIArgGEPIntoPHI()
600 GetElementPtrInst::Create(FirstInst->getSourceElementType(), Base, in foldPHIArgGEPIntoPHI()
862 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in foldPHIArgOpIntoPHI() local
864 if (isa<GetElementPtrInst>(FirstInst)) in foldPHIArgOpIntoPHI()
866 if (isa<LoadInst>(FirstInst)) in foldPHIArgOpIntoPHI()
868 if (isa<InsertValueInst>(FirstInst)) in foldPHIArgOpIntoPHI()
870 if (isa<ExtractValueInst>(FirstInst)) in foldPHIArgOpIntoPHI()
880 if (isa<CastInst>(FirstInst)) { in foldPHIArgOpIntoPHI()
881 CastSrcTy = FirstInst->getOperand(0)->getType(); in foldPHIArgOpIntoPHI()
889 } else if (isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)) { in foldPHIArgOpIntoPHI()
892 ConstantOp = dyn_cast<Constant>(FirstInst->getOperand(1)); in foldPHIArgOpIntoPHI()
902 if (!I || !I->hasOneUser() || !I->isSameOperationAs(FirstInst)) in foldPHIArgOpIntoPHI()
914 PHINode *NewPN = PHINode::Create(FirstInst->getOperand(0)->getType(), in foldPHIArgOpIntoPHI()
918 Value *InVal = FirstInst->getOperand(0); in foldPHIArgOpIntoPHI()
943 if (CastInst *FirstCI = dyn_cast<CastInst>(FirstInst)) { in foldPHIArgOpIntoPHI()
950 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst)) { in foldPHIArgOpIntoPHI()
961 CmpInst *CIOp = cast<CmpInst>(FirstInst); in foldPHIArgOpIntoPHI()