Lines Matching defs:ROp
483 /// Return whether "X LOp (Y ROp Z)" is always equal to
484 /// "(X LOp Y) ROp (X LOp Z)".
486 Instruction::BinaryOps ROp) {
490 return ROp == Instruction::Or || ROp == Instruction::Xor;
494 return ROp == Instruction::And;
499 return ROp == Instruction::Add || ROp == Instruction::Sub;
504 /// Return whether "(X LOp Y) ROp Z" is always equal to
505 /// "(X ROp Z) LOp (Y ROp Z)".
507 Instruction::BinaryOps ROp) {
508 if (Instruction::isCommutative(ROp))
509 return leftDistributesOverRight(ROp, LOp);
512 return Instruction::isBitwiseLogicOp(LOp) && Instruction::isShift(ROp);