On 10/09/2013 02:18 PM, Andrew MacLeod wrote:
On 10/09/2013 02:15 PM, Andrew MacLeod wrote:

Fair enough. I'll adjust... the front end files which use that routine will just have to include gimplify.h

Unless maybe we should expand the gimplify module to have a gimplfy-fe.[ch] which includes the routines the front ends require..? tehre are 3 or 4 other ones in there I have noticed that are called from the front ends.


Ugg. I played around with it some, but it needs to be sorted through a lot better. so any attempts at that seem premature right now.

Instead, I'll just move the few remaining prototypes from gimplfy.c that are in tree-flow.h into gimple.h which has a lot of the other gimplify prototypes in it. I'll deal with gimpllify.h and all these issues later on when Im more prepared and get to processing gimple.h.

I'll follow it by then reducing the include list for the new tree-cfg.h so that it truly represents just tree-cfg routines.

Bootstraps on x86_64-unknown-linux-gnu. regressions running.. OK?

Andrew


	* tree-flow.h: Move some prototypes to gimple.h.
	* gimple.h: Relocate some prototypes from tree-flow.h

Index: tree-flow.h
===================================================================
*** tree-flow.h	(revision 203320)
--- tree-flow.h	(working copy)
*************** extern tree gimplify_build1 (gimple_stmt
*** 159,173 ****
  extern void extract_true_false_edges_from_block (basic_block, edge *, edge *);
  extern unsigned int execute_fixup_cfg (void);
  
- /* In gimplify.c  */
- tree force_gimple_operand_1 (tree, gimple_seq *, gimple_predicate, tree);
- tree force_gimple_operand (tree, gimple_seq *, bool, tree);
- tree force_gimple_operand_gsi_1 (gimple_stmt_iterator *, tree,
- 				 gimple_predicate, tree,
- 				 bool, enum gsi_iterator_update);
- tree force_gimple_operand_gsi (gimple_stmt_iterator *, tree, bool, tree,
- 			       bool, enum gsi_iterator_update);
- 
- 
  #endif /* _TREE_FLOW_H  */
--- 159,162 ----
Index: gimple.h
===================================================================
*** gimple.h	(revision 203319)
--- gimple.h	(working copy)
*************** void gsi_commit_one_edge_insert (edge, b
*** 5354,5359 ****
--- 5354,5368 ----
  void gsi_commit_edge_inserts (void);
  gimple gimple_call_copy_skip_args (gimple, bitmap);
  
+ /* In gimplify.c.  */
+ tree force_gimple_operand_1 (tree, gimple_seq *, gimple_predicate, tree);
+ tree force_gimple_operand (tree, gimple_seq *, bool, tree);
+ tree force_gimple_operand_gsi_1 (gimple_stmt_iterator *, tree,
+ 				 gimple_predicate, tree,
+ 				 bool, enum gsi_iterator_update);
+ tree force_gimple_operand_gsi (gimple_stmt_iterator *, tree, bool, tree,
+ 			       bool, enum gsi_iterator_update);
  
  /* Convenience routines to walk all statements of a gimple function.
     Note that this is useful exclusively before the code is converted
*************** gimple_seq_set_location (gimple_seq seq,
*** 5478,5482 ****
  
  #define PERCENT(x,y) ((float)(x) * 100.0 / (float)(y))
  
- 
  #endif  /* GCC_GIMPLE_H */
--- 5487,5490 ----

Reply via email to