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: [RFA] expand from SSA form (1/2)


Hi,

On Mon, 27 Apr 2009, David Edelsohn wrote:

> A function in cgraphunit.c is being mis-compiled, probably 
> build_cdtor().  This causes cgraph_build_static_cdtor() to be called 
> with an invalid priority of "-1", instead of 65535.  The priority should 
> not be negative.  This negative priority value generates an invalid 
> global file function name:
> ...
> Both Darwin and AIX are bootstrapping in 32 bit mode.  Richi suggested
> on IRC that this may be related to some known CONST_INT issue for
> which you already have a patch.

This confusion with the numbers seems indeed related to PR39922.  If you 
can test the below patch on powerpc that would be nice.  I know that it 
fixes the PR on i686-linux where something similar happens.


Ciao,
Michael.
-- 
	PR middle-end/39922
	* tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert constants.

Index: tree-outof-ssa.c
===================================================================
--- tree-outof-ssa.c	(revision 146829)
+++ tree-outof-ssa.c	(working copy)
@@ -184,7 +184,7 @@ insert_value_copy_on_edge (edge e, int d
   start_sequence ();
   mode = GET_MODE (SA.partition_to_pseudo[dest]);
   x = expand_expr (src, SA.partition_to_pseudo[dest], mode, EXPAND_NORMAL);
-  if (GET_MODE (x) != mode)
+  if (GET_MODE (x) != VOIDmode && GET_MODE (x) != mode)
     x = convert_to_mode (mode, x, TYPE_UNSIGNED (TREE_TYPE (src)));
   if (x != SA.partition_to_pseudo[dest])
     emit_move_insn (SA.partition_to_pseudo[dest], x);


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