aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/Analysis.cpp
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2018-06-01 00:03:21 +0000
committerHeejin Ahn <aheejin@gmail.com>2018-06-01 00:03:21 +0000
commitd69acf3b4cd2c51ba4eb2a455fd6e9e3c0d92b4b (patch)
tree0789b5640ed9e69b4d43381d6b55f80ebec54ee2 /llvm/lib/CodeGen/Analysis.cpp
parentd51fbfca46ca75ff70daba3661702257703a331b (diff)
downloadllvm-d69acf3b4cd2c51ba4eb2a455fd6e9e3c0d92b4b.zip
llvm-d69acf3b4cd2c51ba4eb2a455fd6e9e3c0d92b4b.tar.gz
llvm-d69acf3b4cd2c51ba4eb2a455fd6e9e3c0d92b4b.tar.bz2
Change ambiguous uses of term 'funclet' to 'EH scopes'. NFC.
Summary: `getEHScopeMembership()` function is used not only for funclet-based EHs; they apply to all EH schemes that use the scoped IR (catchpad/cleanuppad/...). D47005 (rL333045) changed some of the uses of the term 'funclet' to 'EH scopes' in case they apply to all scoped EH, and this fixes more of them. For `FuncletLayout` pass, I left it as is because the pass is only used for funclet-based EH. Reviewers: majnemer Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D47611 llvm-svn: 333711
Diffstat (limited to 'llvm/lib/CodeGen/Analysis.cpp')
-rw-r--r--llvm/lib/CodeGen/Analysis.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/llvm/lib/CodeGen/Analysis.cpp b/llvm/lib/CodeGen/Analysis.cpp
index e7e4bc6..79f11de 100644
--- a/llvm/lib/CodeGen/Analysis.cpp
+++ b/llvm/lib/CodeGen/Analysis.cpp
@@ -629,9 +629,9 @@ bool llvm::returnTypeIsEligibleForTailCall(const Function *F,
return true;
}
-static void
-collectEHScopeMembers(DenseMap<const MachineBasicBlock *, int> &ScopeMembership,
- int Scope, const MachineBasicBlock *MBB) {
+static void collectEHScopeMembers(
+ DenseMap<const MachineBasicBlock *, int> &EHScopeMembership, int EHScope,
+ const MachineBasicBlock *MBB) {
SmallVector<const MachineBasicBlock *, 16> Worklist = {MBB};
while (!Worklist.empty()) {
const MachineBasicBlock *Visiting = Worklist.pop_back_val();
@@ -640,11 +640,11 @@ collectEHScopeMembers(DenseMap<const MachineBasicBlock *, int> &ScopeMembership,
continue;
// Add this MBB to our scope.
- auto P = ScopeMembership.insert(std::make_pair(Visiting, Scope));
+ auto P = EHScopeMembership.insert(std::make_pair(Visiting, EHScope));
// Don't revisit blocks.
if (!P.second) {
- assert(P.first->second == Scope && "MBB is part of two scopes!");
+ assert(P.first->second == EHScope && "MBB is part of two scopes!");
continue;
}
@@ -660,24 +660,24 @@ collectEHScopeMembers(DenseMap<const MachineBasicBlock *, int> &ScopeMembership,
DenseMap<const MachineBasicBlock *, int>
llvm::getEHScopeMembership(const MachineFunction &MF) {
- DenseMap<const MachineBasicBlock *, int> ScopeMembership;
+ DenseMap<const MachineBasicBlock *, int> EHScopeMembership;
// We don't have anything to do if there aren't any EH pads.
if (!MF.hasEHScopes())
- return ScopeMembership;
+ return EHScopeMembership;
int EntryBBNumber = MF.front().getNumber();
bool IsSEH = isAsynchronousEHPersonality(
classifyEHPersonality(MF.getFunction().getPersonalityFn()));
const TargetInstrInfo *TII = MF.getSubtarget().getInstrInfo();
- SmallVector<const MachineBasicBlock *, 16> ScopeBlocks;
+ SmallVector<const MachineBasicBlock *, 16> EHScopeBlocks;
SmallVector<const MachineBasicBlock *, 16> UnreachableBlocks;
SmallVector<const MachineBasicBlock *, 16> SEHCatchPads;
SmallVector<std::pair<const MachineBasicBlock *, int>, 16> CatchRetSuccessors;
for (const MachineBasicBlock &MBB : MF) {
if (MBB.isEHScopeEntry()) {
- ScopeBlocks.push_back(&MBB);
+ EHScopeBlocks.push_back(&MBB);
} else if (IsSEH && MBB.isEHPad()) {
SEHCatchPads.push_back(&MBB);
} else if (MBB.pred_empty()) {
@@ -700,24 +700,24 @@ llvm::getEHScopeMembership(const MachineFunction &MF) {
}
// We don't have anything to do if there aren't any EH pads.
- if (ScopeBlocks.empty())
- return ScopeMembership;
+ if (EHScopeBlocks.empty())
+ return EHScopeMembership;
// Identify all the basic blocks reachable from the function entry.
- collectEHScopeMembers(ScopeMembership, EntryBBNumber, &MF.front());
+ collectEHScopeMembers(EHScopeMembership, EntryBBNumber, &MF.front());
// All blocks not part of a scope are in the parent function.
for (const MachineBasicBlock *MBB : UnreachableBlocks)
- collectEHScopeMembers(ScopeMembership, EntryBBNumber, MBB);
+ collectEHScopeMembers(EHScopeMembership, EntryBBNumber, MBB);
// Next, identify all the blocks inside the scopes.
- for (const MachineBasicBlock *MBB : ScopeBlocks)
- collectEHScopeMembers(ScopeMembership, MBB->getNumber(), MBB);
+ for (const MachineBasicBlock *MBB : EHScopeBlocks)
+ collectEHScopeMembers(EHScopeMembership, MBB->getNumber(), MBB);
// SEH CatchPads aren't really scopes, handle them separately.
for (const MachineBasicBlock *MBB : SEHCatchPads)
- collectEHScopeMembers(ScopeMembership, EntryBBNumber, MBB);
+ collectEHScopeMembers(EHScopeMembership, EntryBBNumber, MBB);
// Finally, identify all the targets of a catchret.
for (std::pair<const MachineBasicBlock *, int> CatchRetPair :
CatchRetSuccessors)
- collectEHScopeMembers(ScopeMembership, CatchRetPair.second,
+ collectEHScopeMembers(EHScopeMembership, CatchRetPair.second,
CatchRetPair.first);
- return ScopeMembership;
+ return EHScopeMembership;
}