This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Rs6000 infrastructure cleanup (switches), revised patch #2f


On Thu, Oct 18, 2012 at 05:35:39PM -0400, Michael Meissner wrote:
> On Thu, Oct 18, 2012 at 09:08:34PM +0200, Dominique Dhumieres wrote:
> > > 2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
> > > 
> > > 	* config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
> > > 	replace target_flags that gives us 63 possible switches.
> > > 	(x_rs6000_isa_flags): Save area for rs6000_isa_flags.
> > > 	(x_rs6000_isa_flags_explicit): Save area for
> > > ...
> > 
> > Bootstrap failed on powerpc-apple-darwin9 with
> 
> Just to let you know, I'm iterating on a patch right now.  There were 3 bugs
> with my checkin:
> 
> 1) The libobjc/encoding.c issue that Eric ran into.  The file encoding.c
>    includes compiler tm.h files, and then redefines stuff so that it doesn't
>    need the target option structure.  I have a bandaid to redefine TARGET_VSX,
>    TARGET_ALTIVEC, and TARGET_64BIT, but this file really cries out for an
>    Objective C user to reengineer and rewrite it so that it doesn't have to
>    include compiler internal files.
> 
> 2) The redefinition problem that Dominique found.  This was caused by moving
>    POWERPC_MASKS from rs6000.c to rs6000-cpus.def, where it more logically
>    belongs.  I think the right solution is to move the #ifdef to
>    rs6000-cpus.def instead of keeping it in rs6000.c.
> 
> 3) I forgot to update the -mdebug=reg support so it prints out the current
>    options once I swtiched from using target_flags to rs6000_isa_flags.  I
>    discovered this today, when doing some future work (that needs new
>    options).
> 
> I'll send out the patch if my bootstrap finishes.

The patch builds in 32-bit on my powerpc64-linux system (which showed up Eric's
problem).  I can't test the patch for Dominique's problem, since it needs a
non-linux system to show up.  I verified the debug problem:

Eric and Dominique could you try it on your respective systems?  Thanks in
advance.

[gcc]
2012-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
	OPTION_MASK_STRICT_ALIGN is defined.
	(MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
	define this to 0 for the 3 ports that use it.

	* config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
	check for ports not having -mstrict-align here, move test to
	rs6000-cpus.def.
	(MASK_STRICT_ALIGN): Likewise.
	(rs6000_debug_reg_global): Print out correct target flag words if
	-mdebug=reg.

[libobjc]
2012-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* encoding.c (TARGET_VSX): Provide definitions based on the
	current compilation options, and not based off the target options
	structure.
	(TARGET_ALTIVEC): Likewise.
	(TARGET_64BIT): Likewise.

-- 
Michael Meissner, IBM
5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA
meissner@linux.vnet.ibm.com	fax +1 (978) 399-6899

Attachment: gcc-power7.patch367b
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]