Lines Matching defs:ROp
595 /// Return whether "X LOp (Y ROp Z)" is always equal to
596 /// "(X LOp Y) ROp (X LOp Z)".
598 Instruction::BinaryOps ROp) {
602 return ROp == Instruction::Or || ROp == Instruction::Xor;
606 return ROp == Instruction::And;
611 return ROp == Instruction::Add || ROp == Instruction::Sub;
616 /// Return whether "(X LOp Y) ROp Z" is always equal to
617 /// "(X ROp Z) LOp (Y ROp Z)".
619 Instruction::BinaryOps ROp) {
620 if (Instruction::isCommutative(ROp))
621 return leftDistributesOverRight(ROp, LOp);
624 return Instruction::isBitwiseLogicOp(LOp) && Instruction::isShift(ROp);