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

[AMDGPU] Emit a waitcnt instruction after each memory instruction #79236

Merged
merged 16 commits into from
Apr 10, 2024

Commits on Apr 4, 2024

  1. [AMDGPU] Emit a waitcnt instruction after each memory instruction

    This patch introduces a new command-line option for clang, namely,
    amdgpu-precise-mem-op. When this option is specified, a waitcnt instruction
    is generated after each memory load/store instruction. The counter values are
    always 0, but which counters are involved depends on the memory instruction.
    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    502406d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6624b6a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8abdc34 View commit details
    Browse the repository at this point in the history
  4. Add support for GFX12.

    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    adaa16c View commit details
    Browse the repository at this point in the history
  5. Some small changes based on code review.

    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    c02b87b View commit details
    Browse the repository at this point in the history
  6. Code formatting.

    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    571ce58 View commit details
    Browse the repository at this point in the history
  7. Change the option from amdgpu-precise-memory-op to precise-memory

    for the backend.
    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    93b00bf View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c42d3fb View commit details
    Browse the repository at this point in the history
  9. Minor code change.

    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    44bada0 View commit details
    Browse the repository at this point in the history
  10. Use getAllZeroWaitcnt() when creating the Wait obj. Some changes

    to the test file.
    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    20312a1 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    12dde5f View commit details
    Browse the repository at this point in the history
  12. Replace testcases test_load_store() and test_load_store_as5() with

    tail_call_byval_align16() to cover buffer_load/store, and
    scratch_load/store.
    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    1e3c7dd View commit details
    Browse the repository at this point in the history
  13. Check if mem instruciton is already immediately followed by a

    waitcnt instruction. If so, do not insert another waitcnt. Also
    add a testcase that has ds_add_rtn. Formatting change made to
    SIMemoryLegalizer.cpp is reverted.
    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    4f4bf31 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    4ae38b6 View commit details
    Browse the repository at this point in the history
  15. With llvm#87539, previous commit that checks for the instruction imme…

    …diately
    
    after a load/store is not necessary.
    Jun Wang committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    49cad2d View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Configuration menu
    Copy the full SHA
    6d52f6e View commit details
    Browse the repository at this point in the history