ILGPU  0.9.0
ILGPU.IR.Rewriting Namespace Reference

Classes

interface  IRewriterContext
 A rewriter context to process values. More...
 
interface  IRewriterContextProvider
 Provides rewriter context instances. More...
 
class  Rewriter
 A rewriter class to rewrite IR nodes. More...
 
struct  RewriterContext
 Helper class to process value instances. More...
 
class  RewriterContextExtensions
 Extension methods for rewriter contexts.
 
struct  RewriterContextProvider
 Provides RewriterContext instances. More...
 
class  RewriterStructureExtensions
 Extension methods for generation and destruction of structure values.
 
class  SSARewriter
 A rewriter class to rewrite SSA builders. More...
 
struct  SSARewriterContext
 A processor that can be applied to every block. More...
 
struct  SSARewriterContextProvider
 Provides SSARewriterContext<TVariable> instances. More...
 

Functions

delegate bool RewritePredicate< T, TValue > (T data, TValue value)
 A rewriter predicate. More...
 
delegate void RewriteConverter< TContext, T, TValue > (TContext context, T data, TValue value)
 A rewriter converter that converts nodes. More...
 
delegate void RewriteConverter< T, TValue > (RewriterContext context, T data, TValue value)
 A rewriter converter that converts nodes. More...
 
delegate bool RewritePredicate< in TValue > (TValue value)
 A rewriter predicate. More...
 
delegate void RewriteConverter< in TValue > (RewriterContext context, TValue value)
 A rewriter converter that converts nodes. More...
 

Function Documentation

delegate void ILGPU.IR.Rewriting.RewriteConverter< in TValue > ( RewriterContext  context,
TValue  value 
)

A rewriter converter that converts nodes.

Template Parameters
TValueThe value type.
Parameters
contextThe current rewriting context.
valueThe value to rewrite.
Type Constraints
TValue :Value 
delegate void ILGPU.IR.Rewriting.RewriteConverter< T, TValue > ( RewriterContext  context,
data,
TValue  value 
)

A rewriter converter that converts nodes.

Template Parameters
TThe data type.
TValueThe value type.
Parameters
contextThe current rewriting context.
dataThe user-defined data.
valueThe value to rewrite.
delegate void ILGPU.IR.Rewriting.RewriteConverter< TContext, T, TValue > ( TContext  context,
data,
TValue  value 
)

A rewriter converter that converts nodes.

Template Parameters
TContextThe rewriter context type.
TThe data type.
TValueThe value type.
Parameters
contextThe current rewriting context.
dataThe user-defined data.
valueThe value to rewrite.
Type Constraints
TContext :struct 
TContext :IRewriterContext 
delegate bool ILGPU.IR.Rewriting.RewritePredicate< in TValue > ( TValue  value)

A rewriter predicate.

Template Parameters
TValueThe value type.
Parameters
valueThe value to test.
Returns
True, if the value can be rewritten.
Type Constraints
TValue :Value 
delegate bool ILGPU.IR.Rewriting.RewritePredicate< T, TValue > ( data,
TValue  value 
)

A rewriter predicate.

Template Parameters
TThe data type.
TValueThe value type.
Parameters
dataThe current user context.
valueThe value to test.
Returns
True, if the value can be rewritten.