Hi,
this is patch I comitted fixing ipa-inline-analysis.  Stil I guess we should
fill in PR for missed optimization and solve the forwprop issue?

Honza

Index: ChangeLog
===================================================================
*** ChangeLog   (revision 178523)
--- ChangeLog   (working copy)
***************
*** 1,3 ****
--- 1,8 ----
+ 2011-09-04  Jan Hubicka  <j...@suse.cz>
+ 
+       * ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
+       parameter is SSA name.
+ 
  2011-09-04  Richard Guenther  <rguent...@suse.de>
  
        Revert
Index: testsuite/gcc.c-torture/compile/20110902.c
===================================================================
*** testsuite/gcc.c-torture/compile/20110902.c  (revision 0)
--- testsuite/gcc.c-torture/compile/20110902.c  (revision 0)
***************
*** 0 ****
--- 1,14 ----
+ static inline __attribute__((always_inline)) int f (unsigned int n, unsigned 
int size)
+ {
+  return (__builtin_constant_p (size != 0 && n > ~0 / size)
+          ? !!(size != 0 && n > ~0 / size)
+          : ({ static unsigned int count[2] = { 0, 0 };
+               int r = !!(size != 0 && n > ~0 / size);
+               count[r]++;
+               r; }));
+ }
+ 
+ int g (unsigned int size)
+ {
+  return f (size / 4096, 4);
+ }
Index: testsuite/ChangeLog
===================================================================
*** testsuite/ChangeLog (revision 178523)
--- testsuite/ChangeLog (working copy)
***************
*** 1,3 ****
--- 1,7 ----
+ 2011-09-04  Jan Hubicka  <j...@suse.cz>
+ 
+       * gcc.c-torture/compile/20110902.c: new testcase.
+ 
  2011-09-04  Jason Merrill  <ja...@redhat.com>
  
        PR c++/49267
Index: ipa-inline-analysis.c
===================================================================
*** ipa-inline-analysis.c       (revision 178523)
--- ipa-inline-analysis.c       (working copy)
*************** set_cond_stmt_execution_predicate (struc
*** 1187,1192 ****
--- 1187,1194 ----
        || gimple_call_num_args (set_stmt) != 1)
      return;
    op2 = gimple_call_arg (set_stmt, 0);
+   if (TREE_CODE (op2) != SSA_NAME)
+     return;
    if (!SSA_NAME_IS_DEFAULT_DEF (op2))
      return;
    index = ipa_get_param_decl_index (info, SSA_NAME_VAR (op2));

Reply via email to