llvm pass - getAnalysisUsage() problem

I am using llvm-3.8 for my project. Following is my getAnalysisUsage() method:

virtual void getAnalysisUsage(AnalysisUsage &AU) const override

Now, if I call getAnalysis(*F), all the required passes, i.e., X, Y
and Z are being invoked. However, I want to invoke only the X. Could
anyone help me in this regard?