It probably doesn't belong in -Wall, as it is a fairly common idiom to use fail intentionally this way, but it could pretty easily be added to the 'do' and list/monad comprehension desugaring to issue a separate warning that we don't turn on by default.
Making it possible to see where you use 'fail' explicitly might be a nice step on the road towards splitting out MonadFail though.
Herbert has been working up a plan we can put forth to the community for how to proceed on that front. It may make sense to roll any such warnings into that effort.