HomePhabricator

[WebAssembly] Add isEHScopeReturn instruction property
Audit RequiredrL340325

Description

[WebAssembly] Add isEHScopeReturn instruction property

Summary:
So far, isReturn property is used to mean both a return instruction
from a functon and the end of an EH scope, a scope that starts with a EH
scope entry BB and ends with a catchret or a cleanupret instruction.
Because WinEH uses funclets, all EH-scope-ending instructions are also
real return instruction from a function. But for wasm, they only serve
as the end marker of an EH scope but not a return instruction that
exits a function. This mismatch caused incorrect prolog and epilog
generation in wasm EH scopes. This patch fixes this.

This patch is in the same vein with rL333045, which splits
MachineBasicBlock::isEHFuncletEntry into isEHFuncletEntry and
isEHScopeEntry.

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits

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

Details

Auditors
grosbach
Committed
aheejinAug 21 2018, 12:44 PM
Differential Revision
D50653: [WebAssembly] Add isEHScopeReturn instruction property
Parents
rL340324: Fix Wdocumentation warning. NFCI.
Branches
Unknown
Tags
Unknown