I have been playing around with a custom pass which is built out-of-source using CMake. It works as expected on Linux. I have also built the pass and llvm trunk (separately) using Visual Studio. However when running
opt –load=… -help on Windows, the –load directive appears to work but the passes defined in the .dll are not displayed. In several places it is suggested that this is due to dynamic linking not being supported on Windows (e.g. ). However, I do not fully understand this explanation, since there does in fact appear to be Run-Time Dynamic Linking on Windows , and this is even implemented in lib/Support/Windows/DynamicLibrary.inc. I would greatly appreciate someone explaining in a little more detail why dynamic linking of loadable modules is not supported on Windows, or if it is and I’m just doing something wrong.
Thanks a lot,