* Remove obsoleted v0::Broadcast and BroadcastLike operators
* remove NGRAPH_DEPRECATED marks from autobroadcast functions
* restore NGRAPH_SUPPRESS_DEPRECATED_START in autobroadcast.cpp
* Fixed concat output name when decomposing shape_of in CF
* Added friendly_name propagation for CF pass
* Propagate runtime info inside ConstantFolding pass
* Fixed rt info merge strategy to avoid cases when merge is not implemented but attributes number is equal to 1
* 1d case optimization
* code refactor
* concat optimization
* removed using template for concat
* unit tests to concat constant folding
* synchro with current master
* v1::Pad reference implementation
* ut fix: pad_negative_exterior_1d
* ut fix: pad_negative_exterior_1d_check_limits & pad_edge_1d
* Code formatting
* ut fix: pad_edge_1d_top_neg & pad_edge_1d_top_neg_bigger_than_tensor
* More Pad UT fixes
* Pad UT fixes: REFLECT mode
* Fix all Pad UTs
* Switch Pad evaluation in INT backend
* Non-template solution to v1::Pad::evaluate
* Always create v1::Pad with 4 inputs
* VS compilation error fix
* Python test fix
* Remove the v0::Pad constant folding pass
* Some extra checks in v1::Pad evaluator
* Code formatting
* Remove an obsolete CF test
This PR introduces next changes:
1. Transformations *_tbl.hpp files were replaced with direct registration in cpp files.
2. Plugins use pass::Manager to call conversion passes.
3. Transformations callback was moved to PassBase class as there is no more need to keep it in separate class
4. All pattern based transformations must be inherited from MatcherPass class. GraphRewrite class will be used only for matchers registration and execution on function.
MatcherPass class adds new features to pattern-based transformations approach:
* Allows to run matcher pass on a single node.
* Operations that were created inside transformation callback can be added to execution list to be available for pattern matching within single GraphRewrite.
5. GraphRewrite MatchClosure was replaced with MatcherPass. So all matchers will be registered as a MatcherPass.
6. Added pass::Manager::clear_state() method to avoid dependency with nodes that no longer belongs to function after replacement.
7. Some representative transformations were updated to use MatcherPass as an example.
8. Mul->Add sequence fusion transformation was replaced with LinOpSequenceFusion.
9. Pattern and callback registration code was moved to class c-tors (will be finished for remaining passes in other PR) .
10. Updated pass::Manager to get pass names only when NGRAPH_PROFILE_PASS_ENABLE enabled.
11. Moving towards removing PassProperty.
12. Added ngraph::pattern::wrap_type<T>(inputs, pred) to simplify pattern creation.
13. GraphRewrite was updated to execute MatcherPass more efficient.