[all-commits] [llvm/llvm-project] 7388b7: [WebAssembly] Correctly consider signext/zext arg ...

Juneyoung Lee via All-commits all-commits at lists.llvm.org
Tue Jan 9 21:54:57 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7388b7422f9307dd5ae3fe3876a676d83d702daf
      https://github.com/llvm/llvm-project/commit/7388b7422f9307dd5ae3fe3876a676d83d702daf
  Author: Juneyoung Lee <aqjune at gmail.com>
  Date:   2024-01-09 (Tue, 09 Jan 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    A llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll

  Log Message:
  -----------
  [WebAssembly] Correctly consider signext/zext arg flags at function declaration (#77281)

This patch fixes WebAssembly's FastISel pass to correctly consider
signext/zeroext parameter flags at function declaration.
Previously, the flags at call sites were only considered during code
generation, which caused an interesting bug report #63388 .
This is problematic especially because in WebAssembly's ABI, either
signext or zeroext can be tagged to a function argument, and it must be
correctly reflected in the generated code. Unit test
https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/WebAssembly/signext-zeroext.ll
shows that `i8 zeroext %t` and `i8 signext %t`'s code gen are different.




More information about the All-commits mailing list