Displaying 13 results from an estimated 13 matches for "mangleandinterner".
2019 Sep 12
2
Questions after completed Kaleidoscope Chapter 1
Hello there,
I finished Chapter 1 of the Kaleidoscope tutorial for using the Orc JIT API. I played around with some things and ended with some questions.
1. What is the use of "MangleAndInterner"?
I read it is used to mangle the name for the lookup search, but I seem to be not able to use it correctly. In my first attempt I used the mangled name of my function "?helloOrc@@YAHXZ" with the lookup method - that worked.
Now I tried "int helloOrc()" and it failed/did n...
2020 Apr 13
4
LLVM 10 ORC2 issue with symbol resolution
...n addresses */
ES->createJITDylib("<main>");
MainJD = ES->getJITDylibByName("<main>");
MainJD->addGenerator(
cantFail(llvm::orc::DynamicLibrarySearchGenerator::GetForCurrentProcess(
DL->getGlobalPrefix())));
auto &JD = *MainJD;
llvm::orc::MangleAndInterner mangle(*ES, *this->DL);
llvm::orc::SymbolMap Symbols;
for (int i = 0; global_syms[i].name != nullptr; i++) {
Symbols.insert({mangle(global_syms[i].name),
llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(global_syms[i].address),
llvm::JITSymbolFlags(llvm::JITSymbolFlags::FlagNames::Ab...
2019 May 10
2
ORC - which example code?
...using ORC which as I
understand it will be the supported API going forward, I noticed that in
the first chapter of the updated Kaleidoscope tutorial, there is sample
code that starts like this:
ExecutionSession ES;
RTDyldObjectLinkingLayer ObjectLayer;
IRCompileLayer CompileLayer;
DataLayout DL;
MangleAndInterner Mangle;
ThreadSafeContext Ctx;
But in https://llvm.org/devmtg/2016-11/Slides/Hames-ORC.pdf there is sample
code that looks like this:
ObjectLinkingLayer LinkLayer;
SimpleCompiler Compiler(TargetMachine());
IRCompileLayer<…> CompileLayer(LinkLayer, Compiler);
Related but significantly diffe...
2019 Sep 12
2
Questions after completed Kaleidoscope Chapter 1
....llvm.org> wrote:
> >
> > Hello there,
> >
> >
> >
> > I finished Chapter 1 of the Kaleidoscope tutorial for using the Orc JIT
> API. I played around with some things and ended with some questions.
> >
> >
> >
> > What is the use of “MangleAndInterner”?
> > I read it is used to mangle the name for the lookup search, but I seem
> to be not able to use it correctly. In my first attempt I used the mangled
> name of my function “?helloOrc@@YAHXZ” with the lookup method – that
> worked.
> >
> > Now I tried “int helloOrc()”...
2020 Oct 01
2
OrcV1 removal
...ringMap.h:322)
| | ->03.54% (97,812B) 0x831FD62: llvm::orc::SymbolStringPool::intern(llvm::StringRef) (SymbolStringPool.h:159)
| | ->03.54% (97,812B) 0x8320AF5: llvm::orc::ExecutionSession::intern(llvm::StringRef) (Core.h:1225)
| | ->03.53% (97,542B) 0x83EFBAE: llvm::orc::MangleAndInterner::operator()(llvm::StringRef) (Mangling.cpp:30)
| | | ->03.53% (97,542B) 0x83B20B2: llvm::orc::IRMaterializationUnit::IRMaterializationUnit(llvm::orc::ExecutionSession&, llvm::orc::IRSymbolMapper::ManglingOptions const&, llvm::orc::ThreadSafeModule)::{lambda(llvm::Module&)
| |...
2019 Sep 19
3
"corrupted size vs. prev_size" when calling ExecutionSession::lookup()
...std::make_unique<llvm::SectionMemoryManager>(); });
auto JTMB = llvm::orc::JITTargetMachineBuilder::detectHost();
auto DL = JTMB->getDefaultDataLayoutForTarget();
llvm::orc::IRCompileLayer CompileLayer(ES, ObjectLayer,
llvm::orc::ConcurrentIRCompiler(std::move(*JTMB)));
llvm::orc::MangleAndInterner Mangle(ES, *DL);
ES.getMainJITDylib().setGenerator(
llvm::cantFail(llvm::orc::DynamicLibrarySearchGenerator::GetForCurrentProcess(*DL)));
// ... large part to generate IR code
.
if (llvm::verifyModule(*AST::getModule(), &llvm::errs())) {
return 0;
} else {
std::cout << &q...
2020 Oct 05
2
LLJIT: __{math}_finite symbols not resolved ?
Hello,
here is a repro which runs in a docker image.
https://we.tl/t-O1EhIAOeOF
To see the issue, run repro.sh
It will first download a (big, sorry) centos:7 docker image with my build
of LLVM-11 and build a simple lljit-based example.
This example is called with some trivial .cpp which calls `cos`.
When ran from *within the container* it works.
When the same example, with the same bitcode
2020 Oct 05
2
LLJIT: __{math}_finite symbols not resolved ?
Hello,
Right now I am just using a Generator to look for symbols in my process
(which links dynamically against libc / libm).
It seems to have no trouble finding every other libc / libm / libc++ / ...
symbol so I assumed that it was not necessary to specifically link against
libm where these __finite symbols reside:
$ nm -D /usr/lib/libm.so.6 | grep finite
0000000000050540 T
2020 Apr 13
2
LLVM 10 ORC2 issue with symbol resolution
...t;");
>> MainJD = ES->getJITDylibByName("<main>");
>> MainJD->addGenerator(
>> cantFail(llvm::orc::DynamicLibrarySearchGenerator::GetForCurrentProcess(
>> DL->getGlobalPrefix())));
>> auto &JD = *MainJD;
>> llvm::orc::MangleAndInterner mangle(*ES, *this->DL);
>> llvm::orc::SymbolMap Symbols;
>> for (int i = 0; global_syms[i].name != nullptr; i++) {
>> Symbols.insert({mangle(global_syms[i].name),
>>
>> llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(global_syms[i].address),
>>
>...
2020 Oct 02
2
OrcV1 removal
...:
>> llvm::orc::SymbolStringPool::intern(llvm::StringRef)
>> (SymbolStringPool.h:159)
>> | | ->03.54% (97,812B) 0x8320AF5:
>> llvm::orc::ExecutionSession::intern(llvm::StringRef) (Core.h:1225)
>> | | ->03.53% (97,542B) 0x83EFBAE:
>> llvm::orc::MangleAndInterner::operator()(llvm::StringRef) (Mangling.cpp:30)
>> | | | ->03.53% (97,542B) 0x83B20B2:
>> llvm::orc::IRMaterializationUnit::IRMaterializationUnit(llvm::orc::ExecutionSession&,
>> llvm::orc::IRSymbolMapper::ManglingOptions const&,
>> llvm::orc::ThreadSafeMod...
2020 Oct 01
2
OrcV1 removal
Hi,
On 2020-09-30 21:31:33 -0700, Lang Hames wrote:
> I've taken a first shot at hooking RTDyldObjectLinkingLayer up to the
> ResourceTracker API in 7436b2ab2428. Could you let me know whether that
> fixes the leak you were seeing?
It did improve the situation significantly, thanks!
There's still a smaller leak, unfortunately. The function comments for
modules say that:
/**
*
2019 Aug 14
3
ORC v2 question
Hi Lang,
On Tue, 13 Aug 2019 at 23:26, Lang Hames <lhames at gmail.com> wrote:
>> I also get this message:
>> JIT session error: Symbols not found: { raise_error }
>
>
> Ahh -- I see the problem. The DynamicLibrarySearchGenerator is using the getAddressOfSymbol method, which (under the hood) is basically issuing an appropriate dlsym lookup, and that does not find
2020 Apr 13
2
LLVM 10 ORC2 issue with symbol resolution
...e("<main>");
> > >> MainJD->addGenerator(
> > >>
> cantFail(llvm::orc::DynamicLibrarySearchGenerator::GetForCurrentProcess(
> > >> DL->getGlobalPrefix())));
> > >> auto &JD = *MainJD;
> > >> llvm::orc::MangleAndInterner mangle(*ES, *this->DL);
> > >> llvm::orc::SymbolMap Symbols;
> > >> for (int i = 0; global_syms[i].name != nullptr; i++) {
> > >> Symbols.insert({mangle(global_syms[i].name),
> > >>
> > >>
> llvm::JITEvaluatedSymbol(llvm::pointerTo...