[llvm-commits] [llvm] r133662 - in /llvm/trunk: include/llvm/Target/TargetLoweringObjectFile.h lib/CodeGen/TargetLoweringObjectFileImpl.cpp lib/Target/TargetLoweringObjectFile.cpp

Bill Wendling isanbard at gmail.com
Wed Jun 22 16:16:51 PDT 2011


Author: void
Date: Wed Jun 22 18:16:51 2011
New Revision: 133662

URL: http://llvm.org/viewvc/llvm-project?rev=133662&view=rev
Log:
Add a flag that indicates whether a target supports compact unwind info or not.

Modified:
    llvm/trunk/include/llvm/Target/TargetLoweringObjectFile.h
    llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    llvm/trunk/lib/Target/TargetLoweringObjectFile.cpp

Modified: llvm/trunk/include/llvm/Target/TargetLoweringObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetLoweringObjectFile.h?rev=133662&r1=133661&r2=133662&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetLoweringObjectFile.h (original)
+++ llvm/trunk/include/llvm/Target/TargetLoweringObjectFile.h Wed Jun 22 18:16:51 2011
@@ -107,8 +107,12 @@
   /// private linkage, aka an L or .L label) or false if it should be a normal
   /// non-.globl label.  This defaults to true.
   bool IsFunctionEHFrameSymbolPrivate;
+
+  /// SupportsCompactUnwindInfo - This flag is set to true if the CIE and FDE
+  /// information should be emitted in a compact form.
+  bool SupportsCompactUnwindInfo;
+
 public:
-  
   MCContext &getContext() const { return *Ctx; }
   
   virtual ~TargetLoweringObjectFile();
@@ -126,10 +130,12 @@
   bool getSupportsWeakOmittedEHFrame() const {
     return SupportsWeakOmittedEHFrame;
   }
-  
   bool getCommDirectiveSupportsAlignment() const {
     return CommDirectiveSupportsAlignment;
   }
+  bool getSupportsCompactUnwindInfo() const {
+    return SupportsCompactUnwindInfo;
+  }
 
   const MCSection *getTextSection() const { return TextSection; }
   const MCSection *getDataSection() const { return DataSection; }

Modified: llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp?rev=133662&r1=133661&r2=133662&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp (original)
+++ llvm/trunk/lib/CodeGen/TargetLoweringObjectFileImpl.cpp Wed Jun 22 18:16:51 2011
@@ -487,8 +487,12 @@
 
   // .comm doesn't support alignment before Leopard.
   Triple T(((LLVMTargetMachine&)TM).getTargetTriple());
-  if (T.isMacOSX() && T.isMacOSXVersionLT(10, 5))
-    CommDirectiveSupportsAlignment = false;
+  if (T.isMacOSX()) {
+    if (T.isMacOSXVersionLT(10, 5))
+      CommDirectiveSupportsAlignment = false;
+    if (!T.isMacOSXVersionLT(10, 6))
+      SupportsCompactUnwindInfo = true;
+  }
 
   TargetLoweringObjectFile::Initialize(Ctx, TM);
 

Modified: llvm/trunk/lib/Target/TargetLoweringObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetLoweringObjectFile.cpp?rev=133662&r1=133661&r2=133662&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetLoweringObjectFile.cpp (original)
+++ llvm/trunk/lib/Target/TargetLoweringObjectFile.cpp Wed Jun 22 18:16:51 2011
@@ -61,6 +61,7 @@
   
   IsFunctionEHFrameSymbolPrivate = true;
   SupportsWeakOmittedEHFrame = true;
+  SupportsCompactUnwindInfo = false;
 }
 
 TargetLoweringObjectFile::~TargetLoweringObjectFile() {





More information about the llvm-commits mailing list