reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2967 if (Value *V = SimplifyXorInst(I.getOperand(0), I.getOperand(1), 2967 if (Value *V = SimplifyXorInst(I.getOperand(0), I.getOperand(1), 2968 SQ.getWithInstruction(&I))) 2969 return replaceInstUsesWith(I, V); 2971 if (SimplifyAssociativeOrCommutative(I)) 2972 return &I; 2974 if (Instruction *X = foldVectorBinop(I)) 2977 if (Instruction *NewXor = foldXorToXor(I, Builder)) 2981 if (Value *V = SimplifyUsingDistributiveLaws(I)) 2982 return replaceInstUsesWith(I, V); 2986 if (SimplifyDemandedInstructionBits(I)) 2987 return &I; 2989 if (Value *V = SimplifyBSwap(I, Builder)) 2990 return replaceInstUsesWith(I, V); 2992 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 2992 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 2999 if (match(&I, m_c_Xor(m_c_And(m_Not(m_Value(M)), m_Value()), 3010 if (match(&I, m_Not(m_OneUse(m_c_And(m_Not(m_Value(X)), m_Value(Y)))))) { 3016 if (match(&I, m_Not(m_OneUse(m_c_Or(m_Not(m_Value(X)), m_Value(Y)))))) { 3021 if (Instruction *Xor = visitMaskedMerge(I, Builder)) 3026 if (match(&I, m_Not(m_BinOp(NotVal)))) { 3092 if (match(&I, m_Not(m_OneUse(m_Cmp(Pred, m_Value(), m_Value()))))) { 3094 return replaceInstUsesWith(I, Op0); 3104 Constant *NewC = ConstantInt::get(I.getType(), *C + *RHSC); 3109 Constant *NewC = ConstantInt::get(I.getType(), *C + *RHSC); 3115 MaskedValueIsZero(X, *C, 0, &I)) { 3116 Constant *NewC = ConstantInt::get(I.getType(), *C ^ *RHSC); 3118 I.setOperand(0, X); 3119 I.setOperand(1, NewC); 3120 return &I; 3144 cast<Instruction>(Opnd0)->setDebugLoc(I.getDebugLoc()); 3154 if (Instruction *FoldedLogic = foldBinOpIntoSelectOrPhi(I)) 3181 if (match(&I, m_c_Xor(m_OneUse(m_Xor(m_Value(A), m_Value(B))), 3187 if (match(&I, m_c_Xor(m_OneUse(m_Xor(m_Value(A), m_Value(B))), 3207 if (auto *LHS = dyn_cast<ICmpInst>(I.getOperand(0))) 3208 if (auto *RHS = dyn_cast<ICmpInst>(I.getOperand(1))) 3209 if (Value *V = foldXorOfICmps(LHS, RHS, I)) 3210 return replaceInstUsesWith(I, V); 3212 if (Instruction *CastedXor = foldCastedBitwiseLogic(I)) 3224 Type *Ty = I.getType(); 3284 if (Instruction *NewXor = sinkNotIntoXor(I, Builder))