[DeLICM] Add regression tests for DeLICM reject cases.
commit61c658cd8a08b931544adb8d967e800ef5f517b1
authorMichael Kruse <llvm@meinersbur.de>
Wed, 22 Feb 2017 15:14:08 +0000 (22 15:14 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Wed, 22 Feb 2017 15:14:08 +0000 (22 15:14 +0000)
tree182a4008cdc4a87cc035193323a23c5f6987eccc
parent9babee4cb90ab8d163bbf65a0ec1aaaee1b0f6db
[DeLICM] Add regression tests for DeLICM reject cases.

These tests were not included in the main DeLICM commit. These check the
cases where zone analysis cannot be successful because of assumption
violations.

We use the LLVM optimization remark infrastructure as it seems to be the
best fit for this kind of messages. I tried to make use if the
OptimizationRemarkEmitter. However, it would insert additional function
passes into the pass manager to get the hotness information. The pass
manager would insert them between the flatten pass and delicm, causing
the ScopInfo with the flattened schedule being thrown away.

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

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@295846 91177308-0d34-0410-b5e6-96231b3b80d8
include/polly/Support/GICHelper.h
lib/Transform/DeLICM.cpp
test/DeLICM/reject_loadafterstore.ll [new file with mode: 0644]
test/DeLICM/reject_outofquota.ll [new file with mode: 0644]
test/DeLICM/reject_storeafterstore.ll [new file with mode: 0644]
test/DeLICM/reject_storeinsubregion.ll [new file with mode: 0644]
test/DeLICM/reject_unusualstore.ll [new file with mode: 0644]