JuliaDebug/Cthulhu.jl

Display of CFGs and DomTrees

开放

#26 创建于 2019年2月28日

 (1 条评论) (0 个反应) (0 位负责人)Julia (46 个派生)batch import
enhancementgood first issuehelp wanted

仓库指标

星标
 (709 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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)

贡献者指南