Skip to content

ICE in mm_bfp.cc: unable to legalize instruction: G_BUILD_VECTOR <8 x s8> #995

@AngryLoki

Description

@AngryLoki

clang version 21.0.0 (latest build adc9df1) fails to compile https://github.com/Xilinx/mlir-aie/blob/main/aie_kernels/aie2p/mm_bfp.cc:

Looks like it could be (at least) 2 separate issues:

$ .venv/lib/python3.13/site-packages/llvm-aie/bin/clang++ -O2 -std=c++20 \
  --target=aie2p-none-unknown-elf -DDIM_M=64 -DDIM_K=64 -DDIM_N=64 \
  -I .venv/lib/python3.13/site-packages/mlir_aie/include \
  -I /src/mlir-aie/aie_kernels \
  -c /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc -o /dev/null

fatal error: error in backend: unable to legalize instruction:
  %55:_(<8 x s8>) = G_BUILD_VECTOR %56:_(s8), %56:_(s8), ...
  (in function: matmul_vectorized_bfp16)
Pass: 'Legalizer'
Full log

In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../vector.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../concepts.hpp:17:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../types.hpp:30:9: warning: '__aie_register' macro redefined [-Wmacro-redefined]
   30 | #define __aie_register(...) chess_storage(__VA_ARGS__)
      |         ^
