[llvm-commits] [llvm] r75619 - in /llvm/trunk/lib: CodeGen/AsmPrinter/AsmPrinter.cpp Target/DarwinTargetAsmInfo.cpp
Chris Lattner
clattner at apple.com
Fri Jul 17 15:05:22 PDT 2009
On Jul 14, 2009, at 9:56 AM, Dale Johannesen wrote:
>>>> getValueName(GV).substr(0,strlen(getLessPrivateGlobalPrefix())) ==
>>> + Mang->getMangledName(GV).substr(0,
>>> +
>>> strlen(getLessPrivateGlobalPrefix())) ==
>>> getLessPrivateGlobalPrefix())))
>>
>> Dale, I think you added "less private global". Do you remember?
>
> Only what's in the comment:
> /// LessPrivateGlobalPrefix - This prefix is used for symbols
> that should
> /// be passed through the assembler but be removed by the
> linker. This
> /// is "l" on Darwin, currently used for some ObjC metadata.
Dale, I see a series of commits where this code was added, refined,
etc, culimating in this specific patch:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080908/066962.html
Unfortunately there are no testcases and I have no idea why this stuff
is being done. Can you explain it?
I think this is really the wrong way to handle this. It add a bunch
of ad-hoc hooks and the code in
DarwinTargetAsmInfo::emitUsedDirectiveFor (besides being a very
misleading name for the hook) is gross string manipulation that should
not happen in the code generator like that.
Why are things that don't need ".no_dead_strip" getting in the used
list, and why can't the .no_dead_strip be emitted for them?
-Chris
More information about the llvm-commits
mailing list