Lines Matching defs:TopLevelOpcode
683 Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
689 if (leftDistributesOverRight(InnerOpcode, TopLevelOpcode)) {
697 V = simplifyBinOp(TopLevelOpcode, B, D, SQ.getWithInstruction(&I));
702 V = Builder.CreateBinOp(TopLevelOpcode, B, D, RHS->getName());
709 if (!RetVal && rightDistributesOverLeft(TopLevelOpcode, InnerOpcode)) {
717 V = simplifyBinOp(TopLevelOpcode, A, C, SQ.getWithInstruction(&I));
722 V = Builder.CreateBinOp(TopLevelOpcode, A, C, LHS->getName());
752 if (TopLevelOpcode == Instruction::Add && InnerOpcode == Instruction::Mul) {
1093 Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
1098 LHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op0, A, B, Op1);
1100 RHSOpcode = getBinOpsForFactorization(TopLevelOpcode, Op1, C, D, Op0);
1136 Instruction::BinaryOps TopLevelOpcode = I.getOpcode();
1143 if (Op0 && rightDistributesOverLeft(Op0->getOpcode(), TopLevelOpcode)) {
1151 Value *L = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive);
1152 Value *R = simplifyBinOp(TopLevelOpcode, B, C, SQDistributive);
1167 C = Builder.CreateBinOp(TopLevelOpcode, B, C);
1176 C = Builder.CreateBinOp(TopLevelOpcode, A, C);
1182 if (Op1 && leftDistributesOverRight(TopLevelOpcode, Op1->getOpcode())) {
1190 Value *L = simplifyBinOp(TopLevelOpcode, A, B, SQDistributive);
1191 Value *R = simplifyBinOp(TopLevelOpcode, A, C, SQDistributive);
1206 A = Builder.CreateBinOp(TopLevelOpcode, A, C);
1215 A = Builder.CreateBinOp(TopLevelOpcode, A, B);