using the general walker cg_walk for ip graphs.
In irprog: Added a field in the prog struture which
contains the interprocedural outedges
[r2622]
if (is_no_Block(node))
cg_walk_2(get_nodes_block(node), pre, post, env);
for (i = get_irn_arity(node) - 1; i >= 0; --i) {
- rem = switch_irg(node, i);
+ rem = switch_irg(node, i); /* @@@ AS: Is this wrong? We do have to
+ switch to the irg of the predecessor, don't we? */
cg_walk_2(get_irn_n(node, i), pre, post, env);
current_ir_graph = rem;
}
{
return irp->const_code_irg;
}
+
+void set_irp_ip_outedges(ir_node ** ip_outedges)
+{
+ irp -> ip_outedges = ip_outedges;
+}
+
+ir_node** get_irp_ip_outedges(void)
+{
+ return(irp -> ip_outedges);
+}
*/
ir_graph *get_const_code_irg(void);
+void set_irp_ip_outedges(ir_node ** ip_outedges);
+ir_node** get_irp_ip_outedges(void);
+
#endif /* ifndef _IRPROG_H_ */
to allocate nodes the represent values
of constant entities. It is not meant as
a procedure. */
+
+ ir_node **ip_outedges; /**< Huge Array that contains all out edges
+ in interprocedural view. */
ident *name;
/*struct obstack *obst; * @@@ Should we place all types and
entities on an obstack, too? */