From: Richard Henderson <rth@redhat.com>
To: Corey Minyard <minyard@acm.org>
Cc: gcc@gcc.gnu.org
Subject: Re: Loop optimization bug with Ada front end on PPC (and probably Alpha)
Date: Mon, 19 Nov 2001 13:53:00 -0000 [thread overview]
Message-ID: <20011127153020.A30273@redhat.com> (raw)
In-Reply-To: <3C041C3F.3030508@acm.org>; from minyard@acm.org on Tue, Nov 27, 2001 at 05:05:35PM -0600
On Tue, Nov 27, 2001 at 05:05:35PM -0600, Corey Minyard wrote:
> You will need to set the bl variable a little differently, in case its a
> GIV. I've attached a patch. That was the cause of my segv earlier.
Ug. I should have done a complete bootstrap with ia64 as well --
Seems that some cases the BIV initializer is constructed by loop,
or something. In any case, INSN_LUID aborts.
> Bootstrapping again....
Me too. Current patch appended.
r~
Index: doloop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doloop.c,v
retrieving revision 1.13
diff -c -p -d -r1.13 doloop.c
*** doloop.c 2001/11/27 22:09:10 1.13
--- doloop.c 2001/11/27 23:29:17
*************** doloop_modify_runtime (loop, iterations_
*** 622,631 ****
if (loop->scan_start)
{
struct loop_ivs *ivs = LOOP_IVS (loop);
! struct iv_class *bl
! = REG_IV_CLASS (ivs, REGNO (loop_info->iteration_var));
! if (INSN_LUID (bl->biv->insn) < INSN_LUID (loop->scan_start))
{
if (loop_dump_stream)
fprintf (loop_dump_stream,
--- 622,642 ----
if (loop->scan_start)
{
struct loop_ivs *ivs = LOOP_IVS (loop);
! struct iv_class *bl;
! if (REG_IV_TYPE (ivs, REGNO (iteration_var)) == BASIC_INDUCT)
! bl = REG_IV_CLASS (ivs, REGNO (iteration_var));
! else if (REG_IV_TYPE (ivs, REGNO (iteration_var)) == GENERAL_INDUCT)
! {
! struct induction *v = REG_IV_INFO (ivs, REGNO (iteration_var));
! bl = REG_IV_CLASS (ivs, REGNO (v->src_reg));
! }
! else
! /* Iteration var must be an induction variable to get here. */
! abort();
!
! if (INSN_UID (bl->biv->insn) < max_uid_for_loop
! && INSN_LUID (bl->biv->insn) < INSN_LUID (loop->scan_start))
{
if (loop_dump_stream)
fprintf (loop_dump_stream,
WARNING: multiple messages have this Message-ID
From: Richard Henderson <rth@redhat.com>
To: Corey Minyard <minyard@acm.org>
Cc: gcc@gcc.gnu.org
Subject: Re: Loop optimization bug with Ada front end on PPC (and probably Alpha)
Date: Tue, 27 Nov 2001 15:31:00 -0000 [thread overview]
Message-ID: <20011127153020.A30273@redhat.com> (raw)
Message-ID: <20011127153100.J2d5wDKGtgvi0kbNVBR8T4LSLApa6fByckoUZtFZ9zs@z> (raw)
In-Reply-To: <3C041C3F.3030508@acm.org>
On Tue, Nov 27, 2001 at 05:05:35PM -0600, Corey Minyard wrote:
> You will need to set the bl variable a little differently, in case its a
> GIV. I've attached a patch. That was the cause of my segv earlier.
Ug. I should have done a complete bootstrap with ia64 as well --
Seems that some cases the BIV initializer is constructed by loop,
or something. In any case, INSN_LUID aborts.
> Bootstrapping again....
Me too. Current patch appended.
r~
Index: doloop.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doloop.c,v
retrieving revision 1.13
diff -c -p -d -r1.13 doloop.c
*** doloop.c 2001/11/27 22:09:10 1.13
--- doloop.c 2001/11/27 23:29:17
*************** doloop_modify_runtime (loop, iterations_
*** 622,631 ****
if (loop->scan_start)
{
struct loop_ivs *ivs = LOOP_IVS (loop);
! struct iv_class *bl
! = REG_IV_CLASS (ivs, REGNO (loop_info->iteration_var));
! if (INSN_LUID (bl->biv->insn) < INSN_LUID (loop->scan_start))
{
if (loop_dump_stream)
fprintf (loop_dump_stream,
--- 622,642 ----
if (loop->scan_start)
{
struct loop_ivs *ivs = LOOP_IVS (loop);
! struct iv_class *bl;
! if (REG_IV_TYPE (ivs, REGNO (iteration_var)) == BASIC_INDUCT)
! bl = REG_IV_CLASS (ivs, REGNO (iteration_var));
! else if (REG_IV_TYPE (ivs, REGNO (iteration_var)) == GENERAL_INDUCT)
! {
! struct induction *v = REG_IV_INFO (ivs, REGNO (iteration_var));
! bl = REG_IV_CLASS (ivs, REGNO (v->src_reg));
! }
! else
! /* Iteration var must be an induction variable to get here. */
! abort();
!
! if (INSN_UID (bl->biv->insn) < max_uid_for_loop
! && INSN_LUID (bl->biv->insn) < INSN_LUID (loop->scan_start))
{
if (loop_dump_stream)
fprintf (loop_dump_stream,
next prev parent reply other threads:[~2001-11-27 23:31 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-13 5:20 Corey Minyard
2001-11-13 6:05 ` David Edelsohn
2001-11-14 8:05 ` Corey Minyard
2001-11-13 8:02 ` guerby
2001-11-13 9:48 ` Corey Minyard
2001-11-16 22:19 ` David Edelsohn
2001-11-26 7:39 ` David Edelsohn
2001-11-15 0:48 ` Richard Henderson
2001-11-15 14:19 ` Andreas Schwab
2001-11-15 16:20 ` Richard Henderson
2001-11-25 12:23 ` Richard Henderson
2001-11-18 9:18 ` Richard Henderson
2001-11-27 0:02 ` Richard Henderson
2001-11-25 8:57 ` Andreas Schwab
2001-11-15 18:02 ` Corey Minyard
2001-11-15 19:37 ` Richard Henderson
2001-11-25 15:52 ` Richard Henderson
2001-11-16 3:13 ` Richard Henderson
2001-11-16 3:42 ` Corey Minyard
2001-11-16 8:54 ` Bryce McKinlay
2001-11-26 0:47 ` Bryce McKinlay
2001-11-25 20:27 ` Corey Minyard
2001-11-17 1:33 ` Corey Minyard
2001-11-17 6:09 ` Corey Minyard
2001-11-26 10:22 ` Corey Minyard
2001-11-17 11:51 ` Richard Henderson
2001-11-17 15:20 ` Corey Minyard
2001-11-26 14:45 ` Corey Minyard
2001-11-18 5:15 ` Corey Minyard
2001-11-18 8:59 ` Richard Henderson
2001-11-19 2:58 ` Corey Minyard
2001-11-19 3:11 ` Richard Henderson
2001-11-19 5:36 ` Corey Minyard
2001-11-19 7:48 ` Richard Henderson
2001-11-19 7:58 ` Corey Minyard
2001-11-19 9:43 ` Richard Henderson
2001-11-19 12:44 ` Corey Minyard
2001-11-19 13:53 ` Richard Henderson [this message]
2001-11-20 11:20 ` Corey Minyard
2001-11-27 19:57 ` Corey Minyard
2001-11-27 15:31 ` Richard Henderson
2001-11-27 15:04 ` Corey Minyard
2001-11-27 14:27 ` Richard Henderson
2001-11-27 13:25 ` Corey Minyard
2001-11-27 12:58 ` Richard Henderson
2001-11-27 11:51 ` Corey Minyard
2001-11-27 10:29 ` Richard Henderson
2001-11-27 10:08 ` Corey Minyard
2001-11-26 23:18 ` Richard Henderson
2001-11-26 17:15 ` Corey Minyard
2001-11-26 13:49 ` Richard Henderson
2001-11-26 8:58 ` Corey Minyard
2001-11-25 17:58 ` Richard Henderson
2001-11-25 15:06 ` Corey Minyard
2001-11-15 18:47 Richard Kenner
2001-11-25 15:13 ` Richard Kenner
2001-11-15 19:05 dewar
2001-11-25 15:20 ` dewar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20011127153020.A30273@redhat.com \
--to=rth@redhat.com \
--cc=gcc@gcc.gnu.org \
--cc=minyard@acm.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).