Displaying 5 results from an estimated 5 matches for "__emultls_get_address".
Did you mean:
___emutls_get_address
2017 Feb 08
3
[cfe-dev] lli: LLVM ERROR: Cannot select: X86ISD::WrapperRIP TargetGlobalTLSAddress:i64
> Unfortunately it doesn't look like lli has support for emulated TLS either,
though that would be pretty simple to add.
As an experiment I've `llvm::createLowerEmuTLSPass` into lli which
added @__emutls_v.x and @__emutls_v.t.
However i didn't have any __emultls_get_address calls in my IR.
Is there a llvm pass or compiler-flag that replaces thread_locals with
appropriate __emultls_get_address calls ?
2017-02-08 14:53 GMT+00:00 Tim Northover <t.p.northover at gmail.com>:
> On 8 February 2017 at 04:57, Gaetano Checinski
> <gaetano.checinski at gmail.c...
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
2017 Feb 08
0
[cfe-dev] lli: LLVM ERROR: Cannot select: X86ISD::WrapperRIP TargetGlobalTLSAddress:i64
...February 2017 at 11:12, Gaetano Checinski
<gaetano.checinski at gmail.com> wrote:
> Thanks for sharing your insights,
> so in theory i could build an llvm pass that calls TargetLowering::LowerToTLSEmulatedModel for each llvm::Function and it should work if i link a runtime that provides __emultls_get_address.
I'm afraid not, that function is called as part of converting from a
Function to a MachineFunction. It operates on a completely different
representation to normal LLVM IR. The only way to trigger it is to set
the right field in the TargetOptions.
> >It's a missing feature/bug in th...
2017 Feb 09
1
[cfe-dev] lli: LLVM ERROR: Cannot select: X86ISD::WrapperRIP TargetGlobalTLSAddress:i64
...aetano Checinski
> <gaetano.checinski at gmail.com> wrote:
> > Thanks for sharing your insights,
> > so in theory i could build an llvm pass that calls TargetLowering::LowerToTLSEmulatedModel
> for each llvm::Function and it should work if i link a runtime that
> provides __emultls_get_address.
>
> I'm afraid not, that function is called as part of converting from a
> Function to a MachineFunction. It operates on a completely different
> representation to normal LLVM IR. The only way to trigger it is to set
> the right field in the TargetOptions.
>
> > >It&...
2018 Apr 22
0
[cfe-dev] lli: LLVM ERROR: Cannot select: X86ISD::WrapperRIP TargetGlobalTLSAddress:i64
...;> <gaetano.checinski at gmail.com> wrote:
>> > Thanks for sharing your insights,
>> > so in theory i could build an llvm pass that calls
>> TargetLowering::LowerToTLSEmulatedModel for each llvm::Function and it
>> should work if i link a runtime that provides __emultls_get_address.
>>
>> I'm afraid not, that function is called as part of converting from a
>> Function to a MachineFunction. It operates on a completely different
>> representation to normal LLVM IR. The only way to trigger it is to set
>> the right field in the TargetOptions.
&g...