reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2201 if (isa<UndefValue>(TrueVal) || isa<UndefValue>(FalseVal)) { 2212 if (Value *V = SimplifySelectInst(CondVal, TrueVal, FalseVal, 2232 SI.setOperand(1, FalseVal); 2243 return BinaryOperator::CreateOr(CondVal, FalseVal); 2248 return BinaryOperator::CreateAnd(NotCond, FalseVal); 2250 if (match(FalseVal, m_Zero())) { 2254 if (match(FalseVal, m_One())) { 2263 return BinaryOperator::CreateOr(CondVal, FalseVal); 2264 if (CondVal == FalseVal) 2270 return BinaryOperator::CreateAnd(TrueVal, FalseVal); 2271 if (match(FalseVal, m_Not(m_Specific(CondVal)))) 2272 return BinaryOperator::CreateOr(TrueVal, FalseVal); 2284 if (match(TrueVal, m_One()) && match(FalseVal, m_Zero())) 2288 if (match(TrueVal, m_AllOnes()) && match(FalseVal, m_Zero())) 2292 if (match(TrueVal, m_Zero()) && match(FalseVal, m_One())) { 2298 if (match(TrueVal, m_Zero()) && match(FalseVal, m_AllOnes())) { 2306 if (FCI->getOperand(0) == TrueVal && FCI->getOperand(1) == FalseVal) { 2316 Value *NewCond = Builder.CreateFCmp(InvPred, TrueVal, FalseVal, 2319 return SelectInst::Create(NewCond, FalseVal, TrueVal, 2324 } else if (FCI->getOperand(0) == FalseVal && FCI->getOperand(1) == TrueVal){ 2334 Value *NewCond = Builder.CreateFCmp(InvPred, FalseVal, TrueVal, 2337 return SelectInst::Create(NewCond, FalseVal, TrueVal, 2353 if (match(CondVal, m_FCmp(Pred, m_Specific(FalseVal), m_AnyZeroFP())) && 2354 match(TrueVal, m_FSub(m_PosZeroFP(), m_Specific(FalseVal))) && 2357 Value *Fabs = Builder.CreateUnaryIntrinsic(Intrinsic::fabs, FalseVal, FSub); 2362 match(FalseVal, m_FSub(m_PosZeroFP(), m_Specific(TrueVal))) && 2363 match(FalseVal, m_Instruction(FSub)) && FSub->hasNoNaNs() && 2372 if (match(CondVal, m_FCmp(Pred, m_Specific(FalseVal), m_AnyZeroFP())) && 2373 match(TrueVal, m_FNeg(m_Specific(FalseVal))) && 2378 Value *Fabs = Builder.CreateUnaryIntrinsic(Intrinsic::fabs, FalseVal, FNeg); 2385 match(FalseVal, m_FNeg(m_Specific(TrueVal))) && 2386 match(FalseVal, m_Instruction(FNeg)) && 2404 auto *FI = dyn_cast<Instruction>(FalseVal); 2414 if (Instruction *FoldI = foldSelectIntoOp(SI, TrueVal, FalseVal)) 2527 canSelectOperandBeMappingIntoPredBlock(FalseVal, SI)) 2543 if (TrueSI->getFalseValue() == FalseVal && TrueSI->hasOneUse()) { 2551 if (SelectInst *FalseSI = dyn_cast<SelectInst>(FalseVal)) { 2607 if (match(FalseVal, m_OneUse(m_BinOp(FalseBO))) && 2628 SI.setOperand(1, FalseVal); 2656 return replaceInstUsesWith(SI, FalseVal);