[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