Doubt on LLVM optimization

Sub:-code added by my path profiler module not executing with llvm-gcc -03

When compile with llvm-gcc -O3 the path profile result shows frequency
count of zero for all paths ins some functions

I have four functions insert,delete,print and main. It prints correct
values for delete's and main's paths and zero values for print's and
insert's paths.

This problem occurs only with -O3 option. It is working correctly with
llvm-gcc -O1

I first generated .ll fine using llvm-gcc -O3 and then used opt to insert
path profiling.

Then used llvm-as and llvm-ld -lprofile_rt to get the executable.

Can you suggest what went wrong?

Thanking you

Unnikrishnan C
Research Scholar
Indian Institute of Science