Package org.apache.sysds.hops.ipa

## Class IPAPassInlineFunctions

- java.lang.Object
- - org.apache.sysds.hops.ipa.IPAPass
  - - org.apache.sysds.hops.ipa.IPAPassInlineFunctions

    public class IPAPassInlineFunctions
    extends IPAPass

This rewrite inlines single statement block functions, which have fewer operations than an internal threshold. Function inlining happens during validate but after rewrites such as constant folding and branch removal there are additional opportunities.

### Constructor Summary

Constructors
`IPAPassInlineFunctions()`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `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` `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.

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

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

### Constructor Detail

#### IPAPassInlineFunctions

    public IPAPassInlineFunctions()

### Method Detail

#### isApplicable

    public boolean isApplicable​(FunctionCallGraph fgraph)

Description copied from class: `IPAPass`
Indicates if an IPA pass is applicable for the current configuration such as global flags or the chosen execution mode (e.g., HYBRID).

Specified by:
  `isApplicable` in class `IPAPass`
Parameters:
  `fgraph` - function call graph
Returns:
  true if applicable.

#### rewriteProgram

    public boolean rewriteProgram​(DMLProgram prog,
                                  FunctionCallGraph fgraph,
                                  FunctionCallSizeInfo fcallSizes)

Description copied from class: `IPAPass`
Rewrites the given program or its functions in place, with access to the read-only function call graph.

Specified by:
  `rewriteProgram` in class `IPAPass`
Parameters:
  `prog` - dml program
  `fgraph` - function call graph
  `fcallSizes` - function call size infos
Returns:
  true if function call graph should be rebuild