44 namespace module_identification
74 std::vector<std::vector<Net*>>
75 reorder_commutative_operands(
const std::vector<std::vector<Net*>>& operands,
const std::vector<std::vector<Gate*>>& registers,
const u32 permute_start_index = 0);
97 std::vector<Net*>
get_output_nets(
const std::vector<Gate*>& gates,
bool only_external_destinations =
true);
std::set< u32 > find_neighboring_registers(const Net *n, const std::vector< std::vector< Gate * >> ®isters)
Find neighboring registers connected to a given net.
std::vector< std::vector< Net * > > reorder_commutative_operands(const std::vector< std::vector< Net * >> &operands, const std::vector< std::vector< Gate * >> ®isters, const u32 permute_start_index=0)
Reorder commutative operands based on a permutation cache.
std::vector< Net * > get_input_nets(const std::vector< Gate * > &gates)
Get input nets from a list of gates.
std::vector< Net * > get_output_nets(const std::vector< Gate * > &gates, bool only_external_destinations=true)
Get output nets from a list of gates.