llvm-hs-pure-5.1.1: Pure Haskell LLVM functionality (no FFI).

Safe HaskellSafe
LanguageHaskell98

LLVM.AST.RMWOperation

Description

Operations for the AtomicRMW instruction

Synopsis

Documentation

data RMWOperation Source #

Constructors

Xchg 
Add 
Sub 
And 
Nand 
Or 
Xor 
Max 
Min 
UMax 
UMin 

Instances

Eq RMWOperation Source # 
Data RMWOperation Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RMWOperation -> c RMWOperation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RMWOperation #

toConstr :: RMWOperation -> Constr #

dataTypeOf :: RMWOperation -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c RMWOperation) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RMWOperation) #

gmapT :: (forall b. Data b => b -> b) -> RMWOperation -> RMWOperation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r #

gmapQ :: (forall d. Data d => d -> u) -> RMWOperation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RMWOperation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation #

Ord RMWOperation Source # 
Read RMWOperation Source # 
Show RMWOperation Source # 
Generic RMWOperation Source # 

Associated Types

type Rep RMWOperation :: * -> * #

type Rep RMWOperation Source # 
type Rep RMWOperation = D1 * (MetaData "RMWOperation" "LLVM.AST.RMWOperation" "llvm-hs-pure-5.1.1-A50TaxGLKsoFnCqinrVaVN" False) ((:+:) * ((:+:) * ((:+:) * (C1 * (MetaCons "Xchg" PrefixI False) (U1 *)) (C1 * (MetaCons "Add" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "Sub" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "And" PrefixI False) (U1 *)) (C1 * (MetaCons "Nand" PrefixI False) (U1 *))))) ((:+:) * ((:+:) * (C1 * (MetaCons "Or" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "Xor" PrefixI False) (U1 *)) (C1 * (MetaCons "Max" PrefixI False) (U1 *)))) ((:+:) * (C1 * (MetaCons "Min" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "UMax" PrefixI False) (U1 *)) (C1 * (MetaCons "UMin" PrefixI False) (U1 *))))))