It is often the case that many values in the memrefs operand list can be
split off to speparate dealloc operations by the
--buffer-deallocation-simplification pass, however, the retain list has to be
preserved initially. Further canonicalization can often trim it down
considerable, but some retains may remain. In those cases, the general lowering
would be chosen, but is very inefficient. This commit adds another lowering for
those cases which avoids allocation of auxillary memrefs and the helper
function while still producing code that is linear in the number of operands of
the dealloc operation.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp | ||
---|---|---|
175 | I think you can write ArrayRef(doesNotAliasList).drop_front() here. |
Comment Actions
Address comment
mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp | ||
---|---|---|
175 | That's so much more elegant, thanks! |
I think you can write ArrayRef(doesNotAliasList).drop_front() here.