[all-commits] [llvm/llvm-project] 430706: [WebAssembly] Swap operand order of call_indirect ...

Andy Wingo via All-commits all-commits at lists.llvm.org
Tue Mar 2 23:53:00 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4307069df442007e6ceb5a914031bb95a455386d
      https://github.com/llvm/llvm-project/commit/4307069df442007e6ceb5a914031bb95a455386d
  Author: Andy Wingo <wingo at igalia.com>
  Date:   2021-03-03 (Wed, 03 Mar 2021)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/MC/WebAssembly/basic-assembly.s
    M llvm/test/MC/WebAssembly/call-indirect-relocs.s
    M llvm/test/MC/WebAssembly/tail-call-encodings.s
    M llvm/test/MC/WebAssembly/type-index.s

  Log Message:
  -----------
  [WebAssembly] Swap operand order of call_indirect in text format

The WebAssembly text and binary formats have different operand orders
for the "type" and "table" fields of call_indirect (and
return_call_indirect).  In LLVM we use the binary order for the MCInstr,
but when we produce or consume the text format we should use the text
order.  For compilation units targetting WebAssembly 1.0 (without the
reference types feature), we omit the table operand entirely.

Differential Revision: https://reviews.llvm.org/D97761




More information about the All-commits mailing list