Hi,

On 3/14/07, Seongbae Park <[EMAIL PROTECTED]> wrote:
On 3/14/07, Sunzir Deepur <[EMAIL PROTECTED]> wrote:
> I have used -da and -dv to produce vcg files of the CFG of this simple 
program:
>
> int main(int argc, char**argv)
> {
>         if(argc)
>                 printf("positive\n");
>         else
>                 printf("zero\n");
>
>         return 0;
> }
>
> I have expected to get a CFG as follows:
>
>                  -----------
>                  | BB 0 |
>                  -----------
>               /              \
>    -----------                 -----------
>    | BB 1 |                  | BB 2 |
>    -----------                 -----------
>               \              /
>                  -----------
>                  | END |
>                  -----------
>
> But instead, I was surprised to get this CFG:
>
>                  -----------
>                  | BB 0 |
>                  -----------
>               /              \
>    -----------                 -----------
>    | BB 1 |  ------------> | BB 2 |
>    -----------                 -----------
>               \              /
>                  -----------
>                  | END |
>                  -----------
>
> as if one case of the "if" can lead to the other !
>

I don't know what kind of vcg viewer/converter you're using,
but set it to ignore class 3 edges - you'll get what you expected.

I have used an evaluation copy of aiSee viewer (can i use graphviz for
displaying gcc's vcg files ?)

Can you please explain me why has this edge been created ?
What are class 3 edges ? can I prevent them from being created ?

Thank You Very Very Much !!
Sunzir.


--
#pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com";

Reply via email to