6 #ifndef JLM_LLVM_OPT_RVSDGTREEPRINTER_HPP
7 #define JLM_LLVM_OPT_RVSDGTREEPRINTER_HPP
23 class StatisticsCollector;
146 const std::string_view & label,
163 [[nodiscard]]
static bool
166 [[nodiscard]]
static bool
const util::HashSet< Annotation > & RequiredAnnotations() const noexcept
Configuration(util::HashSet< Annotation > requiredAnnotations)
@ NumMemoryStateInputsOutputs
util::HashSet< Annotation > RequiredAnnotations_
RVSDG tree printer debug pass.
util::AnnotationMap ComputeAnnotationMap(const rvsdg::Graph &rvsdg) const
static bool IsMemoryStateOutput(const rvsdg::Output *output) noexcept
RvsdgTreePrinter(RvsdgTreePrinter &&)=delete
RvsdgTreePrinter & operator=(RvsdgTreePrinter &&)=delete
~RvsdgTreePrinter() noexcept override
RvsdgTreePrinter & operator=(const RvsdgTreePrinter &)=delete
Configuration Configuration_
static void AnnotateNumMemoryStateInputsOutputs(const rvsdg::Graph &rvsdg, util::AnnotationMap &annotationMap)
RvsdgTreePrinter(const RvsdgTreePrinter &)=delete
static bool IsMemoryStateInput(const rvsdg::Input *input) noexcept
void Run(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
static void AnnotateNumNodes(const rvsdg::Graph &rvsdg, const std::function< bool(const rvsdg::Node &)> &match, const std::string_view &label, util::AnnotationMap &annotationMap)
Global memory state passed between functions.
jlm::rvsdg::Output * match(size_t nbits, const std::unordered_map< uint64_t, uint64_t > &mapping, uint64_t default_alternative, size_t nalternatives, jlm::rvsdg::Output *operand)