Lines Matching defs:TopLevelOpcode
675 Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
681 if (leftDistributesOverRight(InnerOpcode, TopLevelOpcode)) {
689 V = simplifyBinOp(TopLevelOpcode, B, D, SQ.getWithInstruction(&I));
694 V = Builder.CreateBinOp(TopLevelOpcode, B, D, RHS->getName());
701 if (!RetVal && rightDistributesOverLeft(TopLevelOpcode, InnerOpcode)) {
709 V = simplifyBinOp(TopLevelOpcode, A, C, SQ.getWithInstruction(&I));
714 V = Builder.CreateBinOp(TopLevelOpcode, A, C, LHS->getName());
744 if (TopLevelOpcode == Instruction::Add && InnerOpcode == Instruction::Mul) {
1086 Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
1091 LHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op0, A, B, Op1);
1093 RHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op1, C, D, Op0);
1129 Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
1136 if (Op0 && rightDistributesOverLeft(Op0->getOpcode(), TopLevelOpcode)) {
1144 Value *L = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive);
1145 Value *R = simplifyBinOp(TopLevelOpcode, B, C, SQDistributive);
1160 C = Builder.CreateBinOp(TopLevelOpcode, B, C);
1169 C = Builder.CreateBinOp(TopLevelOpcode, A, C);
1175 if (Op1 && leftDistributesOverRight(TopLevelOpcode, Op1->getOpcode())) {
1183 Value *L = simplifyBinOp(TopLevelOpcode, A, B, SQDistributive);
1184 Value *R = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive);
1199 A = Builder.CreateBinOp(TopLevelOpcode, A, C);
1208 A = Builder.CreateBinOp(TopLevelOpcode, A, B);