This commit is contained in:
@@ -44,6 +44,19 @@ input size and target linear or sublinear time and space. Avoid repeated full-IR
|
||||
walks, nested scans, and per-operation recomputation when indexing, caching, or
|
||||
a single traversal can express the same behavior.
|
||||
|
||||
Bufferization cost scales with both the number of operations and the number of
|
||||
MLIR values it receives. Upstream lowering and scheduling must therefore keep
|
||||
repeated work in compact structured operations, such as statically evaluable
|
||||
loops and batches, until after bufferization. Do not compensate for avoidable
|
||||
pre-bufferization expansion by weakening, partitioning, or special-casing the
|
||||
bufferization analysis; measure both operation and value counts at its input.
|
||||
Compactness must also be preserved after bufferization so that liveness,
|
||||
verification, memory planning, and other downstream passes do not repeat work
|
||||
per logical lane or iteration. Keep structured loops and batches intact until
|
||||
PIM ISA code generation is forced to scalarize them into concrete per-core
|
||||
instructions; earlier expansion requires an explicit semantic necessity and
|
||||
before/after operation and value counts.
|
||||
|
||||
When linear-or-better complexity is not possible, use the lowest justified
|
||||
complexity and report the actual time and space Big-O, the input variable, and
|
||||
why a lower bound is not practical. Include that cost in the final report; do
|
||||
|
||||
Reference in New Issue
Block a user