30 std::unordered_map<PHV::Transaction *, PHV::SuperCluster *> tr_to_sc_i;
32 std::unordered_map<PHV::Transaction *, int> tr_to_tr_id_i;
34 std::map<int, PHV::Transaction *> tr_id_to_tr_i;
36 std::map<PHV::Container, std::set<int>> container_to_tr_ids_i;
41 std::map<int, const cstring> tr_id_to_diff;
66 static constexpr int MAX_PRUNED_TRANSACTIONS = 16;
69 static constexpr int MAX_OPT_PASS = 2;
72 static constexpr int MAX_OPT_PASS_WO_DARK = 1;
76 static constexpr int MIN_TR_SIZE = 32;
79 static constexpr size_t MAX_SC_BIT = 64;
81 static constexpr size_t MAX_TOTAL_SC_BIT = 256;
85 const std::list<PHV::ContainerGroup *> &container_groups_i;
92 bool buildSeqWithout(
int tr_id, std::list<int> &tr_in, std::list<int> &tr_out);
100 const std::list<PHV::ContainerGroup *> &container_groups,
const ScoreContext &score_ctx)
101 : alloc_strategy_i(alloc_strategy_i),
102 container_groups_i(container_groups),
103 score_ctx_i(score_ctx) {
111 std::list<PHV::SuperCluster *>
optimize(std::list<PHV::SuperCluster *> &unallocated_sc,
ScoreContext can compute a alloc score for an PHV::Transaction.
Definition allocate_phv.h:306