futhark-0.17.1: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.Transform.CopyPropagate

Description

Perform copy propagation. This is done by invoking the simplifier with no rules, so hoisting and dead-code elimination may also take place.

Synopsis

Documentation

copyPropagateInProg :: SimplifiableLore lore => SimpleOps lore -> Prog lore -> PassM (Prog lore) Source #

Run copy propagation on an entire program.

copyPropagateInStms :: (MonadFreshNames m, SimplifiableLore lore) => SimpleOps lore -> Scope lore -> Stms lore -> m (SymbolTable (Wise lore), Stms lore) Source #

Run copy propagation on some statements.

copyPropagateInFun :: (MonadFreshNames m, SimplifiableLore lore) => SimpleOps lore -> SymbolTable (Wise lore) -> FunDef lore -> m (FunDef lore) Source #

Run copy propagation on a function.