This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 5/6] Port IPA reference to function_summary infrastructure.


On 07/09/2015 03:13 AM, mliska wrote:
gcc/ChangeLog:

2015-07-03  Martin Liska  <mliska@suse.cz>

	* ipa-reference.c (ipa_ref_opt_summary_t): New class.
	(get_reference_optimization_summary): Use it.
	(set_reference_optimization_summary): Likewise.
	(ipa_init): Remove hook holders usage.
	(ipa_reference_c_finalize): Likewise.
	(ipa_ref_opt_summary_t::duplicate): New function.
	(ipa_ref_opt_summary_t::remove): Likewise.
	(propagate): Allocate the summary if does not exist.
	(ipa_reference_read_optimization_summary): Likewise.
	(struct ipa_reference_vars_info_d): Add new method.
	(struct ipa_reference_optimization_summary_d): Likewise.
	(get_reference_vars_info): Use new underlying container.
	(set_reference_vars_info): Remove.
	(init_function_info): Set up the container.

@@ -89,6 +84,13 @@ struct ipa_reference_global_vars_info_d

  struct ipa_reference_optimization_summary_d
  {
+  /* Return true if the data structure is empty.  */
+  inline bool
+  empty_p ()
+  {
+    return statics_not_read == NULL && statics_not_written == NULL;
+  }
+
Presumably this is still POD, even with the inline function, so "struct" is still correct, right?



@@ -99,6 +101,14 @@ typedef struct ipa_reference_optimization_summary_d *ipa_reference_optimization_

  struct ipa_reference_vars_info_d
  {
+  /* Return true if the data structure is empty.  */
+  inline bool
+  empty_p ()
+  {
+    return local.statics_read == NULL && local.statics_written == NULL
+      && global.statics_read == NULL && global.statics_written == NULL;
+  }
+
Similarly.

So please confirm those are still POD types. If they are, then the patch is OK as-is. If they're not PODs, then change them to classes and that patch is pre-approved.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]