diff options
author | Krzysztof Drewniak <Krzysztof.Drewniak@amd.com> | 2025-02-06 10:49:30 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-06 12:49:30 -0600 |
commit | f4e3b8783cb9eb9a442b14ec8ce7356fa6853387 (patch) | |
tree | e973f5c6719610fc1fe239c22c518142c6cbbc2d /llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp | |
parent | e41ffd3420d7c00c4c8f241b8f7f9ba210eea68f (diff) | |
download | llvm-f4e3b8783cb9eb9a442b14ec8ce7356fa6853387.zip llvm-f4e3b8783cb9eb9a442b14ec8ce7356fa6853387.tar.gz llvm-f4e3b8783cb9eb9a442b14ec8ce7356fa6853387.tar.bz2 |
[mlir][LLVM] Switch `undef` for `poison` for uninitialized values (#125629)
LLVM itself is generally moving away from using `undef` and towards
using `poison`, to the point of having a lint that caches new uses of
`undef` in tests.
In order to not trip the lint on new patterns and to conform to the
evolution of LLVM
- Rename valious ::undef() methods on StructBuilder subclasses to
::poison()
- Audit the uses of UndefOp in the MLIR libraries and replace almost all
of them with PoisonOp
The remaining uses of `undef` are initializing `uninitialized` memrefs,
explicit conversions to undef from SPIR-V, and a few cases in
AMDGPUToROCDL where usage like
%v = insertelement <M x iN> undef, iN %v, i32 0
%arg = bitcast <M x iN> %v to i(M * N)
is used to handle "i32" arguments that are are really packed vectors of
smaller types that won't always be fully initialized.
Diffstat (limited to 'llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions