Skip to content
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

[PowerPC] Support local-dynamic TLS relocation on AIX #66316

Merged
merged 31 commits into from
Mar 1, 2024

Commits on Feb 29, 2024

  1. Configuration menu
    Copy the full SHA
    0e519e0 View commit details
    Browse the repository at this point in the history
  2. address comments

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    685619e View commit details
    Browse the repository at this point in the history
  3. [NFC] address comments.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    6ff54ca View commit details
    Browse the repository at this point in the history
  4. [NFC] address comments

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    dc6fbec View commit details
    Browse the repository at this point in the history
  5. [NFC] address comment

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    d979c44 View commit details
    Browse the repository at this point in the history
  6. Attempt to address comment: use r4 for LoadOffsetToc

    However looks like machine-scheduler is interfering, and still schedule
    LoadOffsetToc ahead of the .__tls_get_mod call.
    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    09cf488 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a6085eb View commit details
    Browse the repository at this point in the history
  8. Fixed issues raised by comments and incorporated suggested changes.

    (1) Removed TLSLDAIX argument so that duplicated nodes can be eliminated.
    (2) Try to reuse clobber r4 by moving TLSLDAIX ahead of LoadOffsetToc node.
    (3) Add FIXME comments.
    (4) Add test case to show duplicated .__tls_get_mod can be eliminated.
    
    Below two cases are not updated yet due to environment issue. I will fix
    those in next update.
    Failed Tests:
      LLVM :: CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
      LLVM :: CodeGen/PowerPC/aix-tls-xcoff-reloc.ll
    tingwang authored and orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    b5f60f7 View commit details
    Browse the repository at this point in the history
  9. (1) Use GPR3 directly in LoadModuleHandle.

    (2) Update comments.
    tingwang authored and orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    fd68b57 View commit details
    Browse the repository at this point in the history
  10. Fix obj mode var access.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    9755a4a View commit details
    Browse the repository at this point in the history
  11. [NFC] Incorporate comments.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    92732a5 View commit details
    Browse the repository at this point in the history
  12. [NFC] Add FIXME to highlight existing issue:

    The "_$TLSML" symbol did not lower through getTOCEntry().
    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    fe45c89 View commit details
    Browse the repository at this point in the history
  13. Address the following FIXME:

    The "_$TLSML" symbol did not lower through getTOCEntry().
    
    The pseudo node "TLSLDAIX" now takes the _$TLSML GV node, and the
    ppc-tls-dynamic-call pass is updated to fine tune the relative order
    between the LoadOffset@toc node and the .__tls_get_mod node.
    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    1d08e72 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    5c42342 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    30b26ae View commit details
    Browse the repository at this point in the history
  16. Simplify and add check

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    62ce4ad View commit details
    Browse the repository at this point in the history
  17. misc

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    955fe59 View commit details
    Browse the repository at this point in the history
  18. Simplify logic by move the XMC_TC setting for the _$TLSML symbol into…

    … getSectionForTOCEntry()
    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    4f51e52 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    8f82459 View commit details
    Browse the repository at this point in the history
  20. update

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    c34895f View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    51ec134 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    10822d3 View commit details
    Browse the repository at this point in the history
  23. Update comment.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    0119567 View commit details
    Browse the repository at this point in the history
  24. [NFC] Add comments

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    1f8edff View commit details
    Browse the repository at this point in the history
  25. Remove dummy logic:

    Since `getSectionForExternalReference` explicitly set XCOFF::XTY_SD for
    the `_$TLSML` symbol reference, and that only CSType `XCOFF::XTY_ER`
    symbol references are added into `UndefinedCsects`, the checks inside
    `executePostLayoutBinding` are redundant.
    
    Update test case to make sure external reference to the `_$TLSML` symbol
    is not observed.
    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    9fbb330 View commit details
    Browse the repository at this point in the history
  26. [NFC] Update comments.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    f75ff08 View commit details
    Browse the repository at this point in the history
  27. rebase test case

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    595ef30 View commit details
    Browse the repository at this point in the history
  28. [NFC] Update comments.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    17ead44 View commit details
    Browse the repository at this point in the history
  29. [NFC] Update comment.

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    e400223 View commit details
    Browse the repository at this point in the history
  30. [NFC] update comments

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    3dde56f View commit details
    Browse the repository at this point in the history
  31. [NFC] update comments

    orcguru committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    1a95e93 View commit details
    Browse the repository at this point in the history