Examining IL is good for narrowing down what specific lines of code are causing unintended side effects, but is probably less useful for tracking down a performance bottleneck.
I'd recommend using a profiler for that purpose instead. Ideally, run a sampling and a tracing profiler (if it's very important). Once you've found your bottlenecks in a profiler, you could look at the IL to help you fix the problems.
Typically, however, the profiler results highlight the problems and it's fairly obvious what needs changing. If the code isn't obvious, examining the IL itself can help. The only place where I've found this useful is in code being run many times (in a tight loop, for example). You can compare 2 different approaches to writing a block of code, and see which produces the fastest/most compact IL.
Also, you can't always just go off the IL - sometimes, seemingly slower (and longer) IL can be handled better by the JIT than simpler looking IL. Remember, the IL isn't run directly - it's compiled (and optimized) before running. This is where a sampling profiler can help, or doing your own timings.
However, looking at IL is great for gaining a deeper understanding of how .net works, which is very valuable in the long run.