------- Comment #6 from hjl at lucon dot org  2007-07-28 20:51 -------
This part of the patch:

Index: tree-ssa.c
===================================================================
--- tree-ssa.c  (revision 126326)
+++ tree-ssa.c  (working copy)
@@ -979,11 +979,9 @@ useless_type_conversion_p (tree outer_ty
        return false;

       /* Do not lose casts between pointers with different
-        TYPE_REF_CAN_ALIAS_ALL setting or alias sets.  */
-      if ((TYPE_REF_CAN_ALIAS_ALL (inner_type)
-          != TYPE_REF_CAN_ALIAS_ALL (outer_type))
-         || (get_alias_set (TREE_TYPE (inner_type))
-             != get_alias_set (TREE_TYPE (outer_type))))
+        TYPE_REF_CAN_ALIAS_ALL setting.  */
+      if (TYPE_REF_CAN_ALIAS_ALL (inner_type)
+         != TYPE_REF_CAN_ALIAS_ALL (outer_type))
        return false;

       /* Do not lose casts from const qualified to non-const

causes this performance regression.

437.leslie3d is a big file with 19 functions. If I put each function in
a separate file, there is no regression. If I put 2 particular functions
in one file, there are 10-30% regressions depending on input file. Those
2 functions work on several global arrays.

I tried " --param max-aliased-vops=1000000 --param avg-aliased-vops=7".
It doesn't make a difference.


-- 


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

Reply via email to