[PATCH] D40783: [Polly] Drop overapproximation of kernel arguments

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 4 06:08:28 PST 2017


philip.pfaffe created this revision.
Herald added subscribers: kbarton, nemanjai.

When generating the GPU kernel function, we used to overapproximate
the function arguments by pre-populating them from the IDtoValue Map, and then
removing things we know statically or things that are computed in different
ways. However, right after this, we walk the entire scop and pick up SCEVs and
their unknown Values, and add them to the kernel arguments. Because of this, we
can just drop the overapproximation in the first place.


https://reviews.llvm.org/D40783

Files:
  lib/CodeGen/PPCGCodeGeneration.cpp


Index: lib/CodeGen/PPCGCodeGeneration.cpp
===================================================================
--- lib/CodeGen/PPCGCodeGeneration.cpp
+++ lib/CodeGen/PPCGCodeGeneration.cpp
@@ -1478,9 +1478,6 @@
   SubtreeReferences References = {
       LI, SE, S, ValueMap, SubtreeValues, SCEVs, getBlockGenerator()};
 
-  for (const auto &I : IDToValue)
-    SubtreeValues.insert(I.second);
-
   // NOTE: this is populated in IslNodeBuilder::addParameters
   // See [Code generation of induction variables of loops outside Scops].
   for (const auto &I : OutsideLoopIterations)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40783.125323.patch
Type: text/x-patch
Size: 579 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171204/59b2e673/attachment.bin>


More information about the llvm-commits mailing list