From b58c08b0ba5d0163111d4b7454a3d968d86c3ece Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Wed, 23 Jun 2010 16:07:42 +0000 Subject: 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 --- llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp') 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); -- cgit v1.2.3