llvm-extra-0.10.1: Utility functions for the llvm interface

Safe HaskellNone

LLVM.Extra.Struct

Description

In contrast to Struct it allows to store high-level values and thus allows to implement arbitrary-sized tuples of MultiValue's.

Documentation

newtype T struct Source

Constructors

Cons struct 

Instances

Zero struct => Zero (T struct) 
Undefined struct => Undefined (T struct) 
Phi struct => Phi (T struct) 
Value struct => Value (T struct) 
Struct struct => C (T struct) 
(Phi s, Undefined s, StructFields (StructStruct s), ConvertStruct (StructStruct s) D0 s) => C (T s) 

class Undefined struct whereSource

Methods

undef :: structSource

Instances

Undefined () 
(Undefined a, Undefined as) => Undefined (a, as) 

class Zero struct whereSource

Methods

zero :: structSource

Instances

Zero () 
(Zero a, Zero as) => Zero (a, as) 

class Phi struct whereSource

Methods

phi :: BasicBlock -> struct -> CodeGenFunction r structSource

addPhi :: BasicBlock -> struct -> struct -> CodeGenFunction r ()Source

Instances

Phi () 
(Phi a, Phi as) => Phi (a, as) 

class Undefined (ValueOf struct) => Value struct whereSource

Associated Types

type ValueOf struct Source

Methods

valueOf :: struct -> ValueOf structSource

Instances

Value () 
(Value a, Value as) => Value (a, as)