[all-commits] [llvm/llvm-project] bda7aa: [TableGen][GISel] Fix importing frameindex node (#...

Sergei Barannikov via All-commits all-commits at lists.llvm.org
Mon Dec 23 00:05:02 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bda7aadfcd0596675c8b4b381f178f3d8f854f20
      https://github.com/llvm/llvm-project/commit/bda7aadfcd0596675c8b4b381f178f3d8f854f20
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Fix importing frameindex node (#120921)

The existing test case is not representative. Even though TableGen
doesn't complain, the code generated from it is invalid and fails
verification with the message "Use not jointly dominated by defs.".

There is no way to magically transform `frameindex` to `tframeindex`
as it happens for some other leaf nodes. `frameindex` can only be
selected by custom C++ code or by using an `SDNodeXForm`.

This patch makes the test representative one and fixes the handling of
`G_FRAME_INDEX`, which shouldn't have set the operand's name.

It also fixes the type of the result of `G_FRAME_INDEX` in order to get
the correct type check (`GIM_CheckPointerToAny` instead of
`GIM_CheckType` with a scalar LLT argument).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list