public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH]: Get IPA PTA working again
@ 2008-06-27 16:15 Daniel Berlin
  2008-06-27 18:29 ` Jan Hubicka
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Berlin @ 2008-06-27 16:15 UTC (permalink / raw)
  To: gcc-patches, Jan Hubicka

[-- Attachment #1: Type: text/plain, Size: 495 bytes --]

This makes IPA pta stop crashing due to stmts being marked as modified.


Jan, maybe you could explain to me why the TODO_update_ssa we have in
the todo_finish flags doesn't make this work?

(It would also be nice to document the difference between
SIMPLE_IPA_PASS and IPA_PASS, since i went down the road of seeing if
that would fix the issue).

--Dan


2008-06-27  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c (find_func_aliases): Trivial fix to get
	ipa-pta working again.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ipapta.diff --]
[-- Type: text/x-patch; name=ipapta.diff, Size: 562 bytes --]

Index: tree-ssa-structalias.c
===================================================================
--- tree-ssa-structalias.c	(revision 137180)
+++ tree-ssa-structalias.c	(working copy)
@@ -3897,7 +3897,8 @@ find_func_aliases (tree origt)
      need to re-scan most statements.  FIXME: Try to minimize the
      number of statements re-scanned.  It's not really necessary to
      re-scan *all* statements.  */
-  mark_stmt_modified (origt);
+  if (!in_ipa_mode)
+    mark_stmt_modified (origt);
   VEC_free (ce_s, heap, rhsc);
   VEC_free (ce_s, heap, lhsc);
 }

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH]: Get IPA PTA working again
  2008-06-27 16:15 [PATCH]: Get IPA PTA working again Daniel Berlin
@ 2008-06-27 18:29 ` Jan Hubicka
  2008-06-27 19:19   ` Daniel Berlin
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Hubicka @ 2008-06-27 18:29 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: gcc-patches, Jan Hubicka

> This makes IPA pta stop crashing due to stmts being marked as modified.
> 
> 
> Jan, maybe you could explain to me why the TODO_update_ssa we have in
> the todo_finish flags doesn't make this work?

TODO_update_ssa ought to trigger updating on all function bodies.  How
does it fails for you?
> 
> (It would also be nice to document the difference between
> SIMPLE_IPA_PASS and IPA_PASS, since i went down the road of seeing if
> that would fix the issue).

I will add some docs into tree-pass.h.  It should not make any
difference in this.

Honza
> 
> --Dan
> 
> 
> 2008-06-27  Daniel Berlin  <dberlin@dberlin.org>
> 
> 	* tree-ssa-structalias.c (find_func_aliases): Trivial fix to get
> 	ipa-pta working again.

> Index: tree-ssa-structalias.c
> ===================================================================
> --- tree-ssa-structalias.c	(revision 137180)
> +++ tree-ssa-structalias.c	(working copy)
> @@ -3897,7 +3897,8 @@ find_func_aliases (tree origt)
>       need to re-scan most statements.  FIXME: Try to minimize the
>       number of statements re-scanned.  It's not really necessary to
>       re-scan *all* statements.  */
> -  mark_stmt_modified (origt);
> +  if (!in_ipa_mode)
> +    mark_stmt_modified (origt);
>    VEC_free (ce_s, heap, rhsc);
>    VEC_free (ce_s, heap, lhsc);
>  }

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH]: Get IPA PTA working again
  2008-06-27 18:29 ` Jan Hubicka
@ 2008-06-27 19:19   ` Daniel Berlin
  2008-06-27 19:22     ` Jan Hubicka
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Berlin @ 2008-06-27 19:19 UTC (permalink / raw)
  To: Jan Hubicka; +Cc: gcc-patches

On Fri, Jun 27, 2008 at 2:21 PM, Jan Hubicka <jh@suse.cz> wrote:
>> This makes IPA pta stop crashing due to stmts being marked as modified.
>>
>>
>> Jan, maybe you could explain to me why the TODO_update_ssa we have in
>> the todo_finish flags doesn't make this work?
>
> TODO_update_ssa ought to trigger updating on all function bodies.  How
> does it fails for you?

TODO_update_ssa should also end up marking all the statements as not
modified because it calls update_stmt.

We have TODO_update_ssa in the finish flags of ipa_pta, but it either
isn't running, or verifier is verifying each function individually
before running finish flag.

The symptom is that if you remove the patch i just committed, it will
complain that we have marked statements modified.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH]: Get IPA PTA working again
  2008-06-27 19:19   ` Daniel Berlin
@ 2008-06-27 19:22     ` Jan Hubicka
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Hubicka @ 2008-06-27 19:22 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Jan Hubicka, gcc-patches

> On Fri, Jun 27, 2008 at 2:21 PM, Jan Hubicka <jh@suse.cz> wrote:
> >> This makes IPA pta stop crashing due to stmts being marked as modified.
> >>
> >>
> >> Jan, maybe you could explain to me why the TODO_update_ssa we have in
> >> the todo_finish flags doesn't make this work?
> >
> > TODO_update_ssa ought to trigger updating on all function bodies.  How
> > does it fails for you?
> 
> TODO_update_ssa should also end up marking all the statements as not
> modified because it calls update_stmt.
> 
> We have TODO_update_ssa in the finish flags of ipa_pta, but it either
> isn't running, or verifier is verifying each function individually
> before running finish flag.

Yep, it will do update_ssa and verification in seqeunce on each function
individually.
Well, modified statements from other function should not hurt, right?
I will look into it.
Honza
> 
> The symptom is that if you remove the patch i just committed, it will
> complain that we have marked statements modified.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-06-27 19:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-27 16:15 [PATCH]: Get IPA PTA working again Daniel Berlin
2008-06-27 18:29 ` Jan Hubicka
2008-06-27 19:19   ` Daniel Berlin
2008-06-27 19:22     ` Jan Hubicka

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).