<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hi,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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. [1]). However, I do not fully understand this explanation, since there does in fact appear to be Run-Time Dynamic Linking on Windows [2], 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.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks a lot,<o:p></o:p></p><p class=MsoNormal>Markus<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[1] <a href="http://uu-kk.blogspot.de/2012/02/llvm-pass-on-windows-integrating-with.html">http://uu-kk.blogspot.de/2012/02/llvm-pass-on-windows-integrating-with.html</a> <o:p></o:p></p><p class=MsoNormal>[2] <a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms685090(v=vs.85).aspx">https://msdn.microsoft.com/en-us/library/windows/desktop/ms685090(v=vs.85).aspx</a> <o:p></o:p></p></div></body></html>