|
Jlm
|
#include <Trace.hpp>


Public Member Functions | |
| OutputTracer (bool enableCaching) | |
| bool | isTracingThroughLoadedStates () |
| void | setTraceThroughLoadedStates (bool traceThroughLoadedStates) |
Public Member Functions inherited from jlm::rvsdg::OutputTracer | |
| virtual | ~OutputTracer () |
| OutputTracer (bool enableCaching) noexcept | |
| bool | isTracingThroughStructuralNodes () const noexcept |
| void | setTraceThroughStructuralNodes (bool value) noexcept |
| bool | isEnteringPhiNodes () const noexcept |
| void | setEnterPhiNodes (bool value) noexcept |
| bool | isInterprocedural () const noexcept |
| void | setInterprocedural (bool value) noexcept |
| Output & | trace (Output &output) |
| Output & | trace (Output &output, const rvsdg::Region *withinRegion) |
| Output * | tryTraceThroughGamma (GammaNode &gammaNode, Output &output) |
| Output * | tryTraceThroughTheta (ThetaNode &thetaNode, Output &output) |
| void | clearCache () |
Protected Member Functions | |
| rvsdg::Output & | traceStep (rvsdg::Output &output, const rvsdg::Region *withinRegion) override |
Protected Member Functions inherited from jlm::rvsdg::OutputTracer | |
| Output * | insertInCache (const Output &output, Input *traceResult) |
| std::optional< Output * > | lookupInCache (const Output &output) |
Private Attributes | |
| bool | traceThroughLoadedStates_ = false |
Additional Inherited Members | |
Protected Attributes inherited from jlm::rvsdg::OutputTracer | |
| bool | traceThroughStrucutalNodes_ = true |
| bool | enterPhiNodes_ = true |
| bool | isInterprocedural_ = true |
| bool | enableCaching_ |
| std::unordered_map< const Output *, Input * > | traceCache_ {} |
|
explicit |
|
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. |
| withinRegion | if not nullptr, tracing stops if it reaches an argument of the region. |
output. Reimplemented from jlm::rvsdg::OutputTracer.
|
private |