aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackMaps.cpp
diff options
context:
space:
mode:
authorSirraide <aeternalmail@gmail.com>2024-12-17 02:07:29 +0100
committerGitHub <noreply@github.com>2024-12-17 02:07:29 +0100
commit6e58e99a07facd73547f7fa1a6f8c0719d8af30d (patch)
treea31b13d7891029fbe4c4af2fcb1a09008cb8a476 /llvm/lib/CodeGen/StackMaps.cpp
parent72e8b9aeaa3f584f223bc59924812df69a09a48b (diff)
downloadllvm-6e58e99a07facd73547f7fa1a6f8c0719d8af30d.zip
llvm-6e58e99a07facd73547f7fa1a6f8c0719d8af30d.tar.gz
llvm-6e58e99a07facd73547f7fa1a6f8c0719d8af30d.tar.bz2
[Clang] [Sema] Reject non-power-of-2 `_BitInt` matrix element types (#117487)
Essentially, this makes this ill-formed: ```c++ using mat4 = _BitInt(12) [[clang::matrix_type(3, 3)]]; ``` This matches preexisting behaviour for vector types (e.g. `ext_vector_type`), and given that LLVM IR intrinsics for matrices also take vector types, it seems like a sensible thing to do. This is currently especially problematic since we sometimes lower matrix types to LLVM array types instead, and while e.g. `[4 x i32]` and `<4 x i32>` *probably* have the same similar memory layout (though I don’t think it’s sound to rely on that either, see #117486), `[4 x i12]` and `<4 x i12>` definitely don’t.
Diffstat (limited to 'llvm/lib/CodeGen/StackMaps.cpp')
0 files changed, 0 insertions, 0 deletions