[PATCH] D14240: Allow Loop Distribute and the loop versioning infrastructure to use SCEV predicates

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 6 08:01:01 PST 2015


sbaranga added a comment.

Hi Adam,

I've uploaded a new patch, and had to make LLE use this as well.

Thanks,
Silviu


================
Comment at: include/llvm/Transforms/Utils/LoopVersioning.h:74-76
@@ -74,1 +73,5 @@
 
+  /// \brief Adds a set of runtime alias checks for versioning the loop.
+  void addAliasChecks(
+      const SmallVectorImpl<RuntimePointerChecking::PointerCheck> &Checks);
+
----------------
sbaranga wrote:
> anemet wrote:
> > Sorry I didn't realize that by suggesting "add" in the name you would make this "additive".  The problem is now we lost the nice "move constructibility" of Checks.
> > 
> > How about making this setAliasChecks which would still take a value and then restoring the std::move's.
> > 
> > Would a set* interface work for SCEVUnionPredicate?
> Ok, I understand. It wouldn't work at the moment for SCEVUnionPredicate. We need to define copy and move constructors for it. I'll create another review for that.
I was confused about the ability of DenseMap to use copy/move constructors, sorry. It turns out we can actually do the same thing as for alias checks.


http://reviews.llvm.org/D14240





More information about the llvm-commits mailing list