From patchwork Mon Nov 17 06:31:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhouyi Zhou X-Patchwork-Id: 411418 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 5905314003E for ; Mon, 17 Nov 2014 17:31:24 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; q=dns; s=default; b=Cwm6qPd15Gwz DnV2zw4g14BSVwxKffSrq+6ukL67I81JvhciWcO8HFI9GWFk22AIt2N3fnDLt9KF 6bHtaBj5wRiVPUpMZ55If3bWNU76An6VffSuue3qfu8qdEeWaEalU06RrTcolA4o +4D/HP2kx0DqnsHKoOLQSb4D70ZzXZA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; s=default; bh=IX9xvhI+lRuKRGghaP 1TE6oRL2s=; b=b4QY/gojEwLcGnNrNGL9k2Sp3PccRIj+103+YT1xav7QKMJDPW IvzdgT7NZqUBx26RLHJw+4+hkhsLUu/f30ea4ct/gGwvOIXUHO/6ankGxSg7mlGf 83fxHSR9tXPrO9aYau5kAwjH8zcXLnEcLnIUJIuliVBxlyFTFNZvsMdgo= Received: (qmail 12791 invoked by alias); 17 Nov 2014 06:31:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 12782 invoked by uid 89); 17 Nov 2014 06:31:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pd0-f180.google.com Received: from mail-pd0-f180.google.com (HELO mail-pd0-f180.google.com) (209.85.192.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 17 Nov 2014 06:31:15 +0000 Received: by mail-pd0-f180.google.com with SMTP id p10so1263590pdj.39 for ; Sun, 16 Nov 2014 22:31:13 -0800 (PST) X-Received: by 10.68.204.8 with SMTP id ku8mr27381847pbc.103.1416205873137; Sun, 16 Nov 2014 22:31:13 -0800 (PST) Received: from localhost.localdomain ([159.226.43.96]) by mx.google.com with ESMTPSA id qn8sm33987692pdb.90.2014.11.16.22.31.10 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 16 Nov 2014 22:31:12 -0800 (PST) From: Zhouyi Zhou To: , Cc: Zhouyi Zhou Subject: [PATCH] gcc/ira-conflicts.c: avoid conflict obj compare with itself Date: Mon, 17 Nov 2014 14:31:00 +0800 Message-Id: <1416205860-30428-1-git-send-email-zhouzhouyi@gmail.com> From: Zhouyi Zhou In function build_conflict_bit_table, id is set in objects_live before traversing that sparseset, so the obj is unnessary compared with itself during the traversing. The comparing of obj with itself can be avoided by means of moving sparseset_set_bit (objects_live, id) after the traversing. I have no write access to gcc repository and I can't provide a testcase because the improvement has effective compile no output. Bootstraped and regtested in x86_64 Linux Signed-off-by: Zhouyi Zhou --- gcc/ChangeLog | 4 ++++ gcc/ira-conflicts.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d385e33..3f4b14e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-11-17 Zhouyi Zhou + + * ira-conflicts.c (build_conflict_bit_table): avoid obj self comparing. + 2014-11-16 Jan Hubicka * ipa-polymorphic-call.c diff --git a/gcc/ira-conflicts.c b/gcc/ira-conflicts.c index 7aaf0cb..cccdb6b 100644 --- a/gcc/ira-conflicts.c +++ b/gcc/ira-conflicts.c @@ -177,7 +177,6 @@ build_conflict_bit_table (void) gcc_assert (id < ira_objects_num); aclass = ALLOCNO_CLASS (allocno); - sparseset_set_bit (objects_live, id); EXECUTE_IF_SET_IN_SPARSESET (objects_live, j) { ira_object_t live_obj = ira_object_id_map[j]; @@ -191,6 +190,7 @@ build_conflict_bit_table (void) record_object_conflict (obj, live_obj); } } + sparseset_set_bit (objects_live, id); } for (r = ira_finish_point_ranges[i]; r != NULL; r = r->finish_next)