replacing multiplication operation by bit shifts, etc

Hi!

All compilers can replace multiplication operation by bit shifts and LEA x86 instruction
(if current target arch is x86).
Can I ask, where in LLVM this happens? I can't find it in source code.

lib/Target/X86/X86ISelLowering.cpp: PerformMulCombine

—escha