[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?

Aaron Gray aaronngray.lists at googlemail.com
Sun Jul 19 08:35:20 PDT 2009


I am getting a simular problem with ___main appearing if '@main' is used but
there is no instance of it in the Module iterators, only in the relocations.

Is it possible to do something about these 'ghost symbols' and have them
defined in Module. Rather than having to check for them and pick them up
when processing relocations.

Aaron

2009/7/19 Aaron Gray <aaronngray.lists at googlemail.com>

> 2009/7/19 Chris Lattner <clattner at apple.com>
>
>>   On Jul 18, 2009, at 3:28 PM, Aaron Gray wrote:
>>
>> 2009/7/18 Chris Lattner <clattner at apple.com>
>>
>>>   On Jul 18, 2009, at 2:56 PM, Aaron Gray wrote:
>>>
>>>  I am iterating through Modules symbols for 'test/CodeGen/X86/memcpy.bc
>>>
>>>
>>> If you're iterating over functions, just ignore all intrinsics.
>>>
>>
>> Okay, but it would be nice if the Module object reflected the lowered
>> symbol names like 'memcpy' too. It seems a bit of an inconsistancy for the
>> Module not to reference this and have to pick it up from the relocations.
>>
>>
>> If you're iterating over the Module, you're not dealing with the codegen
>> level.  We want the code generator to change as little as possible when
>> doing codegen.
>>
>
> No I'm doing the COFFWriter, its just that symbols are being introduced via
> relocations, but AFAICT they are not defined in the Module. This seems to be
> happening with memcpy and friends.
>
>
>>
>>  Also there is the matter of 'abort' which seems to be defined by most if
>> not all modules even if it is not being used. I am
>> using GlobalValue::getUses() to filter it. Whats going on with 'abort' ?
>>
>>
>> I have no idea what you're talking about.
>>
>
> There is a function symbol called 'abort' that is being defined, whether it
> is used or not. Its not defined in the '.ll' file and useage count is
> zero, yet it is always nearly defined. I think there were a few test cases
> where it was not present, I will have to double check this.
>
> Aaron
>
>
>>
>> -Chris
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090719/909e08f6/attachment.html>


More information about the llvm-dev mailing list