[polly] r301480 - [unittests/DeLICM] Add test for Occipied vs Occupied.

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 26 14:52:51 PDT 2017


Author: meinersbur
Date: Wed Apr 26 16:52:51 2017
New Revision: 301480

URL: http://llvm.org/viewvc/llvm-project?rev=301480&view=rev
Log:
[unittests/DeLICM] Add test for Occipied vs Occupied.

The interpretation of multiple known ValInsts for the same element and
timepoint is that these are alterntivate names for the same values,
for instance a PHINode and the incoming value when knowning it was
the last executed block. That means that known values do not conflict
if there at least (but necessarily all) one common ValInst.

Add a case to test this principle.

Modified:
    polly/trunk/unittests/DeLICM/DeLICMTest.cpp

Modified: polly/trunk/unittests/DeLICM/DeLICMTest.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/unittests/DeLICM/DeLICMTest.cpp?rev=301480&r1=301479&r2=301480&view=diff
==============================================================================
--- polly/trunk/unittests/DeLICM/DeLICMTest.cpp (original)
+++ polly/trunk/unittests/DeLICM/DeLICMTest.cpp Wed Apr 26 16:52:51 2017
@@ -250,6 +250,9 @@ TEST(DeLICM, isConflicting) {
                                       {"{ Dom[i] -> [] }", nullptr, "{}"}));
   EXPECT_FALSE(checkIsConflictingKnown({"{ Dom[0] -> Val[] }", nullptr, "{}"},
                                        {nullptr, "{ Dom[0] }", "{}"}));
+  EXPECT_FALSE(checkIsConflictingKnown(
+      {"{ Dom[i] -> Val[]; Dom[i] -> Phi[] }", nullptr, "{}"},
+      {"{ Dom[i] -> Val[] }", nullptr, "{}"}));
 
   // An implementation using subtract would have exponential runtime on patterns
   // such as this one.




More information about the llvm-commits mailing list