llvm-pretty-0.7.1.1: A pretty printing library inspired by the llvm binding.

CopyrightTrevor Elliott 2011-2016
LicenseBSD3
Maintainerawesomelyawesome@gmail.com
Stabilityexperimental
Portabilityunknown
Safe HaskellSafe
LanguageHaskell2010

Text.LLVM.PP

Description

This is the pretty-printer for llvm assembly versions 3.6 and lower.

Synopsis

Documentation

type LLVM = ?config :: Config Source #

data Config Source #

The differences between various versions of the llvm textual AST.

Constructors

Config 

Fields

withConfig :: Config -> (LLVM => a) -> a Source #

ppLLVM :: (LLVM => a) -> a Source #

ppLLVM35 :: (LLVM => a) -> a Source #

ppLLVM36 :: (LLVM => a) -> a Source #

ppLLVM37 :: (LLVM => a) -> a Source #

ppLLVM38 :: (LLVM => a) -> a Source #

ppDataLayout :: DataLayout -> Doc Source #

Pretty print a data layout specification.

ppLayoutSpec :: LayoutSpec -> Doc Source #

Pretty print a single layout specification.

ppLayoutBody :: Int -> Int -> Maybe Int -> Doc Source #

Pretty-print the common case for data layout specifications.

ppInlineAsm :: InlineAsm -> Doc Source #

Pretty-print the inline assembly block.

ppTyped :: (a -> Doc) -> Typed a -> Doc Source #

ppCall :: LLVM => Bool -> Type -> Value -> [Typed Value] -> Doc Source #

ppArgList :: Bool -> [Doc] -> Doc Source #

Build a variable-argument argument list.

hex :: (Integral i, Show i) => i -> Doc Source #

opt :: Bool -> Doc -> Doc Source #

mcommas :: [Maybe Doc] -> Doc Source #

Helpful for all of the optional fields that appear in the metadata values

ppMaybe :: (a -> Doc) -> Maybe a -> Doc Source #