Displaying 20 results from an estimated 1000 matches similar to: "LLJIT vs. thread-local storage (again)"
2020 Sep 28
2
LLJIT vs. thread-local storage (again)
Hmm, I'm confused. The DSO is compiled with gcc. Do I need to compile
it with clang instead? I don't believe the JITted code uses the thread
support library directly, although I suppose it may be hidden with
templates and/or inline functions...
On Mon, Sep 28, 2020 at 10:43 PM Lang Hames <lhames at gmail.com> wrote:
>
> Hi Geoff,
>
> If you want to access the variable
2019 Dec 20
2
LLJIT vs. thread-local storage
And yet the same C++ code using thread-local variables works fine (or seems
to) when compiled with Orc v1. Does the change to the Orc API really make
thread-local storage more difficult?
On Fri, Dec 20, 2019 at 3:52 PM Praveen Velliengiri <
praveenvelliengiri at gmail.com> wrote:
> Oh, I think Linux don't have support for TLS.
>
> On Fri, 20 Dec 2019 at 20:19, Geoff Levner
2019 Dec 20
2
LLJIT vs. thread-local storage
Yes, I confirm.
Le ven. 20 déc. 2019 à 19:12, Praveen Velliengiri <
praveenvelliengiri at gmail.com> a écrit :
> Hi,
> Orc v2 is different from the internal structure then Orc v1 not just in
> API level.
> TLS support is not in ORC for a long time at least I'm aware of , Could
> you please confirm that ORC v1 actually compiles and run the code with
> Thread locals?
2017 Feb 08
2
[cfe-dev] lli: LLVM ERROR: Cannot select: X86ISD::WrapperRIP TargetGlobalTLSAddress:i64
What exactly do the compiler flags`-femulated-tls` and `tls-model` do ?
Why does tls-emulation not solve the problem ?
Looking at the generated IR, it seems not to remove thread_local variable
declarations.
What is the reasoning behind that ?
2017-02-07 16:27 GMT+00:00 Gaetano Checinski <gaetano.checinski at gmail.com>:
>
> got a minimal example now:
> extern thread_local
2019 Dec 20
3
LLJIT vs. thread-local storage
I don't think it's especially hard, but just not specifically unimplemented
because nobody's had a strong need for it. There's probably some
combinations of code models and machines that does happen to work (e.g.
emutls+linux+large-code+large-data+no-PIC). Julia has some support for
thread locals, but as a JIT in control of the language we currently try to
generate better code than
2019 Dec 20
2
LLJIT vs. thread-local storage
Argh. Thanks for the info. We're on Linux.
On Fri, Dec 20, 2019 at 3:46 PM Praveen Velliengiri <
praveenvelliengiri at gmail.com> wrote:
> Hi Geoff,
> Gathering from past, I remember that the ORCv2 doesn't support thread
> local variable but not sure what is the current status now. What platform
> you are on?
> CC'ed (Lang hames) he knows exactly what is the
2019 Dec 20
3
LLJIT vs. thread-local storage
This had also came up at llvm-devmtg briefly at the JIT roundtable. One of
the collaborators on my project had started a patch years ago to implement
some of it https://reviews.llvm.org/D8815, but then we went a different
direction with TLS in our frontend and it became unnecessary.
On Fri, Dec 20, 2019 at 12:36 PM David Blaikie via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> +Lang
2016 Sep 02
2
call_once and TSan
> On 2 Sep 2016, at 12:11, Dmitry Vyukov <dvyukov at google.com> wrote:
>
> On Fri, Sep 2, 2016 at 12:09 PM, Kuba Brecka <kuba.brecka at gmail.com> wrote:
>>
>>> On 2 Sep 2016, at 11:18, Dmitry Vyukov via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>>
>>> On Thu, Sep 1, 2016 at 2:30 PM, Kuba Brecka <kuba.brecka at gmail.com>
2016 Sep 02
2
call_once and TSan
> On 2 Sep 2016, at 11:18, Dmitry Vyukov via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> On Thu, Sep 1, 2016 at 2:30 PM, Kuba Brecka <kuba.brecka at gmail.com> wrote:
>> Hi,
>>
>> I'm trying to write a TSan interceptor for the C++11 call_once function. There are currently false positive reports, because the inner __call_once function is located in
2016 Sep 01
2
call_once and TSan
Hi,
I'm trying to write a TSan interceptor for the C++11 call_once function. There are currently false positive reports, because the inner __call_once function is located in the (non-instrumented) libcxx library, and on macOS we can't expect the users to build their own instrumented libcxx.
TSan already supports pthread_once and dispatch_once by having interceptors that re-implement the
2016 Sep 02
2
call_once and TSan
Same problem exists, thread A can still be within REAL(call_once), but after it ran user code and set the flag to ~0. Roughly, call_once does:
__call_once(flag, arg, func) {
mutex_lock(mut);
if (flag == BEING_INITIALIZED) { wait }
else if (flag == NOT_INITIALIZED_AT_ALL) {
flag = BEING_INITIALIZED;
mutex_unlock(mut);
func(arg); // <=== user code callback
2014 Nov 04
4
[LLVMdev] Issue with std::call_once in PPC64 platform
Hi all,
I observe that r220932 (Removing the static initializer in
ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic
mutex.) is causing tablegen to segfault in PPC platforms during static
initialization. The crash happens while calling std::call_once introduced
by this patch in the wrapper used in getManagedStaticMutex.
I understand this call is buggy for some platforms
2014 Nov 05
2
[LLVMdev] Issue with std::call_once in PPC64 platform
It seems the crash of llvm/clang build on aarch64 Debian has been fixed by
r220941.
Thanks,
-Jiangning
2014-11-05 8:45 GMT+08:00 Jiangning Liu <liujiangning1 at gmail.com>:
> The versions I'm using right now are
>
> * gcc: (Debian/Linaro 4.9.1-14) 4.9.1
> * libstdc++: libstdc++.so.6.0.20
>
> Thanks,
> -Jiangning
>
> 2014-11-05 4:46 GMT+08:00 Chris Bieneman
2014 Nov 04
2
[LLVMdev] Issue with std::call_once in PPC64 platform
Adding Jiangning Liu to the thread.
Jiangning reported a similar issue on the llvm-commits list on Debian aarch64.
In general it sounds like std::call_once may not really be bug free.
Jiangning, can you please provide your gcc/libstdc++ version?
Thanks,
-Chris
> On Nov 4, 2014, at 9:38 AM, Bill Schmidt <wschmidt at linux.vnet.ibm.com> wrote:
>
> On Tue, 2014-11-04 at 12:17
2014 Nov 04
2
[LLVMdev] Issue with std::call_once in PPC64 platform
Ok, I'll put a patch together to fix this later today. I'll probably do
what Reid was suggesting and use what is already in there for Windows.
Thanks,
Samuel
Bill Schmidt <wschmidt at linux.vnet.ibm.com> wrote on 11/04/2014 12:11:08 PM:
> From: Bill Schmidt <wschmidt at linux.vnet.ibm.com>
> To: Samuel F Antao/Watson/IBM at IBMUS
> Cc: azanella at
2014 Nov 04
2
[LLVMdev] Issue with std::call_once in PPC64 platform
Hi Bill,
You can find the same issue in the buildbot:
http://lab.llvm.org:8011/builders/clang-ppc64-elf-linux2/builds/16444/steps/compile.llvm.stage2/logs/stdio
It is failing for me both in BE (gcc 4.8.2) and LE(4.9.1). I am compiling
with clang 3.5, but those are the gcc toolchains I am using.
What do you think is the best way to fix this?
Thanks!
Samuel
Bill Schmidt <wschmidt at
2020 Nov 05
1
LLJIT global constants string becomes invalid in generated code
Hi,
Recently I hit an issue that LLJIT crashes when CodeGenOpt::Less or higher
is given.
After investigation, it turned out that the issue is some global constant
string in the IR, like
> @.str.117 = private unnamed_addr constant [9 x i8] c"lineitem\00", align 1
>
becomes an invalid pointer in the generated code.
> $1 = 0xf7fab054 <error: Cannot access memory at address
2017 Feb 07
3
[cfe-dev] lli: LLVM ERROR: Cannot select: X86ISD::WrapperRIP TargetGlobalTLSAddress:i64
> I’ve seen the same problem, but didn’t find solution back then.
> I can give a hint that it is related to a thread local storage (notice
TLS in the name).
>
> The same result can be reproduced by this simple program:
>
> thread_local int x = 0;
> int main() {
> return 0;
> }
>
>When compiled into IR it produces similar error:
>
>LLVM ERROR:
2020 Oct 05
2
LLJIT: __{math}_finite symbols not resolved ?
Hello,
when building code with -Ofast -ffinite-math-only -ffast-math, clang
generates calls to "finite" variants of math functions.
This has been the source of a fair amount of issues in a "normal", non-JIT
pipeline, which seem to have been fixed over time - a simple fix being
recompiling the target app against the new glibc.
- https://bugs.llvm.org/show_bug.cgi?id=44842
-
2018 Dec 10
2
using emulated-tls on Darwin 8, 9, 10
On 2018-12-08, at 2:27 PM, Ken Cunningham wrote:
> And then we should be in business, and all systems will have thread_local .
All that being sorted out, we now have libc++ 7.0.0 and libc++abi built and being used with emulated-tls support on darwin < 11 now. Thanks!
The last bit of this I plan to sort out would be how to tweak the following patch so that __cxa_thread_atexit would be