LLVMHello doesn't work - Loadable modules

When I build LLVM, the message LLVMHello ignored – Loadable modules not supported on this platform is shown and the LLVM Hello pass doesn’t work. I am using Windows. Is this correct? LLVM Hello pass works only on Linux? Thanks.

That would be 99% correct, as I believe Windows is not tier 1 supported platform.

Loadable modules are not supported on Windows. The windows platform
requires that each dynamically imported symbol also declare the dll it
is imported from. In the source, this would be done by annotation
every symbol as __declspec(dllimport)/__declspec(dllimport) (or write
a.DEF file). This has not been done in LLVM's source.

I am not sure about the future of loadable modules. The new pass
manager doesn't support that mechanism (yet?).


Ok. Thank you. But can I use LLVMHello in another way, instead a loadable module? In another words, there is another way to build passes in LLVM whitout using loadable modules? All documents that I saw are using loadable modules. Is it not possible to write a new pass to LLVM in Windows? Thanks.

Mingw can configure LLVM as loadable modules. ATM, it requires BUILD_SHARED_LIBS.