This patch tries to vectorize loads of consecutive memory accesses, accessed
in non-consecutive or jumbled way. An earlier attempt was made with patch D26905
which was reverted back due to some basic issue with representing the 'use mask' of
jumbled accesses.
This patch fixes the mask representation by recording the 'use mask' in the usertree entry.
Change-Id: I9fe7f5045f065d84c126fa307ef6ebe0787296df
This seems to be the culprit: invoking operator[] on a SmallDenseMap has the side-effect of creating an entry if one does not exist. Doing so here, earlier than necessary, introduces dummy entries which later confuse getTreeEntry().
This should be placed later, accompanied by assert(ScalarToTreeEntry.count(E->Scalars[0]) && "...").