vpr: Remove unused functions
diff --git a/vpr/src/pack/pack_patterns.cpp b/vpr/src/pack/pack_patterns.cpp
index dfd5d9d..af13476 100644
--- a/vpr/src/pack/pack_patterns.cpp
+++ b/vpr/src/pack/pack_patterns.cpp
@@ -56,10 +56,6 @@
const AtomNetlist& netlist);
static AtomPinId find_matching_pin(const AtomNetlist::pin_range pin_range, const t_netlist_pack_pattern_pin& pattern_pin, const AtomNetlist& netlist);
-static AtomPinId find_matching_pin(const AtomNetlist::pin_range pin_range, const t_netlist_pack_pattern_pin& pattern_pin,
- const std::set<AtomBlockId>& excluded_blocks, const AtomNetlist& netlist);
-static AtomBlockId find_parent_pattern_root(const AtomBlockId blk, const t_netlist_pack_pattern& pattern, const AtomNetlist& netlist);
-static bool matches_pattern_root(const AtomBlockId blk, const t_netlist_pack_pattern& pattern, const AtomNetlist& netlist);
static bool matches_pattern_node(const AtomBlockId blk, const t_netlist_pack_pattern_node& pattern_node, const AtomNetlist& netlist);
static bool is_wildcard_node(const t_netlist_pack_pattern_node& pattern_node);
static bool is_wildcard_pin(const t_netlist_pack_pattern_pin& pattern_pin);
@@ -724,93 +720,14 @@
static AtomPinId find_matching_pin(const AtomNetlist::pin_range pin_range, const t_netlist_pack_pattern_pin& pattern_pin,
const AtomNetlist& netlist) {
- return find_matching_pin(pin_range, pattern_pin, {}, netlist);
-}
-
-static AtomPinId find_matching_pin(const AtomNetlist::pin_range pin_range, const t_netlist_pack_pattern_pin& pattern_pin,
- const std::set<AtomBlockId>& excluded_blocks, const AtomNetlist& netlist) {
-
for (AtomPinId pin : pin_range) {
if (matches_pattern_pin(pin, pattern_pin, netlist)) {
-
- if (excluded_blocks.count(netlist.pin_block(pin))) {
- continue;
- } else {
- return pin;
- }
+ return pin;
}
}
-
return AtomPinId::INVALID(); //No match
}
-//Returns a parent block of blk, if it is also a valid root for pattern
-static AtomBlockId find_parent_pattern_root(const AtomBlockId blk, const t_netlist_pack_pattern& pattern, const AtomNetlist& netlist) {
- int pattern_node_id = pattern.root_node;
-
- VTR_ASSERT_SAFE(matches_pattern_root(blk, pattern, netlist));
-
- //Find an upstream block which is also a valid root
- for (auto pins : {netlist.block_input_pins(blk), netlist.block_clock_pins(blk)}) { //Current blocks inputs
- for (int pattern_edge_id : pattern.nodes[pattern_node_id].out_edge_ids) { //Root out edges
- for (const auto& pattern_pin : pattern.edges[pattern_edge_id].to_pins) { //Edge pins
-
- //Do the inputs of the current block match the output edges of the root pattern?
- AtomPinId to_pin = find_matching_pin(pins, pattern_pin, netlist);
- if (!to_pin) continue;
-
- AtomNetId in_net = netlist.pin_net(to_pin);
- AtomBlockId from_blk = netlist.net_driver_block(in_net);
-
- if (!matches_pattern_root(from_blk, pattern, netlist)) continue;
-
- return from_blk;
- }
- }
- }
-
- return AtomBlockId::INVALID();
-}
-
-//Returns true if matches the pattern root node (and it's out-going edges)
-static bool matches_pattern_root(const AtomBlockId blk, const t_netlist_pack_pattern& pattern, const AtomNetlist& netlist) {
- int pattern_node_id = pattern.root_node;
-
- if (!matches_pattern_node(blk, pattern.nodes[pattern_node_id], netlist)) {
- return false;
- }
-
- for (int pattern_edge_id : pattern.nodes[pattern_node_id].out_edge_ids) {
- const auto& pattern_edge = pattern.edges[pattern_edge_id];
-
- AtomPinId from_pin = find_matching_pin(netlist.block_output_pins(blk), pattern_edge.from_pin, netlist);
- if (!from_pin) {
- //No matching driver pin
- return false;
- }
-
- AtomNetId net = netlist.pin_net(from_pin);
- auto net_sinks = netlist.net_sinks(net);
-
- for (size_t isink = 0; isink < pattern_edge.to_pins.size(); ++isink) {
- const auto& to_pattern_pin = pattern_edge.to_pins[isink];
-
- AtomPinId to_pin = find_matching_pin(net_sinks, to_pattern_pin, netlist);
- if (!to_pin) {
-
- if (to_pattern_pin.required) {
- //Required: give-up
- return false;
- } else {
- //Optional: try next pattern pin
- continue;
- }
- }
- }
- }
- return true;
-}
-
static bool matches_pattern_node(const AtomBlockId blk, const t_netlist_pack_pattern_node& pattern_node, const AtomNetlist& netlist) {
if (is_wildcard_node(pattern_node)) {
return true; //Wildcard