diff options
author | Heejin Ahn <aheejin@gmail.com> | 2020-12-25 20:23:33 -0800 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2021-01-09 02:02:54 -0800 |
commit | 52e240a0721e4120a7143f6f5bab4760d28d48e8 (patch) | |
tree | 3e710d41f4d7d7cc0e2bb1be23ba9842391be8b8 /llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp | |
parent | 9e4eadeb135d140b3a9e499354472170017cbe58 (diff) | |
download | llvm-52e240a0721e4120a7143f6f5bab4760d28d48e8.zip llvm-52e240a0721e4120a7143f6f5bab4760d28d48e8.tar.gz llvm-52e240a0721e4120a7143f6f5bab4760d28d48e8.tar.bz2 |
[WebAssembly] Remove exnref and br_on_exn
This removes `exnref` type and `br_on_exn` instruction. This is
effectively NFC because most uses of these were already removed in the
previous CLs.
Reviewed By: dschuff, tlively
Differential Revision: https://reviews.llvm.org/D94041
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp index 6e3bdbf..13fcc19 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp @@ -864,24 +864,6 @@ bool WebAssemblyRegStackify::runOnMachineFunction(MachineFunction &MF) { if (WebAssembly::isArgument(DefI->getOpcode())) continue; - // Currently catch's return value register cannot be stackified, because - // the wasm LLVM backend currently does not support live-in values - // entering blocks, which is a part of multi-value proposal. - // - // Once we support live-in values of wasm blocks, this can be: - // catch ; push exnref value onto stack - // block exnref -> i32 - // br_on_exn $__cpp_exception ; pop the exnref value - // end_block - // - // But because we don't support it yet, the catch instruction's dst - // register should be assigned to a local to be propagated across - // 'block' boundary now. - // - // TODO: Fix this once we support the multivalue blocks - if (DefI->getOpcode() == WebAssembly::CATCH) - continue; - MachineOperand *Def = DefI->findRegisterDefOperand(Reg); assert(Def != nullptr); |