From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14949 invoked by alias); 29 Dec 2014 16:57:01 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 14886 invoked by uid 48); 29 Dec 2014 16:56:55 -0000 From: "iverbin at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/64412] [regression] ICE in offload compiler: in extract_insn, at recog.c:2327 Date: Mon, 29 Dec 2014 16:57:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: iverbin at gcc dot gnu.org X-Bugzilla-Status: WAITING X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg02881.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64412 --- Comment #4 from iverbin at gcc dot gnu.org --- (In reply to H.J. Lu from comment #3) > (In reply to iverbin from comment #2) > > (In reply to H.J. Lu from comment #1) > > > (In reply to iverbin from comment #0) > > > > To reproduce using Intel Xeon Phi emulation: > > > > 1. Build offload and host compilers as described in > > > > https://gcc.gnu.org/wiki/Offloading#How_to_try_offloading_enabled_GCC > > > > 2. Run make check-target-libgomp RUNTESTFLAGS="c.exp=e.53.5.c" > > > > > > Can you create a stanalone testcase for the Intel Xeon Phi offload > > > cross compiler? It will be easier to debug. > > > > The offload model in GCC implies 2 compilers: one produces IR for OpenMP > > target regions, and another compiles this IR for Intel Xeon Phi. > > There is no single compiler, which could stream offload IR out, then stream > > it in, and then compile. > > I can reduce e.53.5.c testcase, not sure whether this is helpful. > > Can you use "gcc -v -save-temps" to see what is passed to the offload > compiler and feed them to the offload compiler directly? Yes, this is possible. However, the function preload_common_nodes, modified in r218767, is used for both IN/OUT streaming, therefore the IR should be produced and consumed by compilers built from the same sources. Here are the reduced testcase and corresponding IR for: gcc -fopenmp -O1 -S pr64412.c To reproduce the error: 1. Configure and make gcc with: --enable-as-accelerator-for=x86_64-unknown-linux --host=x86_64-intelmicemul-linux --build=x86_64-intelmicemul-linux --target=x86_64-intelmicemul-linux 2. Run: as pr64412.s -o pr64412.o && x86_64-unknown-linux-accel-x86_64-intelmicemul-linux-gnu-gcc -xlto -fopenmp -O1 -shared -fPIC pr64412.o