This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] Bootstrap failure on alpha
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Sat, 25 Oct 2003 10:13:03 -0400
- Subject: [tree-ssa] Bootstrap failure on alpha
- Organization: Red Hat Canada
Jan,
One of these two patches introduced a bootstrap regression in alpha.
-Werror is triggered for the stage1 compiler when building cppcharset.c
-----------------------------------------------------------------------------
[ ... ]
stage1/xgcc -Bstage1/ -B/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/inst.dorothy/alphaev67-unknown-linux-gnu/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../include -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/libcompat -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/points-to /home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppinit.c -o cppinit.o
stage1/xgcc -Bstage1/ -B/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/inst.dorothy/alphaev67-unknown-linux-gnu/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/. -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../include -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/libcompat -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee -I/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/../libbanshee/points-to /home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppcharset.c -o cppcharset.o
/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppcharset.c: In function `one_utf8_to_utf32':
/home/cygnus/dnovillo/perf/sbox/tree-ssa-branch/local.alpha/src/gcc/cppcharset.c:283: warning: 's' might be used uninitialized in this function
make[2]: *** [cppcharset.o] Error 1
make[2]: Leaving directory `/dorothy/dnovillo/sbox/tree-ssa-branch/bld.dorothy/gcc'
make[1]: *** [stage2_build] Error 2
make[1]: Leaving directory `/dorothy/dnovillo/sbox/tree-ssa-branch/bld.dorothy/gcc'
make: *** [bootstrap] Error 2
-----------------------------------------------------------------------------
--- gcc.prev/gcc/ChangeLog.tree-ssa Fri Oct 24 00:41:30 2003
+++ gcc/gcc/ChangeLog.tree-ssa Fri Oct 24 16:45:36 2003
@@ -1,3 +1,15 @@
+2003-10-25 Jan Hubicka <jh@suse.cz>
+
+ * fold-const.c (nondestructive_fold_binary_to_constant): Realize that
+ (plus (address) (const_int)) is a constant.
+
+2003-10-25 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (decode_options): Uncomment unit-at-a-time setting
+ * params.def: Syncrhonize with manline.
+ * tree-inline.c (initialize_inlined_parameters): Set variable as
+ gimplified.
+
2003-10-24 Steven Bosscher <steven@gcc.gnu.org>
* gimplify.c (create_artificial_label): New function.
--- gcc.prev/gcc/fold-const.c Sat Oct 18 16:59:45 2003
+++ gcc/gcc/fold-const.c Fri Oct 24 16:45:35 2003
@@ -9025,6 +9025,15 @@ nondestructive_fold_binary_to_constant (
switch (code)
{
case PLUS_EXPR:
+ /* (plus (address) (const_int)) is a constant. */
+ if (TREE_CODE (op0) == PLUS_EXPR
+ && TREE_CODE (op1) == INTEGER_CST
+ && TREE_CODE (TREE_OPERAND (op0, 0)) == ADDR_EXPR
+ && TREE_CODE (TREE_OPERAND (op0, 1)) == INTEGER_CST)
+ {
+ return build (PLUS_EXPR, type, TREE_OPERAND (op0, 0),
+ const_binop (PLUS_EXPR, op1, TREE_OPERAND (op0, 1), 0));
+ }
case BIT_XOR_EXPR:
binary:
diff -r -dupN -x *.1 -x *.7 -x *.info* -x .#* -x *.rej -x *.orig -x CVS -x autom4te.cache -x *-parse.c -x *-parse.y -x gengtype-*.c -x gengtype-*.h -x */java/parse-scan.c -x */java/parse.c -x */treelang/lex.c -x */treelang/parse.* gcc.prev/gcc/opts.c gcc/gcc/opts.c
--- gcc.prev/gcc/opts.c Sat Oct 18 16:59:49 2003
+++ gcc/gcc/opts.c Fri Oct 24 15:32:31 2003
@@ -562,7 +562,7 @@ decode_options (unsigned int argc, const
flag_delete_null_pointer_checks = 1;
flag_reorder_blocks = 1;
flag_reorder_functions = 1;
- /* flag_unit_at_a_time = 1; */
+ flag_unit_at_a_time = 1;
}
if (optimize >= 3)
diff -r -dupN -x *.1 -x *.7 -x *.info* -x .#* -x *.rej -x *.orig -x CVS -x autom4te.cache -x *-parse.c -x *-parse.y -x gengtype-*.c -x gengtype-*.h -x */java/parse-scan.c -x */java/parse.c -x */treelang/lex.c -x */treelang/parse.* gcc.prev/gcc/params.def gcc/gcc/params.def
--- gcc.prev/gcc/params.def Wed Jul 23 09:59:51 2003
+++ gcc/gcc/params.def Fri Oct 24 15:32:31 2003
@@ -51,7 +51,7 @@ Software Foundation, 59 Temple Place - S
DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
"max-inline-insns-single",
"The maximum number of instructions in a single function eligible for inlining",
- 100)
+ 500)
/* The single function inlining limit for functions that are
inlined by virtue of -finline-functions (-O3).
@@ -63,7 +63,7 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO,
"max-inline-insns-auto",
"The maximum number of instructions when automatically inlining",
- 100)
+ 150)
/* The repeated inlining limit. After this number of instructions
(in the internal gcc representation, not real machine instructions)
diff -r -dupN -x *.1 -x *.7 -x *.info* -x .#* -x *.rej -x *.orig -x CVS -x autom4te.cache -x *-parse.c -x *-parse.y -x gengtype-*.c -x gengtype-*.h -x */java/parse-scan.c -x */java/parse.c -x */treelang/lex.c -x */treelang/parse.* gcc.prev/gcc/tree-inline.c gcc/gcc/tree-inline.c
--- gcc.prev/gcc/tree-inline.c Fri Oct 24 00:41:31 2003
+++ gcc/gcc/tree-inline.c Fri Oct 24 15:32:31 2003
@@ -723,6 +723,8 @@ initialize_inlined_parameters (inline_da
/* Declare this new variable. */
TREE_CHAIN (var) = vars;
vars = var;
+ /* Make gimplifier happy about this variable. */
+ var->decl.seen_in_bind_expr = keep_function_tree_in_gimple_form (fn);
/* Even if P was TREE_READONLY, the new VAR should not be.
In the original code, we would have constructed a
Thanks. Diego.