/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/lib/clang/21/include/aiebase_chess.h:15:9: note: previous definition is here
   15 | #define __aie_register(x)
      |         ^
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:13:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../vector.hpp:72:7: warning: unknown attribute 'behave_as_fundamental_type' ignored [-Wunknown-attributes]
   72 | class __AIE_API_FUNDAMENTAL_TYPE__ vector : private detail::vector_base<T, Elems>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:19:40: note: expanded from macro '__AIE_API_FUNDAMENTAL_TYPE__'
   19 | #define __AIE_API_FUNDAMENTAL_TYPE__ [[chess::behave_as_fundamental_type]]
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:15:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/../block_vector.hpp:58:7: warning: unknown attribute 'behave_as_fundamental_type' ignored [-Wunknown-attributes]
   58 | class __AIE_API_FUNDAMENTAL_TYPE__ block_vector : private detail::block_vector_base<T, Elems>
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:19:40: note: expanded from macro '__AIE_API_FUNDAMENTAL_TYPE__'
   19 | #define __AIE_API_FUNDAMENTAL_TYPE__ [[chess::behave_as_fundamental_type]]
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:17:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/../sparse_vector.hpp:80:7: warning: unknown attribute 'behave_as_fundamental_type' ignored [-Wunknown-attributes]
   80 | class __AIE_API_FUNDAMENTAL_TYPE__ sparse_vector
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:19:40: note: expanded from macro '__AIE_API_FUNDAMENTAL_TYPE__'
   19 | #define __AIE_API_FUNDAMENTAL_TYPE__ [[chess::behave_as_fundamental_type]]
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:55:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
   55 | class __AIE_API_KEEP_IN_REGISTERS__ tensor_buffer_stream;
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:206:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  206 | class __AIE_API_KEEP_IN_REGISTERS__ tensor_buffer_stream
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:329:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  329 | class __AIE_API_KEEP_IN_REGISTERS__ tensor_buffer_stream_block
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:523:8: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  523 | struct __AIE_API_KEEP_IN_REGISTERS__ random_circular_iterator_storage_static
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:531:8: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  531 | struct __AIE_API_KEEP_IN_REGISTERS__ random_circular_iterator_storage_dynamic
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:539:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  539 | class __AIE_API_KEEP_IN_REGISTERS__ random_circular_iterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:750:9: warning: if statement has empty body [-Wempty-body]
  750 |         REQUIRES_MSG(elems % Elems == 0,                          "Array size needs to be a multiple of vector size");
      |         ^
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/utils.hpp:764:13: note: expanded from macro 'REQUIRES_MSG'
  764 |             STATIC_ASSERT_CONSTANT_EXPRESSION(a, m); \
      |             ^
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/utils.hpp:750:92: note: expanded from macro 'STATIC_ASSERT_CONSTANT_EXPRESSION'
  750 | #define STATIC_ASSERT_CONSTANT_EXPRESSION(e, m) do { if (!chess_manifest(e)) chess_error(m); } while (0)
      |                                                                                            ^
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:750:9: note: put the semicolon on a separate line to silence this warning
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/utils.hpp:764:13: note: expanded from macro 'REQUIRES_MSG'
  764 |             STATIC_ASSERT_CONSTANT_EXPRESSION(a, m); \
      |             ^
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/utils.hpp:750:92: note: expanded from macro 'STATIC_ASSERT_CONSTANT_EXPRESSION'
  750 | #define STATIC_ASSERT_CONSTANT_EXPRESSION(e, m) do { if (!chess_manifest(e)) chess_error(m); } while (0)
      |                                                                                            ^
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:872:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  872 | class __AIE_API_KEEP_IN_REGISTERS__ vector_iterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:996:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
  996 | class __AIE_API_KEEP_IN_REGISTERS__ restrict_vector_iterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:1427:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
 1427 | class __AIE_API_KEEP_IN_REGISTERS__ sparse_vector_input_buffer_stream :
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:1458:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
 1458 | class __AIE_API_KEEP_IN_REGISTERS__ block_vector_input_buffer_stream :
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../aie_types.hpp:19:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/mdspan.hpp:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../iterator.hpp:12:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../detail/../detail/array_helpers.hpp:1485:7: warning: unknown attribute 'keep_in_registers' ignored [-Wunknown-attributes]
 1485 | class __AIE_API_KEEP_IN_REGISTERS__ block_vector_output_buffer_stream :
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:20:41: note: expanded from macro '__AIE_API_KEEP_IN_REGISTERS__'
   20 | #define __AIE_API_KEEP_IN_REGISTERS__ [[chess::keep_in_registers]]
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc:12:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/aie.hpp:41:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/abs.hpp:63:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/abs.hpp:10:
In file included from .venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../broadcast.hpp:13:
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/aie2/../../accum.hpp:47:7: warning: unknown attribute 'behave_as_fundamental_type' ignored [-Wunknown-attributes]
   47 | class __AIE_API_FUNDAMENTAL_TYPE__ accum :
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.venv/lib/python3.13/site-packages/mlir_aie/include/aie_api/detail/../detail/config.hpp:19:40: note: expanded from macro '__AIE_API_FUNDAMENTAL_TYPE__'
   19 | #define __AIE_API_FUNDAMENTAL_TYPE__ [[chess::behave_as_fundamental_type]]
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: error in backend: unable to legalize instruction: %55:_(<8 x s8>) = G_BUILD_VECTOR %56:_(s8), %56:_(s8), %56:_(s8), %56:_(s8), %56:_(s8), %56:_(s8), %56:_(s8), %56:_(s8) (in function: matmul_vectorized_bfp16)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: .venv/lib/python3.13/site-packages/llvm-aie/bin/clang++ -O2 -std=c++20 --target=aie2p-none-unknown-elf -DDIM_M=64 -DDIM_K=64 -DDIM_N=64 -I .venv/lib/python3.13/site-packages/mlir_aie/include -I /src/mlir-aie/aie_kernels -c /src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc -o /dev/null
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/src/mlir-aie/aie_kernels/aie2p/mm_bfp.cc'.
4.      Running pass 'Legalizer' on function '@matmul_vectorized_bfp16'
 #0 0x00007f3d3366d23b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xc6d23b)
 #1 0x00007f3d3366a754 llvm::sys::CleanupOnSignal(unsigned long) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xc6a754)
 #2 0x00007f3d3355dad6 llvm::CrashRecoveryContext::HandleExit(int) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xb5dad6)
 #3 0x00007f3d3366364e llvm::sys::Process::Exit(int, bool) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xc6364e)
 #4 0x0000000000411a83 LLVMErrorHandler(void*, char const*, bool) cc1_main.cpp:0:0
 #5 0x00007f3d33579013 llvm::report_fatal_error(llvm::Twine const&, bool) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xb79013)
 #6 0x00007f3d3477260b llvm::reportGISelFailure(llvm::MachineFunction&, llvm::TargetPassConfig const&, llvm::MachineOptimizationRemarkEmitter&, char const*, llvm::StringRef, llvm::MachineInstr const&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0x1d7260b)
 #7 0x00007f3d346ea41f llvm::Legalizer::runOnMachineFunction(llvm::MachineFunction&) (.part.0) Legalizer.cpp:0:0
 #8 0x00007f3d33cb93c0 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
 #9 0x00007f3d3387071c llvm::FPPassManager::runOnFunction(llvm::Function&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xe7071c)
