<div dir="ltr">Hi Toby,<div><br></div><div>It looks like r228568 has improved things. I'm going to remove some of those hacks tomorrow. I don't have access to gcc 4.7.2 to test with ahead of time, so apologies if I break this again - I'll keep a close eye on it.</div><div><br></div><div>Cheers,</div><div>Lang. </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 8, 2015 at 11:21 PM, Lang Hames <span dir="ltr"><<a href="mailto:lhames@gmail.com" target="_blank">lhames@gmail.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">Hi Toby,<div><br></div><div>Thanks. I'm digging through GCC bug reports at the moment. Best guess is that it's the 'this' pointer in the capture - I should have a fix soon.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>- Lang.</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 8, 2015 at 11:01 PM, Tobias Grosser <span dir="ltr"><<a href="mailto:tobias@grosser.es" target="_blank">tobias@grosser.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 09.02.2015 02:20, Lang Hames wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: lhames<br>
Date: Sun Feb  8 19:20:51 2015<br>
New Revision: 228557<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=228557&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=228557&view=rev</a><br>
Log:<br>
[Orc] Add a JITSymbol class to the Orc APIs, refactor APIs, update clients.<br>
<br>
This patch refactors a key piece of the Orc APIs: It removes the<br>
*::getSymbolAddress and *::lookupSymbolAddressIn methods, which returned target<br>
addresses (uint64_ts), and replaces them with *::findSymbol and *::findSymbolIn<br>
respectively, which return instances of the new JITSymbol type. Unlike the old<br>
methods, calling findSymbol or findSymbolIn does not cause the symbol to be<br>
immediately materialized when found. Instead, the symbol will be materialized<br>
if/when the getAddress method is called on the returned JITSymbol. This allows<br>
us to query for the existence of symbols without actually materializing them. In<br>
the future I expect more information to be attached to the JITSymbol class, for<br>
example whether the returned symbol is a weak or strong definition. This will<br>
allow us to properly handle weak symbols and multiple definitions.<br>
<br>
</blockquote>
<br></span>
This patch triggered a gcc (4.7.2) compiler bug for me:<br>
<br>
/home/grosser/buildslave/<u></u>polly-amd64-linux/llvm.src/<u></u>lib/ExecutionEngine/Orc/<u></u>OrcMCJITReplacement.cpp: In lambda function:<br>
/home/grosser/buildslave/<u></u>polly-amd64-linux/llvm.src/<u></u>lib/ExecutionEngine/Orc/<u></u>OrcMCJITReplacement.cpp:125:1: internal compiler error: in get_expr_operands, at tree-ssa-operands.c:1035<br>
Please submit a full bug report,<br>
with preprocessed source if appropriate.<br>
<br>
<a href="http://lab.llvm.org:8011/builders/perf-x86_64-penryn-O3-polly-fast/builds/3073" target="_blank">http://lab.llvm.org:8011/<u></u>builders/perf-x86_64-penryn-<u></u>O3-polly-fast/builds/3073</a><br>
<br>
Cheers.<span><font color="#888888"><br>
Tobias<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>