summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-06-23 16:07:42 +0000
committerJim Grosbach <grosbach@apple.com>2010-06-23 16:07:42 +0000
commitb58c08b0ba5d0163111d4b7454a3d968d86c3ece (patch)
tree0986225298bfcd1e9be2bc5c2ac237eb5d1e0e6b /llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
parent1fc3bdc61e55c30f790ff2b79ec4ef941645c75b (diff)
downloadbcm5719-llvm-b58c08b0ba5d0163111d4b7454a3d968d86c3ece.tar.gz
bcm5719-llvm-b58c08b0ba5d0163111d4b7454a3d968d86c3ece.zip
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. llvm-svn: 106630
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index 945cbbb6cce..bfd689b4d1e 100644
--- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -581,6 +581,7 @@ TargetLowering::TargetLowering(const TargetMachine &tm,
IfCvtBlockSizeLimit = 2;
IfCvtDupBlockSizeLimit = 0;
PrefLoopAlignment = 0;
+ ShouldFoldAtomicFences = false;
InitLibcallNames(LibcallRoutineNames);
InitCmpLibcallCCs(CmpLibcallCCs);
OpenPOWER on IntegriCloud