futhark-0.25.32: An optimising compiler for a functional, array-oriented language.

Safe Haskell | Safe-Inferred
Language | GHC2021

Futhark.Optimise.Simplify.Rules.Index

Description

Index simplification mechanics.

Synopsis

- data IndexResult
  - = IndexResult Certs VName (Slice SubExp)
  - | SubExpResult Certs SubExp
- simplifyIndexing :: MonadBuilder m => SymbolTable (Rep m) -> TypeLookup -> VName -> Slice SubExp -> Bool -> (VName -> Bool) -> Maybe (m IndexResult)

# Documentation

data IndexResult Source #

Some index expressions can be simplified to `SubExp`s, while others produce another index expression (which may be further simplifiable).

Constructors

IndexResult Certs VName (Slice SubExp) |
SubExpResult Certs SubExp |

simplifyIndexing :: MonadBuilder m => SymbolTable (Rep m) -> TypeLookup -> VName -> Slice SubExp -> Bool -> (VName -> Bool) -> Maybe (m IndexResult) Source #

Try to simplify an index operation.