Previously, CallOps did not have any aliasing OpResult/OpOperand pairs. Therefore, CallOps were mostly ignored by the analysis and buffer copies were not inserted when necessary.
This commit introduces the following changes:
- Function bbArgs writable by default. A function can now be bufferized without inspecting its callers.
- Callers must introduce buffer copies of function arguments when necessary. If a function is external, the caller must conservatively assume that a function argument is modified by the callee after bufferization. If the function is not external, the caller inspects the callee to determine if a function argument is modified.
Depends On D116456
Maybe add a comment that BBArg knows about its parent FuncOp so there is no need to store a func -> bbargs map ?