Slow Correlated Value Propagation pass

Hello,

I've filled a bug to track the issue we've recently seen in our
LLVM-based compiler: the Correlated Value Propagation Pass may become
significantly slow on certain files.

According to opt time profiles, value propagation alone is very fast
(less than 1 second), -O3 with value propagation turned off is
acceptable (31 secs), but with value propagation included it becomes
too slow (197 secs).

http://llvm.org/bugs/show_bug.cgi?id=12503

In our local copy we had to completely disable value prop, or
otherwise it tends to produce long unpredictable stalls.
Btw, is there a self-control logic to drop passes running for too long in LLVM?

Thanks,
- Dima.