Lines Matching defs:NewOps
79 ArrayRef<Value *> NewOps,
4346 SmallVector<Value *, 8> NewOps;
4351 NewOps.push_back(NewInstOp);
4354 NewOps.push_back(InstOp);
4359 if (isa<UndefValue>(NewOps.back()) && !Q.CanUseUndef)
4374 if (NewOps[0] == ConstantExpr::getBinOpIdentity(Opcode, I->getType()))
4375 return NewOps[1];
4376 if (NewOps[1] == ConstantExpr::getBinOpIdentity(Opcode, I->getType(),
4378 return NewOps[0];
4382 NewOps[0] == NewOps[1]) {
4391 return NewOps[0];
4398 NewOps[0] == RepOp && NewOps[1] == RepOp)
4410 if ((NewOps[0] == Absorber || NewOps[1] == Absorber) &&
4418 if (NewOps.size() == 2 && match(NewOps[1], m_Zero()))
4419 return NewOps[0];
4436 ::simplifyInstructionWithOperands(I, NewOps, Q, MaxRecurse));
4442 for (Value *NewOp : NewOps) {
7058 ArrayRef<Value *> NewOps,
7069 if (llvm::all_of(NewOps, [](Value *V) { return isa<Constant>(V); })) {
7070 SmallVector<Constant *, 8> NewConstOps(NewOps.size());
7071 transform(NewOps, NewConstOps.begin(),
7077 return simplifyFNegInst(NewOps[0], I->getFastMathFlags(), Q, MaxRecurse);
7079 return simplifyFAddInst(NewOps[0], NewOps[1], I->getFastMathFlags(), Q,
7083 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7086 return simplifyFSubInst(NewOps[0], NewOps[1], I->getFastMathFlags(), Q,
7090 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7093 return simplifyFMulInst(NewOps[0], NewOps[1], I->getFastMathFlags(), Q,
7097 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7100 return simplifySDivInst(NewOps[0], NewOps[1],
7104 return simplifyUDivInst(NewOps[0], NewOps[1],
7108 return simplifyFDivInst(NewOps[0], NewOps[1], I->getFastMathFlags(), Q,
7111 return simplifySRemInst(NewOps[0], NewOps[1], Q, MaxRecurse);
7113 return simplifyURemInst(NewOps[0], NewOps[1], Q, MaxRecurse);
7115 return simplifyFRemInst(NewOps[0], NewOps[1], I->getFastMathFlags(), Q,
7119 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7122 return simplifyLShrInst(NewOps[0], NewOps[1],
7126 return simplifyAShrInst(NewOps[0], NewOps[1],
7130 return simplifyAndInst(NewOps[0], NewOps[1], Q, MaxRecurse);
7132 return simplifyOrInst(NewOps[0], NewOps[1], Q, MaxRecurse);
7134 return simplifyXorInst(NewOps[0], NewOps[1], Q, MaxRecurse);
7136 return simplifyICmpInst(cast<ICmpInst>(I)->getPredicate(), NewOps[0],
7137 NewOps[1], Q, MaxRecurse);
7139 return simplifyFCmpInst(cast<FCmpInst>(I)->getPredicate(), NewOps[0],
7140 NewOps[1], I->getFastMathFlags(), Q, MaxRecurse);
7142 return simplifySelectInst(NewOps[0], NewOps[1], NewOps[2], Q, MaxRecurse);
7146 return simplifyGEPInst(GEPI->getSourceElementType(), NewOps[0],
7147 ArrayRef(NewOps).slice(1), GEPI->getNoWrapFlags(), Q,
7152 return simplifyInsertValueInst(NewOps[0], NewOps[1], IV->getIndices(), Q,
7156 return simplifyInsertElementInst(NewOps[0], NewOps[1], NewOps[2], Q);
7159 return simplifyExtractValueInst(NewOps[0], EVI->getIndices(), Q,
7163 return simplifyExtractElementInst(NewOps[0], NewOps[1], Q, MaxRecurse);
7166 return simplifyShuffleVectorInst(NewOps[0], NewOps[1],
7171 return simplifyPHINode(cast<PHINode>(I), NewOps, Q);
7174 cast<CallInst>(I), NewOps.back(),
7175 NewOps.drop_back(1 + cast<CallInst>(I)->getNumTotalBundleOperands()), Q);
7177 return llvm::simplifyFreezeInst(NewOps[0], Q);
7181 return simplifyCastInst(I->getOpcode(), NewOps[0], I->getType(), Q,
7187 return simplifyLoadInst(cast<LoadInst>(I), NewOps[0], Q);
7192 ArrayRef<Value *> NewOps,
7194 assert(NewOps.size() == I->getNumOperands() &&
7196 return ::simplifyInstructionWithOperands(I, NewOps, SQ, RecursionLimit);