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