[ast-optimizer-branch] Regressions with your patches
Diego Novillo
dnovillo@redhat.com
Sat Jun 8 21:18:00 GMT 2002
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.
More information about the Gcc-patches
mailing list