[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
Dale Johannesen
dalej at apple.com
Wed Feb 18 18:16:01 PST 2009
On Feb 18, 2009, at 5:52 PMPST, Chris Lattner wrote:
> On Feb 17, 2009, at 11:08 PM, Evan Cheng wrote:
>>>> 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.
>>
>> I don't understand your objection. What's wrong with putting
>> constant array of i8 terminated with zero into cstring sections? Do
>> we need to have the frontend pre-determine the sections for all of
>> these strings?
>>
>
> Evan and I discussed this offline. The result is that I agree that
> there is nothing wrong with this patch, but that there is another
> underlying bug that this is being used to hide.
>
> The problem is that darwin really needs the STRING_CST to be emitted
> to a specific section. The "right" answer is to change
> darwin_build_constant_cfstring in config/darwin.c to tag the node as
> needing to be in the cstring section, and then the codegen will do
> the right thing.
>
> The problem is that DECL_SECTION cannot be used on STRING_CST. Does
> anyone know a good solution for this? This is easy to fix in clang,
> but it would be nice for llvm-gcc to not rely on subtle behavior of
> the code generator for its correctness.
The most straightforward would be add a section_name field to the
STRING_CST node (struct tree_string in tree.h).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090218/683b614e/attachment.html>
More information about the llvm-commits
mailing list