Safe Haskell | Safe-Inferred |
---|
LLVM instructions http://llvm.org/docs/LangRef.html#instruction-reference
- type InstructionMetadata = [(String, MetadataNode)]
- data Terminator
- = Ret { }
- | CondBr { }
- | Br { }
- | Switch {
- operand0' :: Operand
- defaultDest :: Name
- dests :: [(Constant, Name)]
- metadata' :: InstructionMetadata
- | IndirectBr { }
- | Invoke { }
- | Resume { }
- | Unreachable { }
- data MemoryOrdering
- = Unordered
- | Monotonic
- | Acquire
- | Release
- | AcquireRelease
- | SequentiallyConsistent
- data Atomicity = Atomicity {}
- data LandingPadClause
- data Instruction
- = Add { }
- | FAdd { }
- | Sub { }
- | FSub { }
- | Mul { }
- | FMul { }
- | UDiv { }
- | SDiv { }
- | FDiv { }
- | URem { }
- | SRem { }
- | FRem { }
- | Shl { }
- | LShr { }
- | AShr { }
- | And { }
- | Or { }
- | Xor { }
- | Alloca { }
- | Load { }
- | Store { }
- | GetElementPtr { }
- | Fence { }
- | CmpXchg { }
- | AtomicRMW { }
- | Trunc { }
- | ZExt { }
- | SExt { }
- | FPToUI { }
- | FPToSI { }
- | UIToFP { }
- | SIToFP { }
- | FPTrunc { }
- | FPExt { }
- | PtrToInt { }
- | IntToPtr { }
- | BitCast { }
- | ICmp { }
- | FCmp { }
- | Phi {
- type' :: Type
- incomingValues :: [(Operand, Name)]
- metadata :: InstructionMetadata
- | Call { }
- | Select { }
- | VAArg { }
- | ExtractElement { }
- | InsertElement { }
- | ShuffleVector { }
- | ExtractValue { }
- | InsertValue { }
- | LandingPad { }
- data Named a
Documentation
type InstructionMetadata = [(String, MetadataNode)]
http://llvm.org/docs/LangRef.html#metadata-nodes-and-metadata-strings Metadata can be attached to an instruction
data Terminator
Ret | |
CondBr | |
Br | |
| |
Switch | |
| |
IndirectBr | |
| |
Invoke | |
Resume | |
Unreachable | |
data MemoryOrdering
data Atomicity
An Atomicity
describes constraints on the visibility of effects of an atomic instruction
data LandingPadClause
For the redoubtably complex LandingPad
instruction
data Instruction
non-terminator instructions: http://llvm.org/docs/LangRef.html#binaryops http://llvm.org/docs/LangRef.html#bitwiseops http://llvm.org/docs/LangRef.html#memoryops http://llvm.org/docs/LangRef.html#otherops