ArrayRef<NamedAttribute> attr)`. The pattern in the above calls this `build()`
method for constructing the `COp`.
-In general, arguments in the the result pattern will be passed directly to the
+In general, arguments in the result pattern will be passed directly to the
`build()` method to leverage the auto-generated `build()` method, list them in
the pattern by following the exact same order as the ODS `arguments` definition.
Otherwise, a custom `build()` method that matches the argument list is required.
* `BitEnumAttr`: each enum case is a bit, the attribute is stored as a
[`IntegerAttr`][IntegerAttr] in the op.
-All these `*EnumAttr` attributes require fully specifying all of the the allowed
+All these `*EnumAttr` attributes require fully specifying all of the allowed
cases via their corresponding `*EnumAttrCase`. With this, ODS is able to
generate additional verification to only accept allowed cases. To facilitate the
interaction between `*EnumAttr`s and their C++ consumers, the
iterator begin() const { return nodes.begin(); }
iterator end() const { return nodes.end(); }
- /// Dump the the graph in a human readable format.
+ /// Dump the graph in a human readable format.
void dump() const;
void print(raw_ostream &os) const;
//===----------------------------------------------------------------------===//
// Printing
-/// Dump the the graph in a human readable format.
+/// Dump the graph in a human readable format.
void CallGraph::dump() const { print(llvm::errs()); }
void CallGraph::print(raw_ostream &os) const {
os << "// ---- CallGraph ----\n";
"op2"(%v2) : (f32) -> ()
}
}
- // We can slice iterations of the '%i0' and '%i1' loops in the the source
+ // We can slice iterations of the '%i0' and '%i1' loops in the source
// loop nest, but slicing at depth 2 and inserting the slice in the
// destination loop nest at depth2 causes extra computation. Instead,
// the fusion algorithm should detect that the source loop should be sliced
PatternMatchResult
matchAndRewrite(Operation *op, ArrayRef<Value *> operands,
ConversionPatternRewriter &rewriter) const final {
- // Verify that the the incoming operand has been successfully remapped to
- // F64.
+ // Verify that the incoming operand has been successfully remapped to F64.
if (!operands[0]->getType().isF64())
return matchFailure();
rewriter.replaceOpWithNewOp<TestTypeConsumerOp>(op, operands[0]);