reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
5240 const SimplifyQuery Q = SQ.CxtI ? SQ : SQ.getWithInstruction(I); 5243 switch (I->getOpcode()) { 5245 Result = ConstantFoldInstruction(I, Q.DL, Q.TLI); 5248 Result = SimplifyFNegInst(I->getOperand(0), I->getFastMathFlags(), Q); 5248 Result = SimplifyFNegInst(I->getOperand(0), I->getFastMathFlags(), Q); 5251 Result = SimplifyFAddInst(I->getOperand(0), I->getOperand(1), 5251 Result = SimplifyFAddInst(I->getOperand(0), I->getOperand(1), 5252 I->getFastMathFlags(), Q); 5256 SimplifyAddInst(I->getOperand(0), I->getOperand(1), 5256 SimplifyAddInst(I->getOperand(0), I->getOperand(1), 5257 Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)), 5258 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q); 5261 Result = SimplifyFSubInst(I->getOperand(0), I->getOperand(1), 5261 Result = SimplifyFSubInst(I->getOperand(0), I->getOperand(1), 5262 I->getFastMathFlags(), Q); 5266 SimplifySubInst(I->getOperand(0), I->getOperand(1), 5266 SimplifySubInst(I->getOperand(0), I->getOperand(1), 5267 Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)), 5268 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q); 5271 Result = SimplifyFMulInst(I->getOperand(0), I->getOperand(1), 5271 Result = SimplifyFMulInst(I->getOperand(0), I->getOperand(1), 5272 I->getFastMathFlags(), Q); 5275 Result = SimplifyMulInst(I->getOperand(0), I->getOperand(1), Q); 5275 Result = SimplifyMulInst(I->getOperand(0), I->getOperand(1), Q); 5278 Result = SimplifySDivInst(I->getOperand(0), I->getOperand(1), Q); 5278 Result = SimplifySDivInst(I->getOperand(0), I->getOperand(1), Q); 5281 Result = SimplifyUDivInst(I->getOperand(0), I->getOperand(1), Q); 5281 Result = SimplifyUDivInst(I->getOperand(0), I->getOperand(1), Q); 5284 Result = SimplifyFDivInst(I->getOperand(0), I->getOperand(1), 5284 Result = SimplifyFDivInst(I->getOperand(0), I->getOperand(1), 5285 I->getFastMathFlags(), Q); 5288 Result = SimplifySRemInst(I->getOperand(0), I->getOperand(1), Q); 5288 Result = SimplifySRemInst(I->getOperand(0), I->getOperand(1), Q); 5291 Result = SimplifyURemInst(I->getOperand(0), I->getOperand(1), Q); 5291 Result = SimplifyURemInst(I->getOperand(0), I->getOperand(1), Q); 5294 Result = SimplifyFRemInst(I->getOperand(0), I->getOperand(1), 5294 Result = SimplifyFRemInst(I->getOperand(0), I->getOperand(1), 5295 I->getFastMathFlags(), Q); 5299 SimplifyShlInst(I->getOperand(0), I->getOperand(1), 5299 SimplifyShlInst(I->getOperand(0), I->getOperand(1), 5300 Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)), 5301 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q); 5304 Result = SimplifyLShrInst(I->getOperand(0), I->getOperand(1), 5304 Result = SimplifyLShrInst(I->getOperand(0), I->getOperand(1), 5305 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q); 5308 Result = SimplifyAShrInst(I->getOperand(0), I->getOperand(1), 5308 Result = SimplifyAShrInst(I->getOperand(0), I->getOperand(1), 5309 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q); 5312 Result = SimplifyAndInst(I->getOperand(0), I->getOperand(1), Q); 5312 Result = SimplifyAndInst(I->getOperand(0), I->getOperand(1), Q); 5315 Result = SimplifyOrInst(I->getOperand(0), I->getOperand(1), Q); 5315 Result = SimplifyOrInst(I->getOperand(0), I->getOperand(1), Q); 5318 Result = SimplifyXorInst(I->getOperand(0), I->getOperand(1), Q); 5318 Result = SimplifyXorInst(I->getOperand(0), I->getOperand(1), Q); 5321 Result = SimplifyICmpInst(cast<ICmpInst>(I)->getPredicate(), 5322 I->getOperand(0), I->getOperand(1), Q); 5322 I->getOperand(0), I->getOperand(1), Q); 5326 SimplifyFCmpInst(cast<FCmpInst>(I)->getPredicate(), I->getOperand(0), 5326 SimplifyFCmpInst(cast<FCmpInst>(I)->getPredicate(), I->getOperand(0), 5327 I->getOperand(1), I->getFastMathFlags(), Q); 5327 I->getOperand(1), I->getFastMathFlags(), Q); 5330 Result = SimplifySelectInst(I->getOperand(0), I->getOperand(1), 5330 Result = SimplifySelectInst(I->getOperand(0), I->getOperand(1), 5331 I->getOperand(2), Q); 5334 SmallVector<Value *, 8> Ops(I->op_begin(), I->op_end()); 5334 SmallVector<Value *, 8> Ops(I->op_begin(), I->op_end()); 5335 Result = SimplifyGEPInst(cast<GetElementPtrInst>(I)->getSourceElementType(), 5340 InsertValueInst *IV = cast<InsertValueInst>(I); 5347 auto *IE = cast<InsertElementInst>(I); 5353 auto *EVI = cast<ExtractValueInst>(I); 5359 auto *EEI = cast<ExtractElementInst>(I); 5365 auto *SVI = cast<ShuffleVectorInst>(I); 5371 Result = SimplifyPHINode(cast<PHINode>(I), Q); 5374 Result = SimplifyCall(cast<CallInst>(I), Q); 5381 SimplifyCastInst(I->getOpcode(), I->getOperand(0), I->getType(), Q); 5381 SimplifyCastInst(I->getOpcode(), I->getOperand(0), I->getType(), Q); 5381 SimplifyCastInst(I->getOpcode(), I->getOperand(0), I->getType(), Q); 5391 if (!Result && I->getType()->isIntOrIntVectorTy()) { 5392 KnownBits Known = computeKnownBits(I, Q.DL, /*Depth*/ 0, Q.AC, I, Q.DT, ORE); 5392 KnownBits Known = computeKnownBits(I, Q.DL, /*Depth*/ 0, Q.AC, I, Q.DT, ORE); 5394 Result = ConstantInt::get(I->getType(), Known.getConstant()); 5400 return Result == I ? UndefValue::get(I->getType()) : Result; 5400 return Result == I ? UndefValue::get(I->getType()) : Result;