[PATCH] Relax atomic restrictions on memory dependence analysis

Robin Morisset morisset at google.com
Mon Aug 11 10:27:53 PDT 2014


As suggested, I have split this revision in three, and added more careful tests.

This is patch 1/3, only adding support for monotonic accesses, and only when
the QueryInst isUnordered().
(there was a bug if the QueryInst was itself atomic, which is not triggered in the
tests because the passes that use MemoryDependencyAnalysis are themselves conservative
about atomic accesses)

I will post the other two patches as two separate revisions.

Note that this patch alone is enough to fix the main problem in
http://llvm.org/bugs/show_bug.cgi?id=17281

http://reviews.llvm.org/D4797

Files:
  lib/Analysis/MemoryDependenceAnalysis.cpp
  test/Transforms/DeadStoreElimination/atomic.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4797.12348.patch
Type: text/x-patch
Size: 3706 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140811/9a39d5fe/attachment.bin>


More information about the llvm-commits mailing list