[DeLICM] Known knowledge.
commit1483bf2323a6221db305b8639baaef5ad1e5d2b7
authorMichael Kruse <llvm@meinersbur.de>
Sat, 6 May 2017 14:03:58 +0000 (6 14:03 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Sat, 6 May 2017 14:03:58 +0000 (6 14:03 +0000)
treebdf144186b06b0a5a383f6197174950a22a57483
parent46fc0c2c0276f1eefb6fbe08d6cf3143a70f08d2
[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

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@302339 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/polly/ScopInfo.h
lib/Analysis/ScopInfo.cpp
lib/Support/GICHelper.cpp
lib/Transform/DeLICM.cpp
test/DeLICM/reduction_constant_selfconflict.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_gvnpre.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_hoisted.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_licm.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_load.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_readonly.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_synthesizable.ll [new file with mode: 0644]
test/DeLICM/reduction_looprotate_undef.ll [new file with mode: 0644]
test/DeLICM/reduction_overapproximate.ll