/**
* the environment for collecting data
*/
-typedef struct _collect_t {
+typedef struct collect_t {
ir_node *proj_X; /**< initial exec proj */
ir_node *block; /**< old first block */
int blk_idx; /**< cfgpred index of the initial exec in block */
case iro_Add:
/* try additive */
a = get_Add_left(irn);
- if (get_irn_MacroBlock(a) != get_irn_MacroBlock(call)) {
+ if (get_nodes_block(a) != get_nodes_block(call)) {
/* we are outside, ignore */
va = TR_UNKNOWN;
} else {
return TR_BAD;
}
b = get_Add_right(irn);
- if (get_irn_MacroBlock(b) != get_irn_MacroBlock(call)) {
+ if (get_nodes_block(b) != get_nodes_block(call)) {
/* we are outside, ignore */
vb = TR_UNKNOWN;
} else {
case iro_Sub:
/* try additive, but return value must be left */
a = get_Sub_left(irn);
- if (get_irn_MacroBlock(a) != get_irn_MacroBlock(call)) {
+ if (get_nodes_block(a) != get_nodes_block(call)) {
/* we are outside, ignore */
va = TR_UNKNOWN;
} else {
return TR_BAD;
}
b = get_Sub_right(irn);
- if (get_irn_MacroBlock(b) != get_irn_MacroBlock(call)) {
+ if (get_nodes_block(b) != get_nodes_block(call)) {
/* we are outside, ignore */
vb = TR_UNKNOWN;
} else {
case iro_Mul:
/* try multiplicative */
a = get_Mul_left(irn);
- if (get_irn_MacroBlock(a) != get_irn_MacroBlock(call)) {
+ if (get_nodes_block(a) != get_nodes_block(call)) {
/* we are outside, ignore */
va = TR_UNKNOWN;
} else {
return TR_BAD;
}
b = get_Mul_right(irn);
- if (get_irn_MacroBlock(b) != get_irn_MacroBlock(call)) {
+ if (get_nodes_block(b) != get_nodes_block(call)) {
/* we are outside, ignore */
vb = TR_UNKNOWN;
} else {
int n_opt_applications = 0;
ir_graph *irg;
+ FIRM_DBG_REGISTER(dbg, "firm.opt.tailrec");
+
for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
irg = get_irp_irg(i);