Lines Matching refs:TopLevelOpcode
655 Instruction::BinaryOps TopLevelOpcode = I.getOpcode(); in tryFactorization() local
661 if (leftDistributesOverRight(InnerOpcode, TopLevelOpcode)) { in tryFactorization()
669 V = simplifyBinOp(TopLevelOpcode, B, D, SQ.getWithInstruction(&I)); in tryFactorization()
674 V = Builder.CreateBinOp(TopLevelOpcode, B, D, RHS->getName()); in tryFactorization()
681 if (!RetVal && rightDistributesOverLeft(TopLevelOpcode, InnerOpcode)) { in tryFactorization()
689 V = simplifyBinOp(TopLevelOpcode, A, C, SQ.getWithInstruction(&I)); in tryFactorization()
694 V = Builder.CreateBinOp(TopLevelOpcode, A, C, LHS->getName()); in tryFactorization()
724 if (TopLevelOpcode == Instruction::Add && InnerOpcode == Instruction::Mul) { in tryFactorization()
1063 Instruction::BinaryOps TopLevelOpcode = I.getOpcode(); in tryFactorizationFolds() local
1068 LHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op0, A, B, Op1); in tryFactorizationFolds()
1070 RHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op1, C, D, Op0); in tryFactorizationFolds()
1106 Instruction::BinaryOps TopLevelOpcode = I.getOpcode(); in foldUsingDistributiveLaws() local
1113 if (Op0 && rightDistributesOverLeft(Op0->getOpcode(), TopLevelOpcode)) { in foldUsingDistributiveLaws()
1121 Value *L = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive); in foldUsingDistributiveLaws()
1122 Value *R = simplifyBinOp(TopLevelOpcode, B, C, SQDistributive); in foldUsingDistributiveLaws()
1137 C = Builder.CreateBinOp(TopLevelOpcode, B, C); in foldUsingDistributiveLaws()
1146 C = Builder.CreateBinOp(TopLevelOpcode, A, C); in foldUsingDistributiveLaws()
1152 if (Op1 && leftDistributesOverRight(TopLevelOpcode, Op1->getOpcode())) { in foldUsingDistributiveLaws()
1160 Value *L = simplifyBinOp(TopLevelOpcode, A, B, SQDistributive); in foldUsingDistributiveLaws()
1161 Value *R = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive); in foldUsingDistributiveLaws()
1176 A = Builder.CreateBinOp(TopLevelOpcode, A, C); in foldUsingDistributiveLaws()
1185 A = Builder.CreateBinOp(TopLevelOpcode, A, B); in foldUsingDistributiveLaws()