+ /* do not transform predecessors yet to keep the pre-transform
+ * phase from visiting all the graph */
+ int arity = get_irn_arity(node);
+ for (int i = 0; i < arity; ++i) {
+ ir_node *in = get_irn_n(node, i);
+ add_End_keepalive(new_end, in);
+ }
+ be_enqueue_preds(node);
+
+ return new_end;
+}
+
+void be_start_transform_setup(void)
+{
+ ir_clear_opcodes_generic_func();
+
+ be_set_transform_function(op_Bad, be_duplicate_node);
+ be_set_transform_function(op_be_Copy, be_duplicate_node);
+ be_set_transform_function(op_be_CopyKeep, be_duplicate_node);
+ be_set_transform_function(op_be_IncSP, be_duplicate_node);
+ be_set_transform_function(op_be_Keep, be_duplicate_node);
+ be_set_transform_function(op_be_Return, be_duplicate_node);
+ be_set_transform_function(op_be_Start, be_duplicate_node);
+ be_set_transform_function(op_Block, transform_block);
+ be_set_transform_function(op_End, transform_end);
+ be_set_transform_function(op_NoMem, be_duplicate_node);
+ be_set_transform_function(op_Pin, be_duplicate_node);
+ be_set_transform_function(op_Start, be_duplicate_node);
+ be_set_transform_function(op_Sync, be_duplicate_node);