Add three other sections when L symbols are allowed.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 6 Nov 2014 05:01:21 +0000 (05:01 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 6 Nov 2014 05:01:21 +0000 (05:01 +0000)
llvm-svn: 221436

llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
llvm/test/CodeGen/X86/osx-private-labels.ll

index 6944f71..efd15e1 100644 (file)
@@ -584,6 +584,21 @@ bool TargetLoweringObjectFileMachO::isSectionAtomizableBySymbols(
     if (SMO.getKind().isMergeable1ByteCString())
       return false;
 
+    if (SMO.getSegmentName() == "__TEXT" &&
+        SMO.getSectionName() == "__objc_classname" &&
+        SMO.getType() == MachO::S_CSTRING_LITERALS)
+      return false;
+
+    if (SMO.getSegmentName() == "__TEXT" &&
+        SMO.getSectionName() == "__objc_methname" &&
+        SMO.getType() == MachO::S_CSTRING_LITERALS)
+      return false;
+
+    if (SMO.getSegmentName() == "__TEXT" &&
+        SMO.getSectionName() == "__objc_methtype" &&
+        SMO.getType() == MachO::S_CSTRING_LITERALS)
+      return false;
+
     if (SMO.getSegmentName() == "__DATA" &&
         SMO.getSectionName() == "__cfstring")
       return false;
index 7e17644..e30cb48 100644 (file)
 ; CHECK: .section      __DATA,__objc_classlist,regular,no_dead_strip
 ; CHECK-NEXT: .align   2
 ; CHECK-NEXT: L_private13:
+
+@private14 = private global [4 x i8] c"zed\00", section "__TEXT,__objc_classname,cstring_literals"
+; CHECK: .section      __TEXT,__objc_classname,cstring_literals
+; CHECK-NEXT: L_private14:
+
+@private15 = private global [4 x i8] c"zed\00", section "__TEXT,__objc_methname,cstring_literals"
+; CHECK: .section      __TEXT,__objc_methname,cstring_literals
+; CHECK-NEXT: L_private15:
+
+@private16 = private global [4 x i8] c"zed\00", section "__TEXT,__objc_methtype,cstring_literals"
+; CHECK: .section      __TEXT,__objc_methtype,cstring_literals
+; CHECK-NEXT: L_private16: