From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E81BF385840F; Mon, 17 Apr 2023 14:04:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E81BF385840F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1681740264; bh=30/8eIxhir2HMOasfyx3B+9p/N2TQWXhU2yrGlX3xQk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=d0olo3X4JaZicoZHXsS3o1qPOsUb97vB9mzjlBdRNkGIA922dAoyq0jnUcC4iTCMT PZv5JhxtFYs8BxSlypkzAp2zkYaI2l9FWmzA/iiBFmS9dJgKy2L6bSs5jZ/oXwQJHN 6YfcW33I6UBeYBHRZl93hEF/tLwmLez6b6UwT8J8= From: "pan2.li at intel dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/109535] internal compiler error: in finalize_new_accesses, at rtl-ssa/changes.cc:471 Date: Mon, 17 Apr 2023 14:04:24 +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: X-Bugzilla-Severity: normal X-Bugzilla-Who: pan2.li at intel dot com 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: --- 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=3D109535 Li Pan changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pan2.li at intel dot com --- Comment #6 from Li Pan --- (In reply to rsandifo@gcc.gnu.org from comment #2) > The assert in question fires if the pass creates an instruction > whose pattern uses a register or memory and if the pass doesn't > provide associated use information. Let me know if it looks like > a bug in rtl-ssa rather than a bug in the vsetvl pass. Just sync with juzhe for the assertion failure. It tries to find the regno= =3D8 in the shared_uses=3D[0, 66, 67] in function_info::finalize_new_accesses. And = then it will hit the NOT_NULL assert. While in the pass_vsetvl::cleanup_insns, it will clean up the AVL use simil= ar as below. AVL regno 8 Before Uses Reg Nums =3D> [0,8,66,67,] After Uses Reg Nums =3D> [0,66,67,] After vsetvl, the avl-related use, aka use Regno=3D8 will be removed, becau= se the instruction pattern in RVV will eliminate the dependencies of the operand. Juzhe can help to correct me if any misleading or misunderstanding. Thanks.=