When LICM fails us
Loop-invariant code motion (LICM) can fail when aliasing prevents the compiler from safely moving code outside loops. This occurs when the compiler cannot determine if memory accesses might overlap, creating uncertainty about code invariance.