Hi! On Mon, 15 Dec 2014 23:36:11 +0100, Jan Hubicka <[email protected]> wrote: > this is final version I comitted.
> PR lto/64043
> * tree-streamer.c (preload_common_nodes): Skip preloading
> of main_identifier_node, pid_type and optimization/option nodes.
> --- tree-streamer.c (revision 218726)
> +++ tree-streamer.c (working copy)
> @@ -324,7 +324,18 @@ preload_common_nodes (struct streamer_tr
> /* Skip boolean type and constants, they are frontend dependent. */
> if (i != TI_BOOLEAN_TYPE
> && i != TI_BOOLEAN_FALSE
> - && i != TI_BOOLEAN_TRUE)
> + && i != TI_BOOLEAN_TRUE
> + /* MAIN_IDENTIFIER is not always initialized by Fortran FE. */
> + && i != TI_MAIN_IDENTIFIER
> + /* PID_TYPE is initialized only by C family front-ends. */
> + && i != TI_PID_TYPE
> + /* Skip optimization and target option nodes; they depend on flags. */
> + && i != TI_OPTIMIZATION_DEFAULT
> + && i != TI_OPTIMIZATION_CURRENT
> + && i != TI_TARGET_OPTION_DEFAULT
> + && i != TI_TARGET_OPTION_CURRENT
> + && i != TI_CURRENT_TARGET_PRAGMA
> + && i != TI_CURRENT_OPTIMIZE_PRAGMA)
> record_common_node (cache, global_trees[i]);
> }
This regresses offloading (tested Intel MIC emulation):
FAIL: libgomp.c/examples-4/e.53.5.c (internal compiler error)
FAIL: libgomp.c/for-3.c (internal compiler error)
FAIL: libgomp.c++/for-11.C (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.3.f90 -O2 (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.3.f90 -O3 -fomit-frame-pointer
(internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.3.f90 -O3 -fomit-frame-pointer
-funroll-loops (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.3.f90 -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.3.f90 -O3 -g (internal compiler
error)
FAIL: libgomp.fortran/examples-4/e.53.3.f90 -Os (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.4.f90 -O2 (test for excess errors)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O0 (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O1 (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O2 (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O3 -fomit-frame-pointer
(internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O3 -fomit-frame-pointer
-funroll-loops (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions (internal compiler error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -O3 -g (internal compiler
error)
FAIL: libgomp.fortran/examples-4/e.53.5.f90 -Os (internal compiler error)
FAIL: libgomp.c/examples-4/e.53.5.c (internal compiler error)
[...]/source-gcc/libgomp/testsuite/libgomp.c/examples-4/e.53.5.c: In
function 'accum._omp_fn.1':
[...]/source-gcc/libgomp/testsuite/libgomp.c/examples-4/e.53.5.c:53:13:
error: unrecognizable insn:
#pragma omp parallel for reduction(+:tmp)
^
(insn 176 66 177 4 (set (reg:DI 0 ax)
(symbol_ref:DI ("Q") <var_decl 0x2ad2db659900 Q>)) -1
(nil))
[...]/source-gcc/libgomp/testsuite/libgomp.c/examples-4/e.53.5.c:53:13:
internal compiler error: in extract_insn, at recog.c:2327
0x9c124a _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
[...]/source-gcc/gcc/rtl-error.c:110
0x9c1279 _fatal_insn_not_found(rtx_def const*, char const*, int, char
const*)
[...]/source-gcc/gcc/rtl-error.c:118
0x98f346 extract_insn(rtx_insn*)
[...]/source-gcc/gcc/recog.c:2327
0x9902c8 extract_constrain_insn(rtx_insn*)
[...]/source-gcc/gcc/recog.c:2228
0x998a16 copyprop_hardreg_forward_1
[...]/source-gcc/gcc/regcprop.c:773
0x99978a execute
[...]/source-gcc/gcc/regcprop.c:1279
FAIL: libgomp.c/for-3.c (internal compiler error)
[...]/source-gcc/libgomp/testsuite/libgomp.c/for-2.h: In function
'f13_d_normal':
[...]/source-gcc/libgomp/testsuite/libgomp.c/for-2.h:171:1: error:
unrecognizable insn:
}
^
(insn 73 72 55 5 (set (reg/f:DI 1 dx [orig:106 D.6870 ] [106])
(plus:DI (reg:DI 0 ax [orig:105 D.6869 ] [105])
(symbol_ref:DI ("a") <var_decl 0x2b249985d900 a>))) -1
(nil))
[...]/source-gcc/libgomp/testsuite/libgomp.c/for-2.h:171:1: internal
compiler error: in extract_insn, at recog.c:2327
0x9c124a _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
[...]/source-gcc/gcc/rtl-error.c:110
0x9c1279 _fatal_insn_not_found(rtx_def const*, char const*, int, char
const*)
[...]/source-gcc/gcc/rtl-error.c:118
0x98f346 extract_insn(rtx_insn*)
[...]/source-gcc/gcc/recog.c:2327
0x98f3c4 extract_insn_cached(rtx_insn*)
[...]/source-gcc/gcc/recog.c:2218
0x749cdd cleanup_subreg_operands(rtx_insn*)
[...]/source-gcc/gcc/final.c:3124
0x98caf7 split_insn
[...]/source-gcc/gcc/recog.c:2937
0x991657 split_all_insns()
[...]/source-gcc/gcc/recog.c:2991
0x9916d8 rest_of_handle_split_after_reload
[...]/source-gcc/gcc/recog.c:3938
0x9916d8 execute
[...]/source-gcc/gcc/recog.c:3967
Etc.
There also are related issues still open:
<http://news.gmane.org/find-root.php?message_id=%3C546DDE1C.6060203%40t-online.de%3E>,
<http://news.gmane.org/find-root.php?message_id=%3C543D0DAE.1050500%40codesourcery.com%3E>.
Grüße,
Thomas
signature.asc
Description: PGP signature
