In this patch, LoopInfo is added to InformationCache and used for willreturn function attribute deduction.
We can have willreturn if we assume all the loops in the function are assumed as never-endless (concrete implementation is in D65296. In this patch, only interfaces are provided). If there is an irreducible loop in function, we reach pessimistic fixpoint for now.
I think you cannot cache the loop info objects (if you do not create them yourself at least). See also below.