diff options
| author | Mehdi Amini <joker.eph@gmail.com> | 2026-02-28 18:37:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-28 18:37:36 +0100 |
| commit | 1909e43a4adc049db3fc4f1e622dd6702120562d (patch) | |
| tree | 88ab38c3169c0f2b59cffcc22fc17836aa0b39cb /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
| parent | 2430410b7d879fce3db76c21bb8c60ed22abd0b5 (diff) | |
| download | llvm-1909e43a4adc049db3fc4f1e622dd6702120562d.zip llvm-1909e43a4adc049db3fc4f1e622dd6702120562d.tar.gz llvm-1909e43a4adc049db3fc4f1e622dd6702120562d.tar.bz2 | |
[mlir][GPU] Fix crash in WarpExecuteOnLane0Op::verify with wrong terminator (#183930)
WarpExecuteOnLane0Op::verify() called getTerminator() which performed an
unconditional cast<gpu::YieldOp> on the block's last operation. When the
op body was written with a different terminator (e.g. affine.yield), the
cast asserted immediately instead of emitting a verifier diagnostic.
Fix by using dyn_cast in verify() before calling getTerminator(), and
emitting a proper error message when the terminator is not gpu.yield.
Add a regression test to invalid.mlir.
Fixes #181450
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions
