- BindProgram
- TypeCheck
- ApplyDefines (pre-processor expansion)
- foreach Input
- Check Input is bound
- Ensure shapes match
- foreach Dim
- Add/Lookup binding
- foreach Op
- Add const bindings
- Handle 'simple_reduce()'
- foreach Input
- Ensure bound
- Compute output type
- Set output type
- Contraction case
- foreach TensorSpec
- Evaluate IndexSpec
- Evaluate dims
- Evaluate polynomials
- Evaluate IndexSpec
- foreach Constraint
- Evaluate Constraint
- foreach TensorSpec
- Elementwise case
- assert_
- cmp
- gather
- scatter
- tuple
- element
- shape
- reshape
- prng_step
- prng_state
- as_
- index
- Constant propagation
- Perform broadcast
- Bind output
- Contraction case
- foreach output
- Perform broadcast
- OptimizeProgram
- Determine first def
- Eliminate duplicate defs
- TypeCheck
- Compute UseDef
- foreach Op
- Handle Contraction
- Compile FlatContraction
- Unify compatible elementwise ops
- Generate code
- Handle special functions
- Generate special code
- Handle Elementwise
- Construct FlatContraction
- Unify compatible elementwise ops
- Generate code
- Handle Contraction
Created
June 29, 2018 22:00
-
-
Save flaub/d1cad41397fe3db4763cab6c4391fd57 to your computer and use it in GitHub Desktop.
Compiler passes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment