Can the LLVM optimization pipeline be run more than once?

I believe I’ve seen some documentation years ago saying LLVM optimizer pipeline should not be run more than once, otherwise it would cause significant code bloat. But I can’t find the reference to these words right now.

I also tried some simple cases myself, and it seems like while running the optimizer twice indeed causes some changes to the output, it is not causing more and more functions getting inlined.

Can someone explain the status right now? Does the inliner (and maybe the loop unroller) have some sort of “fixpoint” guarantee, so that one can safely assume it’s fine to call the optimizer multiple times?