[all-commits] [llvm/llvm-project] 86c124: FastISel: Assert the emitted instruction defines t...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Sep 28 12:28:48 PDT 2026


  Branch: refs/heads/users/arsenm/fast-isel/no-zero-def-fallback
  Home:   https://github.com/llvm/llvm-project
  Commit: 86c12418beaee2bd3a00fdf2fbf58e2bba74fce8
      https://github.com/llvm/llvm-project/commit/86c12418beaee2bd3a00fdf2fbf58e2bba74fce8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp

  Log Message:
  -----------
  FastISel: Assert the emitted instruction defines the result

The fallback path copied the result out of implicit_defs()[0], assuming
the first implicit physical register def is the result. That is an X86
assumption about MUL/IMUL, and it is unreachable for all but
fastEmitInst_r: FastISelEmitter skips any instruction whose first
operand is not an output register, so every opcode reaching these
helpers from generated code has an explicit def.

Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>


  Commit: 24b12df312cdf99dbdd4b903e6d2557d7f46156f
      https://github.com/llvm/llvm-project/commit/24b12df312cdf99dbdd4b903e6d2557d7f46156f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FastISel.cpp

  Log Message:
  -----------
  Add a FastISel helper for with-overflow multiply emission


  Commit: 53d24b571a3b1c9b9949a7a9b5cbe09a3607eedd
      https://github.com/llvm/llvm-project/commit/53d24b571a3b1c9b9949a7a9b5cbe09a3607eedd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FastISel.cpp

  Log Message:
  -----------
  Assert fastEmitInst_rrrr's instruction defines the result


  Commit: ebdd073ed0507047ac5a8cb601473f8a06563760
      https://github.com/llvm/llvm-project/commit/ebdd073ed0507047ac5a8cb601473f8a06563760
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FastISel.cpp

  Log Message:
  -----------
  Select 8-bit multiply in X86FastISel


  Commit: 638ffb6e96816ed92e4ce525a72e1c4d6d212201
      https://github.com/llvm/llvm-project/commit/638ffb6e96816ed92e4ce525a72e1c4d6d212201
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp

  Log Message:
  -----------
  Stop routing def-less instructions through fastEmitInst_*


Compare: https://github.com/llvm/llvm-project/compare/f26ee9ac63a6...638ffb6e9681

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