[LLVMdev] Clang question

Ryan Taylor ryta1203 at gmail.com
Mon Mar 5 11:15:01 PST 2012


Ok, thanks. Is this an automatic optimization or is there some other way
(possibly some other opt I am calling that does this) to get around the
memcpy, such as llvm-gcc does? (since it does not use it)

So it appears that the external node calls these three functions along with
my "real" function.


On Mon, Mar 5, 2012 at 11:07 AM, Villmow, Micah <Micah.Villmow at amd.com>wrote:

>  Memcpy in my experience has been inserted when a struct copy is
> generated.****
>
> ** **
>
> *From:* llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] *On
> Behalf Of *Ryan Taylor
> *Sent:* Monday, March 05, 2012 11:04 AM
> *To:* llvmdev at cs.uiuc.edu
> *Subject:* Re: [LLVMdev] Clang question****
>
> ** **
>
> So, let me rephrase, I understand what these functions are, I just want to
> know why and when they are inserted so that I can make an attempt to remove
> them, as they are not produced in llvm-gcc, only in clang?****
>
> On Mon, Mar 5, 2012 at 10:53 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:**
> **
>
> Clang is inserting an llvm.memcpy function call into my program where it
> does not exist (the code never calls memcpy), is there a particular reason
> for this? It also looks like it's inserting two other artificial function
> calls, something to do with llvm.lifetime.start and llvm.lifetime.end, what
> are these functions and why are they being inserted artificially?
>
> Thanks.****
>
> ** **
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120305/8cac0375/attachment.html>


More information about the llvm-dev mailing list