Jlm
Namespaces | Functions
UnusedStateRemoval.cpp File Reference
#include <jlm/hls/backend/rvsdg2rhls/UnusedStateRemoval.hpp>
#include <jlm/llvm/ir/CallSummary.hpp>
#include <jlm/llvm/ir/operators/lambda.hpp>
#include <jlm/llvm/ir/RvsdgModule.hpp>
#include <jlm/rvsdg/gamma.hpp>
#include <jlm/rvsdg/theta.hpp>
#include <jlm/rvsdg/traverser.hpp>
#include <algorithm>
Include dependency graph for UnusedStateRemoval.cpp:

Go to the source code of this file.

Namespaces

 jlm
 
 jlm::hls
 

Functions

static bool jlm::hls::IsPassthroughLoopVar (const rvsdg::ThetaNode::LoopVar &loopVar)
 
static bool jlm::hls::IsPassthroughArgument (const rvsdg::Output &argument)
 
static bool jlm::hls::IsPassthroughResult (const rvsdg::Input &result)
 
static void jlm::hls::RemoveUnusedStatesFromLambda (rvsdg::LambdaNode &lambdaNode)
 
static std::optional< rvsdg::GammaNode::ExitVar > jlm::hls::TryGetSingleUserExitVar (rvsdg::GammaNode &gammaNode, rvsdg::Output &argument)
 
static void jlm::hls::RemoveUnusedStatesFromGammaNode (rvsdg::GammaNode &gammaNode)
 
static void jlm::hls::RemoveUnusedStatesFromThetaNode (rvsdg::ThetaNode &thetaNode)
 
static void jlm::hls::RemoveUnusedStatesInRegion (rvsdg::Region &region)
 
static void jlm::hls::RemoveUnusedStatesInStructuralNode (rvsdg::StructuralNode &structuralNode)