#include "irdump.h"
#include "ircons_t.h"
-#define NO_CFLOOPS_WITHOUT_HEAD 1
-
/** The outermost graph the scc is computed for */
static ir_graph *outermost_ir_graph;
/** Current cfloop construction is working on. */
Next actions: Open a new cfloop on the cfloop tree and
try to find inner cfloops */
-#if NO_CFLOOPS_WITHOUT_HEAD
-
/* This is an adaption of the algorithm from fiasco / optscc to
* avoid cfloops without Block or Phi as first node. This should
* severely reduce the number of evaluations of nodes to detect
close = 0;
}
-#else
-
- ir_loop *l = new_loop();
-
-#endif
-
/* Remove the cfloop from the stack ... */
pop_scc_unmark_visit(n);
cfscc(tail);
assert(irn_visited(n));
-#if NO_CFLOOPS_WITHOUT_HEAD
if (close)
-#endif
close_loop(l);
} else {
/* AS: No cfloop head was found, that is we have straight line code.
#include "pmap.h"
#include "ircons.h"
-/* A variant of the loop tree that avoids loops without head.
- This reduces the depth of the loop tree. */
-#define NO_LOOPS_WITHOUT_HEAD 1
-
/** The outermost graph the scc is computed for. */
static ir_graph *outermost_ir_graph;
/** Current loop construction is working on. */
Next actions: Open a new loop on the loop tree and
try to find inner loops */
-#if NO_LOOPS_WITHOUT_HEAD
/* This is an adaption of the algorithm from fiasco / optscc to
* avoid loops without Block or Phi as first node. This should
* severely reduce the number of evaluations of nodes to detect
l = current_loop;
close = 0;
}
-#else
- ir_loop *l = new_loop();
-#endif
/* Remove the loop from the stack ... */
pop_scc_unmark_visit(n);
scc(tail);
assert(irn_visited(n));
-#if NO_LOOPS_WITHOUT_HEAD
if (close)
-#endif
close_loop(l);
} else {
/* No loop head was found, that is we have straight line code.