Patchwork New PARAM_IPA_MAX_AGG_ITEMS instead of a #define

login
register
mail settings
Submitter Martin Jambor
Date Sept. 6, 2012, 2:22 p.m.
Message ID <20120906142218.GC5213@virgil.arch.suse.de>
Download mbox | patch
Permalink /patch/182193/
State New
Headers show

Comments

Martin Jambor - Sept. 6, 2012, 2:22 p.m.
Hi,

the following patch replaces #define IPA_MAX_AFF_JF_ITEMS with a new
parameter PARAM_IPA_MAX_AGG_ITEMS (yeah, without the type).
Bootstrapped and tested on x86_64-linux, I consider it obvious enough
that I will commit it next week if there are no objections.

Thanks,

Martin


2012-09-05  Martin Jambor  <mjambor@suse.cz>

	* params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
	* ipa-prop.c: Include params.h.
	(IPA_MAX_AFF_JF_ITEMS): Removed.
	(determine_known_aggregate_parts): Use param value of
	PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS.
	* Makefile.in (ipa-prop.o): Add PARAMS_H dependency.

Patch

Index: src/gcc/Makefile.in
===================================================================
--- src.orig/gcc/Makefile.in
+++ src/gcc/Makefile.in
@@ -2851,7 +2851,7 @@  ipa-prop.o : ipa-prop.c $(CONFIG_H) $(SY
    $(TREE_FLOW_H) $(TM_H) $(TREE_PASS_H) $(FLAGS_H) $(TREE_H) \
    $(TREE_INLINE_H) $(GIMPLE_H) \
    $(GIMPLE_PRETTY_PRINT_H) $(LTO_STREAMER_H) \
-   $(DATA_STREAMER_H) $(TREE_STREAMER_H)
+   $(DATA_STREAMER_H) $(TREE_STREAMER_H) $(PARAMS_H)
 ipa-ref.o : ipa-ref.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
    langhooks.h $(GGC_H) $(TARGET_H) $(CGRAPH_H)  $(TREE_H) $(TARGET_H) \
    $(TREE_FLOW_H) $(TM_H) $(TREE_PASS_H) $(FLAGS_H) $(TREE_H) $(GGC_H) 
Index: src/gcc/ipa-prop.c
===================================================================
--- src.orig/gcc/ipa-prop.c
+++ src/gcc/ipa-prop.c
@@ -37,6 +37,7 @@  along with GCC; see the file COPYING3.
 #include "lto-streamer.h"
 #include "data-streamer.h"
 #include "tree-streamer.h"
+#include "params.h"
 
 
 /* Intermediate information about a parameter that is only useful during the
@@ -1145,9 +1146,6 @@  get_ssa_def_if_simple_copy (tree rhs)
   return rhs;
 }
 
-/* TODO: Turn this into a PARAM.  */
-#define IPA_MAX_AFF_JF_ITEMS 16
-
 /* Simple linked list, describing known contents of an aggregate beforere
    call.  */
 
@@ -1327,8 +1325,8 @@  determine_known_aggregate_parts (gimple
       *p = n;
 
       item_count++;
-      if (const_count == IPA_MAX_AFF_JF_ITEMS
-	  || item_count == 2 * IPA_MAX_AFF_JF_ITEMS)
+      if (const_count == PARAM_VALUE (PARAM_IPA_MAX_AGG_ITEMS)
+	  || item_count == 2 * PARAM_VALUE (PARAM_IPA_MAX_AGG_ITEMS))
 	break;
     }
 
Index: src/gcc/params.def
===================================================================
--- src.orig/gcc/params.def
+++ src/gcc/params.def
@@ -885,6 +885,12 @@  DEFPARAM (PARAM_IPA_CP_EVAL_THRESHOLD,
 	  "beneficial to clone.",
 	  500, 0, 0)
 
+DEFPARAM (PARAM_IPA_MAX_AGG_ITEMS,
+	  "ipa-max-agg-items",
+	  "Maximum number of aggregate content items for a parameter in "
+	  "jump functions and lattices",
+	  16, 0, 0)
+
 /* WHOPR partitioning configuration.  */
 
 DEFPARAM (PARAM_LTO_PARTITIONS,