[PATCH] D23214: [MDA] Treat invariant.start as non-dependence

Anna Thomas via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 8 07:00:45 PDT 2016


anna updated this revision to Diff 67159.
anna added a comment.

[Alias Analysis] Mark invariant.start as readonly

We teach alias analysis that invariant.start is readonly.
This helps with GVN and memcopy optimizations that currently treat.
invariant.start as a clobber.
We need to treat this as readonly, so that DSE does not incorrectly
remove stores prior to the invariant.start

This initially started off as a change to teach MDA about invariant.start,
but further discussion prompted the change to alias analysis (where other such
special cases for guards and assume intrinsics exist).


https://reviews.llvm.org/D23214

Files:
  lib/Analysis/BasicAliasAnalysis.cpp
  test/Transforms/DeadStoreElimination/invariant.start.ll
  test/Transforms/GVN/invariant.start.ll
  test/Transforms/MemCpyOpt/invariant.start.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23214.67159.patch
Type: text/x-patch
Size: 7099 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160808/76e78b6f/attachment.bin>


More information about the llvm-commits mailing list