<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 2/11/20 4:56 AM, Jon Chesterfield
via Openmp-dev wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAOUYtQCFdietK+xfy2kqmgQtd89BgR6STet9tyxmwcvnMWtgWA@mail.gmail.com">
<div dir="auto">
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hmm, so
you propose creating a dependency from the OpenMP runtime
to<br>
the LLVM libraries? Which classes would you want to use,
probably some<br>
of the ADTs? Does any of the other runtime libraries
(libc++,<br>
libc++abi, compiler-rt, sanitizers) already do this? IIRC
libc++abi and<br>
LLVMSupport share some demangling code, but that is
manually copied.<br>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">I am unaware that each subproject reimplements
code to avoid a dependency on llvm. My first reaction is
"surely not", but it's not totally implausible. I will look
into this.</div>
<div dir="auto"><br>
</div>
<div dir="auto">ADT is the obvious contender for reuse. There
will also be a lot of OS wrappers somewhere. File IO, dlopen,
probably memory allocators. Essentially all the stuff a big
cross platform C++ project grows over time. In the case of
anything hitting the filesystem, also treacherously difficult
to get right across platforms.</div>
<div dir="auto"><br>
</div>
<div dir="auto">There's an open patch against libomptarget that
uses dlopen with a hardcoded path length. Opt loads shared
libraries on windows afaik so probably has a robust wrapper
around dlopen, so I'd start there.</div>
</div>
</blockquote>
<p><br>
</p>
<p>I would separate these two discussions. One motivation for the
relicensing effort is to allow sharing code between runtime
libraries and the core infrastructure. I expect that, as we move
to full coverage on various parts of the relicensing, we'll have a
large-scale discussion about how to implement this resuse across
the project. However, we can certainly use C++14 language features
before we worry about using LLVM's support library.</p>
<p> -Hal</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:CAOUYtQCFdietK+xfy2kqmgQtd89BgR6STet9tyxmwcvnMWtgWA@mail.gmail.com">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">Jon</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Openmp-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Openmp-dev@lists.llvm.org">Openmp-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>