[IRBuilder] Only emit alias scop metadata for arrays, but not scalars
commitb2aa45a62dcbd05b7acc3511cbb1a895fc94fe30
authorTobias Grosser <tobias@grosser.es>
Tue, 22 Aug 2017 21:58:48 +0000 (22 21:58 +0000)
committerTobias Grosser <tobias@grosser.es>
Tue, 22 Aug 2017 21:58:48 +0000 (22 21:58 +0000)
tree6e0b81eac06a6345ff95d9514135b69f490158ac
parentfb21df187fe7af362e13810df9e3a8dcf05de533
[IRBuilder] Only emit alias scop metadata for arrays, but not scalars

Summary:
There is no need to emit alias metadata for scalars, as basicaa will easily
distinguish them from arrays. This reduces the size of the metadata we generate.
This is especially useful after we moved to -polly-position=before-vectorizer,
where a lot more scalar dependences are introduced, which increased the size of
the alias analysis metadata and made us commonly reach the limits after which
we do not emit alias metadata that have been introduced to prevent quadratic
growth of this alias metadata.

This improves 2mm performance from 1.5 seconds to 0.17 seconds.

Reviewers: Meinersbur, bollu, singam-sanjay

Reviewed By: Meinersbur

Subscribers: pollydev, llvm-commits

Tags: #polly

Differential Revision: https://reviews.llvm.org/D37028

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@311498 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/IRBuilder.cpp
test/Isl/CodeGen/MemAccess/create_arrays.ll
test/ScheduleOptimizer/pattern-matching-based-opts_10.ll