Lines Matching refs:DepMatrix
64 void printDepMatrix(CharMatrix &DepMatrix) { in printDepMatrix() argument
65 for (auto I = DepMatrix.begin(), E = DepMatrix.end(); I != E; ++I) { in printDepMatrix()
74 static bool populateDependencyMatrix(CharMatrix &DepMatrix, unsigned Level, in populateDependencyMatrix() argument
168 DepMatrix.push_back(Dep); in populateDependencyMatrix()
169 if (DepMatrix.size() > MaxMemInstrCount) { in populateDependencyMatrix()
180 if (DepMatrix.size() == 0) in populateDependencyMatrix()
187 static void interChangeDepedencies(CharMatrix &DepMatrix, unsigned FromIndx, in interChangeDepedencies() argument
189 unsigned numRows = DepMatrix.size(); in interChangeDepedencies()
191 char TmpVal = DepMatrix[i][ToIndx]; in interChangeDepedencies()
192 DepMatrix[i][ToIndx] = DepMatrix[i][FromIndx]; in interChangeDepedencies()
193 DepMatrix[i][FromIndx] = TmpVal; in interChangeDepedencies()
199 static bool isOuterMostDepPositive(CharMatrix &DepMatrix, unsigned Row, in isOuterMostDepPositive() argument
202 if (DepMatrix[Row][i] == '<') in isOuterMostDepPositive()
204 if (DepMatrix[Row][i] == '>') in isOuterMostDepPositive()
212 static bool containsNoDependence(CharMatrix &DepMatrix, unsigned Row, in containsNoDependence() argument
215 if (DepMatrix[Row][i] != '=' || DepMatrix[Row][i] != 'S' || in containsNoDependence()
216 DepMatrix[Row][i] != 'I') in containsNoDependence()
222 static bool validDepInterchange(CharMatrix &DepMatrix, unsigned Row, in validDepInterchange() argument
226 if (isOuterMostDepPositive(DepMatrix, Row, OuterLoopId)) in validDepInterchange()
250 if (!containsNoDependence(DepMatrix, Row, OuterLoopId)) in validDepInterchange()
262 static bool isLegalToInterChangeLoops(CharMatrix &DepMatrix, in isLegalToInterChangeLoops() argument
266 unsigned NumRows = DepMatrix.size(); in isLegalToInterChangeLoops()
269 char InnerDep = DepMatrix[Row][InnerLoopId]; in isLegalToInterChangeLoops()
270 char OuterDep = DepMatrix[Row][OuterLoopId]; in isLegalToInterChangeLoops()
273 else if (!validDepInterchange(DepMatrix, Row, OuterLoopId, InnerDep, in isLegalToInterChangeLoops()
340 CharMatrix &DepMatrix);
377 CharMatrix &DepMatrix);
854 CharMatrix &DepMatrix) { in canInterchangeLoops() argument
856 if (!isLegalToInterChangeLoops(DepMatrix, InnerLoopId, OuterLoopId)) { in canInterchangeLoops()
955 CharMatrix &DepMatrix) { in isProfitabileForVectorization() argument
959 unsigned Row = DepMatrix.size(); in isProfitabileForVectorization()
961 if (DepMatrix[i][InnerLoopId] != 'S' && DepMatrix[i][InnerLoopId] != 'I') in isProfitabileForVectorization()
964 if (DepMatrix[i][OuterLoopId] != '=') in isProfitabileForVectorization()
974 CharMatrix &DepMatrix) { in isProfitable() argument
993 isProfitabileForVectorization(InnerLoopId, OuterLoopId, DepMatrix); in isProfitable()