ILGPU  0.9.0
ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate > Class Template Reference

Represents an intrinsic provider that caches intrinsic remappings and implementations. More...

Inheritance diagram for ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >:
ILGPU.Util.DisposeBase ILGPU.ICache

Classes

struct  IRSpecializationPhase
 Represents a code generation phase for intrinsic methods. More...
 

Public Member Functions

IRSpecializationPhase BeginIRSpecialization ()
 Begins a new specialization phase. More...
 
bool TryGetMapping (Method method, out IntrinsicMapping< TDelegate > mapping)
 Resolves the intrinsic mapping for the given method. More...
 
bool TryGetMapping (Method method, out MethodInfo methodInfo, out IntrinsicMapping< TDelegate > mapping)
 Resolves the intrinsic mapping for the given method. More...
 
bool TryGetMapping (MethodInfo method, out IntrinsicMapping< TDelegate > mapping)
 Resolves the intrinsic mapping for the given method. More...
 
bool TryGetMapping (Value value, out IntrinsicMapping< TDelegate > mapping)
 Resolves the intrinsic mapping for the given value kind. More...
 
bool TryGetImplementation (Value value, out Method irImplementation)
 Resolves the intrinsic implementation (if any) for the given value kind. More...
 
bool TryGetCodeGenerator (Value value, out TDelegate codeGenerator)
 Resolves the intrinsic code generator (if any) for the given value kind. More...
 
void ClearCache (ClearCacheMode mode)
 Clears all internal caches. More...
 
- Public Member Functions inherited from ILGPU.Util.DisposeBase
void Dispose ()
 Triggers the 'dispose' functionality of this object. More...
 

Protected Member Functions

override void Dispose (bool disposing)
 

Properties

Context Context [get]
 Returns the associated context. More...
 

Detailed Description

Represents an intrinsic provider that caches intrinsic remappings and implementations.

Template Parameters
TDelegateThe backend-specific delegate type.
Type Constraints
TDelegate :Delegate 

Member Function Documentation

Begins a new specialization phase.

Returns
The specialization context.

Clears all internal caches.

Parameters
modeThe clear mode.

This method is not thread-safe.

Implements ILGPU.ICache.

override void ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.Dispose ( bool  disposing)
protectedvirtual

Reimplemented from ILGPU.Util.DisposeBase.

bool ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.TryGetCodeGenerator ( Value  value,
out TDelegate  codeGenerator 
)

Resolves the intrinsic code generator (if any) for the given value kind.

Parameters
valueThe value to resolve an implementation for.
codeGeneratorThe resolved code generator.
Returns
True, if the given method could be resolved to a code generator.
bool ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.TryGetImplementation ( Value  value,
out Method  irImplementation 
)

Resolves the intrinsic implementation (if any) for the given value kind.

Parameters
valueThe value to resolve an implementation for.
irImplementationThe resolved IR implementation.
Returns
True, if the given method could be resolved to an IR implementation.
bool ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.TryGetMapping ( Method  method,
out IntrinsicMapping< TDelegate >  mapping 
)

Resolves the intrinsic mapping for the given method.

Parameters
methodThe method to resolve an implementation for.
mappingThe resolved mapping.
Returns
True, if the given method could be resolved to a mapping.
bool ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.TryGetMapping ( Method  method,
out MethodInfo  methodInfo,
out IntrinsicMapping< TDelegate >  mapping 
)

Resolves the intrinsic mapping for the given method.

Parameters
methodThe method to resolve an implementation for.
methodInfoThe resolved method information object (if any).
mappingThe resolved mapping.
Returns
True, if the given method could be resolved to a mapping.
bool ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.TryGetMapping ( MethodInfo  method,
out IntrinsicMapping< TDelegate >  mapping 
)

Resolves the intrinsic mapping for the given method.

Parameters
methodThe method to resolve an implementation for.
mappingThe resolved mapping.
Returns
True, if the given method could be resolved to a mapping.
bool ILGPU.IR.Intrinsics.IntrinsicImplementationProvider< TDelegate >.TryGetMapping ( Value  value,
out IntrinsicMapping< TDelegate >  mapping 
)

Resolves the intrinsic mapping for the given value kind.

Parameters
valueThe value to resolve an implementation for.
mappingThe resolved mapping.
Returns
True, if the given method could be resolved to a mapping.

Property Documentation

Returns the associated context.


The documentation for this class was generated from the following file: