psyclone.domain.common.transformations.alg_trans#
Specialise generic PSyIR representing an algorithm layer to a PSyclone algorithm-layer-specific PSyIR which uses specialised classes.
Classes#
AlgTrans: Transform a generic PSyIR representation of the Algorithm layer to
- class psyclone.domain.common.transformations.alg_trans.AlgTrans[source]#
Transform a generic PSyIR representation of the Algorithm layer to a PSyclone version with specialised domain-specific nodes.
Inheritance

- apply(node, options=None, **kwargs)[source]#
Apply transformation to the supplied PSyIR node.
- Parameters:
node (
psyclone.psyir.node.Routineorpsyclone.psyir.node.Container) – a PSyIR node that is the root of a PSyIR tree.options (Optional[Dict[str, Any]]) – a dictionary with options for transformations.
- validate(node, options=None, **kwargs)[source]#
Validate the supplied PSyIR tree.
- Parameters:
node (
psyclone.psyir.node.Routineorpsyclone.psyir.node.Container) – a PSyIR node that is the root of a PSyIR tree.options (Optional[Dict[str, Any]]) – a dictionary with options for transformations.
- Raises:
TransformationError – if the supplied node argument is not a Routine or a Container.
TransformationError – if the supplied node argument has a parent.