[PATCH] D87981: [X86] AMX programming model.

LuoYuanke via Phabricator via llvm-commits llvm-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 llvm-commits mailing list