I'm trying to implement a research topic which selects which optimizations are best suited for a kind of program. Basically I am bypassing the O1 O2 etc options & implementing my own option. Ques is 1) passes.c calls all the optimizations. But how does the control reach passes.c. I mean when a code starts compiling, which file calls passes.c 2) Where should I write my code. In passes.c OR somewhere else ?? 3) is online profiling possible because i want to calculate the time taken by different optimizations & apply the algo based on those timings. Just a guidance would be appreciated. I'll dig the code base by myself then :) Regards Ankit Mahanot