diff options
author | Andrea Faulds <andrea.faulds@amd.com> | 2025-02-05 14:27:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-05 14:27:35 +0100 |
commit | 5df62bdc9be9c258c5ac45c8093b71e23777fa0e (patch) | |
tree | e5d4d69635cc4c7b24d324e756a94dabc08ba8a2 /clang/lib/Analysis/ProgramPoint.cpp | |
parent | 814db6c53faeb1dc66361b67cf30a5e42036c1bb (diff) | |
download | llvm-5df62bdc9be9c258c5ac45c8093b71e23777fa0e.zip llvm-5df62bdc9be9c258c5ac45c8093b71e23777fa0e.tar.gz llvm-5df62bdc9be9c258c5ac45c8093b71e23777fa0e.tar.bz2 |
[mlir][spirv] Support poison index when converting vector.insert/extract (#125560)
This modifies the conversion patterns so that, in the case where the
index is known statically to be poison, the insertion/extraction is
replaced by an arbitrary junk constant value, and in the dynamic case,
the index is sanitized at runtime. This avoids triggering a UB in both
cases. The dynamic case is definitely a pessimisation of the generated
code, but the use of dynamic indexes is expected to be very rare and
already slow on real-world GPU compilers ingesting SPIR-V, so the impact
should be negligible.
Resolves #124162.
Diffstat (limited to 'clang/lib/Analysis/ProgramPoint.cpp')
0 files changed, 0 insertions, 0 deletions