llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.13k stars 12.02k forks source link

Merge ce2207abaf and follow-ups into the 10.0 branch : Fixes EmulatedTLS in ORCv2 #44046

Closed lhames closed 4 years ago

lhames commented 4 years ago
Bugzilla Link 44701
Resolution FIXED
Resolved on Jan 29, 2020 12:53
Version 10.0
OS All
Blocks llvm/llvm-project#43900
CC @AlexDenisov

Extended Description

The following commits fix a bug that prevents any use of TLS variables in ORCv2:

ce2207abaf9a925b35f15ef92aaff6b301ba6d22 -- Fix EmulatedTLS support. e0a6093a744d16c90eafa62d7143ce41806b2466 -- Fix a missing move in original commit 98e55477558a823b1045b54d5a09681a3c0b819a -- Fix Kaleidoscope and Speculative examples b54aa053d3aeeab0cdaecb6286419138b7da5ef4 -- Fix clang-interpreter example 97d000da2e6025600c4709d611e853eb1d5d407c -- Fix LLJITWithObjectCache example

Without this fix, any use of a TLS variable in ORCv2 will result in a JIT error.

Impact: JIT only. Affects any JIT user who wants to use TLS.

zmodem commented 4 years ago

Cherry-picked to 10.x in 32723d57207 32056b4eb87 46f6f03839e 011adfcbbdb 92edb295392

lhames commented 4 years ago

assigned to @zmodem