2 #include "jump_target.h"
4 void jump_from_block_to_target(jump_target *const tgt, ir_node *const block)
10 } else if (tgt->first) {
11 ir_node *const jmp = new_r_Jmp(tgt->block);
12 tgt->block = new_immBlock();
14 add_immBlock_pred(tgt->block, jmp);
16 ir_node *const jmp = new_r_Jmp(block);
17 add_immBlock_pred(tgt->block, jmp);
20 void jump_to_target(jump_target *const tgt)
22 ir_node *const block = get_cur_block();
24 jump_from_block_to_target(tgt, block);
27 void add_pred_to_jump_target(jump_target *const tgt, ir_node *const pred)
30 tgt->block = new_immBlock();
31 } else if (tgt->first) {
32 ir_node *const jmp = new_r_Jmp(tgt->block);
33 tgt->block = new_immBlock();
35 add_immBlock_pred(tgt->block, jmp);
37 add_immBlock_pred(tgt->block, pred);
40 ir_node *enter_jump_target(jump_target *const tgt)
42 ir_node *const block = tgt->block;
43 if (block && !tgt->first)
44 mature_immBlock(block);