Drop mergeable flag, if size is no suitable
authorAnton Korobeynikov <asl@math.spbu.ru>
Wed, 9 Jul 2008 13:26:05 +0000 (13:26 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Wed, 9 Jul 2008 13:26:05 +0000 (13:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53313 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86TargetAsmInfo.cpp

index 7a56ed55e06d91889700a242bd15a807be2ae4cf..304e5a5303e56cd3a6bcb95af6b793e8a4afc4ff 100644 (file)
@@ -323,8 +323,11 @@ X86DarwinTargetAsmInfo::SectionFlagsForGlobal(const GlobalValue *GV,
       Type = C->getType();
 
     unsigned Size = TD->getABITypeSize(Type);
-    if (Size > 16)
+    if (Size > 16) {
+      // Too big for mergeable
       Size = 0;
+      Flags &= ~SectionFlags::Mergeable;
+    }
     Flags = SectionFlags::setEntitySize(Flags, Size);
   }
 
@@ -513,8 +516,11 @@ X86ELFTargetAsmInfo::SectionFlagsForGlobal(const GlobalValue *GV,
       Type = C->getType();
 
     unsigned Size = TD->getABITypeSize(Type);
-    if (Size > 16)
+    if (Size > 16) {
+      // Too big for mergeable
       Size = 0;
+      Flags &= ~SectionFlags::Mergeable;
+    }
     Flags = SectionFlags::setEntitySize(Flags, Size);
   }