Idris2Doc : Data.LLVM

Data.LLVM

LLVM IR representation and manipulation library.

This is the main module for the LLVM IR library, providing a complete
Idris interface for creating, manipulating, and serializing LLVM IR.

The library includes:
- Core data types for LLVM IR constructs (LCore)
- Type classes for encoding IR to text (LClass) 
- Serialization to LLVM IR text format (LWrite)
- Instruction and operation types (LOps)
- Program structure and top-level definitions (LProgram)
- Builder functions and DSL interfaces (Interface)
- Type conversions and casting utilities (LCasts)
- Optimization pass integration (LPass)
- Foreign function interface utilities (LForeign)

Example usage:
```idris
import Data.LLVM

myModule : LModule
myModule = MkLModule {
  text = [
    GlobalDefC $ globalDef "myGlobal" (LInt 32) {init = Just (LInt 42)},
    FunctionDefC $ functionDef "main" LVoid [] (MkBlock [
      ret LVoid
    ])
  ]
}
```

Reexports

importpublic Data.LLVM.Class as LClass
importpublic Data.LLVM.Write.Assembly as LWrite
importpublic Data.LLVM.IR as LIR
importpublic Data.LLVM.IR.Builders
importpublic Data.LLVM.IR.Alias
importpublic Data.LLVM.Interface
importpublic Data.LLVM.Casts as LCasts
importpublic Data.LLVM.Pass as LPass
importpublic Data.LLVM.Foreign as LForeign
importpublic Data.LLVM.CC as CC