-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[cling] Move static init function renaming to BackendPasses.cpp #17406
Conversation
@@ -420,6 +462,7 @@ void BackendPasses::CreatePasses(int OptLevel, llvm::ModulePassManager& MPM, | |||
StandardInstrumentations& SI) { | |||
|
|||
// TODO: Remove this pass once we upgrade past LLVM 19 that includes the fix. | |||
MPM.addPass(UniqueInitFunctionNamePass()); |
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.
Oops. Didn't notice the comment. I'll move the comment down when I push to update LLVM tag.
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.
Not addressed yet AFACIT; the comment applies directly to WorkAroundConstructorPriorityBugPass
and should move there...
Test Results 18 files 18 suites 4d 9h 42m 22s ⏱️ Results for commit 20797f7. ♻️ This comment has been updated with latest results. |
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.
FWIW still needs a tag (we'll figure out a sequencing between all pending changes) and we should either reverse the order of commits or squash them so that the test passes at all points in the commit history.
9c62c73
to
1eedab3
Compare
@hageboeck I've updated the tag here: https://github.com/root-project/llvm-project/releases/tag/ROOT-llvm18-20250116-01 to also backport llvm/llvm-project#101761 |
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.
LGTM, after moving the comment as indicated.
I've updated the tag here: https://github.com/root-project/llvm-project/releases/tag/ROOT-llvm18-20250116-01 to also backport llvm/llvm-project#101761
Ideally I would have preferred this to be a separate PR because it has nothing to do with moving the renaming pass and dropping a Clang patch. Also in the future, please use cherry-pick -x
for upstream commits in https://github.com/root-project/llvm-project/ so that we record the upstream commit hash. (no need to create another tag right now, we can fix it if we ever need to touch upstream commits again)
@@ -420,6 +462,7 @@ void BackendPasses::CreatePasses(int OptLevel, llvm::ModulePassManager& MPM, | |||
StandardInstrumentations& SI) { | |||
|
|||
// TODO: Remove this pass once we upgrade past LLVM 19 that includes the fix. | |||
MPM.addPass(UniqueInitFunctionNamePass()); |
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.
Not addressed yet AFACIT; the comment applies directly to WorkAroundConstructorPriorityBugPass
and should move there...
1eedab3
to
e07b208
Compare
This moves the logic for making static initialization function names unique to `BackendPasses.cpp` Functionality remains the same as introduced in commit d84ee9c. The only difference being the the names are suffixed with numbering (_1, _2, etc.) before the module suffix: __cxx_global_var_initcling_module_27_ __cxx_global_var_init_1cling_module_27_ __cxx_global_var_init_2cling_module_27_ __cxx_global_var_init_3cling_module_27_ instead of __cxx_global_var_initcling_module_27_ __cxx_global_var_initcling_module_27__1 __cxx_global_var_initcling_module_27__2 __cxx_global_var_initcling_module_27__3
Revert the patch: `Fix ROOT-7775 by making all static init function name unique.`
e07b208
to
20797f7
Compare
Thanks Jonas, my bad, I've created a new tag with just the change needed for this PR. I will make a separate PR with the backport later. |
This Pull request:
Changes or fixes:
Checklist:
This PR removes the need for the clang patch: root-project/llvm-project@d84a0e3104c5
This is already tested with
roottest-cling-staticinit-ROOT-7775