This is the mail archive of the 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: Unit at time compilation mode II


Jan Hubicka wrote:
previous version had bug in defering functions (so without
-funit-at-time it never inlined into deferred functions) and updating of
callgraph after inlining.

Regtested/bootstrapped i386.  OK?
For such a chunk of new code how about doing bootstraps/testing on more than one

Index: callgraph.c

+ + #include "config.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "system.h"
system.h needs to be included after config.h

+ static void
+ remove_edge (caller, callee)
+ struct cgraph_node *caller, *callee;
+ {
+ struct cgraph_edge **edge, **edge2;
+ + for (edge = &callee->callers; *edge && (*edge)->caller != caller;
+ edge = &((*edge)->next_caller))
+ ;
How about using "continue" here it's a bit more visible than just a semicolon.

+ bool
+ cgraph_calls_p (caller_decl, callee_decl)
+ tree caller_decl, callee_decl;
+ {
+ struct cgraph_node *caller = cgraph_node (caller_decl);
+ struct cgraph_node *callee = cgraph_node (callee_decl);
+ struct cgraph_edge *edge;
+ + for (edge = callee->callers; edge && (edge)->caller != caller;
+ edge = (edge->next_caller))
+ ;
ditto here.

+ static tree
+ record_call_1 (tp, walk_subtrees, data)
+      tree *tp;
+      int *walk_subtrees ATTRIBUTE_UNUSED;
Why mark it unused it's definately used


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