blob: e447194bf50d8718614e86a172d32a7ca48c9830 [file] [log] [blame]
/*
Find placement for group of atom blocks in complex block
Author: Jason Luu
*/
#ifndef CLUSTER_PLACEMENT_H
#define CLUSTER_PLACEMENT_H
#include "arch_types.h"
t_cluster_placement_stats *alloc_and_load_cluster_placement_stats(void);
bool get_next_primitive_list(
t_cluster_placement_stats *cluster_placement_stats,
const t_pack_molecule *molecule,
t_pb_graph_node **primitives_list,
const ClusterBlockId clb_index);
void commit_primitive(t_cluster_placement_stats *cluster_placement_stats,
const t_pb_graph_node *primitive);
void set_mode_cluster_placement_stats(const t_pb_graph_node *complex_block,
int mode);
void reset_cluster_placement_stats(
t_cluster_placement_stats *cluster_placement_stats);
void free_cluster_placement_stats(
t_cluster_placement_stats *cluster_placement_stats);
int get_array_size_of_molecule(const t_pack_molecule *molecule);
bool exists_free_primitive_for_atom_block(
t_cluster_placement_stats *cluster_placement_stats,
const AtomBlockId blk_id);
void reset_tried_but_unused_cluster_placements(
t_cluster_placement_stats *cluster_placement_stats);
#endif