|
Jlm
|
#include <Trace.hpp>


Protected Member Functions | |
| TraceStepResult | traceStep (rvsdg::Output &output, BackEdgeState backEdgeState, const rvsdg::Region *withinRegion) override |
Protected Member Functions inherited from jlm::rvsdg::OutputTracer | |
| TraceStepResult | traceInternal (Output &output, BackEdgeState backEdgeState, const Region *withinRegion) |
| TraceStepResult | traceGammaOutput (GammaNode &gammaNode, Output &output, BackEdgeState backEdgeState) |
| TraceStepResult | traceThetaOutput (ThetaNode &thetaNode, Output &output, BackEdgeState backEdgeState) |
| TraceStepResult | traceThetaArgument (ThetaNode &thetaNode, Output &output) |
| Output & | insertInInvarianceCache (const Output &structuralOutput, Input &structuralInput) |
| Input * | lookupInInvarianceCache (const Output &structuralOutput) |
Private Attributes | |
| bool | traceThroughLoadedStates_ = false |
| bool | traceThroughHoistBarriers_ = true |
Additional Inherited Members | |
Public Types inherited from jlm::rvsdg::OutputTracer | |
| enum class | StructuralNodePolicy { traceThroughTriviallyInvariant = 0 , traceThroughIfDetectedInvariant = 1 , traceIntoSubregions = 2 } |
Protected Types inherited from jlm::rvsdg::OutputTracer | |
| enum class | BackEdgeState { NoBackEdgeTaken , PossiblyBackEdgeTaken } |
Protected Attributes inherited from jlm::rvsdg::OutputTracer | |
| StructuralNodePolicy | structuralNodePolicy_ |
| bool | isInterprocedural_ = true |
| bool | enterPhiNodes_ = true |
| bool | enableRegionPredicateChecking_ = false |
| AlternativeRegionPredicateTracer | regionPredicateTracer_ |
| const Output * | startingOutput_ = nullptr |
| bool | enableInvarianceCaching_ = false |
| std::unordered_map< const Output *, Input * > | invariantOutputCache_ {} |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
overrideprotectedvirtual |
The innermost body of the tracing loop. Should trace at least one step, if possible. If it is not possible to trace further, the same output is returned.
| output | the output to trace from. |
| backEdgeState | enum describing the path taken from the starting output to output. |
| withinRegion | if not nullptr, tracing stops if it reaches an argument of the region. |
Reimplemented from jlm::rvsdg::OutputTracer.
|
private |
|
private |