Module Llvm.Opcode

module Opcode: sig .. end
The opcodes for LLVM instructions and constant expressions.

type t = 
| Invalid (*
Not an instruction
*)
| Ret (*
Terminator Instructions
*)
| Br
| Switch
| IndirectBr
| Invoke
| Invalid2
| Unreachable
| Add (*
Standard Binary Operators
*)
| FAdd
| Sub
| FSub
| Mul
| FMul
| UDiv
| SDiv
| FDiv
| URem
| SRem
| FRem
| Shl (*
Logical Operators
*)
| LShr
| AShr
| And
| Or
| Xor
| Alloca (*
Memory Operators
*)
| Load
| Store
| GetElementPtr
| Trunc (*
Cast Operators
*)
| ZExt
| SExt
| FPToUI
| FPToSI
| UIToFP
| SIToFP
| FPTrunc
| FPExt
| PtrToInt
| IntToPtr
| BitCast
| ICmp (*
Other Operators
*)
| FCmp
| PHI
| Call
| Select
| UserOp1
| UserOp2
| VAArg
| ExtractElement
| InsertElement
| ShuffleVector
| ExtractValue
| InsertValue
| Fence
| AtomicCmpXchg
| AtomicRMW
| Resume
| LandingPad