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"
