<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 2/23/15 10:26 PM, Adam Taylor wrote:<br>
</div>
<blockquote
cite="mid:CALj3-DefH9_goExCR8r+c8LGrjoFeNcvZJ8u_kJEndUD61Feow@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html;
charset=ISO-8859-1">
<div dir="ltr"><span>Hello all,</span>
<div><br>
</div>
<div>I have written one pass to collect information about
specific calls in an llvm IR file and am not trying to
reference the results from the first pass in a second pass. </div>
<div><br>
</div>
<div>What is the correct way to reference an additional custom
pass in LLVM? At the moment the project is set up under the
lib/Transforms directory in source and has the current layout:</div>
<div><br>
</div>
<div>Thresholds/</div>
<div> include/</div>
<div> Thresholds.h</div>
<div> Pass1.cpp</div>
<div> Pass2.cpp</div>
<div> Makefile</div>
<div><br>
</div>
<div>Both of the pass classes are defined in the header file.
In pass two I have declared that it requires Pass1 using:
AU.addRequired<Pass1>() and get the result using </div>
<div>getAnalysis<Pass1>().getParamPtrs(); </div>
<div><br>
</div>
<div>The module compiles correctly, but when trying to load it
using opt I get an error:</div>
<div><br>
</div>
<div>Error opening 'Thresholds.dylib': dlopen(Thresholds.dylib,
9): Symbol not found: __ZN12_GLOBAL__N_115ParamCallFinder2ID<br>
</div>
<div><br>
</div>
<div>What is the correct way to reference another custom written
pass in LLVM? Is is possible to do it in this manner or am I
completly wrong in my approach?</div>
</div>
</blockquote>
<br>
I don't think there's enough information in this email to determine,
reliably, what the problem is. That said, I'm guessing that one of
your passes is named ParamCallFinder.<br>
<br>
If I'm correct, make sure that ParamCallFinder::ID is defined in the
.cpp file that defines the methods for the pass. Otherwise, the ID
will be declared but not defined, and you can get a link error like
the one you're seeing.<br>
<br>
I can't be sure, but I suspect that's the problem.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<blockquote
cite="mid:CALj3-DefH9_goExCR8r+c8LGrjoFeNcvZJ8u_kJEndUD61Feow@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><br>
</div>
<div><br>
</div>
<div>Thanks!</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a class="moz-txt-link-freetext" href="http://www.cs.rochester.edu/u/criswell">http://www.cs.rochester.edu/u/criswell</a></pre>
</body>
</html>