Class ov::pass::EliminateConcatStridedSlice#

class EliminateConcatStridedSlice : public ov::pass::MatcherPass#

EliminateConcatStridedSlice eliminates StrideSlice & Concat, if the StridedSlices split the tensor into the parts and these parts be equal to the original parts before Concat. Before: ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Input A │ │ Input B │ │ Input C │ └────┬────┘ └────┬────┘ └────┬────┘ │ │ │ │ ┌────▼──────┐ │ └──────────────────► Concat ◄────────────────┘ └─────┬─────┘ │ ┌────────────────────────────┐ | | ▼ ▼ ┌────────────┐ ┌────────────┐ │StridedSlice│ │StridedSlice│ └─────┬──────┘ └──────┬─────┘ | (A) | (B + C) ▼ ▼ ┌─────────────┐ ┌─────────┐ │Any OtherNode│ │ Concat │◄────── … └─────────────┘ └─────────┘ After: ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Input A │ │ Input B │ │ Input C │ └────┬────┘ └────┬────┘ └────┬────┘ │ │ ┌──────────│ ▼ | | ┌─────────────┐ | ┌─────▼───┐ │Any OtherNode│ └────► │ Concat │◄────── … └─────────────┘ └─────────┘