Re: Stack offset computation for incoming arguments.
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.
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
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
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.
> 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
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.