When inlining `maynotprogress` functions, the caller will also need to
inherit the `maynotprogress` attribute (D87180) for correctness, if it
doesn't already have it. In addition, the loops in the caller must also
be annotated with `llvm.loop.mustprogress` in order to not pessimize
optimizations. This only works from within the new pass manager.