<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>mikeash.com pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html comments</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>mikeash.com Recent Comments</description><lastBuildDate>Mon, 13 Apr 2026 04:53:06 GMT</lastBuildDate><generator>PyRSS2Gen-1.0.0</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Richard Stacpoole - 2010-01-17 06:03:48</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>ExceutionEngine -&amp;gt; ExecutionEngine
&lt;br /&gt;
&lt;br /&gt;First mention in main body text</description><guid isPermaLink="true">e9d874551b46889dd2c47cc6d5f5f21b</guid><pubDate>Sun, 17 Jan 2010 06:03:48 GMT</pubDate></item><item><title>mikeash - 2009-04-25 22:53:06</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>I mention that you need LLVM installed, and that's all you need beyond a standard OS X developer tools install. The command for building the code is at the top of the full source listing here:
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.mikeash.com/pyblog/llvmtest.cpp"&gt;http://www.mikeash.com/pyblog/llvmtest.cpp&lt;/a&gt;
&lt;br /&gt;</description><guid isPermaLink="true">1fc037128b598b97023cb2f26dfc1d1a</guid><pubDate>Sat, 25 Apr 2009 22:53:06 GMT</pubDate></item><item><title>Bored - 2009-04-25 21:17:59</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>It's odd that you never explicitly mention the tool chain or language or other requirements for actually building this code. It looks like C++, and I know that LLVM or parts of it are in C++... Are the tutorials you mention pre-requisites for understanding this article? What other prerequisites are there?</description><guid isPermaLink="true">74e2f4722fde9af09d090008e22948e0</guid><pubDate>Sat, 25 Apr 2009 21:17:59 GMT</pubDate></item><item><title>mikeash - 2009-04-23 00:01:00</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>I haven't done a whole lot with GC, but enough to be familiar. I don't know if I could do your suggestion but I'll put it on the list and think about it. In the meantime, check out "info gc-roots" and "info gc-references" in gdb if you don't already know about them.</description><guid isPermaLink="true">a3f91dd309e6b57c47d958a539e411bc</guid><pubDate>Thu, 23 Apr 2009 00:01:00 GMT</pubDate></item><item><title>Kirstan S. - 2009-04-22 22:03:12</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>Another great topic would be how to go about tracking down "over-rootedness" issues when running in a garbage collected environment.  It doesn't seem like the current tools help very much here.  Are you doing anything with GC Mike?</description><guid isPermaLink="true">cbb5416d82d58eb4051ec1d9ea7e2f87</guid><pubDate>Wed, 22 Apr 2009 22:03:12 GMT</pubDate></item><item><title>mikeash - 2009-04-21 22:49:22</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>Thanks for the suggestion, sounds like a good one. I've added it to the pool.</description><guid isPermaLink="true">57f08e0f40a39abf29432372067c862f</guid><pubDate>Tue, 21 Apr 2009 22:49:22 GMT</pubDate></item><item><title>Step - 2009-04-21 20:16:46</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>I'd love to see a tutorial on Core Audio.  If you want a more specific request: capturing, and maybe converting close to real time, an audio input?</description><guid isPermaLink="true">f9eb7b7c5bd93b4d439564b2ab7ab6d4</guid><pubDate>Tue, 21 Apr 2009 20:16:46 GMT</pubDate></item><item><title>mikeash - 2009-04-18 07:44:17</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>Yep, running the optimizations is trivial. Next week's example will have them integrated, but that page tells you everything you need to know.</description><guid isPermaLink="true">85f5ee803b0029b3a12d38eb492912b8</guid><pubDate>Sat, 18 Apr 2009 07:44:17 GMT</pubDate></item><item><title>Thomas Clement - 2009-04-17 20:55:31</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>It doesn't seem much complicated:
&lt;br /&gt;&lt;a href="http://llvm.org/docs/tutorial/LangImpl4.html"&gt;http://llvm.org/docs/tutorial/LangImpl4.html&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;You just need to know what optimization passes to use...</description><guid isPermaLink="true">c657ba92011c1dcb2f9c4e300231d8ae</guid><pubDate>Fri, 17 Apr 2009 20:55:31 GMT</pubDate></item><item><title>Thomas Clement - 2009-04-17 20:44:18</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>It would be great to run the LLVM standards optimizations on the intermediate representation before generating native code.
&lt;br /&gt;Do you know how to do that?</description><guid isPermaLink="true">2080862d0f271b41333f0ce79d396965</guid><pubDate>Fri, 17 Apr 2009 20:44:18 GMT</pubDate></item><item><title>Jamie Kirkpatrick - 2009-04-17 20:39:49</title><link>http://www.mikeash.com/?page=pyblog/friday-qa-2009-04-17-code-generation-with-llvm-part-1-basics.html#comments</link><description>Really interesting stuff!  Looking forward to next week's installment...</description><guid isPermaLink="true">c921c1f07afa9bece60fcac783cdf72c</guid><pubDate>Fri, 17 Apr 2009 20:39:49 GMT</pubDate></item></channel></rss>
