llvm-project/polly/test/DeLICM
Michael Kruse bfca5f4334 [DeLICM] Allow non-injective PHIRead->PHIWrite mapping.
Remove an assertion that tests the injectivity of the
PHIRead -> PHIWrite relation.  That is, allow a single PHI write to be
used by multiple PHI reads.  This may happen due to some statements
containing the PHI write not having the statement instances that would
overwrite the previous incoming value due to (assumed/invalid) contexts.
This result in that PHI write is mapped to multiple targets which is not
supported.  Codegen will select one one of the targets using
getAddressFunction().  However, the runtime check should protect us from
this case ever being executed.

We therefore allow injective PHI relations.  Additional calculations to
detect/santitize this case would probably not be worth the compuational
effort.

This fixes llvm.org/PR34485

llvm-svn: 313902
2017-09-21 19:08:23 +00:00
..
map_memset_zero.ll [ZoneAlgo] Handle non-StoreInst/LoadInst MemoryAccesses including memset. 2017-09-06 12:40:55 +00:00
nomap_alreadymapped.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
nomap_escaping.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
nomap_occupied.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
nomap_readonly.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
nomap_spuriouswrite.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
nomap_storagesize.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
nomap_writewrite.ll [DeLICM] Add nomap regressions tests. NFC. 2017-02-27 15:53:18 +00:00
noninjective_phi_relation.ll [DeLICM] Allow non-injective PHIRead->PHIWrite mapping. 2017-09-21 19:08:23 +00:00
pass_existence.ll [test] Fix typo in filename. NFC. 2017-07-28 16:57:56 +00:00
reduction.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_constant_selfconflict.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate.ll [DeLICM] Known knowledge. 2017-05-06 14:03:58 +00:00
reduction_looprotate_alwaystaken.ll [DeLICM] Properly handle PHI writes becoming empty partial writes. 2017-08-08 11:27:12 +00:00
reduction_looprotate_gvnpre.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate_hoisted.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate_licm.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate_licm_double_write.ll [test] Add one more test case for the previous commit 2017-08-07 22:02:06 +00:00
reduction_looprotate_load.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate_readonly.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate_synthesizable.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_looprotate_undef.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_overapproximate.ll [test] Add some missing options that become necessary after the recent default changes 2017-08-07 22:10:23 +00:00
reduction_preheader.ll [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
reduction_unrelatedunusual.ll [ZoneAlgo] More fine-grained bail-out. 2017-08-28 20:39:07 +00:00
reject_loadafterstore.ll [DeLICM] Add regression tests for DeLICM reject cases. 2017-02-22 15:14:08 +00:00
reject_outofquota.ll [DeLICM] Add regression tests for DeLICM reject cases. 2017-02-22 15:14:08 +00:00
reject_storeafterstore.ll [DeLICM] Add regression tests for DeLICM reject cases. 2017-02-22 15:14:08 +00:00
reject_storeinsubregion.ll [DeLICM] Add regression tests for DeLICM reject cases. 2017-02-22 15:14:08 +00:00
reject_unusualstore.ll [test] Add forgotten REQUIRES: line. 2017-09-06 13:11:24 +00:00
skip_maywrite.ll [DeLICM] Regression test for skipping map targets. 2017-02-23 10:25:20 +00:00
skip_notinloop.ll [DeLICM] Regression test for skipping map targets. 2017-02-23 10:25:20 +00:00
skip_scalaraccess.ll [DeLICM] Regression test for skipping map targets. 2017-02-23 10:25:20 +00:00