JuliaDebug/Cthulhu.jl

Display of CFGs and DomTrees

Aperta

#26 aperta il 28 feb 2019

 (1 commento) (0 reazioni) (0 assegnatari)Julia (46 fork)batch import
enhancementgood first issuehelp wanted

Metriche repository

Star
 (709 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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)

Guida contributor