From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1C2BF385AE5E; Tue, 5 Dec 2023 18:26:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C2BF385AE5E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1701800814; bh=fJ90fWV2In6ZmPS7XGRPTx+VdVHCepxvrdvN8plyKuk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=uvQ1opexynKOXK2qPzGjHoWz139dYTIpakp46KmMhWDQouryR/Q3V7iw+AfeiHNbW O/YZPYeMCOyrMr8gQwlO2SDrzuhjjTWigjHYmq75DTLJGL5oxvoY/iZehJ3aXklbq9 /0uclFXXrdUHZ2XTjinYmsSXrHTtE2IuJUZAkyHw= From: "jeevitha at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/110606] ICE output_operand: '%&' used without any local dynamic TLS references on powerpc64le-linux-gnu Date: Tue, 05 Dec 2023 18:26:53 +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.1.1 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jeevitha at gcc dot gnu.org X-Bugzilla-Status: NEW 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: 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=3D110606 --- Comment #9 from Jeevitha --- (In reply to Segher Boessenkool from comment #8) > What does "dead at sched2" mean? Are they dead when sched2 starts, or ma= de > dead > by it? Well it must be the former; what pass does make it dead, then?=20 > split3 > apparently? Why is this not done in split2 already, any good reason? Its latter, dead after sched2, DCE was happened in sched2 which removes the uses of reg 3, The following is the insn removed in sched2, (insn 28 26 29 4 (set (reg:DI 9 9 [132]) (unspec:DI [ (reg:DI 3 3 [142]) (symbol_ref:DI ("_ZL8sMemPool") [flags 0x1a] ) ] UNSPEC_TLSDTPRELHA)) "test.cc":27:7 740 {tls_dtprel_ha_64} (expr_list:REG_DEAD (reg:DI 3 3 [142]) (nil))) This makes the following insn unused, There was nouse of register 3 after t= his. call_insn/u 26 53 35 4 (parallel [ (set (reg:DI 3 3) (call (mem:SI (symbol_ref:DI ("__tls_get_addr") [flags 0x41= ]=20 ) [0 S4 A8]) (unspec:DI [ (reg:DI 2 2) ] UNSPEC_TLSLD))) (use (const_int 0 [0])) (clobber (reg:DI 96 lr)) ]) "test.cc":27:7 776 {*call_value_nonlocal_aixdi}=