JuliaDebug/Cthulhu.jl

Display of CFGs and DomTrees

Aberta

#26 aberto em 28 de fev. de 2019

 (1 comentário) (0 reação) (0 responsável)Julia (46 forks)batch import
enhancementgood first issuehelp wanted

Métricas do repositório

Stars
 (709 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

Would be fabolous to add some pretty printing for the CFG and dominator trees.

Keno apparently uses this snippet for DomTrees. We could use dot for the CFG like opt does it.

using AbstractTrees
using Core.Compiler: DomTree

AbstractTrees.treekind(d::DomTree) = AbstractTrees.IndexedTree()
AbstractTrees.childindices(d::DomTree, i::Int) = d[i].children
AbstractTrees.childindices(::DomTree, ::DomTree) = (1,)
AbstractTrees.parentlinks(::DomTree) = AbstractTrees.StoredParents()
AbstractTrees.printnode(io::IO, i::Int, d::DomTree) = print(io, i)
Base.getindex(d::DomTree, i) = d.nodes[i]
Base.show(io::IO, d::DomTree) = print_tree(io, 1; roottree = d)

Guia do colaborador