[llvm-commits] [PATCH] Fix PR11004: Crash in llc arm backend

David Meyer pdox at google.com
Sun Sep 25 10:46:28 PDT 2011


+Gohman

Cameron,

A nested callseq is currently an invalid DAG representation, and results in
a crash or an infinite loop later in compilation. I don't see how it could
ever result in a valid program.

If somebody intends to improve ARM performance by making a nested call to
memcpy possible, that is great. But in the meantime, these memcpys really
need to be inlined so that the compiler works at all.

- David


On Sun, Sep 25, 2011 at 3:46 AM, Cameron Zwarich <zwarich at apple.com> wrote:

> The fact that the memcpy is not always inlined is an explicit design
> decision of the ARM byval implementation. Think of the case of copying a
> gigantic struct.
>
> The nested legalization of calls it required is unfortunate and has bugs,
> but I believe Dan Gohman has been cleaning it up a bit.
>
> Unless I am just really out of the loop (which is possible) this is not the
> right fix.
>
> Sent from my iPhone
>
> On Sep 25, 2011, at 1:34 AM, David Meyer <pdox at google.com> wrote:
>
> > Fixes http://llvm.org/bugs/show_bug.cgi?id=11004
> >
> > New test included. Seeking approval to commit.
> >
> > Thanks,
> > pdox
> > <arm_byval.patch>
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110925/e15cc357/attachment.html>


More information about the llvm-commits mailing list