title: Clang run concrete LLVM pass with new Pass Manager registry
body: <p>I have have dynamic library - collection of LLVM passes. I want to omit calling <code>opt</code> call and use clang. Having looked into <a href="https://stackoverflow.com/questions/54447985/how-to-automatically-register-and-load-modern-pass-in-clang">How to automatically register and load modern Pass in Clang?</a> , i found flag of loading plugin, but it was not clear how list of passes is provided: tried passing <code>-passes=</code> flag to LLVM interface with the following command</p>
  <pre><code>clang -O0 -fpass-plugin=mylib.dylib -mllvm -passes=mypass sourcefile.cpp
  </code></pre>
  <p>but it returns <code>Unknown command line argument '-passes=mypass'</code>.</p>
  <p>Running <code>clang --help-hidden</code> has shown supposedly familiar flag <code>-foptimization-record-passes=&lt;regex&gt;</code> , but it didn't perform pass too.  Checking list of <code>clang -mllvm --help</code> shown another peculiar option. But there was no <code>-passes</code> option in the list.</p>
  <pre><code>--print-pipeline-passes Print a '-passes' compatible string describing the pipeline (best-effort only)
  </code></pre>
  <p>I want to know, whether it is possible for concrete passes to be run by compiler and the means of doing so.</p>