Package org.apache.sysds.parser

# Class IfStatementBlock

java.lang.Object
org.apache.sysds.parser.LiveVariableAnalysis
org.apache.sysds.parser.StatementBlock
org.apache.sysds.parser.IfStatementBlock

All Implemented Interfaces:
  `ParseInfo`

public class IfStatementBlock extends StatementBlock

## Field Summary

### Fields inherited from class org.apache.sysds.parser.StatementBlock

`DEFAULT_LOOP_REPETITIONS`

## Constructor Summary

Constructors
Constructor
Description
`IfStatementBlock()`

## Method Summary

Modifier and Type
Method
Description
`VariableSet`
`analyze(VariableSet loPassed)`
`Hop`
`getPredicateHops()`
`Lop`
`getPredicateLops()`
`VariableSet`
`initializebackwardLV(VariableSet loPassed)`
`VariableSet`
`initializeforwardLV(VariableSet activeInPassed)`
For each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.
`boolean`
`requiresPredicateRecompilation()`
`void`
`setPredicateHops(Hop hops)`
`void`
`setPredicateLops(Lop predicateLops)`
`boolean`
`updatePredicateRecompilationFlag()`
`VariableSet`
`validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)`

### Methods inherited from class org.apache.sysds.parser.StatementBlock

`addStatement, addStatementBlock, getBeginColumn, getBeginLine, getCheckpointPositions, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getInputstoSB, getLoopDepRatio, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, hasHops, isMergeableFunctionCallBlock, isNondeterministic, isRecompileOnce, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setCheckpointPosition, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLoopDepRatio, setLops, setNondeterministic, setParseInfo, setRecompileOnce, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlag`

### Methods inherited from class org.apache.sysds.parser.LiveVariableAnalysis

`getGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdated`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### IfStatementBlock

public IfStatementBlock()

## Method Details

### validate

public VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)

Overrides:
  `validate` in class `StatementBlock`

### initializeforwardLV

public VariableSet initializeforwardLV(VariableSet activeInPassed)
Description copied from class: `StatementBlock`
For each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.

Overrides:
  `initializeforwardLV` in class `StatementBlock`

### initializebackwardLV

public VariableSet initializebackwardLV(VariableSet loPassed)

Overrides:
  `initializebackwardLV` in class `StatementBlock`

### setPredicateHops

public void setPredicateHops(Hop hops)

### getPredicateHops

public Hop getPredicateHops()

### getPredicateLops

public Lop getPredicateLops()

### setPredicateLops

public void setPredicateLops(Lop predicateLops)

### analyze

public VariableSet analyze(VariableSet loPassed)

Overrides:
  `analyze` in class `StatementBlock`

### updatePredicateRecompilationFlag

public boolean updatePredicateRecompilationFlag()

### requiresPredicateRecompilation

public boolean requiresPredicateRecompilation()