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

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Sep 28 13:19:33 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf1009b31706708886bd15fb6b3b2a4f17de03b7
      https://github.com/llvm/llvm-project/commit/bf1009b31706708886bd15fb6b3b2a4f17de03b7
  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/lib/Target/X86/X86FastISel.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp

  Log Message:
  -----------
  FastISel: Assert the emitted instruction defines the result (#226502)

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>



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