Modifier and Type | Method and Description |
---|---|
abstract boolean |
Transformation.analyze(XcodeProgram xcodeml,
Translator translator)
Analyze the possibility to apply the transformation.
|
void |
DependentTransformationGroup.applyTranslations(XcodeProgram xcodeml,
Translator translator) |
abstract void |
TransformationGroup.applyTranslations(XcodeProgram xcodeml,
Translator translator)
Apply all transformation stored in this group.
|
void |
IndependentTransformationGroup.applyTranslations(XcodeProgram xcodeml,
Translator translator) |
abstract boolean |
Transformation.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other)
Check whether the current transformation can be transformed together with
the given transformation.
|
abstract void |
Transformation.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other)
Apply the actual transformation.
|
Modifier and Type | Method and Description |
---|---|
void |
Translator.addTransformation(XcodeProgram xcodeml,
Transformation t)
Add a transformation to the translator.
|
void |
Translator.finalize(XcodeProgram xcodeml)
Perform last tasks before applying transformations.
|
void |
Translator.generateTransformation(XcodeProgram xcodeml,
Xnode pragma)
Generate transformation according to the pragma.
|
Modifier and Type | Method and Description |
---|---|
static void |
Message.errors(XcodeProgram translationUnit)
Display all errors stored in translation unit.
|
static void |
Message.warnings(XcodeProgram translationUnit)
Display all warnings stored in translation unit.
|
Modifier and Type | Method and Description |
---|---|
static Xnode |
Directive.generateAcceleratorClause(XcodeProgram xcodeml,
Xnode startStmt,
java.lang.String accClause)
Generate corresponding pragmas applied directly after a CLAW pragma.
|
static void |
Directive.generateDataRegionClause(XcodeProgram xcodeml,
java.util.List<java.lang.String> presents,
java.util.List<java.lang.String> creates,
Xnode startStmt,
Xnode endStmt)
Generate directive directive for a data region.
|
static void |
Directive.generateLoopDirectives(XcodeProgram xcodeml,
Xnode startStmt,
Xnode endStmt,
int collapse)
Generates directive directive for a loop region.
|
static int |
Directive.generateLoopSeq(XcodeProgram xcodeml,
FfunctionDefinition fctDef,
java.lang.String noDependencyDirective)
Generate loop seq directives on the top of loops in the given function
definition.
|
static Xnode |
Directive.generateParallelClause(XcodeProgram xcodeml,
Xnode startStmt,
Xnode endStmt)
Generate corresponding pragmas to surround the code with a parallel
accelerated region.
|
static void |
Directive.generateParallelLoopClause(XcodeProgram xcodeml,
java.util.List<java.lang.String> privates,
Xnode startStmt,
Xnode endStmt,
int collapse)
Generate directive directive for a parallel loop.
|
static void |
Directive.generatePrivateClause(XcodeProgram xcodeml,
Xnode stmt,
java.lang.String var)
Generate the correct clauses for private variable on directive.
|
static void |
Directive.generateRoutineDirectives(XcodeProgram xcodeml,
FfunctionDefinition fctDef)
Generate all corresponding pragmas to be applied to an accelerated
function/subroutine.
|
static Xnode |
Directive.generateUpdate(XcodeProgram xcodeml,
Xnode hook,
java.util.List<java.lang.String> vars,
DataMovement direction)
Generate update directives for device and host data transfer.
|
static java.util.List<java.lang.String> |
Directive.getLocalArrays(XcodeProgram xcodeml,
FfunctionDefinition fctDef)
Get all the local variables in the function definition.
|
static java.util.List<java.lang.String> |
Directive.getLocalVariables(XcodeProgram xcodeml,
FfunctionDefinition fctDef)
Get all the local variables in the function definition.
|
static java.util.List<java.lang.String> |
Directive.getPresentVariables(XcodeProgram xcodeml,
FfunctionDefinition fctDef)
Get all the function variables that are input/output parameters.
|
Modifier and Type | Method and Description |
---|---|
static void |
Field.adaptAllocate(PromotionInfo promotionInfo,
Xnode parent,
XcodeProgram xcodeml)
Adapt allocate statement with given dimension.
|
static void |
Field.adaptArrayRef(PromotionInfo promotionInfo,
Xnode parent,
XcodeProgram xcodeml)
Adapt all the array references of the variable in the data clause in the
current function/subroutine definition.
|
static void |
Field.promote(PromotionInfo fieldInfo,
FfunctionDefinition fctDef,
XcodeProgram xcodeml)
Promote a field with the information stored in the defined dimensions.
|
static void |
Field.reshape(FfunctionDefinition fctDef,
ReshapeInfo reshapeInfo,
XcodeProgram xcodeml)
Reshape field in function definition.
|
static void |
Pragma.splitByCont(Xnode pragma,
java.lang.String prefix,
XcodeProgram xcodeml)
Split the line by its previous continuation mark.
|
static void |
Pragma.splitByLength(Xnode pragma,
XcodeProgram xcodeml,
java.lang.String prefix)
Split the line by its length and add continuation symbols.
|
static void |
Xmod.updateSignature(java.lang.String moduleName,
XcodeProgram xcodeml,
FfunctionDefinition fctDef,
FfunctionType fctType,
boolean importFctType)
Update the function signature in the module file to reflects local changes.
|
Modifier and Type | Method and Description |
---|---|
Xnode |
DimensionDefinition.generateAllocateNode(XcodeProgram xcodeml)
Generate additional node to be inserted in the allocate statement
arrayIndex based on the dimension definition.
|
Constructor and Description |
---|
NestedDoStatement(java.util.List<DimensionDefinition> dimensions,
XcodeProgram xcodeml)
Constructs a group of nested do statements from a list of dimension
objects.
|
Modifier and Type | Method and Description |
---|---|
static java.util.List<java.lang.String> |
XnodeUtil.gatherArguments(XcodeProgram xcodeml,
Xnode fctCall,
Intent intent,
boolean arrayOnly)
Gather arguments of a function call.
|
Modifier and Type | Method and Description |
---|---|
static XcodeProgram |
XcodeProgram.createFromDocument(org.w3c.dom.Document doc)
Create a XcodeProgram object from an XML document.
|
static XcodeProgram |
XcodeProgram.createFromFile(java.lang.String input)
Create a XcodeProgram object from an XcodeML input file.
|
static XcodeProgram |
XcodeProgram.createFromStdInput()
Create a XcodeProgram object from the standard input.
|
Modifier and Type | Method and Description |
---|---|
boolean |
XcodeMLWorkaround.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
OpenAccContinuation.analyze(XcodeProgram xcodeml,
Translator translator)
Check if the directive starts with the OpenACC prefix.
|
boolean |
XcodeMLWorkaround.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
boolean |
OpenAccContinuation.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
void |
XcodeMLWorkaround.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other) |
void |
OpenAccContinuation.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Apply the OpenACC continuation transformation.
|
Modifier and Type | Method and Description |
---|---|
boolean |
Kcaching.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
Kcaching.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
void |
Kcaching.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other) |
Modifier and Type | Method and Description |
---|---|
boolean |
DirectivePrimitive.analyze(XcodeProgram xcodeml,
Translator translator)
Analysis of the transformation.
|
boolean |
DirectivePrimitive.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
void |
DirectivePrimitive.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Apply the directive primitive transformation.
|
Modifier and Type | Method and Description |
---|---|
boolean |
IfExtract.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
LoopInterchange.analyze(XcodeProgram xcodeml,
Translator translator)
Loop fusion analysis:
- Find the different do statement that will be reordered.
|
boolean |
LoopHoist.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
ArrayTransform.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
LoopFusion.analyze(XcodeProgram xcodeml,
Translator translator)
Loop fusion analysis:
- Without collapse clause: check whether the pragma statement is followed
by a do statement.
|
boolean |
LoopExtraction.analyze(XcodeProgram xcodeml,
Translator translator)
Check whether the transformation can be applied.
|
boolean |
IfExtract.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
boolean |
LoopInterchange.canBeTransformedWith(XcodeProgram xcodeml,
Transformation transformation) |
boolean |
LoopHoist.canBeTransformedWith(XcodeProgram xcodeml,
Transformation transformation) |
boolean |
ArrayTransform.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
boolean |
LoopFusion.canBeTransformedWith(XcodeProgram xcodeml,
Transformation transformation)
Check whether the loop fusion unit can be merged with the given loop fusion
unit.
|
boolean |
LoopExtraction.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
void |
IfExtract.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other) |
void |
LoopInterchange.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Apply the transformation.
|
void |
LoopHoist.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation) |
void |
ArrayTransform.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other)
Transform an assignment using array notation to a do statement.
|
void |
LoopFusion.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Apply the loop fusion transformation.
|
void |
LoopExtraction.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Apply the transformation.
|
Modifier and Type | Method and Description |
---|---|
boolean |
ArrayToFctCall.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
UtilityRemove.analyze(XcodeProgram xcodeml,
Translator translator)
Check whether the transformation can be applied or not.
|
boolean |
ArrayToFctCall.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
boolean |
UtilityRemove.canBeTransformedWith(XcodeProgram xcodeml,
Transformation transformation) |
void |
ArrayToFctCall.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other) |
void |
UtilityRemove.transform(XcodeProgram xcodeml,
Translator translator,
Transformation transformation)
Delete the corresponding elements.
|
Modifier and Type | Method and Description |
---|---|
boolean |
Parallelize.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
ParallelizeForward.analyze(XcodeProgram xcodeml,
Translator translator) |
boolean |
Parallelize.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
boolean |
ParallelizeForward.canBeTransformedWith(XcodeProgram xcodeml,
Transformation other) |
void |
Parallelize.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other) |
void |
ParallelizeForward.transform(XcodeProgram xcodeml,
Translator translator,
Transformation other) |
Modifier and Type | Method and Description |
---|---|
XcodeProgram |
ClawTranslatorDriver.getTranslationUnit()
Get the XcodeProgram object representing the Fortran code translated.
|
Modifier and Type | Method and Description |
---|---|
void |
ClawTranslator.addTransformation(XcodeProgram xcodeml,
Transformation t)
Add transformation in the correct group.
|
void |
ClawTranslator.finalize(XcodeProgram xcodeml) |
void |
ClawTranslator.generateAdditionalTransformation(ClawPragma claw,
XcodeProgram xcodeml,
Xnode stmt)
Generate corresponding additional transformation according to optional
clauses given to the directive.
|
void |
ClawTranslator.generateTransformation(XcodeProgram xcodeml,
Xnode pragma) |