Lines Matching defs:InvariantOp
2547 Value *VariantOp, *InvariantOp;
2548 if (!match(VariantLHS, m_NSWAdd(m_Value(VariantOp), m_Value(InvariantOp))))
2552 // "VariantOp + InvariantOp". If it is possible, then we can reassociate.
2554 std::swap(VariantOp, InvariantOp);
2555 if (L.isLoopInvariant(VariantOp) || !L.isLoopInvariant(InvariantOp))
2564 computeOverflowForSignedSub(InvariantRHS, InvariantOp,
2572 Value *NewCmpOp = Builder.CreateSub(InvariantRHS, InvariantOp, "invariant.op",
2594 Value *VariantOp, *InvariantOp;
2595 if (!match(VariantLHS, m_NSWSub(m_Value(VariantOp), m_Value(InvariantOp))))
2600 // "VariantOp + InvariantOp". If it is possible, then we can reassociate. If
2603 std::swap(VariantOp, InvariantOp);
2607 if (L.isLoopInvariant(VariantOp) || !L.isLoopInvariant(InvariantOp))
2619 if (computeOverflowForSignedSub(InvariantOp, InvariantRHS, SQ) !=
2624 if (computeOverflowForSignedAdd(InvariantOp, InvariantRHS, SQ) !=
2633 ? Builder.CreateSub(InvariantOp, InvariantRHS, "invariant.op",
2635 : Builder.CreateAdd(InvariantOp, InvariantRHS, "invariant.op",
2701 Value *InvariantOp = I.getOperand(1);
2703 std::swap(VariantOp, InvariantOp);
2704 if (L.isLoopInvariant(VariantOp) || !L.isLoopInvariant(InvariantOp))
2706 Value *Factor = InvariantOp;