[ScopBuilder] Set domain to empty instead of NULL.
commit9445846499b5df73aca81aa6c29a88783cf878c3
authorMichael Kruse <llvm@meinersbur.de>
Wed, 1 Aug 2018 22:28:32 +0000 (1 22:28 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Wed, 1 Aug 2018 22:28:32 +0000 (1 22:28 +0000)
tree78aed677eabedf4addea0c41451e690a0c8a9c5e
parent9d2da8121f4d239e0d066130114830cbcf1b0278
[ScopBuilder] Set domain to empty instead of NULL.

The domain generation used nullptr to mark the domain of an error block
as never-executed. Later, nullptr domains are recreated with a
zero-tuple domain that then mismatches with the expected domain the
error block within the loop.

Instead of using nullptr, assign an empty domain which preserves the
expected space. Remove empty domains during SCoP simplification.

Fixes llvm.org/PR38218.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@338646 91177308-0d34-0410-b5e6-96231b3b80d8
include/polly/ScopInfo.h
lib/Analysis/ScopInfo.cpp
test/ScopInfo/pr38218.ll [new file with mode: 0644]