Lines Matching refs:DepMatrix
77 static void printDepMatrix(CharMatrix &DepMatrix) { in printDepMatrix() argument
78 for (auto &Row : DepMatrix) { in printDepMatrix()
86 static bool populateDependencyMatrix(CharMatrix &DepMatrix, unsigned Level, in populateDependencyMatrix() argument
170 DepMatrix.push_back(Dep); in populateDependencyMatrix()
171 if (DepMatrix.size() > MaxMemInstrCount) { in populateDependencyMatrix()
185 static void interChangeDependencies(CharMatrix &DepMatrix, unsigned FromIndx, in interChangeDependencies() argument
187 unsigned numRows = DepMatrix.size(); in interChangeDependencies()
189 char TmpVal = DepMatrix[i][ToIndx]; in interChangeDependencies()
190 DepMatrix[i][ToIndx] = DepMatrix[i][FromIndx]; in interChangeDependencies()
191 DepMatrix[i][FromIndx] = TmpVal; in interChangeDependencies()
197 static bool isOuterMostDepPositive(CharMatrix &DepMatrix, unsigned Row, in isOuterMostDepPositive() argument
200 if (DepMatrix[Row][i] == '<') in isOuterMostDepPositive()
202 if (DepMatrix[Row][i] == '>') in isOuterMostDepPositive()
210 static bool containsNoDependence(CharMatrix &DepMatrix, unsigned Row, in containsNoDependence() argument
213 if (DepMatrix[Row][i] != '=' && DepMatrix[Row][i] != 'S' && in containsNoDependence()
214 DepMatrix[Row][i] != 'I') in containsNoDependence()
220 static bool validDepInterchange(CharMatrix &DepMatrix, unsigned Row, in validDepInterchange() argument
223 if (isOuterMostDepPositive(DepMatrix, Row, OuterLoopId)) in validDepInterchange()
247 if (!containsNoDependence(DepMatrix, Row, OuterLoopId)) in validDepInterchange()
258 static bool isLegalToInterChangeLoops(CharMatrix &DepMatrix, in isLegalToInterChangeLoops() argument
261 unsigned NumRows = DepMatrix.size(); in isLegalToInterChangeLoops()
264 char InnerDep = DepMatrix[Row][InnerLoopId]; in isLegalToInterChangeLoops()
265 char OuterDep = DepMatrix[Row][OuterLoopId]; in isLegalToInterChangeLoops()
268 if (!validDepInterchange(DepMatrix, Row, OuterLoopId, InnerDep, OuterDep)) in isLegalToInterChangeLoops()
334 CharMatrix &DepMatrix);
381 CharMatrix &DepMatrix);
965 CharMatrix &DepMatrix) { in canInterchangeLoops() argument
966 if (!isLegalToInterChangeLoops(DepMatrix, InnerLoopId, OuterLoopId)) { in canInterchangeLoops()
1084 CharMatrix &DepMatrix) { in isProfitableForVectorization() argument
1088 for (auto &Row : DepMatrix) { in isProfitableForVectorization()
1098 return !DepMatrix.empty(); in isProfitableForVectorization()
1103 CharMatrix &DepMatrix) { in isProfitable() argument
1119 if (isProfitableForVectorization(InnerLoopId, OuterLoopId, DepMatrix)) in isProfitable()