<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 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* 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.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@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>I need to integrate my module pass with someone else’s flow. My pass should be run inside the main() of their flow to generate the information needed for  other functions.  My pass is declared as:<o:p></o:p></p><p class=MsoNormal>MyVec: public ModulePass<o:p></o:p></p><p class=MsoNormal>{<o:p></o:p></p><p class=MsoNormal>…<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I used to build it into a loadable module for “opt” and it works. Right now, in the main function, I call the MyVec pass with the new method:<o:p></o:p></p><p class=MsoNormal>main()<o:p></o:p></p><p class=MsoNormal>{<o:p></o:p></p><p class=MsoNormal>…<o:p></o:p></p><p class=MsoNormal>llvm::ModulePass* V = new MyVec();<o:p></o:p></p><p class=MsoNormal>V->runOnModule(M);<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>…<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>But the linking process reports:<o:p></o:p></p><p class=MsoNormal>llvm[0]: Linking Release executable vec_a (without symbols)<o:p></o:p></p><p class=MsoNormal>llvm[0]: ======= Finished Linking Release Executable vec_a (without symbols)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>My Makefile is written as follows:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>LEVEL=../..<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TOOLNAME=vec_a<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>LINK_COMPONENTS := core support bitreader bitwriter asmparser instrumentation scalaropts ipo<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>include $(LEVEL)/Makefile.common<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Anyone have any idea of where goes wrong? Thanks.<o:p></o:p></p></div></body></html>