Reference Guide
2.5.0
__init__.py
1
# -----------------------------------------------------------------------------
2
# BSD 3-Clause License
3
#
4
# Copyright (c) 2019-2024, Science and Technology Facilities Council.
5
# All rights reserved.
6
#
7
# Redistribution and use in source and binary forms, with or without
8
# modification, are permitted provided that the following conditions are met:
9
#
10
# * Redistributions of source code must retain the above copyright notice, this
11
# list of conditions and the following disclaimer.
12
#
13
# * Redistributions in binary form must reproduce the above copyright notice,
14
# this list of conditions and the following disclaimer in the documentation
15
# and/or other materials provided with the distribution.
16
#
17
# * Neither the name of the copyright holder nor the names of its
18
# contributors may be used to endorse or promote products derived from
19
# this software without specific prior written permission.
20
#
21
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
# POSSIBILITY OF SUCH DAMAGE.
33
# -----------------------------------------------------------------------------
34
# Author J. Henrichs, Bureau of Meteorology
35
# Modified by: R. W. Ford, STFC Daresbury Lab
36
# A. R. Porter, STFC Daresbury Lab
37
# S. Siso, STFC Daresbury Lab
38
# N. Nobre, STFC Daresbury Lab
39
40
'''Transformation module, containing all generic (API independent)
41
transformations and base classes.
42
'''
43
44
# Order of TransformationError is not alphabetical because otherwise it
45
# produces an ImportError due to cyclic dependencies
46
from
psyclone.psyir.transformations.transformation_error
\
47
import
TransformationError
48
from
psyclone.psyir.transformations.acc_update_trans
import
ACCUpdateTrans
49
from
psyclone.psyir.transformations.allarrayaccess2loop_trans
import
\
50
AllArrayAccess2LoopTrans
51
from
psyclone.psyir.transformations.arrayaccess2loop_trans
import
\
52
ArrayAccess2LoopTrans
53
from
psyclone.psyir.transformations.arrayrange2loop_trans
import
\
54
ArrayRange2LoopTrans
55
from
psyclone.psyir.transformations.chunk_loop_trans
import
ChunkLoopTrans
56
from
psyclone.psyir.transformations.extract_trans
import
ExtractTrans
57
from
psyclone.psyir.transformations.fold_conditional_return_expressions_trans
\
58
import
FoldConditionalReturnExpressionsTrans
59
from
psyclone.psyir.transformations.hoist_local_arrays_trans
import
\
60
HoistLocalArraysTrans
61
from
psyclone.psyir.transformations.hoist_loop_bound_expr_trans
import
\
62
HoistLoopBoundExprTrans
63
from
psyclone.psyir.transformations.hoist_trans
import
HoistTrans
64
from
psyclone.psyir.transformations.inline_trans
import
InlineTrans
65
from
psyclone.psyir.transformations.intrinsics.abs2code_trans
import
\
66
Abs2CodeTrans
67
from
psyclone.psyir.transformations.intrinsics.dotproduct2code_trans
import
\
68
DotProduct2CodeTrans
69
from
psyclone.psyir.transformations.intrinsics.matmul2code_trans
import
\
70
Matmul2CodeTrans
71
from
psyclone.psyir.transformations.intrinsics.max2code_trans
import
\
72
Max2CodeTrans
73
from
psyclone.psyir.transformations.intrinsics.maxval2loop_trans
import
\
74
Maxval2LoopTrans
75
from
psyclone.psyir.transformations.intrinsics.min2code_trans
import
\
76
Min2CodeTrans
77
from
psyclone.psyir.transformations.intrinsics.minval2loop_trans
import
\
78
Minval2LoopTrans
79
from
psyclone.psyir.transformations.intrinsics.sign2code_trans
import
\
80
Sign2CodeTrans
81
from
psyclone.psyir.transformations.intrinsics.sum2loop_trans
import
\
82
Sum2LoopTrans
83
from
psyclone.psyir.transformations.loop_fuse_trans
import
LoopFuseTrans
84
from
psyclone.psyir.transformations.loop_swap_trans
import
LoopSwapTrans
85
from
psyclone.psyir.transformations.loop_tiling_2d_trans
\
86
import
LoopTiling2DTrans
87
from
psyclone.psyir.transformations.loop_trans
import
LoopTrans
88
from
psyclone.psyir.transformations.nan_test_trans
import
NanTestTrans
89
from
psyclone.psyir.transformations.omp_loop_trans
import
OMPLoopTrans
90
from
psyclone.psyir.transformations.omp_target_trans
import
OMPTargetTrans
91
from
psyclone.psyir.transformations.omp_taskwait_trans
import
OMPTaskwaitTrans
92
from
psyclone.psyir.transformations.omp_task_trans
import
OMPTaskTrans
93
from
psyclone.psyir.transformations.parallel_loop_trans
import
\
94
ParallelLoopTrans
95
from
psyclone.psyir.transformations.intrinsics.product2loop_trans
import
\
96
Product2LoopTrans
97
from
psyclone.psyir.transformations.profile_trans
import
ProfileTrans
98
from
psyclone.psyir.transformations.psy_data_trans
import
PSyDataTrans
99
from
psyclone.psyir.transformations.read_only_verify_trans
\
100
import
ReadOnlyVerifyTrans
101
from
psyclone.psyir.transformations.region_trans
import
RegionTrans
102
from
psyclone.psyir.transformations.replace_induction_variables_trans
import
\
103
ReplaceInductionVariablesTrans
104
from
psyclone.psyir.transformations.reference2arrayrange_trans
import
\
105
Reference2ArrayRangeTrans
106
107
108
# For AutoAPI documentation generation
109
__all__ = [
'ACCUpdateTrans'
,
110
'AllArrayAccess2LoopTrans'
,
111
'ArrayAccess2LoopTrans'
,
112
'ArrayRange2LoopTrans'
,
113
'ChunkLoopTrans'
,
114
'ExtractTrans'
,
115
'FoldConditionalReturnExpressionsTrans'
,
116
'HoistLocalArraysTrans'
,
117
'HoistLoopBoundExprTrans'
,
118
'HoistTrans'
,
119
'InlineTrans'
,
120
'Abs2CodeTrans'
,
121
'DotProduct2CodeTrans'
,
122
'Matmul2CodeTrans'
,
123
'Max2CodeTrans'
,
124
'Min2CodeTrans'
,
125
'Sign2CodeTrans'
,
126
'Sum2LoopTrans'
,
127
'LoopFuseTrans'
,
128
'LoopSwapTrans'
,
129
'LoopTiling2DTrans'
,
130
'LoopTrans'
,
131
'Maxval2LoopTrans'
,
132
'Minval2LoopTrans'
,
133
'NanTestTrans'
,
134
'OMPLoopTrans'
,
135
'OMPTargetTrans'
,
136
'OMPTaskTrans'
,
137
'OMPTaskwaitTrans'
,
138
'ParallelLoopTrans'
,
139
'Product2LoopTrans'
,
140
'ProfileTrans'
,
141
'PSyDataTrans'
,
142
'ReadOnlyVerifyTrans'
,
143
'Reference2ArrayRangeTrans'
,
144
'RegionTrans'
,
145
'ReplaceInductionVariablesTrans'
,
146
'TransformationError'
]
psyclone.psyir.transformations.acc_update_trans
Definition:
acc_update_trans.py:1
psyclone.psyir.transformations.allarrayaccess2loop_trans
Definition:
allarrayaccess2loop_trans.py:1
psyclone.psyir.transformations.arrayaccess2loop_trans
Definition:
arrayaccess2loop_trans.py:1
psyclone.psyir.transformations.arrayrange2loop_trans
Definition:
arrayrange2loop_trans.py:1
psyclone.psyir.transformations.chunk_loop_trans
Definition:
chunk_loop_trans.py:1
psyclone.psyir.transformations.extract_trans
Definition:
extract_trans.py:1
psyclone.psyir.transformations.fold_conditional_return_expressions_trans
Definition:
fold_conditional_return_expressions_trans.py:1
psyclone.psyir.transformations.hoist_local_arrays_trans
Definition:
hoist_local_arrays_trans.py:1
psyclone.psyir.transformations.hoist_loop_bound_expr_trans
Definition:
hoist_loop_bound_expr_trans.py:1
psyclone.psyir.transformations.hoist_trans
Definition:
hoist_trans.py:1
psyclone.psyir.transformations.inline_trans
Definition:
inline_trans.py:1
psyclone.psyir.transformations.intrinsics.abs2code_trans
Definition:
abs2code_trans.py:1
psyclone.psyir.transformations.intrinsics.dotproduct2code_trans
Definition:
dotproduct2code_trans.py:1
psyclone.psyir.transformations.intrinsics.matmul2code_trans
Definition:
matmul2code_trans.py:1
psyclone.psyir.transformations.intrinsics.max2code_trans
Definition:
max2code_trans.py:1
psyclone.psyir.transformations.intrinsics.maxval2loop_trans
Definition:
maxval2loop_trans.py:1
psyclone.psyir.transformations.intrinsics.min2code_trans
Definition:
min2code_trans.py:1
psyclone.psyir.transformations.intrinsics.minval2loop_trans
Definition:
minval2loop_trans.py:1
psyclone.psyir.transformations.intrinsics.product2loop_trans
Definition:
product2loop_trans.py:1
psyclone.psyir.transformations.intrinsics.sign2code_trans
Definition:
sign2code_trans.py:1
psyclone.psyir.transformations.intrinsics.sum2loop_trans
Definition:
sum2loop_trans.py:1
psyclone.psyir.transformations.loop_fuse_trans
Definition:
loop_fuse_trans.py:1
psyclone.psyir.transformations.loop_swap_trans
Definition:
loop_swap_trans.py:1
psyclone.psyir.transformations.loop_tiling_2d_trans
Definition:
loop_tiling_2d_trans.py:1
psyclone.psyir.transformations.loop_trans
Definition:
loop_trans.py:1
psyclone.psyir.transformations.nan_test_trans
Definition:
nan_test_trans.py:1
psyclone.psyir.transformations.omp_loop_trans
Definition:
omp_loop_trans.py:1
psyclone.psyir.transformations.omp_target_trans
Definition:
omp_target_trans.py:1
psyclone.psyir.transformations.omp_task_trans
Definition:
omp_task_trans.py:1
psyclone.psyir.transformations.omp_taskwait_trans
Definition:
omp_taskwait_trans.py:1
psyclone.psyir.transformations.parallel_loop_trans
Definition:
parallel_loop_trans.py:1
psyclone.psyir.transformations.profile_trans
Definition:
profile_trans.py:1
psyclone.psyir.transformations.psy_data_trans
Definition:
psy_data_trans.py:1
psyclone.psyir.transformations.read_only_verify_trans
Definition:
read_only_verify_trans.py:1
psyclone.psyir.transformations.reference2arrayrange_trans
Definition:
reference2arrayrange_trans.py:1
psyclone.psyir.transformations.region_trans
Definition:
region_trans.py:1
psyclone.psyir.transformations.replace_induction_variables_trans
Definition:
replace_induction_variables_trans.py:1
psyclone.psyir.transformations.transformation_error
Definition:
transformation_error.py:1
src
psyclone
psyir
transformations
__init__.py
Generated by
1.9.1