Searched refs:Mul (Results 1 - 25 of 66) sorted by relevance

123

/freebsd-9.3-release/contrib/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp386 assert(Opcode == Instruction::Mul && "Unknown associative operation!");
623 if (Opcode == Instruction::Mul && BO && BinaryOperator::isNeg(BO)) {
956 BinaryOperator *Mul = local
959 Mul->takeName(Shl);
960 Shl->replaceAllUsesWith(Mul);
961 Mul->setDebugLoc(Shl->getDebugLoc());
962 return Mul;
999 BinaryOperator *BO = isReassociableOp(V, Instruction::Mul);
1062 BinaryOperator *BO = isReassociableOp(V, Instruction::Mul);
1394 Value *Mul
[all...]
H A DLoopStrengthReduce.cpp305 if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S))
306 if (Mul->getOperand(0)->isAllOnesValue()) {
307 SmallVector<const SCEV *, 4> Ops(Mul->op_begin()+1, Mul->op_end());
532 if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(LHS)) {
533 if (IgnoreSignificantBits || isMulSExtable(Mul, SE)) {
536 for (SCEVMulExpr::op_iterator I = Mul->op_begin(), E = Mul->op_end();
716 if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S)) {
717 if (Mul
[all...]
/freebsd-9.3-release/contrib/llvm/include/llvm/IR/
H A DOperator.h76 /// which may exhibit overflow - Add, Sub, and Mul. It does not include SDiv,
114 I->getOpcode() == Instruction::Mul ||
120 CE->getOpcode() == Instruction::Mul ||
335 : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {
H A DInstrTypes.h269 DEFINE_HELPERS(Mul, NSW) // CreateNSWMul
270 DEFINE_HELPERS(Mul, NUW) // CreateNUWMul
/freebsd-9.3-release/contrib/llvm/lib/Target/Sparc/
H A DSparcISelDAGToDAG.cpp185 SDNode *Mul = CurDAG->getMachineNode(Opcode, dl, MVT::i32, MVT::Glue, local
188 return CurDAG->SelectNodeTo(N, SP::RDY, MVT::i32, SDValue(Mul, 1));
/freebsd-9.3-release/contrib/llvm/lib/Target/Mips/
H A DMips16ISelDAGToDAG.cpp48 SDNode *Mul = CurDAG->getMachineNode(Opc, DL, MVT::Glue, N->getOperand(0), local
50 SDValue InFlag = SDValue(Mul, 0);
288 /// Mul with two results
/freebsd-9.3-release/contrib/llvm/lib/Analysis/
H A DScalarEvolution.cpp296 const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(this); local
297 if (!Mul) return false;
300 const SCEVConstant *SC = dyn_cast<SCEVConstant>(Mul->getOperand(0));
1406 const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(Ops[i]); local
1407 if (Mul && isa<SCEVConstant>(Mul->getOperand(0))) {
1409 Scale * cast<SCEVConstant>(Mul->getOperand(0))->getValue()->getValue();
1410 if (Mul->getNumOperands() == 2 && isa<SCEVAddExpr>(Mul->getOperand(1))) {
1412 const SCEVAddExpr *Add = cast<SCEVAddExpr>(Mul
1528 const SCEV *Mul = getMulExpr(Scale, Ops[i]); variable
1658 const SCEVMulExpr *Mul = cast<SCEVMulExpr>(Ops[Idx]); variable
[all...]
H A DInstructionSimplify.cpp187 /// OpCodeToExtract is Mul then this tries to turn "(A*B)+(A*C)" into "A*(B+C)".
636 // Mul distributes over Add. Try some generic simplifications based on this.
637 if (Value *V = FactorizeBinOp(Instruction::Add, Op0, Op1, Instruction::Mul,
837 // Mul distributes over Sub. Try some generic simplifications based on this.
838 if (Value *V = FactorizeBinOp(Instruction::Sub, Op0, Op1, Instruction::Mul,
972 /// SimplifyMulInst - Given operands for a Mul, see if we can
979 return ConstantFoldInstOperands(Instruction::Mul, CLHS->getType(),
1011 if (Value *V = SimplifyAssociativeBinOp(Instruction::Mul, Op0, Op1, Q,
1015 // Mul distributes over Add. Try some generic simplifications based on this.
1016 if (Value *V = ExpandBinOp(Instruction::Mul, Op
1104 OverflowingBinaryOperator *Mul = cast<OverflowingBinaryOperator>(Op0); local
[all...]
H A DCostModel.cpp387 case Instruction::Mul:
H A DValueTracking.cpp383 case Instruction::Mul: {
686 Opcode == Instruction::Mul) {
1351 case Instruction::Mul: {
/freebsd-9.3-release/contrib/llvm/lib/IR/
H A DInstruction.cpp202 case Mul: return "mul";
475 /// In LLVM, the Add, Mul, And, Or, and Xor operators are associative.
479 Opcode == Add || Opcode == Mul;
507 case Mul:
H A DConstantFold.cpp891 case Instruction::Mul: {
948 case Instruction::Mul:
1052 case Instruction::Mul:
1179 case Instruction::Mul:
/freebsd-9.3-release/contrib/llvm/include/llvm/MC/
H A DMCExpr.h374 Mul, ///< Multiplication. enumerator in enum:llvm::MCBinaryExpr::Opcode
442 return Create(Mul, LHS, RHS, Ctx);
/freebsd-9.3-release/contrib/llvm/lib/Target/XCore/
H A DXCoreISelLowering.cpp632 SDValue Mul; local
635 Mul = N->getOperand(0);
638 Mul = N->getOperand(1);
646 Mul.getOperand(0), DAG.getConstant(0, MVT::i32));
648 Mul.getOperand(1), DAG.getConstant(0, MVT::i32));
654 unsigned LHSSB = DAG.ComputeNumSignBits(Mul.getOperand(0));
655 unsigned RHSSB = DAG.ComputeNumSignBits(Mul.getOperand(1));
656 if (DAG.MaskedValueIsZero(Mul.getOperand(0), HighMask) &&
657 DAG.MaskedValueIsZero(Mul.getOperand(1), HighMask)) {
675 Mul
[all...]
H A DXCoreLowerThreadLocal.cpp90 case Instruction::Mul:
/freebsd-9.3-release/contrib/llvm/lib/Transforms/ObjCARC/
H A DObjCARCUtil.cpp218 case Instruction::Mul: case Instruction::FMul:
/freebsd-9.3-release/contrib/llvm/lib/MC/
H A DMCExpr.cpp111 case MCBinaryExpr::Mul: OS << '*'; break;
726 case MCBinaryExpr::Mul: Result = LHS * RHS; break;
/freebsd-9.3-release/contrib/llvm/tools/clang/include/clang/AST/
H A DStmtVisitor.h122 BINOP_FALLBACK(Mul) BINOP_FALLBACK(Div) BINOP_FALLBACK(Rem)
/freebsd-9.3-release/contrib/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp554 case Instruction::Mul:
617 case Instruction::Mul:
714 case Instruction::Mul:
H A DInstCombineSelect.cpp87 case Instruction::Mul:
117 case Instruction::Mul:
H A DInstCombineCasts.cpp51 if (I->getOpcode() == Instruction::Mul) {
177 case Instruction::Mul:
359 case Instruction::Mul:
679 case Instruction::Mul:
1030 case Instruction::Mul:
/freebsd-9.3-release/contrib/llvm/lib/Target/Hexagon/
H A DHexagonISelDAGToDAG.cpp1018 SDValue Mul = ShiftOp0; local
1019 if (Mul.getOpcode() != ISD::MUL) {
1023 SDValue MulOp0 = Mul.getOperand(0);
1024 SDValue MulOp1 = Mul.getOperand(1);
/freebsd-9.3-release/contrib/llvm/include/llvm/Support/
H A DPatternMatch.h418 inline BinaryOp_match<LHS, RHS, Instruction::Mul>
420 return BinaryOp_match<LHS, RHS, Instruction::Mul>(L, R);
/freebsd-9.3-release/contrib/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeIntegerTypes.cpp669 SDValue Mul = DAG.getNode(N->getOpcode(), DL, VTs, LHS, RHS); local
677 SDValue Hi = DAG.getNode(ISD::SRL, DL, Mul.getValueType(), Mul,
683 SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, Mul.getValueType(),
684 Mul, DAG.getValueType(SmallVT));
685 Overflow = DAG.getSetCC(DL, N->getValueType(1), SExt, Mul, ISD::SETNE);
691 SDValue(Mul.getNode(), 1));
695 return Mul;
/freebsd-9.3-release/contrib/llvm/lib/Target/CppBackend/
H A DCPPBackend.cpp860 case Instruction::Mul: Out << "getMul("; break;
1201 case Instruction::Mul:
1221 case Instruction::Mul: Out << "Instruction::Mul"; break;

Completed in 203 milliseconds

123