TextAddressRanges.getRangeThatContains(LowPC);
if (HighPC)
- return Range.hasValue() && Range->end() >= *HighPC;
+ return Range.has_value() && Range->end() >= *HighPC;
- return Range.hasValue();
+ return Range.has_value();
}
uint64_t isBFDDeadAddressRange(uint64_t LowPC, Optional<uint64_t> HighPC,
SmallVector<Value> basisValues =
llvm::to_vector(llvm::map_range(basis, [&](OpFoldResult ofr) -> Value {
Optional<int64_t> staticDim = getConstantIntValue(ofr);
- if (staticDim.hasValue())
+ if (staticDim.has_value())
return builder.create<arith::ConstantIndexOp>(result.location,
*staticDim);
return ofr.dyn_cast<Value>();
transform::MatchOp::apply(transform::TransformResults &results,
transform::TransformState &state) {
llvm::StringSet<> strs;
- if (getOps().hasValue())
+ if (getOps().has_value())
strs.insert(getOps()->getAsValueRange<StringAttr>().begin(),
getOps()->getAsValueRange<StringAttr>().end());
SmallVector<Operation *> res;
auto matchFun = [&](Operation *op) {
- if (getOps().hasValue() && !strs.contains(op->getName().getStringRef()))
+ if (getOps().has_value() && !strs.contains(op->getName().getStringRef()))
return WalkResult::advance();
// Interfaces cannot be matched by name, just by ID.
// So we specifically encode the interfaces we care about for this op.
- if (getInterface().hasValue()) {
+ if (getInterface().has_value()) {
auto iface = getInterface().getValue();
if (iface == transform::MatchInterfaceEnum::LinalgOp &&
!isa<linalg::LinalgOp>(op))
return WalkResult::advance();
}
- if (getAttribute().hasValue() && !op->hasAttr(getAttribute().getValue()))
+ if (getAttribute().has_value() && !op->hasAttr(getAttribute().getValue()))
return WalkResult::advance();
// All constraints are satisfied.
// Symbolic fixed max size per thread.
// TODO: floor + 0/1 depending on case for better load-balancing.
OpFoldResult tileSizePerThread =
- nominalTileSizes.hasValue()
+ nominalTileSizes.has_value()
? (*nominalTileSizes)[loopIdx]
: makeComposedFoldedAffineApply(
b, loc, M.ceilDiv(N),