remove some completely wrong code. 1 is never < 16. It turns out that GCC appears...
authorChris Lattner <sabre@nondot.org>
Wed, 29 Jul 2009 04:54:38 +0000 (04:54 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 29 Jul 2009 04:54:38 +0000 (04:54 +0000)
llvm-svn: 77429

llvm/lib/Target/TargetLoweringObjectFile.cpp

index 7bd6788..379099b 100644 (file)
@@ -412,28 +412,18 @@ SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
   
   if (Kind.isText()) return TextSection;
   if (Kind.isMergeableCString()) {
-    //Constant *C = cast<GlobalVariable>(GV)->getInitializer();
+   assert(CStringSection_ && "Should have string section prefix");
     
-    // FIXME: This is completely wrong.  Why is it comparing the size of the
-    // character type to 1?
-    /// cast<ArrayType>(C->getType())->getNumElements();
-    uint64_t Size = 1;
-    if (Size <= 16) {
-      assert(CStringSection_ && "Should have string section prefix");
-      
-      // We also need alignment here.
-      // FIXME: this is getting the alignment of the character, not the
-      // alignment of the global!
-      unsigned Align = 
-        TM.getTargetData()->getPreferredAlignment(cast<GlobalVariable>(GV));
-      
-      std::string Name = CStringSection_->getName() + utostr(Size) + '.' +
-      utostr(Align);
-      return getOrCreateSection(Name.c_str(), false,
-                                SectionKind::MergeableCString);
-    }
+    // We also need alignment here.
+    // FIXME: this is getting the alignment of the character, not the
+    // alignment of the global!
+    unsigned Align = 
+      TM.getTargetData()->getPreferredAlignment(cast<GlobalVariable>(GV));
     
-    return ReadOnlySection;
+    std::string Name = CStringSection_->getName() + utostr(Size) + '.' +
+    utostr(Align);
+    return getOrCreateSection(Name.c_str(), false,
+                              SectionKind::MergeableCString);
   }
   
   if (Kind.isMergeableConst()) {