This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ast-optimizer-branch] Regressions with your patches


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]