aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python/interface
diff options
context:
space:
mode:
authoradams381 <adams@nvidia.com>2025-12-09 17:11:01 -0600
committerGitHub <noreply@github.com>2025-12-09 15:11:01 -0800
commit0a2e56df64c936bacc746aeb94878d66ee00dec3 (patch)
treee103b0d056656d0b30239d2c1c52689b4e4a6de2 /lldb/scripts/Python/interface
parent84b9e444454a06ddf01f568164e3d5c8d956707d (diff)
downloadllvm-0a2e56df64c936bacc746aeb94878d66ee00dec3.zip
llvm-0a2e56df64c936bacc746aeb94878d66ee00dec3.tar.gz
llvm-0a2e56df64c936bacc746aeb94878d66ee00dec3.tar.bz2
[CIR] Add support for thread-local storage (TLS) (#168662)
This commit adds full support for thread-local storage variables in ClangIR, including code generation, lowering to LLVM IR, and comprehensive testing. Changes include: - Added CIR_TLSModel enum with 4 TLS models (GeneralDynamic, LocalDynamic, InitialExec, LocalExec) to CIROps.td - Extended GlobalOp with optional tls_model attribute - Extended GetGlobalOp with thread_local unit attribute - Added verification to ensure thread_local GetGlobalOp references globals with tls_model set - Implemented GetDefaultCIRTLSModel() and setTLSMode() in CIRGenModule - Updated getAddrOfGlobalVar() to handle TLS access - Removed MissingFeatures assertions for TLS operations - Added lowering of GetGlobalOp with TLS to llvm.threadlocal.address intrinsic - Added lowering of GlobalOp with tls_model to LLVM thread_local globals - Added comprehensive test with CIR, LLVM, and OGCG checks Known limitations (matching incubator): - Static local TLS variables not yet implemented - TLS_Dynamic with wrapper functions not yet implemented Fixes #153270
Diffstat (limited to 'lldb/scripts/Python/interface')
0 files changed, 0 insertions, 0 deletions