This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix streaming of target optimization/option nodes
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Thomas Schwinge <thomas at codesourcery dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Richard Biener <rguenther at suse dot de>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Bernd Schmidt <bernds at codesourcery dot com>, Ilya Verbin <iverbin at gmail dot com>, Jakub Jelinek <jakub at redhat dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>, Andrey Turetskiy <andrey dot turetskiy at gmail dot com>
- Date: Mon, 5 Jan 2015 08:59:36 -0800
- Subject: Re: Fix streaming of target optimization/option nodes
- Authentication-results: sourceware.org; auth=none
- References: <20141215062619 dot GB11373 at kam dot mff dot cuni dot cz> <20141215074919 dot GA16783 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1412150930410 dot 25296 at zhemvz dot fhfr dot qr> <20141215215618 dot GB6931 at kam dot mff dot cuni dot cz> <20141215223611 dot GE6931 at kam dot mff dot cuni dot cz> <871tns0wxx dot fsf at kepler dot schwinge dot homeip dot net>
On Mon, Dec 22, 2014 at 3:02 AM, Thomas Schwinge
<thomas@codesourcery.com> wrote:
> Hi!
>
> On Mon, 15 Dec 2014 23:36:11 +0100, Jan Hubicka <hubicka@ucw.cz> 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.
>
>
> 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>.
>
It also caused:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64415
--
H.J.