@Ian Lance Taylor - I dont want to shuffle through passes. Instead I want to add an algo that uses these passes. GREP is fine. I thought there may be some other easier & user-friendly way :( Actually I wanted to know how control is going to passes.c via which FILES not FUNCTION CALLS. I'll give csope a try anyways. @John Jensen - Ian is right about -ftime-report. Actually I am an ameteur so I used the wrong word PROFILING. I needed the time an optimization pass is taking. So I think ftime-report should work. Question remaining is : Q - Where do I find implementations of O1 O2 O3 ?? In which file ?? I looked into gcc/gcc/c-opts.c. I could find most of the options except O1 O2 etc :( If I can understand how O1 O2 etc is implemented, then may be I can implement my algo in a similar way. -- Ankit Mahanot