summaryrefslogtreecommitdiff
path: root/lib/Target/XCore/XCoreISelLowering.h
diff options
context:
space:
mode:
authorRobert Lytton <robert@xmos.com>2013-11-12 10:11:26 +0000
committerRobert Lytton <robert@xmos.com>2013-11-12 10:11:26 +0000
commit32e8528c3368d5e0986cb265b436799cc490ea0c (patch)
treedb91eca62ea74e7333238360b8342865d89ce151 /lib/Target/XCore/XCoreISelLowering.h
parentc17ea93ed516d5c7d03a8d5c7fc470a0f254b58a (diff)
downloadllvm-32e8528c3368d5e0986cb265b436799cc490ea0c.tar.gz
llvm-32e8528c3368d5e0986cb265b436799cc490ea0c.tar.bz2
llvm-32e8528c3368d5e0986cb265b436799cc490ea0c.tar.xz
Add XCore support for ATOMIC_FENCE.
ATOMIC_FENCE is lowered to a compiler barrier which is codegen only. There is no need to emit an instructions since the XCore provides sequential consistency. Original patch by Richard Osborne git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194464 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore/XCoreISelLowering.h')
-rw-r--r--lib/Target/XCore/XCoreISelLowering.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Target/XCore/XCoreISelLowering.h b/lib/Target/XCore/XCoreISelLowering.h
index 2a6c8748cd..bc08497b12 100644
--- a/lib/Target/XCore/XCoreISelLowering.h
+++ b/lib/Target/XCore/XCoreISelLowering.h
@@ -70,7 +70,10 @@ namespace llvm {
BR_JT,
// Jumptable branch using long branches for each entry.
- BR_JT32
+ BR_JT32,
+
+ // Memory barrier.
+ MEMBARRIER
};
}
@@ -158,6 +161,7 @@ namespace llvm {
SDValue LowerINIT_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerADJUST_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
+ SDValue LowerATOMIC_FENCE(SDValue Op, SelectionDAG &DAG) const;
// Inline asm support
std::pair<unsigned, const TargetRegisterClass*>