summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfException.cpp18
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfException.h15
2 files changed, 19 insertions, 14 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.cpp b/lib/CodeGen/AsmPrinter/DwarfException.cpp
index c44e7b6209..a3c7705b00 100644
--- a/lib/CodeGen/AsmPrinter/DwarfException.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfException.cpp
@@ -49,8 +49,11 @@ DwarfException::~DwarfException() {
delete ExceptionTimer;
}
-void DwarfException::EmitCommonEHFrame(const Function *Personality,
- unsigned Index) {
+/// EmitCommonInformationEntry - Emit a Common Information Entry (CIE). This
+/// holds information that is shared among many Frame Description Entries.
+/// There is at least one CIE in every non-empty .debug_frame section.
+void DwarfException::EmitCommonInformationEntry(const Function *Personality,
+ unsigned Index) {
// Size and sign of stack growth.
int stackGrowth =
Asm->TM.getFrameInfo()->getStackGrowthDirection() ==
@@ -144,9 +147,10 @@ void DwarfException::EmitCommonEHFrame(const Function *Personality,
Asm->EOL();
}
-/// EmitEHFrame - Emit function exception frame information.
-///
-void DwarfException::EmitEHFrame(const FunctionEHFrameInfo &EHFrameInfo) {
+/// EmitFrameDescriptionEntry - Emit the Frame Description Entry (FDE) for the
+/// function.
+void DwarfException::
+EmitFrameDescriptionEntry(const FunctionEHFrameInfo &EHFrameInfo) {
assert(!EHFrameInfo.function->hasAvailableExternallyLinkage() &&
"Should not emit 'available externally' functions at all");
@@ -844,11 +848,11 @@ void DwarfException::EndModule() {
if (shouldEmitMovesModule || shouldEmitTableModule) {
const std::vector<Function *> Personalities = MMI->getPersonalities();
for (unsigned i = 0; i < Personalities.size(); ++i)
- EmitCommonEHFrame(Personalities[i], i);
+ EmitCommonInformationEntry(Personalities[i], i);
for (std::vector<FunctionEHFrameInfo>::iterator I = EHFrames.begin(),
E = EHFrames.end(); I != E; ++I)
- EmitEHFrame(*I);
+ EmitFrameDescriptionEntry(*I);
}
if (TimePassesIsEnabled)
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.h b/lib/CodeGen/AsmPrinter/DwarfException.h
index 5f4fda7502..8a9d56808c 100644
--- a/lib/CodeGen/AsmPrinter/DwarfException.h
+++ b/lib/CodeGen/AsmPrinter/DwarfException.h
@@ -70,13 +70,14 @@ class VISIBILITY_HIDDEN DwarfException : public Dwarf {
/// ExceptionTimer - Timer for the Dwarf exception writer.
Timer *ExceptionTimer;
- /// EmitCommonEHFrame - Emit the common eh unwind frame.
- ///
- void EmitCommonEHFrame(const Function *Personality, unsigned Index);
-
- /// EmitEHFrame - Emit function exception frame information.
- ///
- void EmitEHFrame(const FunctionEHFrameInfo &EHFrameInfo);
+ /// EmitCommonInformationEntry - Emit a Common Information Entry (CIE). This
+ /// holds information that is shared among many Frame Description Entries.
+ /// There is at least one CIE in every non-empty .debug_frame section.
+ void EmitCommonInformationEntry(const Function *Personality, unsigned Index);
+
+ /// EmitFrameDescriptionEntry - Emit the Frame Description Entry (FDE) for the
+ /// function.
+ void EmitFrameDescriptionEntry(const FunctionEHFrameInfo &EHFrameInfo);
/// EmitExceptionTable - Emit landing pads and actions.
///