This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ast-optimizer-branch] Regressions with your patches
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 9 Jun 2002 00:18:08 -0400
- Subject: [ast-optimizer-branch] Regressions with your patches
- Organization: Red Hat Canada
Jason,
Thanks for starting to address the FIXMEs in the simplifier.
Unfortunately, some of your patches seem to have introduced
regressions in the branch wrt the last run I have from Jun06:
-------------------------------------------------------------------------------
Testsuite differences between 20020606/gcc.sum.gz and 20020608/gcc.sum.gz
-------------------------------------------------------------------------------
New regressions in 20020608/gcc.sum.gz:
FAIL: gcc.c-torture/execute/20020320-1.c compilation
FAIL: gcc.c-torture/execute/20020320-1.c compilation
FAIL: gcc.c-torture/execute/20020320-1.c compilation
FAIL: gcc.c-torture/execute/20020320-1.c compilation
FAIL: gcc.c-torture/execute/20020320-1.c compilation
FAIL: gcc.c-torture/execute/950628-1.c compilation
FAIL: gcc.c-torture/execute/950628-1.c compilation
FAIL: gcc.c-torture/execute/950628-1.c compilation
FAIL: gcc.c-torture/execute/990413-2.c execution
FAIL: gcc.c-torture/execute/990413-2.c execution
FAIL: gcc.c-torture/execute/990413-2.c execution
FAIL: gcc.c-torture/execute/990413-2.c execution
FAIL: gcc.c-torture/execute/990413-2.c execution
FAIL: gcc.dg/struct-alias-1.c (test for excess errors)
Fixed regressions in 20020608/gcc.sum.gz:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Testsuite differences between 20020606/libjava.sum.gz and 20020608/libjava.sum.gz
-------------------------------------------------------------------------------
New regressions in 20020608/libjava.sum.gz:
FAIL: final_method run
FAIL: cxxtest run
FAIL: throwit run
FAIL: calls run
FAIL: noclass run
FAIL: field run
FAIL: overload run
FAIL: invoke run
FAIL: register run
FAIL: simple_int run
FAIL: findclass run
FAIL: martin run
FAIL: virtual run
FAIL: TLtest compilation from bytecode
FAIL: TLtest -O compilation from bytecode
FAIL: InvokeReturn output from source compiled test
FAIL: InvokeReturn output from bytecode->native test
FAIL: InvokeReturn -O output from source compiled test
FAIL: InvokeReturn -O output from bytecode->native test
Fixed regressions in 20020608/libjava.sum.gz:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Testsuite differences between 20020606/libstdc++-v3.sum.gz and 20020608/libstdc++-v3.sum.gz
-------------------------------------------------------------------------------
New regressions in 20020608/libstdc++-v3.sum.gz:
FAIL: 26_numerics/c99_classification_macros_c.cc (test for excess errors)
Fixed regressions in 20020608/libstdc++-v3.sum.gz:
-------------------------------------------------------------------------------
The presence of libjava regressions is a bit odd, unless there is
some sort of misscompilation of gcj during bootstrap. These are
the patches that could have caused the regressions. I still have
not looked into each test:
--- ast-optimizer-branch/gcc/gcc/ChangeLog Wed Jun 5 23:51:28 2002
+++ ast-optimizer-branch/review/gcc/gcc/ChangeLog Sat Jun 8 15:23:40 2002
@@ -1,3 +1,45 @@
+2002-06-08 Jason Merrill <jason@redhat.com>
+
+ * tree-simple.c (is_simple_unary_expr): Only allow the address of
+ a varname.
+ (is_simple_id): Allow STRING_CST.
+ * c-simplify.c (simplify_expr_common): Split out from simplify_expr.
+ Do simplify ADDR_EXPR.
+ (simplify_lvalue_expr): Use it and build_addr_expr. Take
+ simple_test_f.
+ (simplify_modify_expr): Adjust.
+ (build_addr_expr): New fn.
+ (simplify_array_ref): Use simplify_lvalue_expr.
+ (simplify_component_ref): Likewise.
+
+ * tree-simple.c (is_simple_rhs): Remove condexpr rule.
+ (is_simple_compref_lhs): Remove &ID.idlist rule.
+ (is_simple_relop): New fn.
+ (is_simple_binary_expr, is_simple_condexpr): Use it.
+ * tree-simple.h: Declare it.
+
+ * c-simplify.c (create_tmp_var): Refuse to create an array temp.
+ (simple_tmp_var_p): New fn.
+ (simplify_lvalue_expr): Use it; make sure we don't return a temp.
+ * tree-simple.h: Declare it.
+
+ * c-pretty-print.c (dump_c_node) [ARRAY_REF]: Wrap array in parens
+ as needed.
+ [COMPONENT_REF]: Likewise.
+ [POINTER_TYPE]: Fix pointer-to-function handling.
+ [ARRAY_TYPE]: Don't try to print an unknown dimension.
+
+ * tree-simple.c (is_simple_arraybase): New function.
+ (is_simple_arrayref): Use it to check the array base again.
+ * tree-simple.h: Add declaration.
+ * c-simplify.c (simplify_array_ref): Do simplify the base.
+ * expr.c (expand_expr): First make sure the type has a size.
+
+2002-06-07 Jason Merrill <jason@redhat.com>
+
+ * cppexp.c (num_equality_op): Use a temporary variable to work
+ around gcc 3.0.4 bug.
+
2002-06-05 Diego Novillo <dnovillo@redhat.com>
* Makefile.in (BOOT_CFLAGS): Remove -ftree-ssa.