int i, n_callees;
ir_graph *irg;
- if (get_irn_op(n) != op_Call) return;
+ if (! is_Call(n)) return;
irg = get_irn_irg(n);
n_callees = get_Call_n_callees(n);
ir_graph *callee = get_entity_irg(callee_e);
if (callee) {
- ana_entry buf = { callee, NULL, 0};
+ ana_entry buf = { NULL, NULL, 0};
ana_entry *found;
int depth;
+ buf.irg = callee;
+
pset_insert((pset *)callee->callers, irg, HASH_PTR(irg));
found = pset_find((pset *)irg->callees, &buf, HASH_PTR(callee));
if (found) { /* add Call node to list, compute new nesting. */
/**********************************************************************/
typedef struct scc_info {
- bool in_stack; /**< Marks whether node is on the stack. */
+ int in_stack; /**< Marks whether node is on the stack. */
int dfn; /**< Depth first search number. */
int uplink; /**< dfn number of ancestor. */
int visited;
mark_irg_in_stack (ir_graph *n) {
scc_info *info = get_irg_link(n);
assert(info);
- info->in_stack = true;
+ info->in_stack = 1;
}
static INLINE void
mark_irg_not_in_stack (ir_graph *n) {
scc_info *info = get_irg_link(n);
assert(info);
- info->in_stack = false;
+ info->in_stack = 0;
}
-static INLINE bool
+static INLINE int
irg_is_in_stack (ir_graph *n) {
scc_info *info = get_irg_link(n);
assert(info);
}
}
-/** Returns true if n is a loop header, i.e., it is a Block node
+/** Returns non-zero if n is a loop header, i.e., it is a Block node
* and has predecessors within the cfloop and out of the cfloop.
*
* @param root: only needed for assertion.
*/
-static bool
+static int
is_head (ir_graph *n, ir_graph *root)
{
int i, arity;
}
/**
- * Returns true if n is possible loop head of an endless loop.
+ * Returns non-zero if n is possible loop head of an endless loop.
* I.e., it is a Block, Phi or Filter node and has only predecessors
* within the loop.
* @arg root: only needed for assertion.
*/
-static bool
+static int
is_endless_head (ir_graph *n, ir_graph *root)
{
int i, arity;
* Check whether there is a parallel edge in the ip control flow.
* Only
*/
-static bool
+static int
is_ip_head (ir_graph *n, ir_graph *pred)
{
int is_be = 0;
int iv_rem = get_interprocedural_view();
- set_interprocedural_view(true);
+ set_interprocedural_view(1);
{
ir_node *sblock = get_irg_start_block(n);
int i, arity = get_Block_n_cfgpreds(sblock);
//printf(" "); DDMG(ip_pred);
if ((ip_pred == pred) && is_backedge(sblock, i)) {
//printf(" found\n");
- is_be = 1;
+ is_be = 1;
}
}
}