[DeLICM] Known knowledge.
authorMichael Kruse <llvm@meinersbur.de>
Sat, 6 May 2017 14:03:58 +0000 (14:03 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Sat, 6 May 2017 14:03:58 +0000 (14:03 +0000)
commit5ae08c0ebb95f4672c3e69ff129495bc5cd5018c
treeae47a299db25aa3ac52b3f5206fdfecad4a17cca
parent946f08c6186c06febeed6ca5ab0f95ab3860c52d
[DeLICM] Known knowledge.

Extend the Knowledge class to store information about the contents
of array elements and which values are written. Two knowledges do
not conflict the known content is the same. The content information
if computed from writes to and loads from the array elements, and
represented by "ValInst": isl spaces that compare equal if the value
represented is the same.

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

llvm-svn: 302339
14 files changed:
polly/include/polly/ScopInfo.h
polly/lib/Analysis/ScopInfo.cpp
polly/lib/Support/GICHelper.cpp
polly/lib/Transform/DeLICM.cpp
polly/test/DeLICM/reduction_constant_selfconflict.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_gvnpre.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_hoisted.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_licm.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_load.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_readonly.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_synthesizable.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_undef.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_overapproximate.ll