Some targets don't require the fencing MEMBARRIER instructions surrounding
authorJim Grosbach <grosbach@apple.com>
Wed, 23 Jun 2010 16:07:42 +0000 (16:07 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 23 Jun 2010 16:07:42 +0000 (16:07 +0000)
commit9a526495e0c06c4014d7500788cad1929fd244d3
treedbab44706775e2cd8dbfcd7b8529afffa2271c93
parentb9cd499dec44397571b682c9de3f132df2721bb5
Some targets don't require the fencing MEMBARRIER instructions surrounding
atomic intrinsics, either because the use locking instructions for the
atomics, or because they perform the locking directly. Add support in the
DAG combiner to fold away the fences.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106630 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp