diff options
author | Heejin Ahn <aheejin@gmail.com> | 2018-05-23 00:32:46 +0000 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2018-05-23 00:32:46 +0000 |
commit | 1e4d35044f7c5346cb3a860361c09a93d4def86c (patch) | |
tree | 6d193c66c18ce01e341fc3030cbd5d3706c60ede /llvm/lib/CodeGen/FuncletLayout.cpp | |
parent | 9062bbf41932e013d00347f6a98848792a6b13c6 (diff) | |
download | bcm5719-llvm-1e4d35044f7c5346cb3a860361c09a93d4def86c.tar.gz bcm5719-llvm-1e4d35044f7c5346cb3a860361c09a93d4def86c.zip |
[WebAssembly] Add functions for EHScopes
Summary:
There are functions using the term 'funclet' to refer to both
1. an EH scopes, the structure of BBs that starts with
catchpad/cleanuppad and ends with catchret/cleanupret, and
2. a small function that gets outlined in AsmPrinter, which is the
original meaning of 'funclet'.
So far the two have been the same thing; EH scopes are always outlined
in AsmPrinter as funclets at the end of the compilation pipeline. But
now wasm also uses scope-based EH but does not outline those, so we now
need to correctly distinguish those two use cases in functions.
This patch splits `MachineBasicBlock::isFuncletEntry` into
`isFuncletEntry` and `isEHScopeEntry`, and
`MachineFunction::hasFunclets` into `hasFunclets` and `hasEHScopes`, in
order to distinguish the two different use cases. And this also changes
some uses of the term 'funclet' to 'scope' in `getFuncletMembership` and
change the function name to `getEHScopeMembership` because this function
is not about outlined funclets but about EH scope memberships.
This change is in the same vein as D45559.
Reviewers: majnemer, dschuff
Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D47005
llvm-svn: 333045
Diffstat (limited to 'llvm/lib/CodeGen/FuncletLayout.cpp')
-rw-r--r-- | llvm/lib/CodeGen/FuncletLayout.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/FuncletLayout.cpp b/llvm/lib/CodeGen/FuncletLayout.cpp index 9c71b18619a..67a4d1551c6 100644 --- a/llvm/lib/CodeGen/FuncletLayout.cpp +++ b/llvm/lib/CodeGen/FuncletLayout.cpp @@ -42,7 +42,7 @@ INITIALIZE_PASS(FuncletLayout, DEBUG_TYPE, bool FuncletLayout::runOnMachineFunction(MachineFunction &F) { DenseMap<const MachineBasicBlock *, int> FuncletMembership = - getFuncletMembership(F); + getEHScopeMembership(F); if (FuncletMembership.empty()) return false; |