title: LLVM:how to get another pass ID
body: <p>Here is my pass:</p>
  <pre><code>#include &lt;llvm/IR/Function.h&gt;
  #include &lt;llvm/Pass.h&gt;
  #include &lt;llvm/Support/raw_ostream.h&gt;
  #include &lt;llvm/Analysis/MemoryDependenceAnalysis.h&gt;
  
  using namespace llvm;
  
  namespace
  {
      struct MemDepend : public FunctionPass
      {
          static char ID;
          MemDepend() : FunctionPass(ID){}
  
          virtual bool runOnFunction(Function &amp;F)
          {
              return false;
          }
  
          virtual void getAnalysisUsage(AnalysisUsage &amp;AU) const
          {
                AU.addRequired&lt;LoopVectorize&gt;();    // here not define LoopVectorize
                AU.setPreservesAll();
          }
      };
  }
  
  char MemDepend::ID = 0;
  static RegisterPass&lt;MemDepend&gt; X(&quot;memdep&quot;, &quot;Memory Pass&quot;, false, false);
  </code></pre>
  <p>i want run my pass after auto vectorize, but i can not get LoopVectorize::ID in my pass. so how to get LoopVectorize::ID?</p>