How to integrate New Pass in opt/clang

Hi, all:
  I try to integrate my new PM pass to opt, I want to default enable my pass during compiling. I have tried some method
    1. -Xclang don't work
       Is this option uesd for legacy PM ?
    2. -fpass-plugin don't work too
       clang runs without any warning, how to check if anywhere is wrong ?
    3. with the first two choice failed, I try to modify llvm source code, it seems most interfaces using legacy pass interface, so I add code, like MPM.addPass(xxx()) in lib/Passes/PassBuilder.cpp, but whatever I insert the code, it cannot run the pass ...

  Does anyone know how to integrate the pass ? Thanks !