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

Tobias Grosser tobias at grosser.es
Sun Feb 8 23:01:38 PST 2015

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:

In lambda function:
internal compiler error: in get_expr_operands, at tree-ssa-operands.c:1035
Please submit a full bug report,
with preprocessed source if appropriate.



More information about the llvm-commits mailing list