diff options
author | Jim Laskey <jlaskey@mac.com> | 2007-03-01 20:25:32 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2007-03-01 20:25:32 +0000 |
commit | 59e8434a855737ce3324e4b1acf5e9f12b57a2fc (patch) | |
tree | 7c3b400a7b49231843f6d75fb83d247131f5e442 /lib/CodeGen/MachineModuleInfo.cpp | |
parent | e2a6acd13f4c9ce5eb1d690a4c9d168fc8661d6c (diff) |
Collect eh filter info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34804 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineModuleInfo.cpp')
-rw-r--r-- | lib/CodeGen/MachineModuleInfo.cpp | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp index adf7d29c04..d37021e0a3 100644 --- a/lib/CodeGen/MachineModuleInfo.cpp +++ b/lib/CodeGen/MachineModuleInfo.cpp @@ -1653,9 +1653,9 @@ LandingPadInfo &MachineModuleInfo::getOrCreateLandingPadInfo (MachineBasicBlock *LandingPad) { unsigned N = LandingPads.size(); for (unsigned i = 0; i < N; ++i) { - LandingPadInfo &UI = LandingPads[i]; - if (UI.LandingPadBlock == LandingPad) - return UI; + LandingPadInfo &LP = LandingPads[i]; + if (LP.LandingPadBlock == LandingPad) + return LP; } LandingPads.push_back(LandingPadInfo(LandingPad)); @@ -1666,17 +1666,17 @@ LandingPadInfo &MachineModuleInfo::getOrCreateLandingPadInfo /// associate it with a try landing pad block. void MachineModuleInfo::addInvoke(MachineBasicBlock *LandingPad, unsigned BeginLabel, unsigned EndLabel) { - LandingPadInfo &UI = getOrCreateLandingPadInfo(LandingPad); - if (!UI.BeginLabel) UI.BeginLabel = BeginLabel; - UI.EndLabel = EndLabel; + LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); + if (!LP.BeginLabel) LP.BeginLabel = BeginLabel; + LP.EndLabel = EndLabel; } /// addLandingPad - Provide the label of a try LandingPad block. /// unsigned MachineModuleInfo::addLandingPad(MachineBasicBlock *LandingPad) { unsigned LandingPadLabel = NextLabelID(); - LandingPadInfo &UI = getOrCreateLandingPadInfo(LandingPad); - UI.LandingPadLabel = LandingPadLabel; + LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); + LP.LandingPadLabel = LandingPadLabel; return LandingPadLabel; } @@ -1684,19 +1684,26 @@ unsigned MachineModuleInfo::addLandingPad(MachineBasicBlock *LandingPad) { /// information. void MachineModuleInfo::addPersonality(MachineBasicBlock *LandingPad, Function *Personality) { - LandingPadInfo &UI = getOrCreateLandingPadInfo(LandingPad); - UI.Personality = Personality; + LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); + LP.Personality = Personality; } /// addCatchTypeInfo - Provide the catch typeinfo for a landing pad. /// void MachineModuleInfo::addCatchTypeInfo(MachineBasicBlock *LandingPad, std::vector<GlobalVariable *> &TyInfo) { - LandingPadInfo &UI = getOrCreateLandingPadInfo(LandingPad); + LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); for (unsigned N = TyInfo.size(); N; --N) - UI.TypeIds.push_back(getTypeIDFor(TyInfo[N - 1])); + LP.TypeIds.push_back(getTypeIDFor(TyInfo[N - 1])); } +/// setIsFilterLandingPad - Indicates that the landing pad is a throw filter. +/// +void MachineModuleInfo::setIsFilterLandingPad(MachineBasicBlock *LandingPad) { + LandingPadInfo &LP = getOrCreateLandingPadInfo(LandingPad); + LP.IsFilter = true; +} + /// TidyLandingPads - Remap landing pad labels and remove any deleted landing /// pads. void MachineModuleInfo::TidyLandingPads() { |