[llvm] r228557 - [Orc] Add a JITSymbol class to the Orc APIs, refactor APIs, update clients.

Lang Hames lhames at gmail.com
Sun Feb 8 23:21:09 PST 2015

Hi Toby,

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.

- Lang.

On Sun, Feb 8, 2015 at 11:01 PM, Tobias Grosser <tobias at grosser.es> wrote:

> On 09.02.2015 02:20, Lang Hames wrote:
>> Author: lhames
>> Date: Sun Feb  8 19:20:51 2015
>> New Revision: 228557
>> URL: http://llvm.org/viewvc/llvm-project?rev=228557&view=rev
>> Log:
>> [Orc] Add a JITSymbol class to the Orc APIs, refactor APIs, update
>> clients.
>> This patch refactors a key piece of the Orc APIs: It removes the
>> *::getSymbolAddress and *::lookupSymbolAddressIn methods, which returned
>> target
>> addresses (uint64_ts), and replaces them with *::findSymbol and
>> *::findSymbolIn
>> respectively, which return instances of the new JITSymbol type. Unlike
>> the old
>> methods, calling findSymbol or findSymbolIn does not cause the symbol to
>> be
>> immediately materialized when found. Instead, the symbol will be
>> materialized
>> if/when the getAddress method is called on the returned JITSymbol. This
>> allows
>> us to query for the existence of symbols without actually materializing
>> them. In
>> the future I expect more information to be attached to the JITSymbol
>> class, for
>> example whether the returned symbol is a weak or strong definition. This
>> will
>> allow us to properly handle weak symbols and multiple definitions.
> This patch triggered a gcc (4.7.2) compiler bug for me:
> /home/grosser/buildslave/polly-amd64-linux/llvm.src/
> lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp: In lambda function:
> /home/grosser/buildslave/polly-amd64-linux/llvm.src/
> lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp:125:1: internal compiler
> error: in get_expr_operands, at tree-ssa-operands.c:1035
> Please submit a full bug report,
> with preprocessed source if appropriate.
> http://lab.llvm.org:8011/builders/perf-x86_64-penryn-
> O3-polly-fast/builds/3073
> Cheers.
> Tobias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150208/ba736327/attachment.html>

More information about the llvm-commits mailing list