[COMMITTED 0/3] Allow front end use of the static chain

2014-11-19 Thread Richard Henderson
This is the middle-end and C front end parts of the gccgo related
patch set first posted here.

  https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01009.html

I've re-tested these patches in isolation and have committed them
to mainline.  I'm currently submitting the Go portions for the
upstream review, and hope to have to libffi merge complete soon.

I think it's important that the change to Go using the static chain
happen before gcc5, as it represents an ABI change.  Our next opportunity
to fix the bulk of the non-x86 targets would be gcc6 in a year's time.


r~


Richard Henderson (3):
  Make TARGET_STATIC_CHAIN allow a function type
  Allow the front-end to create calls with a static chain
  Allow the static chain to be set from C

 gcc/ChangeLog| 27 ++
 gcc/c-family/c-common.c  |  2 ++
 gcc/c-family/c-common.h  |  2 +-
 gcc/c/c-parser.c | 40 ++
 gcc/calls.c  | 14 --
 gcc/config/i386/i386.c   | 19 --
 gcc/config/moxie/moxie.c |  5 +
 gcc/config/xtensa/xtensa.c   |  2 +-
 gcc/doc/extend.texi  | 13 +
 gcc/doc/tm.texi  |  2 +-
 gcc/gimple-fold.c| 21 
 gcc/gimplify.c   | 17 +++-
 gcc/target.def   |  6 +++---
 gcc/targhooks.c  |  5 +
 gcc/testsuite/ChangeLog  |  5 +
 gcc/testsuite/gcc.dg/cwsc0.c | 16 +++
 gcc/testsuite/gcc.dg/cwsc1.c | 46 
 gcc/tree-cfg.c   | 22 +++--
 18 files changed, 222 insertions(+), 42 deletions(-)
 create mode 100644 gcc/testsuite/gcc.dg/cwsc0.c
 create mode 100644 gcc/testsuite/gcc.dg/cwsc1.c

-- 
1.9.3



Re: [COMMITTED 0/3] Allow front end use of the static chain

2014-11-19 Thread Jeff Law

On 11/19/14 07:58, Richard Henderson wrote:

This is the middle-end and C front end parts of the gccgo related
patch set first posted here.

   https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01009.html

I've re-tested these patches in isolation and have committed them
to mainline.  I'm currently submitting the Go portions for the
upstream review, and hope to have to libffi merge complete soon.

I think it's important that the change to Go using the static chain
happen before gcc5, as it represents an ABI change.  Our next opportunity
to fix the bulk of the non-x86 targets would be gcc6 in a year's time.
Agreed.  I also feel like we're at a particularly interesting time for 
gcc-go -- there's a fairly high degree of interest particularly due to 
the portability of gcc-go to the non-x86 targets.  If we were to wait on 
this stuff, I fear the momentum we've built up would disappear.


Jeff