[llvm-commits] [llvm] r64877 - in /llvm/trunk: lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp test/CodeGen/X86/cstring.ll
Chris Lattner
clattner at apple.com
Tue Feb 17 22:07:37 PST 2009
On Feb 17, 2009, at 9:55 PM, Evan Cheng wrote:
>>>> Evan, this seems like the wrong fix. What *requires* an empty
>>>> string
>>>> to go into the cstring section? If there is some semantics that
>>>> require it, then whatever produces the llvm global should set the
>>>> section of the global to the cstring section explicitly.
>>>
>>> I don't see why this is wrong/ Per revision 63142,target asm info
>>> has already decided this particular GV should go into cstring. But
>>> the asm printer then decided to put it in BSS (which means it
>>> cannot be coalesced) because the initializer is empty. This patch
>>> makes sure asm printer doesn't try to out smart itself.
>>
>> Why is this important?
>
> rdar://6479858. It's a minor size win, but more importantly it
> avoids linker warning. That means fewer complaints about llvm-gcc
> (and it has been reported at least twice so far at Apple).
Then this is not an optimization, this is a semantic property.
Whatever is creating that literal string should pin it in the section
that it requires it to be in.
-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090217/f815e850/attachment.html>
More information about the llvm-commits
mailing list