JuliaDebug/Cthulhu.jl

Display of CFGs and DomTrees

オープン

#26 opened on 2019/02/28

 (1 件のコメント) (0 件のリアクション) (0 人の担当者)Julia (46 件のフォーク)batch import
enhancementgood first issuehelp wanted

Repository metrics

Stars
 (709 個のスター)
PR merge metrics
 (30d に merged 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)

コントリビューターガイド