# Uses of Class
org.apache.sysds.hops.ipa.FunctionCallGraph

Packages that use FunctionCallGraph
Package
Description
org.apache.sysds.hops.fedplanner
org.apache.sysds.hops.ipa
org.apache.sysds.utils

## Uses of FunctionCallGraph in org.apache.sysds.hops.fedplanner

Methods in org.apache.sysds.hops.fedplanner with parameters of type FunctionCallGraph
Modifier and Type
Method
Description
`abstract void`
AFederatedPlanner.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
Selects a federated execution plan for the given program by setting the forced execution type.
`void`
FederatedPlannerFedAll.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`void`
FederatedPlannerFedCostBased.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`

## Uses of FunctionCallGraph in org.apache.sysds.hops.ipa

Methods in org.apache.sysds.hops.ipa with parameters of type FunctionCallGraph
Modifier and Type
Method
Description
`abstract boolean`
IPAPass.`isApplicable(FunctionCallGraph fgraph)`
Indicates if an IPA pass is applicable for the current configuration such as global flags or the chosen execution mode (e.g., HYBRID).
`boolean`
IPAPassApplyStaticAndDynamicHopRewrites.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassCompressionWorkloadAnalysis.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassEliminateDeadCode.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassFlagFunctionsRecompileOnce.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassFlagLoopsRecompileOnce.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassFlagNonDeterminism.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassForwardFunctionCalls.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassInjectOOCTee.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassInlineFunctions.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassPropagateReplaceLiterals.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassPruneUnreachableHops.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassRemoveConstantBinaryOps.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassRemoveUnnecessaryCheckpoints.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassRemoveUnusedFunctions.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassReplaceEvalFunctionCalls.`isApplicable(FunctionCallGraph fgraph)`
`boolean`
IPAPassRewriteFederatedPlan.`isApplicable(FunctionCallGraph fgraph)`
Indicates if an IPA pass is applicable for the current configuration.
`abstract boolean`
IPAPass.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
Rewrites the given program or its functions in place, with access to the read-only function call graph.
`boolean`
IPAPassApplyStaticAndDynamicHopRewrites.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassCompressionWorkloadAnalysis.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassEliminateDeadCode.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassFlagFunctionsRecompileOnce.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassFlagLoopsRecompileOnce.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassFlagNonDeterminism.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassForwardFunctionCalls.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassInjectOOCTee.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassInlineFunctions.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassPropagateReplaceLiterals.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassPruneUnreachableHops.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassRemoveConstantBinaryOps.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassRemoveUnnecessaryCheckpoints.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassRemoveUnusedFunctions.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassReplaceEvalFunctionCalls.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
`boolean`
IPAPassRewriteFederatedPlan.`rewriteProgram(DMLProgram prog, FunctionCallGraph fgraph, FunctionCallSizeInfo fcallSizes)`
Estimates cost and selects a federated execution plan by setting the federated output value of each hop in the program.
Constructors in org.apache.sysds.hops.ipa with parameters of type FunctionCallGraph
Modifier
Constructor
Description
``
`FunctionCallSizeInfo(FunctionCallGraph fgraph)`
Constructs the function call summary for all functions reachable from the main program.
``
`FunctionCallSizeInfo(FunctionCallGraph fgraph, boolean init)`
Constructs the function call summary for all functions reachable from the main program.

## Uses of FunctionCallGraph in org.apache.sysds.utils

Methods in org.apache.sysds.utils with parameters of type FunctionCallGraph
Modifier and Type
Method
Description
`static String`
Explain.`explainFunctionCallGraph(FunctionCallGraph fgraph, Set<String> fstack, String fkey, int level)`