From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9639 invoked by alias); 31 Jul 2012 14:13:10 -0000 Received: (qmail 9622 invoked by uid 22791); 31 Jul 2012 14:13:08 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 31 Jul 2012 14:12:56 +0000 From: "amker.cheng at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/52412] another unnecessary register move on arm Date: Tue, 31 Jul 2012 14:13: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-Keywords: missed-optimization, ra X-Bugzilla-Severity: normal X-Bugzilla-Who: amker.cheng at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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 X-SW-Source: 2012-07/txt/msg02242.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52412 amker.cheng changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amker.cheng at gmail dot | |com --- Comment #2 from amker.cheng 2012-07-31 14:12:54 UTC --- The register move insn is generated by cse2 pass, and after that, there is no cprop pass till ira. The two allocnos for r6/r3(the original pseudos) are conflict with each other, though they contains same value and connected by move insn, IRA cannot allocate same hard register for them. Moveover, the case is compile with Os, where gcc does IRA in whole single region, and live range cannot be split either.