[all-commits] [llvm/llvm-project] da0ca5: [WebAssembly] Define local sp if `llvm.stacksave` ...
Yuta Saito via All-commits
all-commits at lists.llvm.org
Tue Oct 3 14:51:48 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: da0ca5dee489aa46ca7f10237aa0dfa01f9b43ea
https://github.com/llvm/llvm-project/commit/da0ca5dee489aa46ca7f10237aa0dfa01f9b43ea
Author: Yuta Saito <ysaito22 at apple.com>
Date: 2023-10-03 (Tue, 03 Oct 2023)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
M llvm/test/CodeGen/WebAssembly/userstack.ll
Log Message:
-----------
[WebAssembly] Define local sp if `llvm.stacksave` is used (#68133)
Usually `llvm.stacksave/stackrestore` are used together with `alloca`
but they can appear without it (e.g. `alloca` can be optimized away).
WebAssembly's function local physical user sp register, which is
referenced by `llvm.stacksave` is created while frame lowering and
replaced with virtual register.
However the sp register was not created when `llvm.stacksave` is used
without `alloca`, and it led MIR verification failure about
use-before-def of sp virtual register.
Resolves https://github.com/llvm/llvm-project/issues/62235
More information about the All-commits
mailing list