From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 224AE3858401; Wed, 1 Mar 2023 12:14:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 224AE3858401 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1677672890; bh=i/FcnoRtMHpZZNxitLZfs/hbpjLWBbxg2g6VmcKk0nM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=aJeU44nmQb9rxmXQP60sSCWHwQHBjHjp16TImTD5HjTkWuZI4O9F7alsCvwBoKiBH Wrxp3uwU+KwWuUN49P57OraeCD7eCkRU/jpC9h6wFjEsAXY4jqcDUIPf4jSj1IiZkt E4GOVLW5UTDIN9cuXEtXjstvIPq6RktrUMx7izXU= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/108984] [13 Regression] LTO bootstrap causes testsuite ICE Date: Wed, 01 Mar 2023 12:14:49 +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: 13.0 X-Bugzilla-Keywords: lto X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D108984 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #2 from Richard Biener --- .optimized of LTRANS unit 60 has # DEBUG BEGIN_STMT # DEBUG D#456 =3D> -align_bytes_448 # DEBUG D#453 =3D> (long int) D#456 # DEBUG D#245 =3D> 0 # DEBUG arg =3D> D#453 # DEBUG INLINE_ENTRY gen_rtx_CONST_INT # DEBUG D#246 =3D> D#245 # DEBUG mode =3D> D#246 _1005 =3D 64 - align_bytes_448; _1045 =3D (long int) _1005; _1046 =3D const_int_rtx[_1045]; # DEBUG mode =3D> NULL # DEBUG arg =3D> NULL _95 =3D this_target_rtl; _96 =3D _95->x_global_rtl[0]; _97 =3D gen_and2_insn (_96, _1046); and after IPA we see # DEBUG BEGIN_STMT _92 =3D -align_bytes_448; _93 =3D (long int) _92; # DEBUG D#245ptD.0 =3D> 0 arg_1327 =3D _93; # DEBUG arg =3D> arg_1327 # DEBUG arg =3D> arg_1327 # DEBUG INLINE_ENTRY gen_rtx_CONST_INT # DEBUG D#246ptD.0 =3D> D#245ptD.0 # DEBUG mode =3D> D#246ptD.0 _1042 =3D arg_1327; _1043 =3D (unsigned long) _1042; _1044 =3D _1043 + 64; if (_1044 <=3D 128) goto ; [51.12%] else goto ; [48.88%] [local count: 67075190]: _1045 =3D _1042 + 64; _1046 =3D const_int_rtx[_1045]; _1258 =3D _1046; # DEBUG arg =3D> NULL # DEBUG mode =3D> NULL # DEBUG arg =3D> NULL _94 =3D _1258; _95 =3D this_target_rtl; _96 =3D _95->x_global_rtl[0]; # USE =3D anything # CLB =3D anything _97 =3D gen_and2_insn (_96, _94); # USE =3D anything # CLB =3D anything insn_472 =3D emit_insn (_97); # DEBUG insn =3D> insn_472 # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG _rtx =3D> insn_472 # DEBUG BEGIN_STMT _98 =3D insn_472->code; _99 =3D _98 + 65528; switch (_98) [0.00%], case 8 ... 11: [100.00%], case 13: [100.00%], case 25: [100.00%]> [local count: 64136059]: _1047 =3D const_int_htab; _1048 =3D (unsigned int) _1042; # USE =3D anything # CLB =3D anything __builtin_unreachable (); so it looks like the else path materialized to be unreachable for some reason. Before IPA we have _92 =3D -align_bytes_448; _93 =3D (long int) _92; _94 =3D gen_rtx_CONST_INT (0, _93); IPA CP knows callsite ix86_expand_prologue/1286343 -> gen_rtx_CONST_INT/244924 : param 0: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 1: UNKNOWN value: 0x0, mask: 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff= fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff VR [-536870911, -5] callsite ix86_expand_prologue/1286343 -> gen_rtx_CONST_INT/244924 : param 0: CONST: 0 value: 0x0, mask: 0x0 Unknown VR param 1: UNKNOWN value: 0x0, mask: 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff= fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff VR [-536870911, 0] and it at least creates a constprop clone for VOIDmode. Considering gen_rtx_CONST_INT.constprop/2274667 with 38 size to be inlined into ix86_expand_prologue/1286343 in unknown:-1 Estimated badness is -0.000000, frequency 0.12. Badness calculation for ix86_expand_prologue/1286343 -> gen_rtx_CONST_INT.constprop/2274667 size growth 2, time 4.533600 unspec 7.533600 IPA hints: cross_module -0.000000: guessed profile. frequency 0.122200, count -1 caller count= -1 time saved 1.955200 overall growth 62692 (current) 39603 (original) 104883 (compensated) Adjusted by hints -0.000000 Parm map: -5 -5 I'm somewhat lost as to where to look for why that unreachable () is create= d. It looks like the inliner redirects things this way.=