JuliaDebug/Cthulhu.jl

Display of CFGs and DomTrees

Ouverte

#26 ouverte le 28 févr. 2019

 (1 commentaire) (0 réaction) (0 personne assignée)Julia (46 forks)batch import
enhancementgood first issuehelp wanted

Métriques du dépôt

Stars
 (709 étoiles)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

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)

Guide contributeur