From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30633 invoked by alias); 3 Aug 2014 13:38:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 30618 invoked by uid 89); 3 Aug 2014 13:38:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-we0-f176.google.com Received: from mail-we0-f176.google.com (HELO mail-we0-f176.google.com) (74.125.82.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sun, 03 Aug 2014 13:38:05 +0000 Received: by mail-we0-f176.google.com with SMTP id q58so6415640wes.7 for ; Sun, 03 Aug 2014 06:38:03 -0700 (PDT) X-Received: by 10.181.9.104 with SMTP id dr8mr22128074wid.26.1407073083011; Sun, 03 Aug 2014 06:38:03 -0700 (PDT) Received: from localhost ([95.145.138.172]) by mx.google.com with ESMTPSA id x11sm35919728wjr.15.2014.08.03.06.38.02 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 03 Aug 2014 06:38:02 -0700 (PDT) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, rdsandiford@googlemail.com Subject: [PATCH 0/50] Faster for_each_rtx-like iterators Date: Sun, 03 Aug 2014 13:38:00 -0000 Message-ID: <87y4v5d77q.fsf@googlemail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2014-08/txt/msg00133.txt.bz2 In May I posted an RFC about a worklist-based replacement for for_each_rtx: https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00435.html (see there for rationale). This series is the first part of the process. It adds the new iterators and converts all for_each_rtx users in generic code. If these patches are OK, the remaining changes would be: (1) do the same for config/ (2) get rid of for_each_rtx (3) (optionally) convert recursive format walkers to use the new iterators too, if that makes things better I have local patches for some of (3) but they're a lower priority than (1) or (2). I think the only changes I made since last time are to address the feedback from the RFC. Bootstrapped & regression-tested on x86_64-linux-gnu. Also tested by making sure there were no assembly differences for gcc.dg, g++.dg and gcc.c-torture for: x86_64-linux-gnu i686-linux-gnu sh64-linux-gnu powerpc64-linux-gnu mips64-linux-gnu hppa64-hp-hpux11.23 aarch64-linux-gnueabi arm-linux-gnueabi which includes auto-inc/dec targets and a user of bt-load.c (sh64-elf). Many of the patches are pretty mechanical conversions to FOR_EACH_SUBRTX. I've only added a covering note if there's something unusual going on.