[all-commits] [llvm/llvm-project] 82b2ae: [WebAssembly] Add typed select (select t*, 0x1c) (...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Wed May 6 17:07:34 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 82b2aebc11bc1889c1f8f6dbf90adec1ca99f333
      https://github.com/llvm/llvm-project/commit/82b2aebc11bc1889c1f8f6dbf90adec1ca99f333
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-05-06 (Wed, 06 May 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
    A llvm/test/MC/Disassembler/WebAssembly/typed-select.txt
    M llvm/test/MC/WebAssembly/type-checker-errors.s
    A llvm/test/MC/WebAssembly/typed-select.s

  Log Message:
  -----------
  [WebAssembly] Add typed select (select t*, 0x1c) (#195953)

Add MC-layer support for the typed select instruction from the
reference-types proposal:

- New OPERAND_VALTYPE_LIST operand kind (ULEB count followed by N
single-byte valtypes), stored in the MCInst as count + N immediates.
- SELECT_T at 0x1c in WebAssemblyInstrRef.td, gated on
HasReferenceTypes.
- Plumbing through the disassembler, printer, encoder, asm parser, and
type checker.
- Encoding, disassembly, and type-checker error tests, covering
zero-length and multi-value vecs.

ISel continues to select the numeric SELECT_<type> variants at 0x1b. My
motivation is unblocking LLDB, which uses LLVM's disassembler. We got a
report that these instructions show up as <unknown> in LLDB.

rdar://170659547



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