Displaying 19 results from an estimated 19 matches for "symbolstate".
2019 May 31
2
Commit 93af05e03e05d2f85b5a7e20ec3a3a543584d84f causes warning
...lacement.h:23,
from /path/to/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp:9:
/path/to/llvm/include/llvm/ExecutionEngine/Orc/Core.h:690:25: warning: 'llvm::orc::JITDylib::SymbolTableEntry::State' is too small to hold all values of 'enum class llvm::orc::JITDylib::SymbolState'
SymbolState State : 6;
There is no GCC option for disabling this warning: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414
The issue is that now LLVM is not buildable with GCC and '-Werror' enabled.
In addition, LLVM gcc-werror buildbot seems to be offline since May 9th:
http:...
2020 Mar 18
4
[ORC JIT] -Resolving cross references in a multi-process scenario
Hi Bjoern,
Thanks for your patience. The good news is that there is a neater way to do
this: ExecutionSession's lookup methods take a orc::SymbolState parameter
which describes the state that symbols must reach before a query can return
(See
https://github.com/llvm/llvm-project/blob/d1a7bfca74365c6523e647fcedd84f8fa1972dd3/llvm/include/llvm/ExecutionEngine/Orc/Core.h#L1273).In
your case you want to use orc::SymbolState::Resolved, which will cause...
2019 May 31
2
Commit 93af05e03e05d2f85b5a7e20ec3a3a543584d84f causes warning
...rom
>> /path/to/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp:9:
>>
>> /path/to/llvm/include/llvm/ExecutionEngine/Orc/Core.h:690:25: warning:
>> ‘llvm::orc::JITDylib::SymbolTableEntry::State’ is too small to hold all
>> values of ‘enum class llvm::orc::JITDylib::SymbolState’
>>
>> SymbolState State : 6;
>>
>>
>>
>> There is no GCC option for disabling this warning:
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414
>>
>> The issue is that now LLVM is not buildable with GCC and ‘-Werror’
>> enabled.
&g...
2020 Sep 28
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...LookupSet lookupSet;
lookupSet.add("?Sampler@@YAXXZ", llvm::orc::SymbolLookupFlags::WeaklyReferencedSymbol);
ES.lookup({{&jit->getMainJITDylib(), llvm::orc::JITDylibLookupFlags::MatchAllSymbols}}, lookupSet, llvm::orc::LookupKind::Static, llvm::orc::SymbolState::Resolved);
Even though the "tryToGenerate" function of my DefinitionGenerator returned a "llvm::orc::SymbolsNotFound" for the "?_Plansch_test@@3HA", I got an address for "?Sampler@@YAXXZ". Dumping the "MainJITDylib" I saw, that the "?Sampler@...
2020 Apr 16
4
ORC Assertion failure
...ion::lookup(llvm::orc::LookupKind
K, const std::vector<std::pair<llvm::orc::JITDylib *,enum
llvm::orc::JITDylibLookupFlags>,std::allocator<std::pair<llvm::orc::JITDylib
*,enum llvm::orc::JITDylibLookupFlags>>> & SearchOrder,
llvm::orc::SymbolLookupSet Symbols, llvm::orc::SymbolState
RequiredState, llvm::unique_function<void
__cdecl(llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr,llvm::JITEvaluatedSymbol,llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,llvm::JITEvaluatedSymbol>>>)>
Notify...
2020 Sep 29
3
ORC JIT - different behaviour of ExecutionSession.lookup?
...onSession.lookup?
Hi Bjoern,
Even though the "tryToGenerate" function of my DefinitionGenerator returned a "llvm::orc::SymbolsNotFound" for the "?_Plansch_test@@3HA", I got an address for "?
That's because you're issuing the lookup with RequiredState == SymbolState::Resolved. This means that your query will return as soon as "?Sampler@@YAXXZ" is assigned an address. In the JIT linker(s) addresses are assigned before external references are looked up. So after your lookup returns the linker attempts to find "?_Plansch_test@@3HA", fails, and...
2020 Mar 06
2
[ORC JIT] -Resolving cross references in a multi-process scenario
Hello LLVM-Mailing-List and Lang,
I have a very weird (or strict?) scenario and was curious if the ORC JIT can help me with it. Soo here it comes:
I have currently a windows process ("Runtime") which does nothing but creating a shared memory with read, write and execute rights - and also writing some function addresses like from printf to it.
Then I have two or more processes which
2004 Jun 18
3
[LLVMdev] MachineOperand: GlobalAddress vs. ExternalSymbol
Chris Lattner wrote:
> > Second, MO_ExternalSymbol is used for storing name of external
> > variable/function, right? Why it's not possible to use MO_GlobalAddress,
> > where returned GlobalValue* has isExternal set to true? The
> > GlobalValue::getName would return the name of the symbol.
>
> Using the GlobalValue is certainly the preferred way if you have it.
2020 Sep 30
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...onSession.lookup?
Hi Bjoern,
Even though the "tryToGenerate" function of my DefinitionGenerator returned a "llvm::orc::SymbolsNotFound" for the "?_Plansch_test@@3HA", I got an address for "?
That's because you're issuing the lookup with RequiredState == SymbolState::Resolved. This means that your query will return as soon as "?Sampler@@YAXXZ" is assigned an address. In the JIT linker(s) addresses are assigned before external references are looked up. So after your lookup returns the linker attempts to find "?_Plansch_test@@3HA", fails, and...
2004 Jun 18
0
[LLVMdev] MachineOperand: GlobalAddress vs. ExternalSymbol
On Fri, 18 Jun 2004, Vladimir Prus wrote:
> > actually exist in the LLVM module for the function. In particular, this
> > would include any functions in a code-generator specific runtime library
> > and malloc/free. The X86 code generator compiles floating point modulus
> > into fmod calls, and 64-bit integer div/rem into runtime library calls.
>
> And why isn't
2020 May 23
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
...cutionSession::lookup(llvm::orc::LookupKind,
std::__1::vector<std::__1::pair<llvm::orc::JITDylib*,
llvm::orc::JITDylibLookupFlags>,
std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet,
llvm::orc::SymbolState, llvm::unique_function<void
(llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr,
llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,
llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,
llvm::JITEvaluatedSymbol> > >)>, std::__1::function&l...
2004 Jun 17
0
[LLVMdev] MachineOperand: GlobalAddress vs. ExternalSymbol
On Thu, 17 Jun 2004, Vladimir Prus wrote:
>
> Hi,
> here I am again with "why is this so" kind of a question. Among different
> types of MachineOperand there are MO_ExternalSymbol and MO_GlobalAddress.
>
> For MO_GlobalAddress, we can get usefull information from the getGlobal()
> method, which returns GlobalValue*. Wouldn'it it be better is
>
2020 Oct 01
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...;A" or "B" to be ready will find that their query doesn't return until both symbols are fully-materialized and safe to access.
(2) Update the JIT state using your MaterializationResponsibility object:
if (auto TestSym = ES.lookup({&PlanschiJD}, ES.intern("test")), SymbolState::Resolved) {
// Tell the JIT that the address of PlanschiTest is the same
// as the address of "test" in the Planschi JITDylib.
MR.notifyResolved({
{ ES.intern("Planschi_test"),
JITEvaluatedSymbol(TestSym.getAddress(),
JITSymbolFlag...
2004 Jun 17
2
[LLVMdev] MachineOperand: GlobalAddress vs. ExternalSymbol
Hi,
here I am again with "why is this so" kind of a question. Among different
types of MachineOperand there are MO_ExternalSymbol and MO_GlobalAddress.
For MO_GlobalAddress, we can get usefull information from the getGlobal()
method, which returns GlobalValue*. Wouldn'it it be better is
MO_GlobalAddress be called MO_GlobalValue, for consistency?
Second, MO_ExternalSymbol is used
2020 Jun 06
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
...lvm::orc::JITDylib*,
>>>>> llvm::orc::JITDylibLookupFlags>,
>>>>> std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
>>>>> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet,
>>>>> llvm::orc::SymbolState, llvm::unique_function<void
>>>>> (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr,
>>>>> llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,
>>>>> llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,
&g...
2020 Sep 23
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
...olsOfInterrest)
{
lookupSet.add(element.second.name,llvm::orc::SymbolLookupFlags::WeaklyReferencedSymbol);
}
auto result = ES.lookup({{&jit->getMainJITDylib(), llvm::orc::JITDylibLookupFlags::MatchAllSymbols}}, lookupSet, llvm::orc::LookupKind::Static, llvm::orc::SymbolState::Resolved);
if(result)
{
for(const auto &element : *result)
{
const llvm::StringRef &name = (*element.first);
const size_t hash = calculateHash(name);
printf(">>>%s @...
2020 Jun 20
1
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
...m::orc::LookupKind,
> std::__1::vector<std::__1::pair<llvm::orc::JITDylib*,
> llvm::orc::JITDylibLookupFlags>,
> std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*,
> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet,
> llvm::orc::SymbolState, llvm::unique_function<void
> (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr,
> llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,
> llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,
> llvm::JITEvaluatedSymbol> > >)>,...
2004 Jun 19
1
[LLVMdev] MachineOperand: GlobalAddress vs. ExternalSymbol
Chris Lattner wrote:
> > And why isn't it possible to just make those functions known to LLVM?
> > After all, *I think*, if this function is to be called, it should be
> > declared in assembler, and so you have to pass some information abou
> > those function to the code printer. (Of course, it's possible to just
> > directly print the declarations, but
2020 Sep 24
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
...cc5198eee21f0dbabe6af0a3180-bedda45c2776595c390d63af4d6c24c16f889af2>,llvm::orc::SymbolLookupFlags::WeaklyReferencedSymbol);
}
auto result = ES.lookup({{&jit->getMainJITDylib(), llvm::orc::JITDylibLookupFlags::MatchAllSymbols}}, lookupSet, llvm::orc::LookupKind::Static, llvm::orc::SymbolState::Resolved);
if(result)
{
for(const auto &element : *result)
{
const llvm::StringRef &name = (*element.first);
const size_t hash = calculateHash(name);
printf(">>>%s @...