AFAICT, the SimpleLoopUnrollPass isn't suppose to perform loop peeling.
It's possible that peeling which "simplifies" a loop should be done earlier, but completely ignoring AllowPeeling seems wrong.
Thanks Chad, AllowPeeling and UserPeelCount taking precedence over other peel count computations looks good to me
Thanks everyone for the quick review. I'll commit shortly.