[doc] Update Lexicon with C++ unwinder acronyms
authorNick Kledzik <kledzik@apple.com>
Wed, 20 May 2015 22:04:06 +0000 (22:04 +0000)
committerNick Kledzik <kledzik@apple.com>
Wed, 20 May 2015 22:04:06 +0000 (22:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237840 91177308-0d34-0410-b5e6-96231b3b80d8

docs/Lexicon.rst

index 9a599da1285916c64e5fa2c27b23341f6d0cf6cc..112eb7d79ec1cdadc62d0e46f752b1445d5a99e0 100644 (file)
@@ -46,6 +46,15 @@ B
 C
 -
 
+**CFI**
+    Call Frame Information. Used in DWARF debug info and in C++ unwind info
+    to show how the function prolog lays out the stack frame.
+
+**CIE**
+    Common Information Entry.  A kind of CFI used to reduce the size of FDEs.
+    The compiler creates a CIE which contains the information common across all
+    the FDEs.  Each FDE then points to its CIE.
+
 **CSE**
     Common Subexpression Elimination. An optimization that removes common
     subexpression compuation. For example ``(a+b)*(a+b)`` has two subexpressions
@@ -82,6 +91,10 @@ F
 **FCA**
     First Class Aggregate
 
+**FDE**
+    Frame Description Entry. A kind of CFI used to describe the stack frame of
+    one function.
+
 G
 -
 
@@ -121,6 +134,14 @@ L
 **LICM**
     Loop Invariant Code Motion
 
+**LSDA**
+    Language Specific Data Area.  C++ "zero cost" unwinding is built on top a
+    generic unwinding mechanism.  As the unwinder walks each frame, it calls
+    a "personality" function to do language specific analysis.  Each function's
+    FDE points to an optional LSDA which is passed to the personality function.
+    For C++, the LSDA contain info about the type and location of catch
+    statements in that function.
+
 **Load-VN**
     Load Value Numbering