Requiring a transformation pass to run before an analysis pass

I’m writing an analysis pass that doesn’t handle unreachable basic blocks very well. I would like to simplify my code by requiring that a DCE pass be run first to remove unreachable basic blocks. Ideally I’d like to express this requirement to the LLVM pass system so that the transform will be added automatically when my analysis pass is required by some other pass, but it’s not clear to me if that’s possible and/or allowed. Is it mandatory for all analysis passes to handle all legal LLVM IR?