Inline mask operation into pndindex loop.
Inline mask operation into pndindex loop.

When we have the following program:

     B = A[M]
     for i in pndindex(B.shape):
         ... B[i] ...

Translate it to:

     for i in pndindex(A):
	if M[i]:
	    .... A[i] ...

When the following conditions are met:

  1. The only use site of index i is to index array B;
  2. Array B is dead after the loop;
  3. M matches A's dimension, or M is joined with other constant indices.

stuartarchibald/numba,sklam/numba,jriehl/numba,numba/numba,seibert/numba,jriehl/numba,seibert/numba,cpcloud/numba,numba/numba,stonebig/numba,seibert/numba,gmarkall/numba,stonebig/numba,IntelLabs/numba,IntelLabs/numba,seibert/numba,sklam/numba,IntelLabs/numba,jriehl/numba,sklam/numba,numba/numba,cpcloud/numba,seibert/numba,gmarkall/numba,cpcloud/numba,gmarkall/numba,stonebig/numba,gmarkall/numba,stuartarchibald/numba,stuartarchibald/numba,cpcloud/numba,jriehl/numba,cpcloud/numba,numba/numba,gmarkall/numba,IntelLabs/numba,sklam/numba,jriehl/numba,stuartarchibald/numba,IntelLabs/numba,stonebig/numba,numba/numba,stonebig/numba,sklam/numba,stuartarchibald/numba