From patchwork Mon Sep 28 14:32:58 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 523356 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 3F2E1140157 for ; Tue, 29 Sep 2015 00:33:41 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=OepN2IZF; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type :content-transfer-encoding; q=dns; s=default; b=Dgy0GWdLy/jGCVSF 1JWQPZNU6JEk7HzA0zlgFh6I7G1h2cHsL3w/9fsIqmAFyMZdgvrfpcdsD0CQ459u kX7F3JM2I0aIkrdxSwyTeiC+OChLF+RcAeXhJsecp32mt6cLhVxBTv4bxIpo840X AuRdF0S50UMyLvvepDlClXe5nks= 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:to :from:subject:message-id:date:mime-version:content-type :content-transfer-encoding; s=default; bh=4bYSn5UadIzF8X3ktRA7Tp nTckw=; b=OepN2IZFgNV9WyYAuxHciSf/mz7de9BCckLtWvxvf264SuvGdmL+Gj qZJavTcSVLubTf85XFrsTEDzM8+BaQE2WPdgH0lK/tcFk/yGrCSGzcly0psvAups mWhrOkRbNRCJ6mJvMu5pR9a/PyfzU+S7kc6M90LZJR3+EC9Q9wdD0= Received: (qmail 70545 invoked by alias); 28 Sep 2015 14:33:34 -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 70534 invoked by uid 89); 28 Sep 2015 14:33:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL, BAYES_00, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: fencepost.gnu.org Received: from fencepost.gnu.org (HELO fencepost.gnu.org) (208.118.235.10) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 28 Sep 2015 14:33:32 +0000 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47056) by fencepost.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ZgZUg-0003cF-Dv for gcc-patches@gnu.org; Mon, 28 Sep 2015 10:33:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZgZUc-0005G3-0B for gcc-patches@gnu.org; Mon, 28 Sep 2015 10:33:29 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:54407) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgZUb-0005FJ-QR for gcc-patches@gnu.org; Mon, 28 Sep 2015 10:33:25 -0400 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZgZUZ-0000qy-QS from Tom_deVries@mentor.com for gcc-patches@gnu.org; Mon, 28 Sep 2015 07:33:23 -0700 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.3.224.2; Mon, 28 Sep 2015 15:33:22 +0100 To: "gcc-patches@gnu.org" From: Tom de Vries Subject: [RFC] Dump function attributes Message-ID: <56094F9A.1040500@mentor.com> Date: Mon, 28 Sep 2015 16:32:58 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] [fuzzy] X-Received-From: 192.94.38.131 Hi, patch below prints the function attributes in the dump file. Say we mark a function foo with attributes noinline and noclone like this: ... int __attribute__((noinline, noclone)) foo (void) ... Then using this patch, we find in the dump file: ... ;; Function foo (foo, funcdef_no=10, decl_uid=2455, cgraph_uid=10, symbol_order=10) Pass statistics of : ---------------- foo () [ noclone , noinline ] { ... Good idea? If so, do we want one attribute per line? Thanks, - Tom diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index cd7a4b4..c724fde 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -7384,6 +7384,13 @@ dump_function_to_file (tree fndecl, FILE *file, int flags) } fprintf (file, ")\n"); + if (DECL_ATTRIBUTES (fndecl) != NULL_TREE) + { + fprintf (file, "[ "); + print_generic_expr (file, DECL_ATTRIBUTES (fndecl), dump_flags); + fprintf (file, "]\n"); + } + if (flags & TDF_VERBOSE) print_node (file, "", fndecl, 2);