I have scrutinized the whole Pro64 source code and I think I have found the
routine to display your picture.
(be/com/fb_cfg.cxx Line 1911)
void dV_view_fb_cfg( const FB_CFG& cfg, WN *root_wn, const char *caller )
In fact, the content of graph is handled by
void FB_CFG::Draw() const (be/com/fb_cfg.cxx Line 1866)
And the node label is handled by
char * FB_CFG::Node_label( FB_NODEX nx ) const (be/com/fb_cfg.cxx Line 1819)
To my best understanding, each block in the graph represents for a FB_NODE.
And the content in the block are ID, node_type, incoming frequency, and
outgoing frequency. "-------" is the node_type, standing for that FB_NODE
node_type is FB_EDGE_UNINT (0).
Maybe your graph is not a CLASSIC cfg, in which a node should be a basic
block. So there are more blocks than your expectation. And the number in
block starting from 0 can be also understood this way.
What's your opinion?
Shukang, ZHOU
Dept. of Computer Science & Technology
Peking University
E-mail: zhshk@xxxxxxxxx
zhoushukang@xxxxxxxxx
----- Original Message -----
From: "Peng Zhao" <pengzhao@xxxxxxxxxxxxxx>
To: "sgi" <pro64-support@xxxxxxxxxxx>
Sent: Saturday, June 09, 2001 5:35 AM
Subject: CFG by daVinci (fwd)
>
>
> Hi,
>
> I have a question about the CFG drew by daVinci.
>
> Enclosed are two files, one is a very simple c program and the
> other one is the corresponding CFG just after annotation. It is a little
> strange for me.
>
> First, block 2 and 4 should be one (basic block) and 3&5 too. Why
> draw them two separated blocks.
>
> What is the meaning of block 6 ( especially: the meanning of
> "-----")? Does it mean the "return" statement in the program?
>
> What does the block 7 stand for?
>
> BTW1: what is the relationship between the ID of each block in
> the CFG drew by daVinci and the corresponding BB_NODE->Id()?
>
> BTW2: What is COMMA, RCOMMA, MU and CHI?
>
>
> Thanks.
>
>
>
>
> --
> Regards
>
> Peng
> Peng Zhao pengzhao@xxxxxxxxxxxxxx
> http://www.cs.ualberta.ca/~pengzhao
> TEL (Lab): (780)492-3725 Lab: CSC251
>
>
|