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

Aaron Gray aaronngray.lists at googlemail.com
Sat Jul 18 15:28:22 PDT 2009


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.

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' ?

Aaron


>
> -Chris
>
>
> I get :-
>
> ---------- Functions ----------
> llvm.memcpy.i64
>         Mangled name = llvm.memcpy.i64
>         DefaultVisibility
>         ExternalLinkage - Externally visible.
> my_memcpy
>         Mangled name = my_memcpy
>         DefaultVisibility
>         ExternalLinkage - Externally visible.
> my_memcpy2
>         Mangled name = my_memcpy2
>         DefaultVisibility
>         ExternalLinkage - Externally visible.
> abort
>         Mangled name = abort
>         DefaultVisibility
>         ExternalLinkage - Externally visible.
> ----------- Globals -----------
> ----------- Aliases -----------
>
> I am using this to define my symbols, but the relocations contain 'memcpy'.
>
> Aaron
>
>
>
> 2009/7/18 Eli Friedman <eli.friedman at gmail.com>
>
>> On Sat, Jul 18, 2009 at 2:21 PM, Aaron
>> Gray<aaronngray.lists at googlemail.com> wrote:
>> > I am working on the COFF backend and am wondering where llvm.memcpy gets
>> > lowered to memcpy ?
>>
>> It's done by ISel.  See SelectionDAG::getMemcpy.
>>
>> -Eli
>>  _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
> _______________________________________________
> 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/20090718/cbfe2d14/attachment.html>


More information about the llvm-dev mailing list