[PATCH] D12771: [LICM] Hoist calls to readonly argmemonly functions even with stores in the loop

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 16 19:55:18 PDT 2015


majnemer accepted this revision.
majnemer added a reviewer: majnemer.
majnemer added a comment.

LGTM


================
Comment at: lib/Transforms/Scalar/LICM.cpp:468-471
@@ +467,6 @@
+      if (AliasAnalysis::onlyAccessesArgPointees(Behavior)) {
+        for (Value *Op : CI->arg_operands())
+          if (Op->getType()->isPointerTy() &&
+              pointerInvalidatedByLoop(Op, MemoryLocation::UnknownSize,
+                                       AAMDNodes(), CurAST))
+            return false;
----------------
majnemer wrote:
> Is the function permitted to bitcast it's non-pointer parameters and store to them?
Ah, the langref answers this question...


http://reviews.llvm.org/D12771





More information about the llvm-commits mailing list