llvm-tf-9.2: Bindings to the LLVM compiler toolkit using type families.

Safe HaskellNone
LanguageHaskell98

LLVM.Util.Loop

Documentation

class Phi a where Source #

Methods

phis :: BasicBlock -> a -> CodeGenFunction r a Source #

addPhis :: BasicBlock -> a -> a -> CodeGenFunction r () Source #

Instances
Phi () Source # 
Instance details

Defined in LLVM.Util.Loop

Methods

phis :: BasicBlock -> () -> CodeGenFunction r () Source #

addPhis :: BasicBlock -> () -> () -> CodeGenFunction r () Source #

IsFirstClass a => Phi (Value a) Source # 
Instance details

Defined in LLVM.Util.Loop

(Phi a, Phi b) => Phi (a, b) Source # 
Instance details

Defined in LLVM.Util.Loop

Methods

phis :: BasicBlock -> (a, b) -> CodeGenFunction r (a, b) Source #

addPhis :: BasicBlock -> (a, b) -> (a, b) -> CodeGenFunction r () Source #

(Phi a, Phi b, Phi c) => Phi (a, b, c) Source # 
Instance details

Defined in LLVM.Util.Loop

Methods

phis :: BasicBlock -> (a, b, c) -> CodeGenFunction r (a, b, c) Source #

addPhis :: BasicBlock -> (a, b, c) -> (a, b, c) -> CodeGenFunction r () Source #

forLoop :: forall i a r. (Phi a, Num i, IsConst i, IsInteger i, IsFirstClass i, CmpRet i, CmpResult i ~ Bool) => Value i -> Value i -> a -> (Value i -> a -> CodeGenFunction r a) -> CodeGenFunction r a Source #

mapVector :: forall a b n r. (Positive n, IsPrimitive a, IsPrimitive b) => (Value a -> CodeGenFunction r (Value b)) -> Value (Vector n a) -> CodeGenFunction r (Value (Vector n b)) Source #

mapVector2 :: forall a b c n r. (Positive n, IsPrimitive a, IsPrimitive b, IsPrimitive c) => (Value a -> Value b -> CodeGenFunction r (Value c)) -> Value (Vector n a) -> Value (Vector n b) -> CodeGenFunction r (Value (Vector n c)) Source #