#10 0x00007f3d33870b31 llvm::FPPassManager::runOnModule(llvm::Module&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xe70b31)
#11 0x00007f3d3387148d llvm::legacy::PassManagerImpl::run(llvm::Module&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xe7148d)
#12 0x00007f3d3bc465bb clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x24465bb)
#13 0x00007f3d3c1b0d14 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x29b0d14)
#14 0x00007f3d3a3af23c clang::ParseAST(clang::Sema&, bool, bool) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0xbaf23c)
#15 0x00007f3d3cae5e13 clang::FrontendAction::Execute() (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x32e5e13)
#16 0x00007f3d3ca6071e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x326071e)
#17 0x00007f3d3cb8e96c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x338e96c)
#18 0x0000000000414b84 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (.venv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x414b84)
#19 0x000000000040b9a0 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#20 0x00007f3d3c5ed119 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#21 0x00007f3d3355da12 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libLLVM.so+0xb5da12)
#22 0x00007f3d3c5ef4ce clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#23 0x00007f3d3c5a853b clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x2da853b)
#24 0x00007f3d3c5a95af clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x2da95af)
#25 0x00007f3d3c5b71f4 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin/../lib/libclang-cpp.so+0x2db71f4)
#26 0x0000000000410ce2 clang_main(int, char**, llvm::ToolContext const&) (.venv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x410ce2)
#27 0x000000000040af83 main (.venv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x40af83)
#28 0x00007f3d324565be (/usr/lib64/libc.so.6+0x275be)
#29 0x00007f3d324566db __libc_start_main (/usr/lib64/libc.so.6+0x276db)
#30 0x000000000040afce _start (.venv/lib/python3.13/site-packages/llvm-aie/bin/clang+++0x40afce)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 21.0.0 (https://github.com/Xilinx/llvm-aie adc9df1ae1b148af3ff6a7a615145deba6000ac7)
Target: aie2p-none-unknown-elf
Thread model: posix
InstalledDir: /src/ArtLite/.venv/lib/python3.13/site-packages/llvm-aie/bin
Build config: +assertions
clang++: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/mm_bfp-f8eb81.cpp
clang++: note: diagnostic msg: /tmp/mm_bfp-f8eb81.sh
clang++: note: diagnostic msg: 

********************

This is the first part. It has an open PR #467 (by @khallouh, ~12 months old, not yet merged), after applying it, problem shifts to another ICE:

fatal error: error in backend: immediate operand value -52 is not a multiple of 64
Pass: 'AIE2 Assembly Printer'
Function: @matmul_vectorized_bfp16
 
warning: No memory bank assigned to load in function 'matmul_vectorized_bfp16':
  $p0, $lf0, $r24 = VLD_FILL_512_pseudo $p0, $lf0, $r24 ::
    (load unknown-size from %ir.pA1bfp16.sroa.6.0391.i, ...)

I. e. VLD_FILL_512_pseudo instructions get stack frame offsets that don't satisfy the getSImmOpValueXStep<9, 64> encoding constraint (9-bit signed immediate, must be a multiple of 64). The block_vector_input_buffer_stream constructor stores FIFO state (pointer, loop count, buffer count) on the stack, and the frame layout assigns non-64-aligned offsets.

Preprocessed source(s) and associated run script(s):
mm_bfp-97ce23.cpp
mm_bfp-97ce23.sh

Again, maybe these are 2 completely different problems, but none of them were reported, and maybe both can be fixed together. Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions