Lines Matching refs:TopLevelOpcode
644 Instruction::BinaryOps TopLevelOpcode = I.getOpcode(); in tryFactorization() local
650 if (leftDistributesOverRight(InnerOpcode, TopLevelOpcode)) in tryFactorization()
658 V = simplifyBinOp(TopLevelOpcode, B, D, SQ.getWithInstruction(&I)); in tryFactorization()
662 V = Builder.CreateBinOp(TopLevelOpcode, B, D, RHS->getName()); in tryFactorization()
669 if (!SimplifiedInst && rightDistributesOverLeft(TopLevelOpcode, InnerOpcode)) in tryFactorization()
677 V = simplifyBinOp(TopLevelOpcode, A, C, SQ.getWithInstruction(&I)); in tryFactorization()
682 V = Builder.CreateBinOp(TopLevelOpcode, A, C, LHS->getName()); in tryFactorization()
712 if (TopLevelOpcode == Instruction::Add && in tryFactorization()
745 Instruction::BinaryOps TopLevelOpcode = I.getOpcode(); in SimplifyUsingDistributiveLaws() local
752 LHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op0, A, B); in SimplifyUsingDistributiveLaws()
754 RHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op1, C, D); in SimplifyUsingDistributiveLaws()
778 if (Op0 && rightDistributesOverLeft(Op0->getOpcode(), TopLevelOpcode)) { in SimplifyUsingDistributiveLaws()
786 Value *L = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive); in SimplifyUsingDistributiveLaws()
787 Value *R = simplifyBinOp(TopLevelOpcode, B, C, SQDistributive); in SimplifyUsingDistributiveLaws()
802 C = Builder.CreateBinOp(TopLevelOpcode, B, C); in SimplifyUsingDistributiveLaws()
811 C = Builder.CreateBinOp(TopLevelOpcode, A, C); in SimplifyUsingDistributiveLaws()
817 if (Op1 && leftDistributesOverRight(TopLevelOpcode, Op1->getOpcode())) { in SimplifyUsingDistributiveLaws()
825 Value *L = simplifyBinOp(TopLevelOpcode, A, B, SQDistributive); in SimplifyUsingDistributiveLaws()
826 Value *R = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive); in SimplifyUsingDistributiveLaws()
841 A = Builder.CreateBinOp(TopLevelOpcode, A, C); in SimplifyUsingDistributiveLaws()
850 A = Builder.CreateBinOp(TopLevelOpcode, A, B); in SimplifyUsingDistributiveLaws()