Lines Matching refs:FirstInst
44 auto *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in PHIArgMergedDebugLoc() local
45 Inst->setDebugLoc(FirstInst->getDebugLoc()); in PHIArgMergedDebugLoc()
408 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in foldPHIArgBinOpIntoPHI() local
409 assert(isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)); in foldPHIArgBinOpIntoPHI()
410 unsigned Opc = FirstInst->getOpcode(); in foldPHIArgBinOpIntoPHI()
411 Value *LHSVal = FirstInst->getOperand(0); in foldPHIArgBinOpIntoPHI()
412 Value *RHSVal = FirstInst->getOperand(1); in foldPHIArgBinOpIntoPHI()
429 if (CI->getPredicate() != cast<CmpInst>(FirstInst)->getPredicate()) in foldPHIArgBinOpIntoPHI()
446 Value *InLHS = FirstInst->getOperand(0); in foldPHIArgBinOpIntoPHI()
447 Value *InRHS = FirstInst->getOperand(1); in foldPHIArgBinOpIntoPHI()
451 FirstInst->getOperand(0)->getName() + ".pn"); in foldPHIArgBinOpIntoPHI()
459 FirstInst->getOperand(1)->getName() + ".pn"); in foldPHIArgBinOpIntoPHI()
482 if (CmpInst *CIOp = dyn_cast<CmpInst>(FirstInst)) { in foldPHIArgBinOpIntoPHI()
489 BinaryOperator *BinOp = cast<BinaryOperator>(FirstInst); in foldPHIArgBinOpIntoPHI()
503 GetElementPtrInst *FirstInst =cast<GetElementPtrInst>(PN.getIncomingValue(0)); in foldPHIArgGEPIntoPHI() local
505 SmallVector<Value*, 16> FixedOperands(FirstInst->op_begin(), in foldPHIArgGEPIntoPHI()
506 FirstInst->op_end()); in foldPHIArgGEPIntoPHI()
517 GEPNoWrapFlags NW = FirstInst->getNoWrapFlags(); in foldPHIArgGEPIntoPHI()
523 GEP->getSourceElementType() != FirstInst->getSourceElementType() || in foldPHIArgGEPIntoPHI()
524 GEP->getNumOperands() != FirstInst->getNumOperands()) in foldPHIArgGEPIntoPHI()
536 for (unsigned Op = 0, E = FirstInst->getNumOperands(); Op != E; ++Op) { in foldPHIArgGEPIntoPHI()
537 if (FirstInst->getOperand(Op) == GEP->getOperand(Op)) in foldPHIArgGEPIntoPHI()
545 if (isa<ConstantInt>(FirstInst->getOperand(Op)) || in foldPHIArgGEPIntoPHI()
549 if (FirstInst->getOperand(Op)->getType() != in foldPHIArgGEPIntoPHI()
582 Value *FirstOp = FirstInst->getOperand(I); in foldPHIArgGEPIntoPHI()
608 GetElementPtrInst::Create(FirstInst->getSourceElementType(), Base, in foldPHIArgGEPIntoPHI()
870 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); in foldPHIArgOpIntoPHI() local
872 if (isa<GetElementPtrInst>(FirstInst)) in foldPHIArgOpIntoPHI()
874 if (isa<LoadInst>(FirstInst)) in foldPHIArgOpIntoPHI()
876 if (isa<InsertValueInst>(FirstInst)) in foldPHIArgOpIntoPHI()
878 if (isa<ExtractValueInst>(FirstInst)) in foldPHIArgOpIntoPHI()
888 if (isa<CastInst>(FirstInst)) { in foldPHIArgOpIntoPHI()
889 CastSrcTy = FirstInst->getOperand(0)->getType(); in foldPHIArgOpIntoPHI()
897 } else if (isa<BinaryOperator>(FirstInst) || isa<CmpInst>(FirstInst)) { in foldPHIArgOpIntoPHI()
900 ConstantOp = dyn_cast<Constant>(FirstInst->getOperand(1)); in foldPHIArgOpIntoPHI()
910 if (!I || !I->hasOneUser() || !I->isSameOperationAs(FirstInst)) in foldPHIArgOpIntoPHI()
922 PHINode *NewPN = PHINode::Create(FirstInst->getOperand(0)->getType(), in foldPHIArgOpIntoPHI()
926 Value *InVal = FirstInst->getOperand(0); in foldPHIArgOpIntoPHI()
951 if (CastInst *FirstCI = dyn_cast<CastInst>(FirstInst)) { in foldPHIArgOpIntoPHI()
958 if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(FirstInst)) { in foldPHIArgOpIntoPHI()
969 CmpInst *CIOp = cast<CmpInst>(FirstInst); in foldPHIArgOpIntoPHI()