public static enum GraphDecoder.LoopScopeTrigger extends Enum<GraphDecoder.LoopScopeTrigger>
Enum Constant and Description |
---|
LOOP_BEGIN_UNROLLING
Loop scope created for the next iteration of a loop if unrolling is enabled in the loop
explosion mode.
|
LOOP_END_DUPLICATION
Loop scope created for the next iteration of a loop along a particular loop end node if
LoopExplosionPlugin.LoopExplosionKind.duplicateLoopEnds() is enabled and loops are exploded. |
LOOP_EXIT_DUPLICATION
Loop scope created for a loop exit node if
LoopExplosionPlugin.LoopExplosionKind.duplicateLoopExits()
is enabled, i.e., code after a loop exit is duplicated per loop exit node. |
START
Start loop scope: creation triggered manually at the beginning of partial evaluation.
|
Modifier and Type | Method and Description |
---|---|
static GraphDecoder.LoopScopeTrigger |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static GraphDecoder.LoopScopeTrigger[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final GraphDecoder.LoopScopeTrigger START
public static final GraphDecoder.LoopScopeTrigger LOOP_BEGIN_UNROLLING
LoopExplosionPlugin.LoopExplosionKind.unrollLoops()
for details. Loop unrolling
will merge loop end nodes for each iteration of the original loop.public static final GraphDecoder.LoopScopeTrigger LOOP_END_DUPLICATION
LoopExplosionPlugin.LoopExplosionKind.duplicateLoopEnds()
is enabled and loops are exploded. This
means for every loop end we duplicate the next loop iteration of the original loop.public static final GraphDecoder.LoopScopeTrigger LOOP_EXIT_DUPLICATION
LoopExplosionPlugin.LoopExplosionKind.duplicateLoopExits()
is enabled, i.e., code after a loop exit is duplicated per loop exit node.
Special case nested loops: For compilation units with nested loops where inner loops
continue loops at a level n -1 the partial evaluation algorithm will merge outer loops to
avoid loop explosion along loop end nodes (which would be the same as
GraphDecoder.LoopScopeTrigger.LOOP_END_DUPLICATION
.public static GraphDecoder.LoopScopeTrigger[] values()
public static GraphDecoder.LoopScopeTrigger valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null