x86 calling conventions refactoring

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

x86 calling conventions refactoring

Gordon Henriksen-3
Hi all,

The attachment supersedes the previous patch. It incorporates some feedback from Anton and takes the next step of merging the largely duplicated calling convention logic in X86ISelLowering.

  • LowerCCCArguments, LowerX86_64CCCArguments and LowerFastCCArguments are merged and inlined directly into LowerFORMAL_ARGUMENTS.
  • I moved LowerFORMAL_ARGUMENTS to the location where LowerCCCArguments was in order to facilitate review (otherwise the diff would contain no useful deltas), but it should go back where it belongs afterwards.
  • LowerX86_64CCCCallTo and LowerX86_64CCCCallTo were consolidated with LowerCCCCallTo.
  • I haven't yet tackled merging LowerCCCCallTo and LowerTailCallTo.

There net savings is 405 LOC.

I'd appreciate tests on Windows and x86-64 hosts, since some of the logic was rather convoluted.

— Gordon



_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

x86cconv.patch (47K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: x86 calling conventions refactoring

Gordon Henriksen-3
On 2008-01-01, at 20:05, Gordon Henriksen wrote:

The attachment supersedes the previous patch. It incorporates some feedback from Anton and takes the next step of merging the largely duplicated calling convention logic in X86ISelLowering.

• LowerCCCArguments, LowerX86_64CCCArguments and LowerFastCCArguments are merged and inlined directly into LowerFORMAL_ARGUMENTS.
• I moved LowerFORMAL_ARGUMENTS to the location where LowerCCCArguments was in order to facilitate review (otherwise the diff would contain no useful deltas), but it should go back where it belongs afterwards.
• LowerX86_64CCCCallTo and LowerX86_64CCCCallTo were consolidated with LowerCCCCallTo.
• I haven't yet tackled merging LowerCCCCallTo and LowerTailCallTo.

There net savings is 405 LOC.

I'd appreciate tests on Windows and x86-64 hosts, since some of the logic was rather convoluted.

This rebases this patch to r45536 (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071231/056756.html) and I also finished merging LowerCCC- and -TailCallTo.

-508 LOC!

— Gordon



_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

x86cconv3.patch (60K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: x86 calling conventions refactoring

Evan Cheng-2
This looks good to me! If you have run it through a round of testing, please commit.

Thanks,

Evan

On Jan 3, 2008, at 9:35 AM, Gordon Henriksen wrote:

On 2008-01-01, at 20:05, Gordon Henriksen wrote:

The attachment supersedes the previous patch. It incorporates some feedback from Anton and takes the next step of merging the largely duplicated calling convention logic in X86ISelLowering.

• LowerCCCArguments, LowerX86_64CCCArguments and LowerFastCCArguments are merged and inlined directly into LowerFORMAL_ARGUMENTS.
• I moved LowerFORMAL_ARGUMENTS to the location where LowerCCCArguments was in order to facilitate review (otherwise the diff would contain no useful deltas), but it should go back where it belongs afterwards.
• LowerX86_64CCCCallTo and LowerX86_64CCCCallTo were consolidated with LowerCCCCallTo.
• I haven't yet tackled merging LowerCCCCallTo and LowerTailCallTo.

There net savings is 405 LOC.

I'd appreciate tests on Windows and x86-64 hosts, since some of the logic was rather convoluted.

This rebases this patch to r45536 (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071231/056756.html) and I also finished merging LowerCCC- and -TailCallTo.

-508 LOC!

— Gordon

<x86cconv3.patch>
_______________________________________________
LLVM Developers mailing list


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev