<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 6/12/14, 3:46 PM, Jeremy Salwen
wrote:<br>
</div>
<blockquote
cite="mid:CAK-Bz-GbAvaK0SmXOZsPwm5N=kOLG44KgESYuTYwHL88ygLsww@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div dir="ltr">
<div>
<div>Hi Eli,<br>
<br>
Thanks for the link! I'm able to compile a standalone pass
outside of the source tree, and I'm obviously ably to
compile analysis groups inside the source tree. However,
the problem comes when I try to do what the tutorial
suggests to create an analysis group outside of the source
tree.<br>
<br>
My understanding is that building out of tree requires
different methods to register the passes. For example, the
class RegisterPass, which the tutorial instructs you to use
(and is used by sample repository you linked), never shows
up in the source tree. Likewise for RegisterAnalysisGroup.
Furthermore I've found that just copying the way it's done
in the source tree and not using RegisterPass causes opt to
not recognize your command-line arguments.<br>
<br>
</div>
<div>Do you know of any other projects that will demonstrate
how to build passes out of tree, only creating an analysis
group as well?<br>
</div>
</div>
</div>
</blockquote>
<br>
The poolalloc and SAFECode projects have analysis groups. For
directions on downloading the code, please see
<a class="moz-txt-link-freetext" href="http://sva.cs.illinois.edu/docs/Install.html">http://sva.cs.illinois.edu/docs/Install.html</a>.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<blockquote
cite="mid:CAK-Bz-GbAvaK0SmXOZsPwm5N=kOLG44KgESYuTYwHL88ygLsww@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<div><br>
</div>
Thanks<br>
</div>
Jeremy<br>
</div>
<div class="gmail_extra">
<br>
<br>
<div class="gmail_quote">On Thu, Jun 12, 2014 at 4:20 PM, Eli
Bendersky <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:eliben@google.com" target="_blank">eliben@google.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">
<div>
<div class="h5">On Thu, Jun 12, 2014 at 1:10 PM,
Jeremy Salwen <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:jeremysalwen@gmail.com"
target="_blank">jeremysalwen@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>
<div>Hello all,<br>
<br>
</div>
I'm trying to follow the guide <a
moz-do-not-send="true"
href="http://llvm.org/docs/WritingAnLLVMPass.html"
target="_blank">http://llvm.org/docs/WritingAnLLVMPass.html</a>
to build an some passes and analysis
groups out of tree. However, I'm having
some trouble with crashes when I try to
follow the guide. <br>
The first section provides a very useful
example of what the whole .cpp file should
look like for the HelloWorld pass.
Obviously it's a bit more complex to write
the whole setup with an analysis group, an
analysis pass, and a transform pass that
uses the analysis, but example code would
be extremely helpful, and could serve as a
good starting point for anyone who wants
to do something similar. Is there
anywhere i could find such example code,
perhaps as part of a project, that
demonstrates how to define and use an
analysis group out of tree?<br>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</div>
</div>
<div>It's not entirely clear which part you're having
a problem with. If it's creating an analysis group,
there should be samples within the LLVM source code.
If it's building out-of-tree, take a look at <a
moz-do-not-send="true"
href="https://github.com/eliben/llvm-clang-samples"
target="_blank">https://github.com/eliben/llvm-clang-samples</a>
-- it's a repository with a bunch of LLVM/Clang
samples, all built out of tree. It keeps pretty
close track to ToT, as well as having branches for
prior releases (3.3 and 3.4, for now).</div>
<span class="HOEnZb"><font color="#888888">
<div><br>
</div>
<div>Eli</div>
<div> </div>
</font></span></div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</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>
</body>
</html>