Changes in directory llvm/include/llvm/CodeGen:
MachineModuleInfo.h updated: 1.13 -> 1.14 --- Log message: Emit multiple common EH frames for multiple (including blank) personality functions. This partly fixes PR1414: http://llvm.org/PR1414 : now we're restricted only to one personality function per eh frame, not per module. Further work on "multiple personalities" topic needs representative example. --- Diffs of the changes: (+14 -3) MachineModuleInfo.h | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) Index: llvm/include/llvm/CodeGen/MachineModuleInfo.h diff -u llvm/include/llvm/CodeGen/MachineModuleInfo.h:1.13 llvm/include/llvm/CodeGen/MachineModuleInfo.h:1.14 --- llvm/include/llvm/CodeGen/MachineModuleInfo.h:1.13 Sat May 12 17:36:25 2007 +++ llvm/include/llvm/CodeGen/MachineModuleInfo.h Sun May 13 10:42:26 2007 @@ -1020,7 +1020,9 @@ // std::vector<GlobalVariable *> TypeInfos; - Function *Personality; + // Personalities - Vector of all personality functions ever seen. Used to emit + // common EH frames. + std::vector<Function *> Personalities; public: static char ID; // Pass identification, replacement for typeid @@ -1201,7 +1203,16 @@ /// addPersonality - Provide the personality function for the exception /// information. void addPersonality(MachineBasicBlock *LandingPad, Function *Personality); - + + /// getPersonalityIndex - Get index of the current personality function inside + /// Personalitites array + unsigned getPersonalityIndex() const; + + /// getPersonalities - Return array of personality functions ever seen. + const std::vector<Function *>& getPersonalities() const { + return Personalities; + } + /// addCatchTypeInfo - Provide the catch typeinfo for a landing pad. /// void addCatchTypeInfo(MachineBasicBlock *LandingPad, @@ -1219,7 +1230,7 @@ /// pads. void TidyLandingPads(); - /// getLandingPadInfos - Return a reference to the landing pad info for the + /// getLandingPads - Return a reference to the landing pad info for the /// current function. const std::vector<LandingPadInfo> &getLandingPads() const { return LandingPads; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits