vpr/src/place/place.cpp
/* Frees the major structures needed by the placer (and not needed       *
 * elsewhere).   */
Frees the major structures needed by the placer (and not needed
elsewhere).
Frees the major structures needed by the placer ( and not needed elsewhere ) .
static void free_placement_structs(const t_placer_opts& placer_opts) {
    auto& cluster_ctx = g_vpr_ctx.clustering();
    free_fast_cost_update();
    if (placer_opts.place_algorithm == PATH_TIMING_DRIVEN_PLACE
        || placer_opts.enable_timing_computations) {
        for (auto net_id : cluster_ctx.clb_nlist.nets()) {
            point_to_point_timing_cost[net_id]++;
            free(point_to_point_timing_cost[net_id]);
            temp_point_to_point_timing_cost[net_id]++;
            free(temp_point_to_point_timing_cost[net_id]);
            point_to_point_delay[net_id]++;
            free(point_to_point_delay[net_id]);
            temp_point_to_point_delay[net_id]++;
            free(temp_point_to_point_delay[net_id]);
        }
        point_to_point_timing_cost.clear();
        point_to_point_delay.clear();
        temp_point_to_point_timing_cost.clear();
        temp_point_to_point_delay.clear();
        net_pin_indices.clear();
    }
    free_placement_macros_structs();
    free_blk_pin_from_port_pin();
}
static void free_placement_structs ( const t_placer_opts & placer_opts ) { auto & cluster_ctx = g_vpr_ctx . clustering ( ) ; free_fast_cost_update ( ) ; if ( placer_opts . place_algorithm == PATH_TIMING_DRIVEN_PLACE || placer_opts . enable_timing_computations ) { for ( auto net_id : cluster_ctx . clb_nlist . nets ( ) ) { point_to_point_timing_cost [ net_id ] ++ ; free ( point_to_point_timing_cost [ net_id ] ) ; temp_point_to_point_timing_cost [ net_id ] ++ ; free ( temp_point_to_point_timing_cost [ net_id ] ) ; point_to_point_delay [ net_id ] ++ ; free ( point_to_point_delay [ net_id ] ) ; temp_point_to_point_delay [ net_id ] ++ ; free ( temp_point_to_point_delay [ net_id ] ) ; } point_to_point_timing_cost . clear ( ) ; point_to_point_delay . clear ( ) ; temp_point_to_point_timing_cost . clear ( ) ; temp_point_to_point_delay . clear ( ) ; net_pin_indices . clear ( ) ; } free_placement_macros_structs ( ) ; free_blk_pin_from_port_pin ( ) ; }
Frees the major structures needed by the placer (and not needed
 elsewhere).
Frees the major structures needed by the placer ( and not needed elsewhere ) .
/*add one to the address since it is indexed from 1 not 0 */ /* Frees up all the data structure used in vpr_utils. */