(patch,rfc) s/gimple/gimple */
diff mbox

Message ID 87pp18w4cj.fsf@kepler.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge Sept. 24, 2015, 9:31 a.m. UTC
Hi!

On Sat, 19 Sep 2015 20:55:35 -0400, Trevor Saunders <tbsaunde@tbsaunde.org> wrote:
> On Fri, Sep 18, 2015 at 09:32:37AM -0600, Jeff Law wrote:
> > On 09/18/2015 07:32 AM, Trevor Saunders wrote:
> > >On Wed, Sep 16, 2015 at 03:11:14PM -0400, David Malcolm wrote:
> > >>On Wed, 2015-09-16 at 09:16 -0400, Trevor Saunders wrote:
> > >>>I gave changing from gimple to gimple * a shot last week.

> ok, its committed now :)

    [...]/source-gcc/gcc/tree-object-size.c:62:13: warning: 'bool plus_stmt_object_size(object_size_info*, tree, gimple)' declared 'static' but never defined [-Wunused-function]
     static bool plus_stmt_object_size (struct object_size_info *, tree, gimple);
                 ^
    [...]/source-gcc/gcc/tree-object-size.c:63:13: warning: 'bool cond_expr_object_size(object_size_info*, tree, gimple)' declared 'static' but never defined [-Wunused-function]
     static bool cond_expr_object_size (struct object_size_info *, tree, gimple);
                 ^

Not sure why your automation didn't catch these?  Anyway, in r228080 I
now committed these additional changes (as obvious):

commit 24500bbaac87c5e55ded55cb1d4aabca89be1649
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Sep 24 09:27:12 2015 +0000

    Additional changes to switch from gimple to gimple *
    
    	gcc/
    	* tree-object-size.c (plus_stmt_object_size)
    	(cond_expr_object_size): Change the formal parameters from gimple
    	to gimple *.
    	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
    	* tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
    	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228080 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog          |    9 +++++++++
 gcc/tree-object-size.c |    4 ++--
 gcc/tree-ssa-alias.c   |    4 ++--
 gcc/tree-ssa-sccvn.c   |    2 +-
 gcc/tree-ssa-sccvn.h   |    1 -
 5 files changed, 14 insertions(+), 6 deletions(-)



Grüße,
 Thomas

Comments

Trevor Saunders Sept. 26, 2015, 5:41 a.m. UTC | #1
On Thu, Sep 24, 2015 at 11:31:40AM +0200, Thomas Schwinge wrote:
> Hi!
> 
> On Sat, 19 Sep 2015 20:55:35 -0400, Trevor Saunders <tbsaunde@tbsaunde.org> wrote:
> > On Fri, Sep 18, 2015 at 09:32:37AM -0600, Jeff Law wrote:
> > > On 09/18/2015 07:32 AM, Trevor Saunders wrote:
> > > >On Wed, Sep 16, 2015 at 03:11:14PM -0400, David Malcolm wrote:
> > > >>On Wed, 2015-09-16 at 09:16 -0400, Trevor Saunders wrote:
> > > >>>I gave changing from gimple to gimple * a shot last week.
> 
> > ok, its committed now :)
> 
>     [...]/source-gcc/gcc/tree-object-size.c:62:13: warning: 'bool plus_stmt_object_size(object_size_info*, tree, gimple)' declared 'static' but never defined [-Wunused-function]
>      static bool plus_stmt_object_size (struct object_size_info *, tree, gimple);
>                  ^
>     [...]/source-gcc/gcc/tree-object-size.c:63:13: warning: 'bool cond_expr_object_size(object_size_info*, tree, gimple)' declared 'static' but never defined [-Wunused-function]
>      static bool cond_expr_object_size (struct object_size_info *, tree, gimple);
>                  ^
> 
> Not sure why your automation didn't catch these?  Anyway, in r228080 I
> now committed these additional changes (as obvious):

well, it wasn't that automated ;) but this does point out some
interesting things.

> diff --git gcc/tree-object-size.c gcc/tree-object-size.c
> index f76f160..230761b 100644
> --- gcc/tree-object-size.c
> +++ gcc/tree-object-size.c
> @@ -59,8 +59,8 @@ static void collect_object_sizes_for (struct object_size_info *, tree);
>  static void expr_object_size (struct object_size_info *, tree, tree);
>  static bool merge_object_sizes (struct object_size_info *, tree, tree,
>  				unsigned HOST_WIDE_INT);
> -static bool plus_stmt_object_size (struct object_size_info *, tree, gimple);
> -static bool cond_expr_object_size (struct object_size_info *, tree, gimple);
> +static bool plus_stmt_object_size (struct object_size_info *, tree, gimple *);
> +static bool cond_expr_object_size (struct object_size_info *, tree, gimple *);

so, these forward decls aren't actually needed, and I'd be tempted to
just remove them, however I was curious why they didn't generate a
warning, and I found we regressed the warning for undefined declared
static functions.  Consider this C++ test case:

static bool bar(int);

static bool
bar(int *p)
{
	return p;
}

int main()
{
	int x;
	bar(&x);
	return 0;
}

