Changes

Summary

  1. [llvm-objcopy][MachO] Support LC_LINKER_OPTIMIZATION_HINT load command (details)
  2. [Coroutine] Add statistics for the number of elided coroutine (details)
  3. [FuncSpec] Add an option to specializing literal constant (details)
  4. [AMDGPU] Update gfx90a memory model support (details)
  5. Fix test pass registration to use the new API / not use the deprecated one (NFC) (details)
  6. [PowerPC][AIX] Pre-commit tracetable test for D100167. NFC. (details)
Commit 814dffa4b7edb36d3b05c6b96591330e33a82204 by i
[llvm-objcopy][MachO] Support LC_LINKER_OPTIMIZATION_HINT load command

The load command is currently specific to arm64 and holds information
for instruction rewriting, e.g.  converting a GOT load to an ADR to
compute a local address.
(On ELF the information is usually conveyed by relocations, e.g.
R_X86_64_REX_GOTPCRELX, R_PPC64_TOC16_HA)

Reviewed By: alexander-shaposhnikov

Differential Revision: https://reviews.llvm.org/D104968
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.h
The file was addedllvm/test/tools/llvm-objcopy/MachO/lc-linker-optimization-hint.s
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.h
Commit 1d9539cf49a585e7c3cd8faa1b8e7291e0ce285c by yedeng.yd
[Coroutine] Add statistics for the number of elided coroutine

Now we lack a benchmark to measure the performance change for each
commit.
Since coro elide is the main optimization in coroutine module, I wonder
it may be an estimation to count the number of elided coroutine in
private code bases.
e.g., for a certain commit, if we found that the number of elided goes
down, we could find it before the commit check-in.

Reviewed By: lxfind

Differential Revision: https://reviews.llvm.org/D105095
The file was modifiedllvm/test/Transforms/Coroutines/coro-elide.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroElide.cpp
Commit 801c2b9bbaad778fd4f9fb25b4ab2bd8742a5a3b by yedeng.yd
[FuncSpec] Add an option to specializing literal constant

Now the option is off by default. Since we are not sure if this option
would make the compile time increase aggressively. Although we tested it
on SPEC2017, we may need to test more to make it on by default.

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D104365
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-constant-integers.ll
Commit 7f19aa73c265b966a5ecac4abe78b862426e28b5 by Tony.Tye
[AMDGPU] Update gfx90a memory model support

Update AMDGPU gfx90a memory model to make coarse grain memory allocations
consistent when fine grained system scope atomic acquire and release is
performed.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D105137
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
Commit 8b8f5c54d56daa9491c97a105bc996916c39927e by joker.eph
Fix test pass registration to use the new API / not use the deprecated one (NFC)
The file was modifiedmlir/test/lib/IR/TestDiagnostics.cpp
Commit 338a3f495ea4765b05612598e732c0d45dff3edc by lkail
[PowerPC][AIX] Pre-commit tracetable test for D100167. NFC.
The file was addedllvm/test/CodeGen/PowerPC/aix-tracetable-csr.ll