This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Bootstrap failure
- From: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- To: gcc-patches at gcc dot gnu dot org
- Cc: dnovillo at redhat dot com
- Date: 29 Jul 2003 10:19:37 +0200
- Subject: Re: [tree-ssa] Bootstrap failure
- References: <1059462507.3650.19.camel@steven.lr-s.tudelft.nl>
Op di 29-07-2003, om 09:08 schreef Steven Bosscher:
> Something in the last 12 hours broke bootstrap with checking enabled for
> the tree-ssa branch (last updated 06:22:22 UTC 2003) on i686-pc-linux-gnu:
I don't know if this is how it _should_ be fixed, but it somehow does
allow me to finish the bootstrap, so at least it demonstrates what/where
the problem is ;-)
Gr.
Steven
* tree-ssa.c (insert_copy_on_edge): Allow src to be something
that is not a symbol. Only set the USED bit if it does refer
to a symbol. Update comment.
Index: tree-ssa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa.c,v
retrieving revision 1.1.4.111
diff -c -3 -p -r1.1.4.111 tree-ssa.c
*** tree-ssa.c 29 Jul 2003 04:45:59 -0000 1.1.4.111
--- tree-ssa.c 29 Jul 2003 07:47:59 -0000
*************** create_temp (tree t)
*** 868,884 ****
}
! /* This helper function fill insert a copy from one variable to another
! on the specified edge. */
static void
insert_copy_on_edge (edge e, tree dest, tree src)
{
tree copy;
copy = build (MODIFY_EXPR, TREE_TYPE (dest), dest, src);
set_is_used (dest);
! set_is_used (src);
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file,
--- 868,891 ----
}
! /* This helper function will insert a copy from a variable or constant
! SRC to a variable DEST on the specified edge E. */
static void
insert_copy_on_edge (edge e, tree dest, tree src)
{
tree copy;
+ tree src_sym;
copy = build (MODIFY_EXPR, TREE_TYPE (dest), dest, src);
+
+ /* If SRC refers to a symbol, mark it as used. DEST should always
+ refer to a symbol, so always mark it. */
+ src_sym = get_base_symbol (src);
+ if (src_sym != NULL_TREE)
+ set_is_used (src_sym);
set_is_used (dest);
!
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file,