From: Robin Morisset Date: Fri, 15 Aug 2014 22:25:12 +0000 (+0000) Subject: Add two helper functions: isAtLeastAcquire, isAtLeastRelease X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f11a5fc12db1d8c8008541db0b923ca42d7eb907;p=oota-llvm.git Add two helper functions: isAtLeastAcquire, isAtLeastRelease These methods are available on AtomicOrdering values, and will be used in a later separate patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215779 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/IR/Instructions.h b/include/llvm/IR/Instructions.h index 308467f7aa1..f533ef5c37e 100644 --- a/include/llvm/IR/Instructions.h +++ b/include/llvm/IR/Instructions.h @@ -50,6 +50,22 @@ enum SynchronizationScope { CrossThread = 1 }; +/// Returns true if the ordering is at least as strong as acquire +/// (i.e. acquire, acq_rel or seq_cst) +inline bool isAtLeastAcquire(AtomicOrdering Ord) { + return (Ord == Acquire || + Ord == AcquireRelease || + Ord == SequentiallyConsistent); +} + +/// Returns true if the ordering is at least as strong as release +/// (i.e. release, acq_rel or seq_cst) +inline bool isAtLeastRelease(AtomicOrdering Ord) { +return (Ord == Release || + Ord == AcquireRelease || + Ord == SequentiallyConsistent); +} + //===----------------------------------------------------------------------===// // AllocaInst Class //===----------------------------------------------------------------------===//