Lines Matching refs:Or

1218   return Builder.CreateBinOp(IsAnd ? Instruction::And : Instruction::Or, Cmp0,  in foldAndOrOfICmpsWithConstEq()
1471 case Instruction::Or: in foldLogicOfIsFPClass()
1532 assert((Opcode == Instruction::And || Opcode == Instruction::Or) && in reassociateFCmps()
1577 assert((Opcode == Instruction::And || Opcode == Instruction::Or) && in matchDeMorgansLaws()
1582 (Opcode == Instruction::And) ? Instruction::Or : Instruction::And; in matchDeMorgansLaws()
1788 assert(I.getOpcode() == Instruction::Or); in foldOrToXor()
1873 assert(Opcode == Instruction::And || Opcode == Instruction::Or); in foldComplexAndOrPatterns()
1877 (Opcode == Instruction::And) ? Instruction::Or : Instruction::And; in foldComplexAndOrPatterns()
1912 return (Opcode == Instruction::Or) in foldComplexAndOrPatterns()
1922 return (Opcode == Instruction::Or) in foldComplexAndOrPatterns()
1945 if (Opcode == Instruction::Or && Op0->hasOneUse() && in foldComplexAndOrPatterns()
1952 Value *Or = cast<BinaryOperator>(X)->getOperand(0); in foldComplexAndOrPatterns() local
1953 return BinaryOperator::CreateNot(Builder.CreateAnd(Or, Y)); in foldComplexAndOrPatterns()
1984 return (Opcode == Instruction::Or) in foldComplexAndOrPatterns()
2068 case Instruction::Or: in canonicalizeLogicFirst()
2311 case Instruction::Or: in visitAnd()
2730 static Instruction *matchFunnelShift(Instruction &Or, InstCombinerImpl &IC, in matchFunnelShift() argument
2734 unsigned Width = Or.getType()->getScalarSizeInBits(); in matchFunnelShift()
2737 if (!match(Or.getOperand(0), m_Instruction(Or0)) || in matchFunnelShift()
2738 !match(Or.getOperand(1), m_Instruction(Or1))) in matchFunnelShift()
2789 KnownBits KnownL = IC.computeKnownBits(L, /*Depth*/ 0, &Or); in matchFunnelShift()
2882 !match(Y, m_Specific(ZextHigh)) || !DT.dominates(U, &Or)) in matchFunnelShift()
2904 Function *F = Intrinsic::getDeclaration(Or.getModule(), IID, Or.getType()); in matchFunnelShift()
2909 static Instruction *matchOrConcat(Instruction &Or, in matchOrConcat() argument
2911 assert(Or.getOpcode() == Instruction::Or && "bswap requires an 'or'"); in matchOrConcat()
2912 Value *Op0 = Or.getOperand(0), *Op1 = Or.getOperand(1); in matchOrConcat()
2913 Type *Ty = Or.getType(); in matchOrConcat()
2940 Function *F = Intrinsic::getDeclaration(Or.getModule(), id, Ty); in matchOrConcat()
3414 Value *Or = Builder.CreateOr(X, Y); in visitOr() local
3415 return BinaryOperator::CreateXor(Or, ConstantInt::get(Ty, *CV)); in visitOr()
3476 Value *Or = Builder.CreateOr(X, *C2 | *C3, "bitfield"); in visitOr() local
3478 return BinaryOperator::CreateAnd(Or, C01); in visitOr()
3617 Op1->hasOneUse() && (B->getOpcode() == Instruction::Or || in visitOr()
4050 if (Value *OrICmp = simplifyBinOp(Instruction::Or, LHS, RHS, SQ)) { in foldXorOfICmps()
4239 match(&I, m_LogicalAnd()) ? Instruction::Or : Instruction::And; in sinkNotIntoLogicalOp()
4279 match(&I, m_LogicalAnd()) ? Instruction::Or : Instruction::And; in sinkNotIntoOtherHandOfLogicalOp()
4580 Value *Or = Builder.CreateOr(X, ConstantExpr::getNot(C2)); in visitXor() local
4581 return BinaryOperator::CreateXor(Or, ConstantExpr::getNot(C1)); in visitXor()