-
Notifications
You must be signed in to change notification settings - Fork 15.5k
[JITLink] Add initial TLS support for SystemZ #170706
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🐧 Linux x64 Test Results
✅ The build succeeded and all tests passed. |
uweigand
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think if we enable building the ORC runtime library, we need to make sure that all of it works correctly, not just the TLS bits. It would probably be best to first have a patch that enables the library plus all relevant tests, and then have a follow-on patch that takes care of TLS.
| std %f12, 200(%r15) | ||
| std %f13, 192(%r15) | ||
| std %f14, 184(%r15) | ||
| std %f15, 176(%r15) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the point of saving all these registers? They're not modified here, and the called __orc_rt routine will preserve them ...
| larl %r12, _GLOBAL_OFFSET_TABLE_ | ||
| stg %r12, 160(%r11) # 8-byte Spill | ||
| brasl %r14, __tls_get_offset@PLT:tls_gdcall:x | ||
| lg %r12, 160(%r11) # 8-byte Reload |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be needed, r12 will be preserved by the call. In general, there's quite a bit of unnecessary stuff in this test case. Was this created by compiling something with -O0 or the like?
…d orc-runtime changes. This patch is on top of separate patch llvm#171062 created for orc-runtime from original patch llvm#170706.
This patch adds TLS support for SystemZ on top of orc-runtime support. A separate orc-runtime support #171062 has been created from earlier TLS support #[170706](llvm/llvm-project#170706). See conversations in [#170706](llvm/llvm-project#170706) --------- Co-authored-by: anoopkg6 <anoopkg6@github.com>
This patch supports R_390_TLS_GD64 relocation for SystemZ.