Then I think I shouldn't use -fprofile-arcs. The reason why I used -fprofile-arcs is when I debugged a program without any flags, I saw the frequency was zero. When I added this flag, I saw frequency with values.
I checked the frequency after life_analysis and before combine_instructions. I used FOR_EACH_BB(bb) { // some code } and checked the bb->frequency. So now the question is how I can see the frequency without any flags. The following was the small program I used to check the frequency. int foo(int i) { if (i < 2) return 2; else return 0; } int main() { int i; i = 0; if (i < 100) i = 3; else i = foo(i); return 0; } On 6/24/05, Daniel Berlin <[EMAIL PROTECTED]> wrote: > On Thu, 23 Jun 2005, Liu Haibin wrote: > > > Hi, > > > > I want to use profiling information. I know there're two relevent > > fields in each basic block, count and frequency. I want to use > > frequency because the compiled program is for another architecture so > > it cannot run on the host. > > Besides the fact that, as Zdenek hsa pointed out, this is not a useful > situation for -fprofile-arcs, ... > > > > My question is why it is so? I want to know the profiling info, but if > > profiling info I get is for another different structure of basic > > block, it's useless to me. > > > > This is because it's inserting profiling code. > > This isn't magic, it's inserting code to do the profiling, which > necessarily changes the basic blocks. > The profiling info you get is for the original set of basic blocks. > >