[PATCH] D55512: [MemDep] Adjust NonLocalPointerDep handling to be more precise.

John Brawn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 10 07:39:18 PST 2018


john.brawn created this revision.
john.brawn added reviewers: Prazek, eli.friedman, fhahn, george.burgess.iv.

Currently the NonLocalDepResult for a pointer will have a BB value which is the block where the result is defined. This means that every block from there to StartBB will be marked as visited by the Pointer we used to get there, which means that for every other Pointer that tries to visit those blocks we get a Clobber result.

In many situations this is too imprecise and we could have chosen a block closer to StartBB without affecting the validity of the result, which means we can successfully find non-Clobber results for other Pointer values. This patch does just that, which makes GVN able to optimise in situations it currently can't.


Repository:
  rL LLVM

https://reviews.llvm.org/D55512

Files:
  lib/Analysis/MemoryDependenceAnalysis.cpp
  test/Transforms/GVN/PRE/multiple-paths.ll
  test/Transforms/GVN/rle-no-phi-translate.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55512.177502.patch
Type: text/x-patch
Size: 22190 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181210/785cd87c/attachment.bin>


More information about the llvm-commits mailing list