public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "zadeck at naturalbridge dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/32355] [4.3 Regression] ICE in df_lr_verify_transfer_functions, at df-problems.c:1924
Date: Mon, 18 Jun 2007 16:49:00 -0000	[thread overview]
Message-ID: <20070618164851.26424.qmail@sourceware.org> (raw)
In-Reply-To: <bug-32355-12387@http.gcc.gnu.org/bugzilla/>



------- Comment #4 from zadeck at naturalbridge dot com  2007-06-18 16:48 -------
Subject: Re:  [4.3 Regression] ICE in df_lr_verify_transfer_functions,
 at df-problems.c:1924

committed as revision 125812

zadeck at naturalbridge dot com wrote:
> ------- Comment #1 from zadeck at naturalbridge dot com  2007-06-17 20:13 -------
> Subject: Re:  [4.3 Regression] ICE in df_lr_verify_transfer_functions,
>  at df-problems.c:1924
>
> There are possibly two problems here.  Fixing the first one fixes this ice.
>
> The first problem is that after a call to cse_main, a call to
> df_finish_pass is needed to get out of deferred rescanning mode and get
> everything up to date. 
>
> The possible second problem is that something in one of
>
> delete_trivially_dead_insns
> rebuild_jump_labels
> cleanup_cfg
>
> may not work in deferred rescanning mode.  This will wait for another
> bug report.
> It is too hard to debug this without first cleaning up what cse_main did
> and that makes the bug go away.
>
> ok to commit?
>
> Kenny
>
> 2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>
>
>     PR middle-end/32355
>     * gcse (rest_of_handle_gcse): Add call to df_finish_pass after
>     cse_main.
>     * df-problems.c (df_note_bb_compute): Fix dumping info.
>
> 2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>
>
>     * gcc.c-torture/compile/pr32355.c: New testcase.
>
> Index: testsuite/gcc.c-torture/compile/pr32355.c
> ===================================================================
> --- testsuite/gcc.c-torture/compile/pr32355.c   (revision 0)
> +++ testsuite/gcc.c-torture/compile/pr32355.c   (revision 0)
> @@ -0,0 +1,33 @@
> +/* { dg-options "-O3" } */
> +
> +typedef struct
> +{
> +}
> +__sigset_t;
> +typedef struct
> +{
> +    char coredump;
> +}
> +EMode;
> +extern EMode Mode;
> +struct sigaction
> +{
> +  __sigset_t sa_mask;
> +  int sa_flags;
> +};
> +doSignalsSetup (void)
> +{
> +  static const int signals[] = {
> +    1, 2 , 3, 4, 6, 8, 11, 13, 14, 15, 10, 12, 17, 7
> +  };
> +  unsigned int i, sig;
> +  struct sigaction sa;
> +  for (i = 0; i < sizeof (signals) / sizeof (int); i++)
> +    {
> +      sig = signals[i];
> +      if (Mode.coredump && (sig == 4 || sig == 8))
> +        continue;
> +      sa.sa_flags = (sig == 17);
> +      sigemptyset (&sa.sa_mask);
> +    }
> +}
> Index: gcse.c
> ===================================================================
> --- gcse.c      (revision 125777)
> +++ gcse.c      (working copy)
> @@ -6704,6 +6704,7 @@ rest_of_handle_gcse (void)
>      {
>        timevar_push (TV_CSE);
>        tem2 = cse_main (get_insns (), max_reg_num ());
> +      df_finish_pass ();
>        purge_all_dead_edges ();
>        delete_trivially_dead_insns (get_insns (), max_reg_num ());
>        timevar_pop (TV_CSE);
> Index: df-problems.c
> ===================================================================
> --- df-problems.c       (revision 125777)
> +++ df-problems.c       (working copy)
> @@ -3867,8 +3867,10 @@ df_note_bb_compute (unsigned int bb_inde
>    for (def_rec = df_get_artificial_defs (bb_index); *def_rec; def_rec++)
>      {
>        struct df_ref *def = *def_rec;
> +#ifdef REG_DEAD_DEBUGGING
>        if (dump_file)
>         fprintf (dump_file, "artificial def %d\n", DF_REF_REGNO (def));
> +#endif
>
>        if ((DF_REF_FLAGS (def) & DF_REF_AT_TOP) == 0)
>         bitmap_clear_bit (live, DF_REF_REGNO (def));
>
>
>   


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32355


  parent reply	other threads:[~2007-06-18 16:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-15 15:09 [Bug rtl-optimization/32355] New: " tbm at cyrius dot com
2007-06-15 15:17 ` [Bug rtl-optimization/32355] " pinskia at gcc dot gnu dot org
2007-06-17 20:13 ` zadeck at naturalbridge dot com
2007-06-18  4:41 ` paolo dot bonzini at lu dot unisi dot ch
2007-06-18 16:47 ` zadeck at gcc dot gnu dot org
2007-06-18 16:49 ` zadeck at naturalbridge dot com [this message]
2007-06-18 16:50 ` zadeck at naturalbridge dot com

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=20070618164851.26424.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.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).