public class LoopFusion extends ClawTransformation
_claw| Constructor and Description |
|---|
LoopFusion(ClawPragma directive)
Constructs a new LoopFusion triggered from a specific pragma.
|
LoopFusion(Xnode loop,
ClawPragma ghostDirective)
LoopFusion ctor without pragma.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
analyze(XcodeProgram xcodeml,
Translator translator)
Loop fusion analysis:
- Without collapse clause: check whether the pragma statement is followed
by a do statement.
|
boolean |
canBeTransformedWith(XcodeProgram xcodeml,
Transformation transformation)
Check whether the loop fusion unit can be merged with the given loop fusion
unit.
|
void |
transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Apply the loop fusion transformation.
|
getLanguageInfo, removePragmaabortOnFailedAnalysis, getDirective, getStartLine, isTransformed, setStartLine, transformedpublic LoopFusion(ClawPragma directive)
directive - The directive that triggered the loop fusion
transformation.public LoopFusion(Xnode loop, ClawPragma ghostDirective)
loop - The do statement to be merge by the loop fusion.ghostDirective - The generated directive that will be used for the
loop-fusion transformation.public boolean analyze(XcodeProgram xcodeml, Translator translator)
analyze in class Transformationxcodeml - The XcodeML on which the transformations are applied.translator - The translator used to applied the transformations.public void transform(XcodeProgram xcodeml, Translator translator, Transformation transformation) throws IllegalTransformationException
transform in class Transformationxcodeml - The XcodeML on which the transformations are
applied.translator - The translator used to applied the transformations.transformation - The other loop fusion unit to be merge with this
one.IllegalTransformationException - if the transformation cannot be
applied.public boolean canBeTransformedWith(XcodeProgram xcodeml, Transformation transformation)
canBeTransformedWith in class Transformationtransformation - The other loop fusion unit to be merge with this one.xcodeml - The XcodeML on which the transformations are applied.DependentTransformationGroup