[llvm-commits] [llvm] r106631 - /llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
Jim Grosbach
grosbach at apple.com
Wed Jun 23 09:08:50 PDT 2010
Author: grosbach
Date: Wed Jun 23 11:08:49 2010
New Revision: 106631
URL: http://llvm.org/viewvc/llvm-project?rev=106631&view=rev
Log:
When using libcall expansions for the atomic intrinsics, the explicit
MEMBARRIER fences aren't necessary for ARM. Tell the combiner to fold them
away.
Modified:
llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=106631&r1=106630&r2=106631&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Wed Jun 23 11:08:49 2010
@@ -441,6 +441,8 @@
setOperationAction(ISD::ATOMIC_LOAD_NAND, MVT::i8, Expand);
setOperationAction(ISD::ATOMIC_LOAD_NAND, MVT::i16, Expand);
setOperationAction(ISD::ATOMIC_LOAD_NAND, MVT::i32, Expand);
+ // Since the libcalls include locking, fold in the fences
+ setShouldFoldAtomicFences(true);
}
// 64-bit versions are always libcalls (for now)
setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i64, Expand);
More information about the llvm-commits
mailing list