Changes

Summary

  1. Add scalar support for amdgpu.raw_buffer_{load,store} (details)
  2. [PowerPC][NFC] Pre-commit a test case for upcoming patch (details)
  3. [SampleProfile] Use LazyCallGraph instead of CallGraph (details)
  4. [LSR] Fix wrapping bug in lsr-term-fold logic (details)
  5. Changes to `SCFFuseProducerOfSliceResult` to also return the operations created during fusion. (details)
  6. [JITLink][ELF][AArch64] Add support for ELF R_AARCH64_ABS32 relocation. (details)
  7. [mlir][Tensor] Avoid dropping attributes for `tensor.pad` operations during canonicalization. (details)
  8. [mlir][openMP] Add bazel deps (details)
  9. [NFC] Rename ArgSize to SpellingSize, and add ArgStringSize. (details)
  10. Replace strlen with StringRef::size (details)
  11. [mlir][Tensor] Fix build error due to missing `<>` in D146440. (details)
  12. [mlir][Tensor] Make `TilingInterface` implementation only return handle to the created `pad` operation. (details)
  13. [mlir][sparse] add merger/topo sort support for slice-based affine sparse index codegen (details)
  14. [PowerPC][NFC] Test needs to include constant pool values (details)
  15. Add declaration for `__tsan_default_options` to tsan_interface.h (details)
  16. [libc][obvious] fix missing memory_check_utils (details)
  17. [libc][bazel] add targets for sprintf (details)
  18. [libunwind][Modules] Add unwind_arm_ehabi.h and unwind_itanium.h to the unwind module) (details)
  19. [SPIR-V] Add Machine Value Type for SPIR-V builtins (details)
  20. Fix a problem with "watchpoint triggers before" watchpoint handling. (details)
Commit 82ac02e4a86070cf9924c245ff340aba1f62b45b by Krzysztof.Drewniak
Add scalar support for amdgpu.raw_buffer_{load,store}

Introduce the possibility to load/store scalars via amdgpu.raw_buffer_{load,store}

Reviewed By: krzysz00

Differential Revision: https://reviews.llvm.org/D146413
The file was modifiedmlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp (diff)
The file was modifiedmlir/test/Dialect/AMDGPU/ops.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/AMDGPU/AMDGPU.td (diff)
The file was modifiedmlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir (diff)
Commit da40f7e8b1b1c386cc4801f03082be582de93a65 by nemanja.i.ibm
[PowerPC][NFC] Pre-commit a test case for upcoming patch
The file was addedllvm/test/CodeGen/PowerPC/pr61315.ll
Commit eecb8c5f06149baf970fa0943e9fb9a6afe00207 by aeubanks
[SampleProfile] Use LazyCallGraph instead of CallGraph

The function order in some tests had to be changed because they relied on ordering of functions returned in an SCC which is consistent but unspecified.
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-order.ll (diff)
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/profile-topdown-order.ll (diff)
Commit 091422adc1d7478b126a967c795414840c5c0c97 by listmail
[LSR] Fix wrapping bug in lsr-term-fold logic

The existing logic was unsound, in two ways.

First, due to wrapping on the trip count computation, it could compute a value which convert a loop which exiting on iteration 256, to one which exited at 255. (With i8 trip counts.)

Second, it allowed rewriting when the trip count implies wrapping around the alternate IV. As a trivial example, it allowed rewriting an i128 exit test in terms of an i64 IV. This is obviously wrong.

Note that the test change is fairly minimal - i.e. only the targeted test - but that's only because I precommitted a change which switched the test from 32 to 64 bit pointers. For 32 bit point architectures with 32 bit primary inductions, this transform is almost always unsound to perform.

Differential Revision: https://reviews.llvm.org/D146429
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp (diff)
Commit 3af1c48c66a3cf906bd35c2a6e9d96b28ad19438 by ravishankarm
Changes to `SCFFuseProducerOfSliceResult` to also return the operations created during fusion.

This is follow up to https://reviews.llvm.org/D145133 that allows
propogating information about ops that are fused back to the caller.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D146254
The file was modifiedmlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h (diff)
The file was modifiedmlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp (diff)
Commit fb1b9945be7657a3a25b727eaf0eeb3f74525210 by Lang Hames
[JITLink][ELF][AArch64] Add support for ELF R_AARCH64_ABS32 relocation.

