What is the right way to register an alias analysis pass

Hi everyone,

I am wondering what is the right way to register an alias analysis
pass.

My alias analysis pass is implemented in a dynamic load module. As I
can see, a general way to register a pass looks like:

   llvm::RegisterPass<Analyzer> X("rci", "RCI Pass");

However, registering a type-based analysis uses:

   INITIALIZE_AG_PASS(...)

I think, registering an alias analysis is special, as an alias
analysis should be chained to other alias analysis. So, my question is
how to register an alias analysis properly.

Thanks.

Xiaolong