g++ (Debian 5.2.1-17) 5.2.1 20150911
/tmp/test.cc:1:13: warning: ‘bool bar(int)’ declared ‘static’ but never defined [-Wunused-function]
 static bool bar(int);
             ^

xgcc (GCC) 6.0.0 20150920 (experimental)
 bool bar(int*) int main()
Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes> <free-inline-summary> <whole-program> <inline>Assembling functions:
 bool bar(int*) int main()
Execution times (seconds)
 phase setup             :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 (50%) wall    1381 kB (76%) ggc
 phase parsing           :   0.00 ( 0%) usr   0.01 (100%) sys   0.00 ( 0%) wall     330 kB (18%) ggc
 phase opt and generate  :   0.01 (100%) usr   0.00 ( 0%) sys   0.01 (50%) wall      95 kB ( 5%) ggc
 parser (global)         :   0.00 ( 0%) usr   0.01 (100%) sys   0.00 ( 0%) wall     311 kB (17%) ggc
 initialize rtl          :   0.01 (100%) usr   0.00 ( 0%) sys   0.01 (50%) wall      12 kB ( 1%) ggc
 TOTAL                 :   0.01             0.01             0.02               1818 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --enable-checking=release to disable checks.

I guess I'll try and file a bug about that soon :)

Trev

Patch
diff mbox

diff --git gcc/ChangeLog gcc/ChangeLog
index 9c2ad9d..7bc8e91 100644
--- gcc/ChangeLog
+++ gcc/ChangeLog
@@ -1,3 +1,12 @@ 
+2015-09-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* tree-object-size.c (plus_stmt_object_size)
+	(cond_expr_object_size): Change the formal parameters from gimple
+	to gimple *.
+	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
+	* tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
+	* tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
+
 2015-09-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
diff --git gcc/tree-object-size.c gcc/tree-object-size.c
index f76f160..230761b 100644
--- gcc/tree-object-size.c
+++ gcc/tree-object-size.c
@@ -59,8 +59,8 @@  static void collect_object_sizes_for (struct object_size_info *, tree);
 static void expr_object_size (struct object_size_info *, tree, tree);
 static bool merge_object_sizes (struct object_size_info *, tree, tree,
 				unsigned HOST_WIDE_INT);
-static bool plus_stmt_object_size (struct object_size_info *, tree, gimple);
-static bool cond_expr_object_size (struct object_size_info *, tree, gimple);
+static bool plus_stmt_object_size (struct object_size_info *, tree, gimple *);
+static bool cond_expr_object_size (struct object_size_info *, tree, gimple *);
 static void init_offset_limit (void);
 static void check_for_plus_in_loops (struct object_size_info *, tree);
 static void check_for_plus_in_loops_1 (struct object_size_info *, tree,
diff --git gcc/tree-ssa-alias.c gcc/tree-ssa-alias.c
index f3674ae..5ff2275 100644
--- gcc/tree-ssa-alias.c
+++ gcc/tree-ssa-alias.c
@@ -76,12 +76,12 @@  along with GCC; see the file COPYING3.  If not see
 
    The main alias-oracle entry-points are
 
-   bool stmt_may_clobber_ref_p (gimple, tree)
+   bool stmt_may_clobber_ref_p (gimple *, tree)
 
      This function queries if a statement may invalidate (parts of)
      the memory designated by the reference tree argument.
 
-   bool ref_maybe_used_by_stmt_p (gimple, tree)
+   bool ref_maybe_used_by_stmt_p (gimple *, tree)
 
      This function queries if a statement may need (parts of) the
      memory designated by the reference tree argument.
diff --git gcc/tree-ssa-sccvn.c gcc/tree-ssa-sccvn.c
index 57c1b55..ce79842 100644
--- gcc/tree-ssa-sccvn.c
+++ gcc/tree-ssa-sccvn.c
@@ -2684,7 +2684,7 @@  vn_nary_op_insert (tree op, tree result)
 /* Insert the rhs of STMT into the current hash table with a value number of
    RESULT.  */
 
-vn_nary_op_t
+static vn_nary_op_t
 vn_nary_op_insert_stmt (gimple *stmt, tree result)
 {
   vn_nary_op_t vno1
diff --git gcc/tree-ssa-sccvn.h gcc/tree-ssa-sccvn.h
index 92ca85a..d0a911f 100644
--- gcc/tree-ssa-sccvn.h
+++ gcc/tree-ssa-sccvn.h
@@ -204,7 +204,6 @@  tree vn_nary_op_lookup_stmt (gimple *, vn_nary_op_t *);
 tree vn_nary_op_lookup_pieces (unsigned int, enum tree_code,
 			       tree, tree *, vn_nary_op_t *);
 vn_nary_op_t vn_nary_op_insert (tree, tree);
-vn_nary_op_t vn_nary_op_insert_stmt (gimple, tree);
 vn_nary_op_t vn_nary_op_insert_pieces (unsigned int, enum tree_code,
 				       tree, tree *, tree, unsigned int);
 bool ao_ref_init_from_vn_reference (ao_ref *, alias_set_type, tree,