Fix a crash in Dependency Analysis.
authorKarthik Bhat <kv.bhat@samsung.com>
Tue, 10 Mar 2015 13:31:03 +0000 (13:31 +0000)
committerKarthik Bhat <kv.bhat@samsung.com>
Tue, 10 Mar 2015 13:31:03 +0000 (13:31 +0000)
commit8d0099bdab5523ede53b7df7040891640b55d63a
treed01fbaa79787ed6412789b3e62893ae13e8d7d29
parent2db94ba0bc7fc348be05b3d50986eab493d2a5eb
Fix a crash in Dependency Analysis.
This crash in Dependency analysis is because we assume here that in case of UsefulGEP
both source and destination have the same number of operands which may not be true.
This incorrect assumption results in crash while populating Pairs. Fix the same.

This crash was observed during lnt regression for code such as-
  struct s{
    int A[10][10];
    int C[10][10][10];
  } S;
  void dep_constraint_crash_test(int k,int N)  {
     for( int i=0;i<N;i++)
       for( int j=0;j<N;j++)
         S.A[0][0] = S.C[0][0][k];
  }
Review: http://reviews.llvm.org/D8162

llvm-svn: 231784
llvm/lib/Analysis/DependenceAnalysis.cpp
llvm/test/Analysis/DependenceAnalysis/UsefulGEP.ll [new file with mode: 0644]