* This function reroutes all uses of the original value to the copies in the
* corresponding dominance subtrees and creates Phi functions where necessary.
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
+
+/* statev in this file is extensive, so only enable if needed */
+#define DISABLE_STATEV
#include "bessaconstr.h"
#include "bemodule.h"
static
void introduce_def_at_block(ir_node *block, ir_node *def)
{
- if(irn_visited(block)) {
+ if (irn_visited_else_mark(block)) {
ir_node *node = block;
ir_node *current_def;
} else {
set_irn_link(block, def);
set_irn_link(def, NULL);
- mark_irn_visited(block);
}
}
void be_ssa_construction_fix_users_array(be_ssa_construction_env_t *env,
ir_node **nodes, size_t nodes_len)
{
- stat_ev_cnt_decl(uses);
const ir_edge_t *edge, *next;
size_t i;
+ stat_ev_cnt_decl(uses);
BE_TIMER_PUSH(t_ssa_constr);
def = search_def(env, at);
if(def == NULL) {
- panic("no definition found for %+F at position %d\n", use, pos);
+ panic("no definition found for %+F at position %d", use, pos);
}
DBG((dbg, LEVEL_2, "\t%+F(%d) -> %+F\n", use, pos, def));