[PATCH] D87981: [X86] AMX programming model.
LuoYuanke via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 19 15:09:50 PST 2020
LuoYuanke added a comment.
In D87981#2406530 <https://reviews.llvm.org/D87981#2406530>, @craig.topper wrote:
> This triggers an assertion in X86LowerAMXType::visit() when compiled with clang test.c -O3
>
> typedef int vec1024 __attribute__((vector_size(1024)));
>
> vec1024 foo(vec1024 x, vec1024 y) {
> return x + y;
> }
>
>
>
> While deleting: <256 x i32> %x
> Use still stuck around after Def is destroyed: %add = add <256 x i32> %y, %x
> clang-12: llvm/lib/IR/Value.cpp:100: llvm::Value::~Value(): Assertion `materialized_use_empty() && "Uses remain when a value is destroyed!"' failed.
Thank Craig. This case create an instruction "%add = add <256 x i32> %y, %x" which is not covered by the type lowering. So we need do something similar of type legalization for <256 x i32> to split the type. Do you have any suggestion?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D87981/new/
https://reviews.llvm.org/D87981
More information about the cfe-commits
mailing list