[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