.. java:import:: fr.inria.tapenade.representation Block .. java:import:: fr.inria.tapenade.representation FGArrow .. java:import:: fr.inria.tapenade.representation ILUtils .. java:import:: fr.inria.tapenade.representation TapEnv .. java:import:: fr.inria.tapenade.representation TapList .. java:import:: fr.inria.tapenade.utils ILLang .. java:import:: fr.inria.tapenade.utils TapTriplet .. java:import:: fr.inria.tapenade.utils Tree ParallelControlStruct ===================== .. java:package:: fr.inria.tapenade.ir2tree :noindex: .. java:type:: final class ParallelControlStruct extends ControlStruct This structure represents a piece of Flow Graph that defines a parallel region. This structure is quite simple, with a single entry arrow (arrowIntoBody), a single exit arrow, and one chain of ControlStruct as a body. Constructors ------------ ParallelControlStruct ^^^^^^^^^^^^^^^^^^^^^ .. java:constructor:: protected ParallelControlStruct(Block block) :outertype: ParallelControlStruct Methods ------- addControlStruct ^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void addControlStruct(ControlStruct struct, FGArrow arrow) :outertype: ParallelControlStruct dump ^^^^ .. java:method:: @Override public void dump(int indent) throws java.io.IOException :outertype: ParallelControlStruct generateTree ^^^^^^^^^^^^ .. java:method:: @Override protected void generateTree(boolean delayGoto, TapList> toFutureIncludes, TapList fileUserHelpStrings) :outertype: ParallelControlStruct (Recursive) final regeneration of the structured Tree. getBlock ^^^^^^^^ .. java:method:: @Override protected ControlStruct getBlock(Block block) :outertype: ParallelControlStruct insertLetStructure ^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void insertLetStructure() :outertype: ParallelControlStruct (Recursive) Inserts Let structures into the tree of ControlStruct's to reflect nested local SymbolTable's. preGenerateTree ^^^^^^^^^^^^^^^ .. java:method:: @Override protected TapList preGenerateTree(TapList naturalArrows, TapList> toFutureIncludes, TapList fileUserHelpStrings, TapList enclosingStructs, boolean skipSubUnits) :outertype: ParallelControlStruct (Recursive) preparation before tree regeneration. Labels the arrows that need explicit jumps, prepares the skeleton of the future Tree. :return: a TapList of FGArrow propagateNaturalFlow ^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected TapList propagateNaturalFlow() :outertype: ParallelControlStruct (Recursive) precomputation of the "naturalFlow: info: the TapList of FGArrow that would naturally flow out of this ControlStruct, i.e. without any additional explicit jump. propagateNaturalNext ^^^^^^^^^^^^^^^^^^^^ .. java:method:: @Override protected void propagateNaturalNext(Block naturalNext) :outertype: ParallelControlStruct (Recursive) precomputation of the "naturalNext" info: the next Block reached by natural flow from each ControlStruct. reorderBody ^^^^^^^^^^^ .. java:method:: @Override protected void reorderBody() :outertype: ParallelControlStruct (Recursive) Orders the lists of control structures inside, following all available indications on position... toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: ParallelControlStruct