@@ -61,7 +61,7 @@ void convTypes(TypeRange types, SmallVectorImpl<Type> &convTypes,
61
61
}
62
62
}
63
63
64
- // Convert input and output values to [dis[ assemble ops for sparse tensors.
64
+ // Convert input and output values to [dis] assemble ops for sparse tensors.
65
65
void convVals (OpBuilder &builder, Location loc, TypeRange types,
66
66
ValueRange fromVals, ValueRange extraVals,
67
67
SmallVectorImpl<Value> &toVals, unsigned extra, bool isIn) {
@@ -161,8 +161,6 @@ namespace {
161
161
//
162
162
// TODO: refine output sparse tensors to work well with external framework
163
163
//
164
- // TODO: use "inlining" instead of a wrapper?
165
- //
166
164
struct SparseFuncAssembler : public OpRewritePattern <func::FuncOp> {
167
165
using OpRewritePattern::OpRewritePattern;
168
166
@@ -211,7 +209,8 @@ struct SparseFuncAssembler : public OpRewritePattern<func::FuncOp> {
211
209
convVals (rewriter, loc, funcOp.getArgumentTypes (), body->getArguments (),
212
210
ValueRange (), inputs, 0 , /* isIn=*/ true );
213
211
214
- // Call original, now internal method.
212
+ // Call the original, now private method. A subsequent inlining pass can
213
+ // determine whether cloning the method body in place is worthwhile.
215
214
auto org = SymbolRefAttr::get (context, wrapper);
216
215
auto call = rewriter.create <func::CallOp>(loc, funcOp.getResultTypes (), org,
217
216
inputs);
0 commit comments