From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6265 invoked by alias); 13 Sep 2005 13:30:19 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 6060 invoked by uid 48); 13 Sep 2005 13:29:54 -0000 Date: Tue, 13 Sep 2005 13:30:00 -0000 Message-ID: <20050913132954.6059.qmail@sourceware.org> From: "rakdver at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050913094645.23855.rguenth@gcc.gnu.org> References: <20050913094645.23855.rguenth@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/23855] Should not do loop header copying for inner loop X-Bugzilla-Reason: CC X-SW-Source: 2005-09/txt/msg01584.txt.bz2 List-Id: ------- Additional Comments From rakdver at gcc dot gnu dot org 2005-09-13 13:29 ------- It is not clear to me why you find the code without header copying better -- number of checks of each condition is exactly the same in both cases, and with right ordering of basic blocks, there should be one less jump executed. Depending on branch prediction on the target, either the original code or the code with copied headers may be faster, but it is hard to determine which one. Unswitching of non-innermost loops should not be hard to implement (most of code is in place, it only was quite some time that it was tested for anything but innermost loops, so there probably is some bitrot; and a few pieces on tree level may be missing). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23855