[all-commits] [llvm/llvm-project] d6abdf: [mlir][AMDGPU] Remove buffer ops that are statical...
Krzysztof Drewniak via All-commits
all-commits at lists.llvm.org
Mon Nov 21 08:47:33 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d6abdf46bc4d305f6046a8134316dd19cc6b5598
https://github.com/llvm/llvm-project/commit/d6abdf46bc4d305f6046a8134316dd19cc6b5598
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2022-11-21 (Mon, 21 Nov 2022)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
A mlir/test/Dialect/AMDGPU/canonicalize.mlir
Log Message:
-----------
[mlir][AMDGPU] Remove buffer ops that are statically out of bounds
When the bounds check attribute is true, the raw buffer load, store,
and atomic operations have well-defined behavior (returning 0 for
loads and ignoring stores) when the buffer access exceeds the bounds
of the memory being accessed.
Because of how LLVM currently implements these buffer operations (as
opaque intrinsics), the backend cannot optimize out this known
behavior and eliminate the memory operations. Therefore, use MLIR's
canonicalization system to eliminate these operations.
Reviewed By: nirvedhmeshram
Differential Revision: https://reviews.llvm.org/D138146
More information about the All-commits
mailing list