return make_range(op_begin(), op_end());
}
- Type *getType() const { return getOperand(0)->getType(); }
-
NoWrapFlags getNoWrapFlags(NoWrapFlags Mask = NoWrapMask) const {
return (NoWrapFlags)(SubclassData & Mask);
}
: SCEVCommutativeExpr(ID, scMulExpr, O, N) {}
public:
+ Type *getType() const { return getOperand(0)->getType(); }
+
/// Methods for support type inquiry through isa, cast, and dyn_cast:
static bool classof(const SCEV *S) {
return S->getSCEVType() == scMulExpr;
: SCEVNAryExpr(ID, scAddRecExpr, O, N), L(l) {}
public:
+ Type *getType() const { return getStart()->getType(); }
const SCEV *getStart() const { return Operands[0]; }
const Loop *getLoop() const { return L; }
}
public:
+ Type *getType() const { return getOperand(0)->getType(); }
+
static bool classof(const SCEV *S) {
return isMinMaxType(S->getSCEVType());
}
case scSignExtend:
return cast<SCEVCastExpr>(this)->getType();
case scAddRecExpr:
+ return cast<SCEVAddRecExpr>(this)->getType();
case scMulExpr:
+ return cast<SCEVMulExpr>(this)->getType();
case scUMaxExpr:
case scSMaxExpr:
case scUMinExpr:
case scSMinExpr:
- return cast<SCEVNAryExpr>(this)->getType();
+ return cast<SCEVMinMaxExpr>(this)->getType();
case scAddExpr:
return cast<SCEVAddExpr>(this)->getType();
case scUDivExpr: