llvm-party-12.1.0: src/LLVM/AST/InlineAssembly.hs
-- | 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 (Eq, Read, Show, Typeable, Data, 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 {
type' :: Type,
assembly :: ByteString,
constraints :: ShortByteString,
hasSideEffects :: Bool,
alignStack :: Bool,
dialect :: Dialect
}
deriving (Eq, Read, Show, Typeable, Data, Generic)