vpr/src/pack/cluster.cpp
/* Speculation successful, commit input/output pins used */
Speculation successful, commit input/output pins used
Speculation successful commit input / output pins used
static void commit_lookahead_pins_used(t_pb* cur_pb) {
    const t_pb_type* pb_type = cur_pb->pb_graph_node->pb_type;
    if (pb_type->num_modes > 0 && cur_pb->name) {
        for (int i = 0; i < cur_pb->pb_graph_node->num_input_pin_class; i++) {
            VTR_ASSERT(cur_pb->pb_stats->lookahead_input_pins_used[i].size() <= (unsigned int)cur_pb->pb_graph_node->input_pin_class_size[i]);
            for (size_t j = 0; j < cur_pb->pb_stats->lookahead_input_pins_used[i].size(); j++) {
                VTR_ASSERT(cur_pb->pb_stats->lookahead_input_pins_used[i][j]);
                cur_pb->pb_stats->input_pins_used[i].insert({j, cur_pb->pb_stats->lookahead_input_pins_used[i][j]});
            }
        }
        for (int i = 0; i < cur_pb->pb_graph_node->num_output_pin_class; i++) {
            VTR_ASSERT(cur_pb->pb_stats->lookahead_output_pins_used[i].size() <= (unsigned int)cur_pb->pb_graph_node->output_pin_class_size[i]);
            for (size_t j = 0; j < cur_pb->pb_stats->lookahead_output_pins_used[i].size(); j++) {
                VTR_ASSERT(cur_pb->pb_stats->lookahead_output_pins_used[i][j]);
                cur_pb->pb_stats->output_pins_used[i].insert({j, cur_pb->pb_stats->lookahead_output_pins_used[i][j]});
            }
        }
        if (cur_pb->child_pbs) {
            for (int i = 0; i < pb_type->modes[cur_pb->mode].num_pb_type_children; i++) {
                if (cur_pb->child_pbs[i]) {
                    for (int j = 0; j < pb_type->modes[cur_pb->mode].pb_type_children[i].num_pb; j++) {
                        commit_lookahead_pins_used(&cur_pb->child_pbs[i][j]);
                    }
                }
            }
        }
    }
}
static void commit_lookahead_pins_used ( t_pb * cur_pb ) { const t_pb_type * pb_type = cur_pb -> pb_graph_node -> pb_type ; if ( pb_type -> num_modes > 0 && cur_pb -> name ) { for ( int i = 0 ; i < cur_pb -> pb_graph_node -> num_input_pin_class ; i ++ ) { VTR_ASSERT ( cur_pb -> pb_stats -> lookahead_input_pins_used [ i ] . size ( ) <= ( unsigned int ) cur_pb -> pb_graph_node -> input_pin_class_size [ i ] ) ; for ( size_t j = 0 ; j < cur_pb -> pb_stats -> lookahead_input_pins_used [ i ] . size ( ) ; j ++ ) { VTR_ASSERT ( cur_pb -> pb_stats -> lookahead_input_pins_used [ i ] [ j ] ) ; cur_pb -> pb_stats -> input_pins_used [ i ] . insert ( { j , cur_pb -> pb_stats -> lookahead_input_pins_used [ i ] [ j ] } ) ; } } for ( int i = 0 ; i < cur_pb -> pb_graph_node -> num_output_pin_class ; i ++ ) { VTR_ASSERT ( cur_pb -> pb_stats -> lookahead_output_pins_used [ i ] . size ( ) <= ( unsigned int ) cur_pb -> pb_graph_node -> output_pin_class_size [ i ] ) ; for ( size_t j = 0 ; j < cur_pb -> pb_stats -> lookahead_output_pins_used [ i ] . size ( ) ; j ++ ) { VTR_ASSERT ( cur_pb -> pb_stats -> lookahead_output_pins_used [ i ] [ j ] ) ; cur_pb -> pb_stats -> output_pins_used [ i ] . insert ( { j , cur_pb -> pb_stats -> lookahead_output_pins_used [ i ] [ j ] } ) ; } } if ( cur_pb -> child_pbs ) { for ( int i = 0 ; i < pb_type -> modes [ cur_pb -> mode ] . num_pb_type_children ; i ++ ) { if ( cur_pb -> child_pbs [ i ] ) { for ( int j = 0 ; j < pb_type -> modes [ cur_pb -> mode ] . pb_type_children [ i ] . num_pb ; j ++ ) { commit_lookahead_pins_used ( & cur_pb -> child_pbs [ i ] [ j ] ) ; } } } } } }
Speculation successful, commit input/output pins used
Speculation successful commit input / output pins used