From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C438A393FC3D; Fri, 20 Mar 2020 16:09:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C438A393FC3D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1584720556; bh=5cpI/p6nbZwtyoPVPjW74edm3OyMHUxPMY5qIXOYSaY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=BAZGfOPe8miK0+lvP1RMAwykXDtsGoDkQqJIUaJJKK79uVf6El5K4PnFM3o0z6nTr AlQSkAWnblUBMQFlkIQC3GmrJvE6JWGhTE3KXOr0i5LxzjZeIrrIdHtPX+0U1KcX2R oNLbjDjGKiXl2p7cOu9vcPOZHVX0LlDr3NtGVFo0= From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/94233] [OpenMP] ICE in lto1 for AMDGCN offloading: in dr_analyze_innermost, at tree-data-ref.c:925 for gcc-mainline/libgomp/testsuite/libgomp.c/target-link-1.c Date: Fri, 20 Mar 2020 16:09:16 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: ice-on-valid-code, openmp X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: 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: bug_status everconfirmed cf_reconfirmed_on Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2020 16:09:16 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94233 Tobias Burnus changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Last reconfirmed| |2020-03-20 --- Comment #2 from Tobias Burnus --- (In reply to Richard Biener from comment #1) > get_object_alignment_1 (base, &bit_base_alignment, &bit_base_misalignme= nt); > gcc_assert (bit_base_alignment % BITS_PER_UNIT =3D=3D 0 > && bit_base_misalignment % BITS_PER_UNIT =3D=3D 0); > where base is the result of get_inner_reference. This possibly hints at > some odd alignment values on some decl(?). Indeed, bit_base_alignment is here =3D=3D 1; the alignment is: ((unsigned)1) << ((NODE)->decl_common.align - 1 hence, =E2=80=A6->decl_common.align =3D=3D 1 The align:1 is produced by lto.c's offload_handle_link_vars(), which calls: tree link_ptr_var =3D make_node (VAR_DECL); which contains: enum tree_code_class type =3D TREE_CODE_CLASS (code); ... switch (type) ... case tcc_declaration: ... SET_DECL_ALIGN (t, 1); Untested patch: diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 39bb5f45c95..812dcc39b44 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -568,2 +568,3 @@ offload_handle_link_vars (void) SET_DECL_MODE (link_ptr_var, TYPE_MODE (type)); + SET_DECL_ALIGN (field, TYPE_ALIGN (ptr_type_node)); DECL_SIZE (link_ptr_var) =3D TYPE_SIZE (type);=