-- | A representation of an LLVM inline assembly module LLVM.AST.InlineAssembly where import LLVM.Prelude import LLVM.AST.Type -- | the dialect of assembly used in an inline assembly string -- <http://en.wikipedia.org/wiki/X86_assembly_language#Syntax> data Dialect = ATTDialect | IntelDialect deriving (Dialect -> Dialect -> Bool (Dialect -> Dialect -> Bool) -> (Dialect -> Dialect -> Bool) -> Eq Dialect forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Dialect -> Dialect -> Bool $c/= :: Dialect -> Dialect -> Bool == :: Dialect -> Dialect -> Bool $c== :: Dialect -> Dialect -> Bool Eq, ReadPrec [Dialect] ReadPrec Dialect Int -> ReadS Dialect ReadS [Dialect] (Int -> ReadS Dialect) -> ReadS [Dialect] -> ReadPrec Dialect -> ReadPrec [Dialect] -> Read Dialect forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [Dialect] $creadListPrec :: ReadPrec [Dialect] readPrec :: ReadPrec Dialect $creadPrec :: ReadPrec Dialect readList :: ReadS [Dialect] $creadList :: ReadS [Dialect] readsPrec :: Int -> ReadS Dialect $creadsPrec :: Int -> ReadS Dialect Read, Int -> Dialect -> ShowS [Dialect] -> ShowS Dialect -> String (Int -> Dialect -> ShowS) -> (Dialect -> String) -> ([Dialect] -> ShowS) -> Show Dialect forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Dialect] -> ShowS $cshowList :: [Dialect] -> ShowS show :: Dialect -> String $cshow :: Dialect -> String showsPrec :: Int -> Dialect -> ShowS $cshowsPrec :: Int -> Dialect -> ShowS Show, Typeable, Typeable Dialect DataType Constr Typeable Dialect => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dialect -> c Dialect) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Dialect) -> (Dialect -> Constr) -> (Dialect -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Dialect)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Dialect)) -> ((forall b. Data b => b -> b) -> Dialect -> Dialect) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r) -> (forall u. (forall d. Data d => d -> u) -> Dialect -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Dialect -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect) -> Data Dialect Dialect -> DataType Dialect -> Constr (forall b. Data b => b -> b) -> Dialect -> Dialect (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dialect -> c Dialect (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Dialect 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) -> Dialect -> u forall u. (forall d. Data d => d -> u) -> Dialect -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Dialect forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dialect -> c Dialect forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Dialect) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Dialect) $cIntelDialect :: Constr $cATTDialect :: Constr $tDialect :: DataType gmapMo :: (forall d. Data d => d -> m d) -> Dialect -> m Dialect $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect gmapMp :: (forall d. Data d => d -> m d) -> Dialect -> m Dialect $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect gmapM :: (forall d. Data d => d -> m d) -> Dialect -> m Dialect $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Dialect -> m Dialect gmapQi :: Int -> (forall d. Data d => d -> u) -> Dialect -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Dialect -> u gmapQ :: (forall d. Data d => d -> u) -> Dialect -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Dialect -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dialect -> r gmapT :: (forall b. Data b => b -> b) -> Dialect -> Dialect $cgmapT :: (forall b. Data b => b -> b) -> Dialect -> Dialect dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Dialect) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Dialect) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Dialect) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Dialect) dataTypeOf :: Dialect -> DataType $cdataTypeOf :: Dialect -> DataType toConstr :: Dialect -> Constr $ctoConstr :: Dialect -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Dialect $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Dialect gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dialect -> c Dialect $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dialect -> c Dialect $cp1Data :: Typeable Dialect Data, (forall x. Dialect -> Rep Dialect x) -> (forall x. Rep Dialect x -> Dialect) -> Generic Dialect forall x. Rep Dialect x -> Dialect forall x. Dialect -> Rep Dialect x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Dialect x -> Dialect $cfrom :: forall x. Dialect -> Rep Dialect x Generic) -- | <http://llvm.org/docs/LangRef.html#inline-assembler-expressions> -- to be used through 'LLVM.AST.Operand.CallableOperand' with a -- 'LLVM.AST.Instruction.Call' instruction data InlineAssembly = InlineAssembly { InlineAssembly -> Type type' :: Type, InlineAssembly -> ByteString assembly :: ByteString, InlineAssembly -> ShortByteString constraints :: ShortByteString, InlineAssembly -> Bool hasSideEffects :: Bool, InlineAssembly -> Bool alignStack :: Bool, InlineAssembly -> Dialect dialect :: Dialect } deriving (InlineAssembly -> InlineAssembly -> Bool (InlineAssembly -> InlineAssembly -> Bool) -> (InlineAssembly -> InlineAssembly -> Bool) -> Eq InlineAssembly forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: InlineAssembly -> InlineAssembly -> Bool $c/= :: InlineAssembly -> InlineAssembly -> Bool == :: InlineAssembly -> InlineAssembly -> Bool $c== :: InlineAssembly -> InlineAssembly -> Bool Eq, ReadPrec [InlineAssembly] ReadPrec InlineAssembly Int -> ReadS InlineAssembly ReadS [InlineAssembly] (Int -> ReadS InlineAssembly) -> ReadS [InlineAssembly] -> ReadPrec InlineAssembly -> ReadPrec [InlineAssembly] -> Read InlineAssembly forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [InlineAssembly] $creadListPrec :: ReadPrec [InlineAssembly] readPrec :: ReadPrec InlineAssembly $creadPrec :: ReadPrec InlineAssembly readList :: ReadS [InlineAssembly] $creadList :: ReadS [InlineAssembly] readsPrec :: Int -> ReadS InlineAssembly $creadsPrec :: Int -> ReadS InlineAssembly Read, Int -> InlineAssembly -> ShowS [InlineAssembly] -> ShowS InlineAssembly -> String (Int -> InlineAssembly -> ShowS) -> (InlineAssembly -> String) -> ([InlineAssembly] -> ShowS) -> Show InlineAssembly forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [InlineAssembly] -> ShowS $cshowList :: [InlineAssembly] -> ShowS show :: InlineAssembly -> String $cshow :: InlineAssembly -> String showsPrec :: Int -> InlineAssembly -> ShowS $cshowsPrec :: Int -> InlineAssembly -> ShowS Show, Typeable, Typeable InlineAssembly DataType Constr Typeable InlineAssembly => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlineAssembly -> c InlineAssembly) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InlineAssembly) -> (InlineAssembly -> Constr) -> (InlineAssembly -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InlineAssembly)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InlineAssembly)) -> ((forall b. Data b => b -> b) -> InlineAssembly -> InlineAssembly) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r) -> (forall u. (forall d. Data d => d -> u) -> InlineAssembly -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> InlineAssembly -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly) -> Data InlineAssembly InlineAssembly -> DataType InlineAssembly -> Constr (forall b. Data b => b -> b) -> InlineAssembly -> InlineAssembly (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlineAssembly -> c InlineAssembly (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InlineAssembly 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) -> InlineAssembly -> u forall u. (forall d. Data d => d -> u) -> InlineAssembly -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InlineAssembly forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlineAssembly -> c InlineAssembly forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InlineAssembly) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InlineAssembly) $cInlineAssembly :: Constr $tInlineAssembly :: DataType gmapMo :: (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly gmapMp :: (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly gmapM :: (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> InlineAssembly -> m InlineAssembly gmapQi :: Int -> (forall d. Data d => d -> u) -> InlineAssembly -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> InlineAssembly -> u gmapQ :: (forall d. Data d => d -> u) -> InlineAssembly -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> InlineAssembly -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InlineAssembly -> r gmapT :: (forall b. Data b => b -> b) -> InlineAssembly -> InlineAssembly $cgmapT :: (forall b. Data b => b -> b) -> InlineAssembly -> InlineAssembly dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InlineAssembly) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InlineAssembly) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c InlineAssembly) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InlineAssembly) dataTypeOf :: InlineAssembly -> DataType $cdataTypeOf :: InlineAssembly -> DataType toConstr :: InlineAssembly -> Constr $ctoConstr :: InlineAssembly -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InlineAssembly $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InlineAssembly gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlineAssembly -> c InlineAssembly $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InlineAssembly -> c InlineAssembly $cp1Data :: Typeable InlineAssembly Data, (forall x. InlineAssembly -> Rep InlineAssembly x) -> (forall x. Rep InlineAssembly x -> InlineAssembly) -> Generic InlineAssembly forall x. Rep InlineAssembly x -> InlineAssembly forall x. InlineAssembly -> Rep InlineAssembly x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep InlineAssembly x -> InlineAssembly $cfrom :: forall x. InlineAssembly -> Rep InlineAssembly x Generic)