Re: Stack offset computation for incoming arguments.

2014-05-29 Thread Umesh Kalappa
Dear Eric,

As advised given by you ,we defind the following marcos like

#define ARG_POINTER_REGNUM 9
#define FRAME_POINTER_REGNUM 8
#define STACK_POINTER_REGNUM 10


#define ELIMINABLE_REGS \
 {{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM},  \
  { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}}\

#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
 (OFFSET) = tlcs_initial_elimination_offset (FROM, TO)

#define CAN_ELIMINATE 1

#define FIRST_PARM_OFFSET 3

With -O0 or by default options the frame and arg regs  are not
replaced by stack reg and the  same  replaced  with -O1 and above
optimisation.

Did the macros like ELIMINABLE_REGS ,INITIAL_ELIMINATION_OFFSET and
CAN_ELIMINATE  are effective only when optimisation enabled  ?? or do
we missing something here ??

Thank you and appreciate any reply from the group.

~Umesh

On Fri, Apr 25, 2014 at 9:58 PM, Eric Botcazou  wrote:
>> #define FIRST_PARM_OFFSET(FNDECL)  (get_frame_size() +
>> STARTING_FRAME_OFFSET  + RETURN_BYTES )
>
> I don't think that you can define FIRST_PARM_OFFSET like so, you need to have
> a fixed FIRST_PARM_OFFSET (for some definition of fixed) and eliminate the
> argument pointer during reload.
>
> --
> Eric Botcazou


Re: Stack offset computation for incoming arguments.

2014-05-29 Thread Umesh Kalappa
Dear Eric,

As advised given by you ,we defind the following marcos like

#define ARG_POINTER_REGNUM 9
#define FRAME_POINTER_REGNUM 8
#define STACK_POINTER_REGNUM 10


#define ELIMINABLE_REGS \
 {{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM},  \
  { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}}\

#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
 (OFFSET) = tlcs_initial_elimination_offset (FROM, TO)

#define CAN_ELIMINATE 1

#define FIRST_PARM_OFFSET 3

With -O0 or by default options the frame and arg regs  are not
replaced by stack reg and the  same  replaced  with -O1 and above
optimisation options.

Did the macros like ELIMINABLE_REGS ,INITIAL_ELIMINATION_OFFSET and
CAN_ELIMINATE  are only  effective  when optimisation enabled  ?? or do
we missing something here ??

Thank you and appreciate any reply from the group.

On Fri, Apr 25, 2014 at 9:58 PM, Eric Botcazou  wrote:
>> #define FIRST_PARM_OFFSET(FNDECL)  (get_frame_size() +
>> STARTING_FRAME_OFFSET  + RETURN_BYTES )
>
> I don't think that you can define FIRST_PARM_OFFSET like so, you need to have
> a fixed FIRST_PARM_OFFSET (for some definition of fixed) and eliminate the
> argument pointer during reload.
>
> --
> Eric Botcazou


Re: PowerPC builds broken on 4.9 and trunk

2014-05-29 Thread Sebastian Huber

On 05/26/2014 09:40 PM, Sandra Loosemore wrote:
as reported in PR60102.  I'd really hope this could be fixed for 
4.9.1 but I'm not sure the relevant people are paying much attention 
to the issue.  Can we at least update the priority/severity of the bug 
so that it's more likely to show up on the radar?


I did look at trying to fix this myself but I think someone who 
already has some state on this back end is more likely to come up with 
an acceptable solution.


-Sandra


I think the main problem is that Freescale abandoned support for the FSF 
Binutils and GCC.  It seems that the Freescale specific PowerPC parts 
like e500/SPE are in bit rot mode.


Here is a list of some bugs in that area:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60950
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60102
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57816
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57389
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47856
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47751

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



gcc-4_9_0-release tag not found in git mirror

2014-05-29 Thread S, Pitchumani
Hi,

The gcc-4.9.0 release tag is missing from git mirror.
https://gcc.gnu.org/git/?p=gcc.git;a=summary

Regards,
Pitchumani


Re: Stack offset computation for incoming arguments.

2014-05-29 Thread Eric Botcazou
> As advised given by you ,we defind the following marcos like
> 
> #define ARG_POINTER_REGNUM 9
> #define FRAME_POINTER_REGNUM 8

ARG_POINTER_REGNUM and FRAME_POINTER_REGNUM need to be pseudo-registers if 
they do not represent real registers.

> #define STACK_POINTER_REGNUM 10
> 
> 
> #define ELIMINABLE_REGS \
>  {{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM},  \
>   { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}}\
> 
> #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
>  (OFFSET) = tlcs_initial_elimination_offset (FROM, TO)
> 
> #define CAN_ELIMINATE 1
> 
> #define FIRST_PARM_OFFSET 3
> 
> With -O0 or by default options the frame and arg regs  are not
> replaced by stack reg and the  same  replaced  with -O1 and above
> optimisation.

Only pseudo-registers are always eliminated I think.

-- 
Eric Botcazou


gcc-4.8-20140529 is now available

2014-05-29 Thread gccadmin
Snapshot gcc-4.8-20140529 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.8-20140529/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.8 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch 
revision 211066

You'll find:

 gcc-4.8-20140529.tar.bz2 Complete GCC

  MD5=8d389d84f5dba856fe3a06acb1157eb1
  SHA1=85b72a1626953d5e7e1e263df476a51d0261293d

Diffs from 4.8-20140522 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.8
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.