[ScopBuilder] Do not verify unfeasible SCoPs.
authorMichael Kruse <llvm@meinersbur.de>
Fri, 5 May 2017 13:38:35 +0000 (13:38 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Fri, 5 May 2017 13:38:35 +0000 (13:38 +0000)
commitf1052ceb5e5c075f3ea457e3142f8395c6a0a160
treecc426173c9d811229e51132c82d73358acc50671
parentac3c4b6da458b19fbe6f17b6119d35a2ea247612
[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.

llvm-svn: 302234
polly/lib/Analysis/ScopBuilder.cpp
polly/test/ScopInfo/inter-error-bb-dependence.ll [new file with mode: 0644]