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, 2233 SI.setOperand(2, TrueVal); 2240 TrueVal->getType() == CondVal->getType()) { 2241 if (match(TrueVal, m_One())) { 2245 if (match(TrueVal, m_Zero())) { 2252 return BinaryOperator::CreateAnd(CondVal, TrueVal); 2257 return BinaryOperator::CreateOr(NotCond, TrueVal); 2262 if (CondVal == TrueVal) 2265 return BinaryOperator::CreateAnd(CondVal, TrueVal); 2269 if (match(TrueVal, m_Not(m_Specific(CondVal)))) 2270 return BinaryOperator::CreateAnd(TrueVal, FalseVal); 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, 2354 match(TrueVal, m_FSub(m_PosZeroFP(), m_Specific(FalseVal))) && 2355 match(TrueVal, m_Instruction(FSub)) && FSub->hasNoNaNs() && 2361 if (match(CondVal, m_FCmp(Pred, m_Specific(TrueVal), m_AnyZeroFP())) && 2362 match(FalseVal, m_FSub(m_PosZeroFP(), m_Specific(TrueVal))) && 2365 Value *Fabs = Builder.CreateUnaryIntrinsic(Intrinsic::fabs, TrueVal, FSub); 2373 match(TrueVal, m_FNeg(m_Specific(FalseVal))) && 2374 match(TrueVal, m_Instruction(FNeg)) && 2384 if (match(CondVal, m_FCmp(Pred, m_Specific(TrueVal), m_AnyZeroFP())) && 2385 match(FalseVal, m_FNeg(m_Specific(TrueVal))) && 2390 Value *Fabs = Builder.CreateUnaryIntrinsic(Intrinsic::fabs, TrueVal, FNeg); 2403 auto *TI = dyn_cast<Instruction>(TrueVal); 2414 if (Instruction *FoldI = foldSelectIntoOp(SI, TrueVal, FalseVal)) 2526 if (canSelectOperandBeMappingIntoPredBlock(TrueVal, SI) && 2531 if (SelectInst *TrueSI = dyn_cast<SelectInst>(TrueVal)) { 2561 if (FalseSI->getTrueValue() == TrueVal && FalseSI->hasOneUse()) { 2587 if (match(TrueVal, m_OneUse(m_BinOp(TrueBO))) && 2629 SI.setOperand(2, TrueVal); 2654 return replaceInstUsesWith(SI, TrueVal);