|
18 | 18 | namespace {
|
19 | 19 | using namespace ov;
|
20 | 20 |
|
21 |
| -void propagate_rt_info(Node* node, const Output<Node>& final_port) { |
22 |
| - auto node_outputs = node->outputs(); |
23 |
| - bool same_outputs = std::all_of(node_outputs.begin(), node_outputs.end(), [](const Output<Node>& output) { |
24 |
| - return output.get_tensor().has_and_set_bound(); |
25 |
| - }); |
26 |
| - if (same_outputs && op::util::is_constant(node)) // constant should not propagate it's rt_info |
27 |
| - { |
28 |
| - std::unordered_set<Node*> stop_nodes; |
29 |
| - for (const auto& in : final_port.get_target_inputs()) |
30 |
| - stop_nodes.insert(in.get_node()); |
31 |
| - |
32 |
| - auto curr_node = node->shared_from_this(); |
33 |
| - for (const auto& output : node_outputs) { |
34 |
| - if (output == final_port) |
35 |
| - continue; |
36 |
| - for (auto& in : output.get_target_inputs()) { |
37 |
| - if (stop_nodes.count(in.get_node())) |
38 |
| - continue; |
39 |
| - try { |
40 |
| - auto consumer = in.get_node()->shared_from_this(); |
41 |
| - copy_runtime_info({curr_node, consumer}, consumer); |
42 |
| - } catch (const std::bad_weak_ptr&) { |
43 |
| - // Exception can be thrown, if `shared_from_this()` was called during node creation. |
44 |
| - // Continue propagation for other nodes. |
45 |
| - } |
46 |
| - } |
47 |
| - } |
48 |
| - } |
49 |
| -} |
50 |
| - |
51 | 21 | bool are_same_tensor(const ov::Tensor& lhs, const ov::Tensor& rhs) {
|
52 | 22 | return (lhs && rhs) && (lhs.get_element_type() == rhs.get_element_type()) && (lhs.get_shape() == rhs.get_shape()) &&
|
53 | 23 | (lhs.data() == rhs.data());
|
@@ -287,7 +257,6 @@ void evaluate_bound(const Output<Node>& output) {
|
287 | 257 | }
|
288 | 258 | bound_evaluator.set_bounds_and_symbols();
|
289 | 259 | invalidate_unused_values(node->input_values());
|
290 |
| - propagate_rt_info(node, output); |
291 | 260 | }
|
292 | 261 | }
|
293 | 262 | }
|
|
0 commit comments