aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/MachineBasicBlock.h5
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h18
2 files changed, 23 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/MachineBasicBlock.h b/include/llvm/CodeGen/MachineBasicBlock.h
index 0b3173c5b1..6fbe17005c 100644
--- a/include/llvm/CodeGen/MachineBasicBlock.h
+++ b/include/llvm/CodeGen/MachineBasicBlock.h
@@ -236,6 +236,11 @@ public:
///
succ_iterator removeSuccessor(succ_iterator I);
+ /// transferSuccessors - Transfers all the successors from MBB to this
+ /// machine basic block (i.e., copies all the successors fromMBB and
+ /// remove all the successors fromBB).
+ void transferSuccessors(MachineBasicBlock *fromMBB);
+
/// isSuccessor - Return true if the specified MBB is a successor of this
/// block.
bool isSuccessor(MachineBasicBlock *MBB) const;
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index c9872cf19f..a02f7b96f0 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -594,6 +594,24 @@ namespace ISD {
// the return is always the original value in *ptr
ATOMIC_SWAP,
+ // Val, OUTCHAIN = ATOMIC_LSS(INCHAIN, ptr, amt)
+ // this corresponds to the atomic.lss intrinsic.
+ // *ptr - amt is stored to *ptr atomically.
+ // the return is always the original value in *ptr
+ ATOMIC_LSS,
+
+ // Val, OUTCHAIN = ATOMIC_L[OpName]S(INCHAIN, ptr, amt)
+ // this corresponds to the atomic.[OpName] intrinsic.
+ // op(*ptr, amt) is stored to *ptr atomically.
+ // the return is always the original value in *ptr
+ ATOMIC_LOAD_AND,
+ ATOMIC_LOAD_OR,
+ ATOMIC_LOAD_XOR,
+ ATOMIC_LOAD_MIN,
+ ATOMIC_LOAD_MAX,
+ ATOMIC_LOAD_UMIN,
+ ATOMIC_LOAD_UMAX,
+
// BUILTIN_OP_END - This must be the last enum value in this list.
BUILTIN_OP_END
};