This relocation is commonly used in debug sections. Failure to handle it caused
the test failure in https://lab.llvm.org/buildbot/#/builders/197/builds/4272,
which forced the reversion, in f721fcb6ed0, of 57aeb305460 ("[JITLink][ELF]
Don't skip debug info sections by default"). This fix should allow us to
re-land 57aeb305460.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp (diff)
The file was addedllvm/test/ExecutionEngine/JITLink/AArch64/ELF_R_AARCH64_ABS32.yaml
Commit c21e88cc02617e0f04807a8dcf164b405d67d5e4 by ravishankarm
[mlir][Tensor] Avoid dropping attributes for `tensor.pad` operations during canonicalization.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D146440
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td (diff)
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp (diff)
The file was modifiedmlir/lib/Dialect/Utils/StructuredOpsUtils.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h (diff)
Commit c71fe7c9e83c16c8304d5cbc0dc3936c41e3e703 by anlunx
[mlir][openMP] Add bazel deps

Differential Revision: https://reviews.llvm.org/D146455
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel (diff)
Commit d3d6a5ff184d4d9c7ac7bcd281281a3b53ed058b by Vitaly Buka
[NFC] Rename ArgSize to SpellingSize, and add ArgStringSize.

Differential Revision: https://reviews.llvm.org/D146394
The file was modifiedllvm/lib/Option/Option.cpp (diff)
Commit 38fc680c2dc31ae7c397faa919e1881fb9e8f82a by Vitaly Buka
Replace strlen with StringRef::size

Replace multiple strlen calls with a StringRef constructor and a
StringRef::size call.

Differential Revision: https://reviews.llvm.org/D146394
The file was modifiedllvm/lib/Option/Option.cpp (diff)
Commit d0e507f56990fa09fe9ce326419dda8d54486c0a by ravishankarm
[mlir][Tensor] Fix build error due to missing `<>` in D146440.

Differential Revision: https://reviews.llvm.org/D146458
The file was modifiedmlir/lib/Dialect/Utils/StructuredOpsUtils.cpp (diff)
Commit 411b1d8f079533860a990ee615abae3b0e6dbd8b by ravishankarm
[mlir][Tensor] Make `TilingInterface` implementation only return handle to the created `pad` operation.

Pad tiling implementation only needs to return the tiled pad
operation. The rest of the generated code is related to handling
boundary conditions.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D146439
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp (diff)
Commit d03805f2ee0bdaa2513fbc3efb9e404e128bdbb3 by peiming
[mlir][sparse] add merger/topo sort support for slice-based affine sparse index codegen

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D142928
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/Utils/Merger.cpp (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h (diff)
Commit 6ee4ea8e2fe60647d9aecf42caed417cab13b091 by nemanja.i.ibm
[PowerPC][NFC] Test needs to include constant pool values
The file was modifiedllvm/test/CodeGen/PowerPC/pr61315.ll (diff)
Commit 919a3f1c751bf27c3c28018d8ff6cb55a81a5164 by Vitaly Buka
Add declaration for `__tsan_default_options` to tsan_interface.h

`__tsan_default_options` is part of the tsan interface so should be
exposed in tsan_interface.h.

Differential Revision: https://reviews.llvm.org/D146259
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.cpp (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.h (diff)
Commit f2c3a9cbd229791b63d58f7499fe9ebf74c3303b by michaelrj
[libc][obvious] fix missing memory_check_utils

memmove and bcopy tests were missing a dependancy on memory_check_utils
in the bazel build, causing build failures.

Differential Revision: https://reviews.llvm.org/D146462
The file was modifiedutils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel (diff)
Commit 99047c0501e0fe5c60bb583185f3b45bdc112199 by michaelrj
[libc][bazel] add targets for sprintf

The bazel build is currently overlay mode only, so the FILE functions
are still out of reach for it, but sprintf only uses strings. This adds
targets for sprintf, snprintf, and all the interal printf pieces, as
well as tests.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D146100
The file was modifiedutils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel (diff)
The file was modifiedlibc/src/stdio/printf_core/CMakeLists.txt (diff)
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel (diff)
The file was addedutils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Commit 1187d8a62ba288e2221731f1795fa184571cd854 by Ian Anderson
[libunwind][Modules] Add unwind_arm_ehabi.h and unwind_itanium.h to the unwind module)

Add unwind_arm_ehabi.h and unwind_itanium.h to the unwind module and use angle includes to include them.

Reviewed By: ldionne, #libunwind

Differential Revision: https://reviews.llvm.org/D144323
The file was modifiedlibunwind/include/unwind.h (diff)
The file was modifiedlibunwind/include/libunwind.modulemap (diff)
Commit b333f3393934937e1d857873934325ae0a9af30e by michal.paszkowski
[SPIR-V] Add Machine Value Type for SPIR-V builtins

Differential Revision: https://reviews.llvm.org/D145703
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp (diff)
The file was modifiedllvm/include/llvm/Support/MachineValueType.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td (diff)
Commit 8d024a79ea783ed3fbb5691aeaf186ad3f0a4ae9 by jingham
Fix a problem with "watchpoint triggers before" watchpoint handling.

We need to step the watchpoint instruction in these cases, but the
when we queued the ThreadPlanStepOverWatchpoint to do this, we didn't
make it a Controlling plan.  So if you are stepping, this plan returns as
though it were a utility plan, and the stepping plan keeps going.

This only partially fixes the problem on Darwin; there's another bug
with reporting a watchpoint when we're instruction single stepping over
an instruction that triggers a watchpoint.  The kernel reports the
"single step completed" but not the watchpoint hit.  So this commit
also refactors the test into a part that works (at least on Darwin) and
a part that still fails.

We may have to adjust the test result expectations for other systems after
this fix.

Differential Revision: https://reviews.llvm.org/D146337
The file was modifiedlldb/source/Target/Thread.cpp (diff)
The file was modifiedlldb/source/Target/StopInfo.cpp (diff)
The file was modifiedlldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/StopInfoMachException.cpp (diff)
The file was modifiedlldb/test/API/commands/watchpoints/step_over_watchpoint/main.c (diff)
The file was modifiedlldb/include/lldb/Target/Process.h (diff)