[cfe-commits] [LLVMdev] [PATCH/RFC, PowerPC] Extend 32-bit function arguments / return values
Ulrich Weigand
Ulrich.Weigand at de.ibm.com
Mon Nov 5 10:24:02 PST 2012
Eli Friedman <eli.friedman at gmail.com> wrote on 01.11.2012 01:22:06:
> On Wed, Oct 31, 2012 at 7:44 AM, Ulrich Weigand
> <Ulrich.Weigand at de.ibm.com> wrote:
> > I'm wondering how to proceed on this issue for now. Current status is
> > that I've checked in the testsuite patch, since there was agreement
> > that fixing the tests by adding target triples was the way to go.
> > However, the actual fix to enable the sign-extensions required by
> > the PowerPC64 ABI is not in, so we still generate code that violates
> > the ABI.
> >
> > I understand that there is a long-term goal of having those extensions
> > done in the front end instead of in LLVM. However, as far as I can
> > see the necessary infrastructure is not yet fully present (or in any
> > event, I don't see how to do it in the front end right now) ...
> >
> > Therefore, since my patch doesn't make moving to the new scheme
> > any more difficult (it just does the same thing for "int" that is
> > already being done for "short" and "char"), and it does fix the
> > ABI bug we have right now, I'd propose to check it in now (and
> > then move to new scheme with everyone else once it is ready).
> >
> > Would this be OK? Any other suggestions?
> >
> > For reference, the patch in question is appended again.
>
> Please factor out the check for whether an integer type needs to be
> extended into a separate method.
I've attached an updated patch. Is this what you intended?
> Please make sure there's a testcase on the LLVM side to make sure we
> actually handle the attributes correctly.
Good point. In fact, as it happens, attributes on i32 *return values*
were not handled correctly, but ignored completely. (The attributes
are handled for arguments, which is why the clang patch actually fixed
the failure I was seeing ...)
I've just posted a patch to llvm-commmits to provide a testcase,
and a fix for the attributes on return values:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121105/155181.html
Thanks for the review!
Bye,
Ulrich
(See attached file: diff-clang-ppc64-extend)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff-clang-ppc64-extend
Type: application/octet-stream
Size: 2551 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20121105/877e6d34/attachment.obj>
More information about the cfe-commits
mailing list