Lines Matching refs:Opnd1
185 bool CombineXorOpnd(Instruction *I, XorOpnd *Opnd1, APInt &ConstOpnd,
187 bool CombineXorOpnd(Instruction *I, XorOpnd *Opnd1, XorOpnd *Opnd2,
1143 // Helper function of OptimizeXor(). It tries to simplify "Opnd1 ^ ConstOpnd"
1150 bool Reassociate::CombineXorOpnd(Instruction *I, XorOpnd *Opnd1,
1156 if (Opnd1->isOrExpr() && Opnd1->getConstPart() != 0) {
1157 if (!Opnd1->getValue()->hasOneUse())
1160 const APInt &C1 = Opnd1->getConstPart();
1164 Value *X = Opnd1->getSymbolicPart();
1169 if (Instruction *T = dyn_cast<Instruction>(Opnd1->getValue()))
1178 // "Opnd1 ^ Opnd2 ^ ConstOpnd" into "R ^ C", where C would be 0, and R is a
1185 bool Reassociate::CombineXorOpnd(Instruction *I, XorOpnd *Opnd1, XorOpnd *Opnd2,
1187 Value *X = Opnd1->getSymbolicPart();
1191 // This many instruction become dead.(At least "Opnd1 ^ Opnd2" will die.)
1193 if (Opnd1->getValue()->hasOneUse())
1204 if (Opnd1->isOrExpr() != Opnd2->isOrExpr()) {
1206 std::swap(Opnd1, Opnd2);
1208 const APInt &C1 = Opnd1->getConstPart();
1222 } else if (Opnd1->isOrExpr()) {
1225 const APInt &C1 = Opnd1->getConstPart();
1241 const APInt &C1 = Opnd1->getConstPart();
1249 if (Instruction *T = dyn_cast<Instruction>(Opnd1->getValue()))