llvm-hs-pure-6.0.0: src/LLVM/IRBuilder/Constant.hs
module LLVM.IRBuilder.Constant where
import Data.Word
import LLVM.Prelude
import LLVM.AST hiding (args, dests)
import LLVM.AST.Typed
import LLVM.AST.Constant
import LLVM.AST.Float
int64 :: Applicative f => Integer -> f Operand
int64 = pure . ConstantOperand . Int 64
int32 :: Applicative f => Integer -> f Operand
int32 = pure . ConstantOperand . Int 32
bit :: Applicative f => Integer -> f Operand
bit = pure . ConstantOperand . Int 1
double :: Applicative f => Double -> f Operand
double = pure . ConstantOperand . Float . Double
single :: Applicative f => Float -> f Operand
single = pure . ConstantOperand . Float . Single
half :: Applicative f => Word16 -> f Operand
half = pure . ConstantOperand . Float . Half
struct :: Applicative f => Maybe Name -> Bool -> [Constant] -> f Operand
struct nm packing members = pure . ConstantOperand $ Struct nm packing members
array :: Applicative f => [Constant] -> f Operand
array members = pure . ConstantOperand $ Array (typeOf $ head members) members