forked from OSchip/llvm-project
a55a0a3056
The standard and gpu dialect both have `alloc` operations which use the memory effect `MemAlloc`. In both cases, it is specified on both the operation itself and on the result. This results in two memory effects being created for these operations. When `MemAlloc` is defined on an operation, it represents some background effect which the compiler cannot reason about, and inhibits the ability of the compiler to remove dead `std.alloc` operations. This change removes the uneeded `MemAlloc` effect from these operations and leaves the effect on the result, which allows dead allocs to be erased. There is the same problem, but to a lesser extent, with MemFree, MemRead and MemWrite. Over-specifying these traits is not currently inhibiting any optimization. Differential Revision: https://reviews.llvm.org/D94662 |
||
---|---|---|
.. | ||
Bindings | ||
Dialects | ||
Rationale | ||
Tutorials | ||
includes/img | ||
BufferDeallocationInternals.md | ||
Bufferization.md | ||
CAPI.md | ||
CMakeLists.txt | ||
Canonicalization.md | ||
ConversionToLLVMDialect.md | ||
DeclarativeRewrites.md | ||
Diagnostics.md | ||
DialectConversion.md | ||
EDSC.md | ||
Interfaces.md | ||
LLVMDialectMemRefConvention.md | ||
LangRef.md | ||
OpDefinitions.md | ||
PassManagement.md | ||
Passes.md | ||
PatternRewriter.md | ||
Quantization.md | ||
README.txt | ||
SPIRVToLLVMDialectConversion.md | ||
ShapeInference.md | ||
SymbolsAndSymbolTables.md | ||
Traits.md | ||
doxygen-mainpage.dox | ||
doxygen.cfg.in |
README.txt
MLIR documentation ================== Please note mlir.llvm.org is where MLIR's rendered documentation is displayed. The viewing experience on GitHub or elsewhere may not match those of the website. For any changes please verify instead that they work on the main website first. See https://github.com/llvm/mlir-www for the website generation information.