From patchwork Fri Jan 28 16:12:26 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Schmidt X-Patchwork-Id: 80869 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]) by ozlabs.org (Postfix) with SMTP id 30BDC1007D2 for ; Sat, 29 Jan 2011 03:12:35 +1100 (EST) Received: (qmail 511 invoked by alias); 28 Jan 2011 16:12:30 -0000 Received: (qmail 379 invoked by uid 22791); 28 Jan 2011 16:12:25 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 28 Jan 2011 16:12:19 +0000 Received: (qmail 4900 invoked from network); 28 Jan 2011 16:12:17 -0000 Received: from unknown (HELO ?84.152.202.47?) (bernds@127.0.0.2) by mail.codesourcery.com with ESMTPA; 28 Jan 2011 16:12:17 -0000 Message-ID: <4D42EAEA.6040907@codesourcery.com> Date: Fri, 28 Jan 2011 17:12:26 +0100 From: Bernd Schmidt User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101211 Lightning/1.0b3pre Thunderbird/3.1.7 MIME-Version: 1.0 To: Jakub Jelinek CC: GCC Patches Subject: Re: Dump file usage patterns? References: <4C74F68B.6080009@codesourcery.com> <20100825111757.GT702@tyan-ft48-01.lab.bos.redhat.com> In-Reply-To: <20100825111757.GT702@tyan-ft48-01.lab.bos.redhat.com> 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 On 08/25/2010 01:17 PM, Jakub Jelinek wrote: > On Wed, Aug 25, 2010 at 12:55:07PM +0200, Bernd Schmidt wrote: >> Should we print cselib >> information only when given a specific flag - I don't find it very >> useful and it clutters up the dump files? > > For var-tracking issues it is very useful, but I guess I don't mind enabling > it with an extra option. How's this? Bootstrapped and tested on i686-linux. Bernd * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB. * tree-pass.h (TDF_CSELIB): New macro. * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1, cselib_lookup): Check for it rather than for TDF_DETAILS. Index: tree-dump.c =================================================================== --- tree-dump.c (revision 169334) +++ tree-dump.c (working copy) @@ -814,6 +814,7 @@ static const struct dump_option_value_in {"raw", TDF_RAW}, {"graph", TDF_GRAPH}, {"details", TDF_DETAILS}, + {"cselib", TDF_CSELIB}, {"stats", TDF_STATS}, {"blocks", TDF_BLOCKS}, {"vops", TDF_VOPS}, Index: tree-pass.h =================================================================== --- tree-pass.h (revision 169334) +++ tree-pass.h (working copy) @@ -82,6 +82,7 @@ enum tree_dump_index #define TDF_NOUID (1 << 20) /* omit UIDs from dumps. */ #define TDF_ALIAS (1 << 21) /* display alias information */ #define TDF_ENUMERATE_LOCALS (1 << 22) /* Enumerate locals by uid. */ +#define TDF_CSELIB (1 << 23) /* Dump cselib details. */ /* In tree-dump.c */ Index: cselib.c =================================================================== --- cselib.c (revision 169334) +++ cselib.c (working copy) @@ -1015,7 +1015,7 @@ new_cselib_val (unsigned int hash, enum e->locs = 0; e->next_containing_mem = 0; - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) { fprintf (dump_file, "cselib value %u:%u ", e->uid, hash); if (flag_dump_noaddr || flag_dump_unnumbered) @@ -1132,7 +1132,7 @@ expand_loc (struct elt_loc_list *p, stru else if (!REG_P (p->loc)) { rtx result, note; - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) { print_inline_rtx (dump_file, p->loc, 0); fprintf (dump_file, "\n"); @@ -1153,7 +1153,7 @@ expand_loc (struct elt_loc_list *p, stru if (regno != UINT_MAX) { rtx result; - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) fprintf (dump_file, "r%d\n", regno); result = cselib_expand_value_rtx_1 (reg_result, evd, max_depth - 1); @@ -1161,7 +1161,7 @@ expand_loc (struct elt_loc_list *p, stru return result; } - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) { if (reg_result) { @@ -1302,7 +1302,7 @@ cselib_expand_value_rtx_1 (rtx orig, str bitmap_set_bit (evd->regs_active, regno); - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) fprintf (dump_file, "expanding: r%d into: ", regno); result = expand_loc (l->elt->locs, evd, max_depth); @@ -1367,7 +1367,7 @@ cselib_expand_value_rtx_1 (rtx orig, str { rtx result; - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) { fputs ("\nexpanding ", dump_file); print_rtl_single (dump_file, orig); @@ -1736,7 +1736,7 @@ cselib_lookup (rtx x, enum machine_mode easiest setting cselib_current_insn to NULL before the call above. */ - if (dump_file && (dump_flags & TDF_DETAILS)) + if (dump_file && (dump_flags & TDF_CSELIB)) { fputs ("cselib lookup ", dump_file); print_inline_rtx (dump_file, x, 2);