* MIPS test failures
@ 1999-03-12 7:54 Mark Mitchell
[not found] ` < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net >
1999-03-31 23:46 ` Mark Mitchell
0 siblings, 2 replies; 10+ messages in thread
From: Mark Mitchell @ 1999-03-12 7:54 UTC (permalink / raw)
To: egcs
Folks --
What's the status of the problem that's causing many MIPS C++ tests to
fail at the moment? For example, g++.brendan/copy3.C reports an error
involving an undefined `.Lxxx' symbol at link-time on
mips-sgi-irix6.5. Do we know what the problem is? Do we know how to
fix it?
I need to fix this problem soon, so I'm happy to look at it if nobody
else is going to, but I'd like to avoid duplicating work.
Thanks!
--
Mark Mitchell mark@markmitchell.com
Mark Mitchell Consulting http://www.markmitchell.com
^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net >]
* Re: MIPS test failures
[not found] ` < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net >
@ 1999-03-12 18:20 ` Lee Iverson
[not found] ` < 199903130220.SAA16668@Canada.AI.SRI.COM >
1999-03-31 23:46 ` Lee Iverson
0 siblings, 2 replies; 10+ messages in thread
From: Lee Iverson @ 1999-03-12 18:20 UTC (permalink / raw)
To: mark; +Cc: egcs, egcs-patches
In message < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net > you writ
e:
>
> Folks --
>
> What's the status of the problem that's causing many MIPS C++ tests to
> fail at the moment? For example, g++.brendan/copy3.C reports an error
> involving an undefined `.Lxxx' symbol at link-time on
> mips-sgi-irix6.5. Do we know what the problem is? Do we know how to
> fix it?
>
> I need to fix this problem soon, so I'm happy to look at it if nobody
> else is going to, but I'd like to avoid duplicating work.
The fix in
http://egcs.cygnus.com/ml/egcs-patches/1999-03/msg00206.html
solves the problem but seems to be overkill to me.
I managed a good bootstrap on mips-sgi-irix6.3 with the following patches.
-------------------------------------------------------------------------------
Lee Iverson SRI International
leei@ai.sri.com 333 Ravenswood Ave., Menlo Park CA 94025
http://www.ai.sri.com/~leei/ (650) 859-3307
1999-03-12 Lee Iverson <leei@Canada.AI.SRI.COM>
* jump.c (restore_reg_labels_1): New function. Searches for
label_refs and restores REG_LABEL notes as appropriate.
(restore_reg_labels): New function. Restores any lost
REG_LABEL notes to an instruction.
* reload1.c (reload): Call restore_reg_label to restore REG_LABEL
notes which may have been destroyed.
Index: jump.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/jump.c,v
retrieving revision 1.55
diff -p -u -r1.55 jump.c
--- jump.c 1999/03/10 19:45:18 1.55
+++ jump.c 1999/03/13 02:09:28
@@ -3726,6 +3726,95 @@ mark_jump_label (x, insn, cross_jump)
}
}
+/* Iterate over all components of X that might contain a LABEL_REF, adding
+ REG_LABEL notes to the INSN if not already there. */
+
+static void
+restore_reg_labels_1 (x, insn)
+ rtx x, insn;
+{
+ register RTX_CODE code = GET_CODE (x);
+ register int i;
+ register char *fmt;
+
+ switch (code)
+ {
+ case PC:
+ case CC0:
+ case REG:
+ case SUBREG:
+ case CONST_INT:
+ case SYMBOL_REF:
+ case CONST_DOUBLE:
+ case CLOBBER:
+ case CALL:
+ /* Is this correct? Are REG_LABELs never generated for ADDR_VECs? */
+ case ADDR_VEC:
+ case ADDR_DIFF_VEC:
+ return;
+
+ case MEM:
+ /* If this is a constant-pool reference, see if it is a label. */
+ if (GET_CODE (XEXP (x, 0)) == SYMBOL_REF
+ && CONSTANT_POOL_ADDRESS_P (XEXP (x, 0)))
+ restore_reg_labels_1 (get_pool_constant (XEXP (x, 0)), insn);
+ break;
+
+ case LABEL_REF:
+ {
+ rtx label = XEXP (x, 0);
+ rtx note;
+
+ if (GET_CODE (label) != CODE_LABEL)
+ abort ();
+
+ /* Ignore references to labels of containing functions. */
+ if (LABEL_REF_NONLOCAL_P (x))
+ break;
+
+ if (GET_CODE (insn) == JUMP_INSN)
+ ;
+
+ /* Otherwise, add a REG_LABEL note for LABEL unless there already
+ is one. */
+ else if (! find_reg_note (insn, REG_LABEL, label))
+ {
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL, label,
+ REG_NOTES (insn));
+ }
+
+ return;
+ }
+
+ default:
+ break;
+ }
+
+ fmt = GET_RTX_FORMAT (code);
+ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
+ {
+ if (fmt[i] == 'e')
+ restore_reg_labels_1 (XEXP (x, i), insn);
+ else if (fmt[i] == 'E')
+ {
+ register int j;
+ for (j = 0; j < XVECLEN (x, i); j++)
+ restore_reg_labels_1 (XVECEXP (x, i, j), insn);
+ }
+ }
+}
+
+/* If the REG_LABEL notes may have been deleted from an INSN, then call this
+ to reestablish them. */
+
+void
+restore_reg_labels (insn)
+ rtx insn;
+{
+ if (! INSN_DELETED_P (insn))
+ restore_reg_labels_1 (PATTERN (insn), insn);
+}
+
/* If all INSN does is set the pc, delete it,
and delete the insn that set the condition codes for it
if that's what the previous thing was. */
Index: reload1.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload1.c,v
retrieving revision 1.135
diff -p -u -r1.135 reload1.c
--- reload1.c 1999/03/12 12:39:59 1.135
+++ reload1.c 1999/03/13 02:09:29
@@ -1157,6 +1157,9 @@ reload (first, global, dumpfile)
pnote = &XEXP (*pnote, 1);
}
+ /* Restore any REG_LABEL notes which are now missing. */
+ restore_reg_labels (insn);
+
/* And simplify (subreg (reg)) if it appears as an operand. */
cleanup_subreg_operands (insn);
}
^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: < 199903130220.SAA16668@Canada.AI.SRI.COM >]
* Re: MIPS test failures
[not found] ` < 199903130220.SAA16668@Canada.AI.SRI.COM >
@ 1999-03-15 0:30 ` Mark Mitchell
[not found] ` < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >
1999-03-31 23:46 ` Mark Mitchell
0 siblings, 2 replies; 10+ messages in thread
From: Mark Mitchell @ 1999-03-15 0:30 UTC (permalink / raw)
To: leei; +Cc: egcs, egcs-patches
Here's another patch, a bit more circumspect than Lee's, which also
fixes the MIPS bootstrap. I've tested this patch with a 3-stage
bootstrap on mpis-sgi-irix6.5.
Jeff?
--
Mark Mitchell mark@markmitchell.com
Mark Mitchell Consulting http://www.markmitchell.com
Mon Mar 15 00:32:30 1999 Mark Mitchell <mark@markmitchell.com>
* reload.c (find_reloads): Add a REG_LABEL note if we substitute a
LABEL_REF for something else.
Index: reload.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload.c,v
retrieving revision 1.68
diff -c -p -r1.68 reload.c
*** reload.c 1999/03/05 15:07:56 1.68
--- reload.c 1999/03/15 08:27:21
*************** find_reloads (insn, replace, ind_levels,
*** 3854,3860 ****
reload_{in,out}_reg when we do these replacements. */
if (replace)
! *recog_operand_loc[i] = substed_operand[i];
else
retval |= (substed_operand[i] != *recog_operand_loc[i]);
}
--- 3854,3874 ----
reload_{in,out}_reg when we do these replacements. */
if (replace)
! {
! rtx substitution = substed_operand[i];
!
! *recog_operand_loc[i] = substitution;
!
! /* If we're replacing an operand with a LABEL_REF, we need
! to make sure that there's a REG_LABEL note attached to
! this instruction. */
! if (GET_CODE (insn) != JUMP_INSN
! && GET_CODE (substitution) == LABEL_REF
! && !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0)))
! REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
! XEXP (substitution, 0),
! REG_NOTES (insn));
! }
else
retval |= (substed_operand[i] != *recog_operand_loc[i]);
}
^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >]
* Re: MIPS test failures
[not found] ` < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >
@ 1999-03-15 9:19 ` Jeffrey A Law
1999-03-31 23:46 ` Jeffrey A Law
0 siblings, 1 reply; 10+ messages in thread
From: Jeffrey A Law @ 1999-03-15 9:19 UTC (permalink / raw)
To: mark; +Cc: leei, egcs, egcs-patches
In message < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >you wri
te:
>
> Here's another patch, a bit more circumspect than Lee's, which also
> fixes the MIPS bootstrap. I've tested this patch with a 3-stage
> bootstrap on mpis-sgi-irix6.5.
>
> Jeff?
>
> --
> Mark Mitchell mark@markmitchell.com
> Mark Mitchell Consulting http://www.markmitchell.com
>
> Mon Mar 15 00:32:30 1999 Mark Mitchell <mark@markmitchell.com>
>
> * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
> LABEL_REF for something else.
I like this one a little better. It's reload that creates the new LABEL_REFs
and keeping them up-to-date should be pretty easy since the number of ways we
can create a new non-jumping LABEL_REF are pretty limited.
I'd made a quick unsuccessful attempt to fix this on Friday (I noted the same
basic bug crept into 3 of systems I was hacking friday -- hppa, mips & mn103).
I'm going to go ahead and install this change.
Thanks!
jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: MIPS test failures
1999-03-15 9:19 ` Jeffrey A Law
@ 1999-03-31 23:46 ` Jeffrey A Law
0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey A Law @ 1999-03-31 23:46 UTC (permalink / raw)
To: mark; +Cc: leei, egcs, egcs-patches
In message < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >you wri
te:
>
> Here's another patch, a bit more circumspect than Lee's, which also
> fixes the MIPS bootstrap. I've tested this patch with a 3-stage
> bootstrap on mpis-sgi-irix6.5.
>
> Jeff?
>
> --
> Mark Mitchell mark@markmitchell.com
> Mark Mitchell Consulting http://www.markmitchell.com
>
> Mon Mar 15 00:32:30 1999 Mark Mitchell <mark@markmitchell.com>
>
> * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
> LABEL_REF for something else.
I like this one a little better. It's reload that creates the new LABEL_REFs
and keeping them up-to-date should be pretty easy since the number of ways we
can create a new non-jumping LABEL_REF are pretty limited.
I'd made a quick unsuccessful attempt to fix this on Friday (I noted the same
basic bug crept into 3 of systems I was hacking friday -- hppa, mips & mn103).
I'm going to go ahead and install this change.
Thanks!
jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: MIPS test failures
1999-03-15 0:30 ` Mark Mitchell
[not found] ` < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >
@ 1999-03-31 23:46 ` Mark Mitchell
1 sibling, 0 replies; 10+ messages in thread
From: Mark Mitchell @ 1999-03-31 23:46 UTC (permalink / raw)
To: leei; +Cc: egcs, egcs-patches
Here's another patch, a bit more circumspect than Lee's, which also
fixes the MIPS bootstrap. I've tested this patch with a 3-stage
bootstrap on mpis-sgi-irix6.5.
Jeff?
--
Mark Mitchell mark@markmitchell.com
Mark Mitchell Consulting http://www.markmitchell.com
Mon Mar 15 00:32:30 1999 Mark Mitchell <mark@markmitchell.com>
* reload.c (find_reloads): Add a REG_LABEL note if we substitute a
LABEL_REF for something else.
Index: reload.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload.c,v
retrieving revision 1.68
diff -c -p -r1.68 reload.c
*** reload.c 1999/03/05 15:07:56 1.68
--- reload.c 1999/03/15 08:27:21
*************** find_reloads (insn, replace, ind_levels,
*** 3854,3860 ****
reload_{in,out}_reg when we do these replacements. */
if (replace)
! *recog_operand_loc[i] = substed_operand[i];
else
retval |= (substed_operand[i] != *recog_operand_loc[i]);
}
--- 3854,3874 ----
reload_{in,out}_reg when we do these replacements. */
if (replace)
! {
! rtx substitution = substed_operand[i];
!
! *recog_operand_loc[i] = substitution;
!
! /* If we're replacing an operand with a LABEL_REF, we need
! to make sure that there's a REG_LABEL note attached to
! this instruction. */
! if (GET_CODE (insn) != JUMP_INSN
! && GET_CODE (substitution) == LABEL_REF
! && !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0)))
! REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
! XEXP (substitution, 0),
! REG_NOTES (insn));
! }
else
retval |= (substed_operand[i] != *recog_operand_loc[i]);
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: MIPS test failures
1999-03-12 18:20 ` Lee Iverson
[not found] ` < 199903130220.SAA16668@Canada.AI.SRI.COM >
@ 1999-03-31 23:46 ` Lee Iverson
1 sibling, 0 replies; 10+ messages in thread
From: Lee Iverson @ 1999-03-31 23:46 UTC (permalink / raw)
To: mark; +Cc: egcs, egcs-patches
In message < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net > you writ
e:
>
> Folks --
>
> What's the status of the problem that's causing many MIPS C++ tests to
> fail at the moment? For example, g++.brendan/copy3.C reports an error
> involving an undefined `.Lxxx' symbol at link-time on
> mips-sgi-irix6.5. Do we know what the problem is? Do we know how to
> fix it?
>
> I need to fix this problem soon, so I'm happy to look at it if nobody
> else is going to, but I'd like to avoid duplicating work.
The fix in
http://egcs.cygnus.com/ml/egcs-patches/1999-03/msg00206.html
solves the problem but seems to be overkill to me.
I managed a good bootstrap on mips-sgi-irix6.3 with the following patches.
-------------------------------------------------------------------------------
Lee Iverson SRI International
leei@ai.sri.com 333 Ravenswood Ave., Menlo Park CA 94025
http://www.ai.sri.com/~leei/ (650) 859-3307
1999-03-12 Lee Iverson <leei@Canada.AI.SRI.COM>
* jump.c (restore_reg_labels_1): New function. Searches for
label_refs and restores REG_LABEL notes as appropriate.
(restore_reg_labels): New function. Restores any lost
REG_LABEL notes to an instruction.
* reload1.c (reload): Call restore_reg_label to restore REG_LABEL
notes which may have been destroyed.
Index: jump.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/jump.c,v
retrieving revision 1.55
diff -p -u -r1.55 jump.c
--- jump.c 1999/03/10 19:45:18 1.55
+++ jump.c 1999/03/13 02:09:28
@@ -3726,6 +3726,95 @@ mark_jump_label (x, insn, cross_jump)
}
}
+/* Iterate over all components of X that might contain a LABEL_REF, adding
+ REG_LABEL notes to the INSN if not already there. */
+
+static void
+restore_reg_labels_1 (x, insn)
+ rtx x, insn;
+{
+ register RTX_CODE code = GET_CODE (x);
+ register int i;
+ register char *fmt;
+
+ switch (code)
+ {
+ case PC:
+ case CC0:
+ case REG:
+ case SUBREG:
+ case CONST_INT:
+ case SYMBOL_REF:
+ case CONST_DOUBLE:
+ case CLOBBER:
+ case CALL:
+ /* Is this correct? Are REG_LABELs never generated for ADDR_VECs? */
+ case ADDR_VEC:
+ case ADDR_DIFF_VEC:
+ return;
+
+ case MEM:
+ /* If this is a constant-pool reference, see if it is a label. */
+ if (GET_CODE (XEXP (x, 0)) == SYMBOL_REF
+ && CONSTANT_POOL_ADDRESS_P (XEXP (x, 0)))
+ restore_reg_labels_1 (get_pool_constant (XEXP (x, 0)), insn);
+ break;
+
+ case LABEL_REF:
+ {
+ rtx label = XEXP (x, 0);
+ rtx note;
+
+ if (GET_CODE (label) != CODE_LABEL)
+ abort ();
+
+ /* Ignore references to labels of containing functions. */
+ if (LABEL_REF_NONLOCAL_P (x))
+ break;
+
+ if (GET_CODE (insn) == JUMP_INSN)
+ ;
+
+ /* Otherwise, add a REG_LABEL note for LABEL unless there already
+ is one. */
+ else if (! find_reg_note (insn, REG_LABEL, label))
+ {
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL, label,
+ REG_NOTES (insn));
+ }
+
+ return;
+ }
+
+ default:
+ break;
+ }
+
+ fmt = GET_RTX_FORMAT (code);
+ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
+ {
+ if (fmt[i] == 'e')
+ restore_reg_labels_1 (XEXP (x, i), insn);
+ else if (fmt[i] == 'E')
+ {
+ register int j;
+ for (j = 0; j < XVECLEN (x, i); j++)
+ restore_reg_labels_1 (XVECEXP (x, i, j), insn);
+ }
+ }
+}
+
+/* If the REG_LABEL notes may have been deleted from an INSN, then call this
+ to reestablish them. */
+
+void
+restore_reg_labels (insn)
+ rtx insn;
+{
+ if (! INSN_DELETED_P (insn))
+ restore_reg_labels_1 (PATTERN (insn), insn);
+}
+
/* If all INSN does is set the pc, delete it,
and delete the insn that set the condition codes for it
if that's what the previous thing was. */
Index: reload1.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload1.c,v
retrieving revision 1.135
diff -p -u -r1.135 reload1.c
--- reload1.c 1999/03/12 12:39:59 1.135
+++ reload1.c 1999/03/13 02:09:29
@@ -1157,6 +1157,9 @@ reload (first, global, dumpfile)
pnote = &XEXP (*pnote, 1);
}
+ /* Restore any REG_LABEL notes which are now missing. */
+ restore_reg_labels (insn);
+
/* And simplify (subreg (reg)) if it appears as an operand. */
cleanup_subreg_operands (insn);
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* MIPS test failures
1999-03-12 7:54 MIPS test failures Mark Mitchell
[not found] ` < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net >
@ 1999-03-31 23:46 ` Mark Mitchell
1 sibling, 0 replies; 10+ messages in thread
From: Mark Mitchell @ 1999-03-31 23:46 UTC (permalink / raw)
To: egcs
Folks --
What's the status of the problem that's causing many MIPS C++ tests to
fail at the moment? For example, g++.brendan/copy3.C reports an error
involving an undefined `.Lxxx' symbol at link-time on
mips-sgi-irix6.5. Do we know what the problem is? Do we know how to
fix it?
I need to fix this problem soon, so I'm happy to look at it if nobody
else is going to, but I'd like to avoid duplicating work.
Thanks!
--
Mark Mitchell mark@markmitchell.com
Mark Mitchell Consulting http://www.markmitchell.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: MIPS test failures
@ 1999-03-15 17:51 Billinghurst, David (RTD)
1999-03-31 23:46 ` Billinghurst, David (RTD)
0 siblings, 1 reply; 10+ messages in thread
From: Billinghurst, David (RTD) @ 1999-03-15 17:51 UTC (permalink / raw)
To: 'mark@markmitchell.com'; +Cc: egcs, egcs-patches
Works for me on irix6.2 with patch applied to egcs-19990314
=== g++ tests ===
Running target unix
FAIL: g++.dg/special/conpr-1.C execution test
FAIL: g++.dg/special/conpr-2.C execution test
FAIL: g++.dg/special/conpr-3.C execution test
FAIL: g++.dg/special/conpr-3.C execution test
XPASS: g++.pt/instantiate6.C (test for excess errors)
=== g++ Summary ===
# of expected passes 4977
# of unexpected failures 4
# of unexpected successes 1
# of expected failures 84
# of untested testcases 8
/exd4/billingd/obj/egcs-19990314/gcc/testsuite/../xgcc version egcs-2.93.12
19990314 (gcc2 ss-980929 experimental)
> -----Original Message-----
> From: Mark Mitchell [SMTP:mark@markmitchell.com]
> Sent: Monday, March 15, 1999 7:34 PM
> To: leei@ai.sri.com
> Cc: egcs@egcs.cygnus.com; egcs-patches@egcs.cygnus.com
> Subject: Re: MIPS test failures
>
>
> Here's another patch, a bit more circumspect than Lee's, which also
> fixes the MIPS bootstrap. I've tested this patch with a 3-stage
> bootstrap on mpis-sgi-irix6.5.
>
> Jeff?
>
> --
> Mark Mitchell mark@markmitchell.com
> Mark Mitchell Consulting http://www.markmitchell.com
>
> Mon Mar 15 00:32:30 1999 Mark Mitchell <mark@markmitchell.com>
>
> * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
> LABEL_REF for something else.
>
> Index: reload.c
> ===================================================================
> RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload.c,v
> retrieving revision 1.68
> diff -c -p -r1.68 reload.c
> *** reload.c 1999/03/05 15:07:56 1.68
> --- reload.c 1999/03/15 08:27:21
> *************** find_reloads (insn, replace, ind_levels,
> *** 3854,3860 ****
> reload_{in,out}_reg when we do these replacements. */
>
> if (replace)
> ! *recog_operand_loc[i] = substed_operand[i];
> else
> retval |= (substed_operand[i] != *recog_operand_loc[i]);
> }
> --- 3854,3874 ----
> reload_{in,out}_reg when we do these replacements. */
>
> if (replace)
> ! {
> ! rtx substitution = substed_operand[i];
> !
> ! *recog_operand_loc[i] = substitution;
> !
> ! /* If we're replacing an operand with a LABEL_REF, we need
> ! to make sure that there's a REG_LABEL note attached to
> ! this instruction. */
> ! if (GET_CODE (insn) != JUMP_INSN
> ! && GET_CODE (substitution) == LABEL_REF
> ! && !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0)))
> ! REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
> ! XEXP (substitution, 0),
> ! REG_NOTES (insn));
> ! }
> else
> retval |= (substed_operand[i] != *recog_operand_loc[i]);
> }
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: MIPS test failures
1999-03-15 17:51 Billinghurst, David (RTD)
@ 1999-03-31 23:46 ` Billinghurst, David (RTD)
0 siblings, 0 replies; 10+ messages in thread
From: Billinghurst, David (RTD) @ 1999-03-31 23:46 UTC (permalink / raw)
To: 'mark@markmitchell.com'; +Cc: egcs, egcs-patches
Works for me on irix6.2 with patch applied to egcs-19990314
=== g++ tests ===
Running target unix
FAIL: g++.dg/special/conpr-1.C execution test
FAIL: g++.dg/special/conpr-2.C execution test
FAIL: g++.dg/special/conpr-3.C execution test
FAIL: g++.dg/special/conpr-3.C execution test
XPASS: g++.pt/instantiate6.C (test for excess errors)
=== g++ Summary ===
# of expected passes 4977
# of unexpected failures 4
# of unexpected successes 1
# of expected failures 84
# of untested testcases 8
/exd4/billingd/obj/egcs-19990314/gcc/testsuite/../xgcc version egcs-2.93.12
19990314 (gcc2 ss-980929 experimental)
> -----Original Message-----
> From: Mark Mitchell [SMTP:mark@markmitchell.com]
> Sent: Monday, March 15, 1999 7:34 PM
> To: leei@ai.sri.com
> Cc: egcs@egcs.cygnus.com; egcs-patches@egcs.cygnus.com
> Subject: Re: MIPS test failures
>
>
> Here's another patch, a bit more circumspect than Lee's, which also
> fixes the MIPS bootstrap. I've tested this patch with a 3-stage
> bootstrap on mpis-sgi-irix6.5.
>
> Jeff?
>
> --
> Mark Mitchell mark@markmitchell.com
> Mark Mitchell Consulting http://www.markmitchell.com
>
> Mon Mar 15 00:32:30 1999 Mark Mitchell <mark@markmitchell.com>
>
> * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
> LABEL_REF for something else.
>
> Index: reload.c
> ===================================================================
> RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload.c,v
> retrieving revision 1.68
> diff -c -p -r1.68 reload.c
> *** reload.c 1999/03/05 15:07:56 1.68
> --- reload.c 1999/03/15 08:27:21
> *************** find_reloads (insn, replace, ind_levels,
> *** 3854,3860 ****
> reload_{in,out}_reg when we do these replacements. */
>
> if (replace)
> ! *recog_operand_loc[i] = substed_operand[i];
> else
> retval |= (substed_operand[i] != *recog_operand_loc[i]);
> }
> --- 3854,3874 ----
> reload_{in,out}_reg when we do these replacements. */
>
> if (replace)
> ! {
> ! rtx substitution = substed_operand[i];
> !
> ! *recog_operand_loc[i] = substitution;
> !
> ! /* If we're replacing an operand with a LABEL_REF, we need
> ! to make sure that there's a REG_LABEL note attached to
> ! this instruction. */
> ! if (GET_CODE (insn) != JUMP_INSN
> ! && GET_CODE (substitution) == LABEL_REF
> ! && !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0)))
> ! REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
> ! XEXP (substitution, 0),
> ! REG_NOTES (insn));
> ! }
> else
> retval |= (substed_operand[i] != *recog_operand_loc[i]);
> }
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~1999-03-31 23:46 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-12 7:54 MIPS test failures Mark Mitchell
[not found] ` < 199903121557.HAA07434@adsl-206-170-148-33.dsl.pacbell.net >
1999-03-12 18:20 ` Lee Iverson
[not found] ` < 199903130220.SAA16668@Canada.AI.SRI.COM >
1999-03-15 0:30 ` Mark Mitchell
[not found] ` < 199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net >
1999-03-15 9:19 ` Jeffrey A Law
1999-03-31 23:46 ` Jeffrey A Law
1999-03-31 23:46 ` Mark Mitchell
1999-03-31 23:46 ` Lee Iverson
1999-03-31 23:46 ` Mark Mitchell
1999-03-15 17:51 Billinghurst, David (RTD)
1999-03-31 23:46 ` Billinghurst, David (RTD)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).