[CodeGen] Allow undefined loads in statement instances outside context.
authorMichael Kruse <llvm@meinersbur.de>
Tue, 10 Apr 2018 01:20:51 +0000 (01:20 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Tue, 10 Apr 2018 01:20:51 +0000 (01:20 +0000)
commit4485ae0890d8ce9c3cd0a050178d2479f8a7599a
treeb47848e295de50dbb7f074064ca383bab12f26d9
parent388730c9e068ba2b5f936c8e717b32961c5d2ffa
[CodeGen] Allow undefined loads in statement instances outside context.

A check in assert-builds was meant to verify that a load provides a
value in all statement instances (i.e. its domain).  The domain is
commonly gist'ed within the parameter context to contain fewer
constraints.  However, statement instances outside the context are
no valid executions, hence the value provided can be undefined.

Refine the check for valid loads to only needed to be defined within
the SCoP context.

In addition, the JSONImporter had to be changed to allow importing
access relations that are broader than the current access relation,
but still defined over all statement instances.

This should fix the compiler crash in test-suite's oggenc of the
-polly-process-unprofitable buildbot.

llvm-svn: 329655
polly/lib/CodeGen/BlockGenerators.cpp
polly/lib/Exchange/JSONExporter.cpp
polly/test/Isl/CodeGen/load_subset_with_context.ll [new file with mode: 0644]
polly/test/Isl/CodeGen/load_subset_with_context___%for.cond7.preheader---%for.cond33.preheader.jscop [new file with mode: 0644]
polly/test/Isl/CodeGen/load_subset_with_context___%for.cond7.preheader---%for.cond33.preheader.jscop.transformed [new file with mode: 0644]