ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Llvm.Ppr

Contents

- Top level LLVM objects.

Description

Pretty print LLVM IR Code.

Synopsis

- ppLlvmModule :: LlvmCgConfig -> LlvmModule -> SDoc
- ppLlvmComments :: [LMString] -> SDoc
- ppLlvmComment :: LMString -> SDoc
- ppLlvmGlobals :: LlvmCgConfig -> [LMGlobal] -> SDoc
- ppLlvmGlobal :: LlvmCgConfig -> LMGlobal -> SDoc
- ppLlvmAliases :: [LlvmAlias] -> SDoc
- ppLlvmAlias :: LlvmAlias -> SDoc
- ppLlvmMetas :: LlvmCgConfig -> [MetaDecl] -> SDoc
- ppLlvmMeta :: LlvmCgConfig -> MetaDecl -> SDoc
- ppLlvmFunctionDecls :: LlvmFunctionDecls -> SDoc
- ppLlvmFunctionDecl :: LlvmFunctionDecl -> SDoc
- ppLlvmFunctions :: LlvmCgConfig -> LlvmFunctions -> SDoc
- ppLlvmFunction :: LlvmCgConfig -> LlvmFunction -> SDoc
- ppVar :: LlvmCgConfig -> LlvmVar -> SDoc
- ppLit :: LlvmCgConfig -> LlvmLit -> SDoc
- ppTypeLit :: LlvmCgConfig -> LlvmLit -> SDoc
- ppName :: LlvmCgConfig -> LlvmVar -> SDoc
- ppPlainName :: LlvmCgConfig -> LlvmVar -> SDoc

# Top level LLVM objects.

ppLlvmModule :: LlvmCgConfig -> LlvmModule -> SDoc Source #

Print out a whole LLVM module.

ppLlvmComments :: [LMString] -> SDoc Source #

Print out a multi-line comment, can be inside a function or on its own

ppLlvmComment :: LMString -> SDoc Source #

Print out a comment, can be inside a function or on its own

ppLlvmGlobals :: LlvmCgConfig -> [LMGlobal] -> SDoc Source #

Print out a list of global mutable variable definitions

ppLlvmGlobal :: LlvmCgConfig -> LMGlobal -> SDoc Source #

Print out a global mutable variable definition

ppLlvmAliases :: [LlvmAlias] -> SDoc Source #

Print out a list of LLVM type aliases.

ppLlvmAlias :: LlvmAlias -> SDoc Source #

Print out an LLVM type alias.

ppLlvmMetas :: LlvmCgConfig -> [MetaDecl] -> SDoc Source #

Print out a list of LLVM metadata.

ppLlvmMeta :: LlvmCgConfig -> MetaDecl -> SDoc Source #

Print out an LLVM metadata definition.

ppLlvmFunctionDecls :: LlvmFunctionDecls -> SDoc Source #

Print out a list of function declaration.

ppLlvmFunctionDecl :: LlvmFunctionDecl -> SDoc Source #

Print out a function declaration. Declarations define the function type but don't define the actual body of the function.

ppLlvmFunctions :: LlvmCgConfig -> LlvmFunctions -> SDoc Source #

Print out a list of function definitions.

ppLlvmFunction :: LlvmCgConfig -> LlvmFunction -> SDoc Source #

Print out a function definition.

ppVar :: LlvmCgConfig -> LlvmVar -> SDoc Source #

ppLit :: LlvmCgConfig -> LlvmLit -> SDoc Source #

Print a literal value. No type.

ppTypeLit :: LlvmCgConfig -> LlvmLit -> SDoc Source #

ppName :: LlvmCgConfig -> LlvmVar -> SDoc Source #

Return the variable name or value of the `LlvmVar` in Llvm IR textual representation (e.g. `@x`, `%y` or `42`).

ppPlainName :: LlvmCgConfig -> LlvmVar -> SDoc Source #

Return the variable name or value of the `LlvmVar` in a plain textual representation (e.g. `x`, `y` or `42`).