[ScopBuilder] Do not verify unfeasible SCoPs.
commit6bcfe2b7431ad6bb6bd24a7da0a605c34fb94606
authorMichael Kruse <llvm@meinersbur.de>
Fri, 5 May 2017 13:38:35 +0000 (5 13:38 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Fri, 5 May 2017 13:38:35 +0000 (5 13:38 +0000)
tree98b905b5d0313cd6037661c3e3b51c500e1b8754
parente8c30aa24f8ec13cb82fce98af9955e9b8ebe238
[ScopBuilder] Do not verify unfeasible SCoPs.

SCoPs with unfeasible runtime context are thrown away and therefore
do not need their uses verified.

The added test case requires a complexity limit to exceed.
Normally, error statements are removed from the SCoP and for that
reason are skipped during the verification. If there is a unfeasible
runtime context (here: because of the complexity limit being reached),
the removal of error statements and other SCoP construction steps are
skipped to not waste time. Error statements are not modeled in SCoPs
and therefore have no requirements on whether the scalars used in
them are available.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@302234 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ScopBuilder.cpp
test/ScopInfo/inter-error-bb-dependence.ll [new file with mode: 0644]