Lines Matching defs:ROp
587 /// Return whether "X LOp (Y ROp Z)" is always equal to
588 /// "(X LOp Y) ROp (X LOp Z)".
590 Instruction::BinaryOps ROp) {
594 return ROp == Instruction::Or || ROp == Instruction::Xor;
598 return ROp == Instruction::And;
603 return ROp == Instruction::Add || ROp == Instruction::Sub;
608 /// Return whether "(X LOp Y) ROp Z" is always equal to
609 /// "(X ROp Z) LOp (Y ROp Z)".
611 Instruction::BinaryOps ROp) {
612 if (Instruction::isCommutative(ROp))
613 return leftDistributesOverRight(ROp, LOp);
616 return Instruction::isBitwiseLogicOp(LOp) && Instruction::isShift(ROp);