diff mbox

Remove fold-const.h as a dependency for gimple.h

Message ID 558C650F.30008@redhat.com
State New
Headers show

Commit Message

Andrew MacLeod June 25, 2015, 8:31 p.m. UTC
I proposed including fold-const.h into gimple.h, but didn't notice that 
its actually only needed by one inline function. Moving that function to 
gimple.c means its no longer required.

160 places need cgraph.h, so by removing this dependency, the number of 
those files which still need fold-const.h drops to 108 uses.
The other 2 files are generally used by many of the files which include 
gimple.h, so trying to break those dependencies doesn't accomplish much.

This patch is currently undergoing testing, but expect no problems .  
Assuming it bootstraps on x86_64-unknown-linux-gnu with no new 
regressions, OK for trunk?

Andrew

Comments

Jeff Law June 25, 2015, 8:57 p.m. UTC | #1
On 06/25/2015 02:31 PM, Andrew MacLeod wrote:
> I proposed including fold-const.h into gimple.h, but didn't notice that
> its actually only needed by one inline function. Moving that function to
> gimple.c means its no longer required.
>
> 160 places need cgraph.h, so by removing this dependency, the number of
> those files which still need fold-const.h drops to 108 uses.
> The other 2 files are generally used by many of the files which include
> gimple.h, so trying to break those dependencies doesn't accomplish much.
>
> This patch is currently undergoing testing, but expect no problems .
> Assuming it bootstraps on x86_64-unknown-linux-gnu with no new
> regressions, OK for trunk?
OK.
Jeff
Richard Biener June 26, 2015, 9:40 a.m. UTC | #2
On Thu, Jun 25, 2015 at 10:57 PM, Jeff Law <law@redhat.com> wrote:
> On 06/25/2015 02:31 PM, Andrew MacLeod wrote:
>>
>> I proposed including fold-const.h into gimple.h, but didn't notice that
>> its actually only needed by one inline function. Moving that function to
>> gimple.c means its no longer required.
>>
>> 160 places need cgraph.h, so by removing this dependency, the number of
>> those files which still need fold-const.h drops to 108 uses.
>> The other 2 files are generally used by many of the files which include
>> gimple.h, so trying to break those dependencies doesn't accomplish much.
>>
>> This patch is currently undergoing testing, but expect no problems .
>> Assuming it bootstraps on x86_64-unknown-linux-gnu with no new
>> regressions, OK for trunk?
>
> OK.

Well, it's also just lazy in using build_fold_addr_expr_loc because it
doesn't want to spell out the all-tree.h

   build1_loc (gimple_location (gs), ADDR_EXPR, build_pointer_type
(decl), decl);

there is nothing to be simplified (setting a location here is also a waste).

Richard.

> Jeff
diff mbox

Patch

	* gimple.h (gimple_call_set_fn): Move inline function.
	* gimple.c (gimple_call_set_fn): Relocate here.

Index: gimple.h
===================================================================
*** gimple.h	(revision 224985)
--- gimple.h	(working copy)
*************** extern gimple currently_expanding_gimple
*** 1296,1301 ****
--- 1296,1302 ----
  #define gimple_alloc(c, n) gimple_alloc_stat (c, n MEM_STAT_INFO)
  gimple gimple_alloc_stat (enum gimple_code, unsigned MEM_STAT_DECL);
  greturn *gimple_build_return (tree);
+ void gimple_call_set_fndecl (gimple, tree);
  void gimple_call_reset_alias_info (gcall *);
  gcall *gimple_build_call_vec (tree, vec<tree> );
  gcall *gimple_build_call (tree, unsigned, ...);
*************** gimple_call_set_fn (gcall *gs, tree fn)
*** 2759,2775 ****
  }
  
  
- /* Set FNDECL to be the function called by call statement GS.  */
- 
- static inline void
- gimple_call_set_fndecl (gimple gs, tree decl)
- {
-   GIMPLE_CHECK (gs, GIMPLE_CALL);
-   gcc_gimple_checking_assert (!gimple_call_internal_p (gs));
-   gimple_set_op (gs, 1, build_fold_addr_expr_loc (gimple_location (gs), decl));
- }
- 
- 
  /* Set internal function FN to be the function called by call statement CALL_STMT.  */
  
  static inline void
--- 2760,2765 ----
Index: gimple.c
===================================================================
*** gimple.c	(revision 224986)
--- gimple.c	(working copy)
*************** gimple_build_return (tree retval)
*** 199,204 ****
--- 199,214 ----
    return s;
  }
  
+ /* Set FNDECL to be the function called by call statement GS.  */
+ 
+ void
+ gimple_call_set_fndecl (gimple gs, tree decl)
+ {
+   GIMPLE_CHECK (gs, GIMPLE_CALL);
+   gcc_gimple_checking_assert (!gimple_call_internal_p (gs));
+   gimple_set_op (gs, 1, build_fold_addr_expr_loc (gimple_location (gs), decl));
+ }
+ 
  /* Reset alias information on call S.  */
  
  void