-- | Operations for the 'LLVM.AST.Instruction.AtomicRMW' instruction module LLVM.AST.RMWOperation where import LLVM.Prelude -- | <http://llvm.org/docs/LangRef.html#atomicrmw-instruction> data RMWOperation = Xchg | Add | Sub | And | Nand | Or | Xor | Max | Min | UMax | UMin deriving (RMWOperation -> RMWOperation -> Bool (RMWOperation -> RMWOperation -> Bool) -> (RMWOperation -> RMWOperation -> Bool) -> Eq RMWOperation forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: RMWOperation -> RMWOperation -> Bool $c/= :: RMWOperation -> RMWOperation -> Bool == :: RMWOperation -> RMWOperation -> Bool $c== :: RMWOperation -> RMWOperation -> Bool Eq, Eq RMWOperation Eq RMWOperation => (RMWOperation -> RMWOperation -> Ordering) -> (RMWOperation -> RMWOperation -> Bool) -> (RMWOperation -> RMWOperation -> Bool) -> (RMWOperation -> RMWOperation -> Bool) -> (RMWOperation -> RMWOperation -> Bool) -> (RMWOperation -> RMWOperation -> RMWOperation) -> (RMWOperation -> RMWOperation -> RMWOperation) -> Ord RMWOperation RMWOperation -> RMWOperation -> Bool RMWOperation -> RMWOperation -> Ordering RMWOperation -> RMWOperation -> RMWOperation forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: RMWOperation -> RMWOperation -> RMWOperation $cmin :: RMWOperation -> RMWOperation -> RMWOperation max :: RMWOperation -> RMWOperation -> RMWOperation $cmax :: RMWOperation -> RMWOperation -> RMWOperation >= :: RMWOperation -> RMWOperation -> Bool $c>= :: RMWOperation -> RMWOperation -> Bool > :: RMWOperation -> RMWOperation -> Bool $c> :: RMWOperation -> RMWOperation -> Bool <= :: RMWOperation -> RMWOperation -> Bool $c<= :: RMWOperation -> RMWOperation -> Bool < :: RMWOperation -> RMWOperation -> Bool $c< :: RMWOperation -> RMWOperation -> Bool compare :: RMWOperation -> RMWOperation -> Ordering $ccompare :: RMWOperation -> RMWOperation -> Ordering $cp1Ord :: Eq RMWOperation Ord, ReadPrec [RMWOperation] ReadPrec RMWOperation Int -> ReadS RMWOperation ReadS [RMWOperation] (Int -> ReadS RMWOperation) -> ReadS [RMWOperation] -> ReadPrec RMWOperation -> ReadPrec [RMWOperation] -> Read RMWOperation forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [RMWOperation] $creadListPrec :: ReadPrec [RMWOperation] readPrec :: ReadPrec RMWOperation $creadPrec :: ReadPrec RMWOperation readList :: ReadS [RMWOperation] $creadList :: ReadS [RMWOperation] readsPrec :: Int -> ReadS RMWOperation $creadsPrec :: Int -> ReadS RMWOperation Read, Int -> RMWOperation -> ShowS [RMWOperation] -> ShowS RMWOperation -> String (Int -> RMWOperation -> ShowS) -> (RMWOperation -> String) -> ([RMWOperation] -> ShowS) -> Show RMWOperation forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [RMWOperation] -> ShowS $cshowList :: [RMWOperation] -> ShowS show :: RMWOperation -> String $cshow :: RMWOperation -> String showsPrec :: Int -> RMWOperation -> ShowS $cshowsPrec :: Int -> RMWOperation -> ShowS Show, Typeable RMWOperation DataType Constr Typeable RMWOperation => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RMWOperation -> c RMWOperation) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RMWOperation) -> (RMWOperation -> Constr) -> (RMWOperation -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RMWOperation)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RMWOperation)) -> ((forall b. Data b => b -> b) -> RMWOperation -> RMWOperation) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r) -> (forall u. (forall d. Data d => d -> u) -> RMWOperation -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> RMWOperation -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation) -> Data RMWOperation RMWOperation -> DataType RMWOperation -> Constr (forall b. Data b => b -> b) -> RMWOperation -> RMWOperation (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RMWOperation -> c RMWOperation (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RMWOperation forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> RMWOperation -> u forall u. (forall d. Data d => d -> u) -> RMWOperation -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RMWOperation forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RMWOperation -> c RMWOperation forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RMWOperation) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RMWOperation) $cUMin :: Constr $cUMax :: Constr $cMin :: Constr $cMax :: Constr $cXor :: Constr $cOr :: Constr $cNand :: Constr $cAnd :: Constr $cSub :: Constr $cAdd :: Constr $cXchg :: Constr $tRMWOperation :: DataType gmapMo :: (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation gmapMp :: (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation gmapM :: (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> RMWOperation -> m RMWOperation gmapQi :: Int -> (forall d. Data d => d -> u) -> RMWOperation -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RMWOperation -> u gmapQ :: (forall d. Data d => d -> u) -> RMWOperation -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> RMWOperation -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RMWOperation -> r gmapT :: (forall b. Data b => b -> b) -> RMWOperation -> RMWOperation $cgmapT :: (forall b. Data b => b -> b) -> RMWOperation -> RMWOperation dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RMWOperation) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RMWOperation) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c RMWOperation) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RMWOperation) dataTypeOf :: RMWOperation -> DataType $cdataTypeOf :: RMWOperation -> DataType toConstr :: RMWOperation -> Constr $ctoConstr :: RMWOperation -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RMWOperation $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RMWOperation gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RMWOperation -> c RMWOperation $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RMWOperation -> c RMWOperation $cp1Data :: Typeable RMWOperation Data, Typeable, (forall x. RMWOperation -> Rep RMWOperation x) -> (forall x. Rep RMWOperation x -> RMWOperation) -> Generic RMWOperation forall x. Rep RMWOperation x -> RMWOperation forall x. RMWOperation -> Rep RMWOperation x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep RMWOperation x -> RMWOperation $cfrom :: forall x. RMWOperation -> Rep RMWOperation x Generic)