Hello, > >> If we compile this by "#gcc -c -O -da demo.c, we can see there are only > >> three BBs. Actually, BB1 is a self-looped basic block. But this loop > >> information is not explicitly expressed. > >> > > > >What do you mean "not explicitly expressed". > > > >If you call the loop finding routines (flow_loops_find), and look in the > >result loop information, does it not give you a loop with a single node? > > I meant that there is no edge like BB1-->BB1, if BB1 itself is a loop. For > example,
but in your original example, this edge *is* present: > Basic block 1 > Successors: 1 2 Zdenek