Idris2Doc : Data.LLVM.IR.Builders.Ops

Data.LLVM.IR.Builders.Ops

Definitions

globalDef : String-> {defaultemptySymbolInfo_ : SymbolInfo} -> {defaultNothing_ : MaybeThreadLocality} -> {defaultNothing_ : MaybeAddressInfo} -> {defaultNothing_ : MaybeAddressSpace} -> {defaultNothing_ : MaybeBool} -> {defaultFalse_ : Bool} ->LType-> {defaultNothing_ : MaybeLExpr} -> {default [] _ : ListLTag} ->GVarDef
  Make a global variable definition with configurable options.

Creates a global variable definition with comprehensive configuration
options including symbol information, thread locality, address space,
and initialization settings.

@ name The global variable name (identifier)
@ symbolInfo Symbol information including linkage, preemption, visibility, and storage
@ threadLocality Thread-local storage model if applicable
@ addressInfo Address information for the global variable
@ addressSpace Address space where the global variable resides
@ externallyInitialized Whether the variable is initialized externally
@ isConst Whether the global variable is constant (immutable)
@ ty The type of the global variable
@ init Optional initializer constant for the variable
@ tags Additional tags for the global variable

Visibility: export
alias : String-> {defaultemptySymbolInfo_ : SymbolInfo} -> {defaultNothing_ : MaybeThreadLocality} -> {defaultNothing_ : MaybeAddressInfo} ->LType-> {defaultty_ : LType} ->String-> {default [] _ : ListLTag} ->Alias
  Create an alias for an existing global value.

Creates an alias that provides an alternative name for an existing
global variable, function, or other global value. The alias has the
same type and points to the same target.

@ name The alias name (identifier)
@ symbolInfo Symbol information including linkage, preemption, visibility, and storage
@ threadLocality Thread-local storage model if applicable
@ addressInfo Address information for the alias
@ ty The type of the aliased value
@ ty2 Alternative type specification (defaults to ty)
@ target The name of the target being aliased
@ tags Additional tags for the alias

Visibility: export
mkModule : {defaultNothing_ : MaybeString} -> {defaultNothing_ : MaybeString} -> {default [] _ : ListLClause} -> {defaultNothing_ : Maybe (ListLTag)} ->LModule
  Create an LLVM module with configurable options.

Creates a complete LLVM module with optional data layout specification,
target triple, module contents, and metadata tags. This is the primary
way to construct LLVM modules programmatically.

@ dataLayout Optional data layout string specifying target data layout
@ target Optional target triple string (e.g., "x86_64-unknown-linux-gnu")
@ text List of top-level clauses (functions, globals, etc.) in the module
@ tags Optional metadata tags for the module

Visibility: export
simpleModule : ListLClause->LModule
  Create a simple LLVM module with text clauses.

Creates a basic LLVM module with only the essential text clauses,
using default values for data layout, target triple, and tags.
This is the most common way to create modules.

@ clauses List of top-level clauses (functions, globals, etc.) for the module

Visibility: export