A problem with optimal edge profiling.

Hello, llvmdev. I’m a student from the Moscow State University and I started to work with the LLVM project.
First, I have to compare its profiling ways and I got a little problem. It hangs when I try to run optimal edge profiling.
Nothing happens right after the command “opt a.bc -profile-loader -o b.bc” which tries to load optimal edge profile from the llvmprof.out file. I mean it starts to compute but never ends (I checked CPU Usage).

For example, a log of my actions:

automotive/qsort$ clang qsort_large.c -emit-llvm -c -o a.bc

anon@anonVB:~/MiBench/automotive/qsort$ opt a.bc -insert-optimal-edge-profiling -O2 -o a_oep.bc
anon@anonVB:~/MiBench/automotive/qsort$ llc a_oep.bc -O2 -o a.s
anon@anonVB:~/MiBench/automotive/qsort$ clang a.s ./libprofile_rt.so -O2 -o a
anon@anonVB:~/MiBench/automotive/qsort$ ./a input_large.dat > out.txt
anon@anonVB:~/MiBench/automotive/qsort$ opt a_oep.bc -profile-loader -block-placement -O2 -o a_opt.bc
waited for a few minutes

Is it a bug or just me doing something wrong?
Also I notice that edge profiling optimizations make MiBench programs work slower. (I use -block-placment option for optimization).
I use Ubuntu 11.10.

Yours truly, Rodion Mulyukov.