reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2799 assert(I.getOpcode() == Instruction::Xor && I.getOperand(0) == LHS && 2802 if (predicatesFoldable(LHS->getPredicate(), RHS->getPredicate())) { 2803 if (LHS->getOperand(0) == RHS->getOperand(1) && 2804 LHS->getOperand(1) == RHS->getOperand(0)) 2805 LHS->swapOperands(); 2806 if (LHS->getOperand(0) == RHS->getOperand(0) && 2807 LHS->getOperand(1) == RHS->getOperand(1)) { 2809 Value *Op0 = LHS->getOperand(0), *Op1 = LHS->getOperand(1); 2809 Value *Op0 = LHS->getOperand(0), *Op1 = LHS->getOperand(1); 2810 unsigned Code = getICmpCode(LHS) ^ getICmpCode(RHS); 2811 bool IsSigned = LHS->isSigned() || RHS->isSigned(); 2819 ICmpInst::Predicate PredL = LHS->getPredicate(), PredR = RHS->getPredicate(); 2820 Value *LHS0 = LHS->getOperand(0), *LHS1 = LHS->getOperand(1); 2820 Value *LHS0 = LHS->getOperand(0), *LHS1 = LHS->getOperand(1); 2822 if ((LHS->hasOneUse() || RHS->hasOneUse()) && 2851 if (Value *OrICmp = SimplifyBinOp(Instruction::Or, LHS, RHS, SQ)) { 2854 if (Value *AndICmp = SimplifyBinOp(Instruction::And, LHS, RHS, SQ)) { 2857 if (OrICmp == LHS && AndICmp == RHS) { 2859 X = LHS; 2862 if (OrICmp == RHS && AndICmp == LHS) { 2865 Y = LHS; 2885 return Builder.CreateAnd(LHS, RHS);