This patch is related to https://reviews.llvm.org/D100032 which define
some illegal types or operations for x86_amx. There are no arguments,
arrays, pointers, vectors or constants of x86_amx.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp | ||
---|---|---|
2414–2416 | Not the bitcast, the load/store is the problem. |
llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp | ||
---|---|---|
2414–2416 | Since x86_amx pointer is invalid (llvm/test/Verifier/x86_amx8.ll), the load/store form x86_amx is also invalid. I change it as transform in the comments. |
llvm/test/Verifier/x86_amx1.ll | ||
---|---|---|
4 | can all those tests be in a single test file? I think the other verifier tests also group multiple checks in a single file |
llvm/test/Verifier/x86_amx1.ll | ||
---|---|---|
4 | Probably not. As llvm-as stops on the first error. ; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s define dso_local void @f() { entry: %a.addr = alloca <2 x x86_amx>, align 4 ret void } ; CHECK: invalid vector element type define void @f(x86_amx %A, x86_amx %B) { entry: alloca x86_amx ; CHECK: invalid type for alloca ret void } |
llvm/test/Verifier/x86_amx1.ll | ||
---|---|---|
4 | I'm not sure if there's a problem with the test matrix verifier tests or another difference, but I *think* the matrix verifier tests check multiple errors in a single file for example: https://github.com/llvm/llvm-project/blob/main/llvm/test/Verifier/matrix-intrinsics.ll |
llvm/test/Verifier/x86_amx1.ll | ||
---|---|---|
4 | I tested llvm/test/Verifier/matrix-intrinsics.ll. Yes this case is able to be grouped in a single file, but it is not the same to x86_amx test case. [llvm]$ cat test/Verifier/x86_amx.ll ; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s define dso_local void @f() { entry: %a.addr = alloca <2 x x86_amx>, align 4 ret void } ; CHECK: invalid vector element type define void @f(x86_amx %A, x86_amx %B) { entry: alloca x86_amx ; CHECK: invalid type for alloca ret void } [llvm]$ llvm-as test/Verifier/x86_amx.ll llvm-as: test/Verifier/x86_amx.ll:5:25: error: invalid vector element type %a.addr = alloca <2 x x86_amx>, align 4 ^ [llvm]$ |
llvm/test/Verifier/x86_amx1.ll | ||
---|---|---|
4 | It seems the token test cases are also not able to be grouped. |
llvm/lib/IR/Verifier.cpp | ||
---|---|---|
2511 | Should this be Function rather than Functions? Same for the message it was copied from |
llvm/lib/IR/Verifier.cpp | ||
---|---|---|
2511 | Thanks! It's very careful of you. :) |
Should this be Function rather than Functions? Same for the message it was copied from