Changes

Summary

  1. [sanitizer] Switch to patched QEMU (details)
  2. [sanitizer] Fix QEMU checkout (details)
Commit 6e3e7926bcf8e4d83d83d9072990ddc33e02bb11 by Vitaly Buka
[sanitizer] Switch to patched QEMU
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit b423773c90d5046a6f9eef0e6ed48a1a377282e4 by Vitaly Buka
[sanitizer] Fix QEMU checkout
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)

Summary

  1. [AArch64][GlobalISel] Legalize oversize G_EXTRACT_VECTOR_ELT sources. (details)
  2. [LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass (details)
  3. [LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass (details)
  4. [MLIR][SPIRV] Use getAsmResultName(...) hook for ConstantOp. (details)
  5. Revert "[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass" (details)
  6. Revert "[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass" (details)
  7. [ConstantFolding] Fix -Wunused-variable warning (NFC) (details)
  8. [clang] [MinGW] Fix gcc version detection/picking (details)
  9. Revert "[scudo] Check if MADV_DONTNEED zeroes memory" (details)
  10. [NFC][scudo] Re-enable check in the test (details)
  11. [cmake][scudo] Add missing headers (details)
  12. [WebAssembly][CodeGen] IR support for WebAssembly local variables (details)
  13. [AMDGPU] Precommit test (details)
  14. [AMDGPU] Fix function calls with flat scratch (details)
  15. Revert "[LAA] Support pointer phis in loop by analyzing each incoming pointer." (details)
  16. [NFC][Transforms][Utils] remove useless variable in CloneBasicBlock (details)
Commit 59a4ee97288b1297bb98edd7f24fecd5e9c57170 by Amara Emerson
[AArch64][GlobalISel] Legalize oversize G_EXTRACT_VECTOR_ELT sources.

Also changes the fewerElements helper to use the lookthrough constant helper
instead of m_ICst, since m_ICst doesn't look through extends.

Differential Revision: https://reviews.llvm.org/D103227
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit 7952ddb21fb7e086d5a6f97767f235d2f6ae2176 by eopxd
[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass

This patch changes LoopFlattenPass from FunctionPass to LoopNestPass.

Utilize LoopNest and let function 'Flatten' generate information from it.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D102904
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopFlatten.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit ffc4d3e06855550a8bd2a691f6d05828d5bf4ddf by eopxd
[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass

This patch changes LoopFlattenPass from FunctionPass to LoopNestPass.

Utilize LoopNest and let function 'Flatten' generate information from it.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D102904
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopFlatten.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
Commit e493abcf55a35812d15e16477958baa4bdc92707 by kareem.ergawy
[MLIR][SPIRV] Use getAsmResultName(...) hook for ConstantOp.

Implements better naming for results of `spv.Constant` ops by making it
inherit from OpAsmOpInterface and implementing the associated
getAsmResultName(...) hook.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D103152
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
The file was modifiedmlir/test/Dialect/SPIRV/IR/memory-ops.mlir
The file was addedmlir/test/Dialect/SPIRV/IR/asm-op-interface.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
Commit 7e06cf8f1ba2263b52f91f96aca01ff033d96cd9 by eopxd
Revert "[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass"

This reverts commit ffc4d3e06855550a8bd2a691f6d05828d5bf4ddf.
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopFlatten.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit e96d6f4821bf3fa11760da7950055571117ab25e by eopxd
Revert "[LoopNest][LoopFlatten] Change LoopFlattenPass to LoopNest pass"

This reverts commit 7952ddb21fb7e086d5a6f97767f235d2f6ae2176.

Differential Revision: https://reviews.llvm.org/D103302
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopFlatten.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit f2264ebb087272d49e2216476a62f3208ba5a1ea by nullptr.cpp
[ConstantFolding] Fix -Wunused-variable warning (NFC)

GCC warning:
```
/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp: In function ‘llvm::Constant* llvm::ConstantFoldLoadFromConstPtr(llvm::Constant*, llvm::Type*, const llvm::DataLayout&)’:
/llvm-project/llvm/lib/Analysis/ConstantFolding.cpp:713:19: warning: unused variable ‘SimplifiedGEP’ [-Wunused-variable]
  713 |         if (auto *SimplifiedGEP = dyn_cast<GEPOperator>(Simplified)) {
      |                   ^~~~~~~~~~~~~
```
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit f59cd8a4a606643e7248cecc239e0d229feb3320 by martin
[clang] [MinGW] Fix gcc version detection/picking

Actually compare each version to the version of the last chosen one.

There's no guarantee that the added test case does showcase the
previous issue (it depends on the order that directory entries
are returned when iterating), but with the issue fixed it should behave
deterministically in any case.

Also improve the match patterns in the mingw-sysroot.cpp test a bit.

Differential Revision: https://reviews.llvm.org/D102873
The file was addedclang/test/Driver/Inputs/mingw_ubuntu_posix_tree/usr/lib/gcc/x86_64-w64-mingw32/10.2-posix/include/c++/backward/.keep
The file was modifiedclang/test/Driver/mingw.cpp
The file was addedclang/test/Driver/Inputs/mingw_ubuntu_posix_tree/usr/lib/gcc/x86_64-w64-mingw32/10.2-posix/include-fixed/.keep
The file was addedclang/test/Driver/Inputs/mingw_ubuntu_posix_tree/usr/lib/gcc/x86_64-w64-mingw32/10.2-posix/include/c++/x86_64-w64-mingw32/.keep
The file was modifiedclang/test/Driver/mingw-sysroot.cpp
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
Commit 4458e8c4b42f3ebd44f909ffc0836224b7141d2e by Vitaly Buka
Revert "[scudo] Check if MADV_DONTNEED zeroes memory"

This reverts commit d423509b8036c29bbf94dab192d12097555ce0f8.

We are going to use patched QEMU.
The file was modifiedcompiler-rt/lib/scudo/standalone/linux.cpp
Commit a6e5a4b464bebb60f4fdfc27700aa37bbfa3fc54 by Vitaly Buka
[NFC][scudo] Re-enable check in the test

It should pass with patched QEMU.
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/common_test.cpp
Commit bd04d78d649bec9b0e10c42d7dcf48af38c3b8f4 by Vitaly Buka
[cmake][scudo] Add missing headers
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
Commit 00ecf18979e3326b3afee8af3dc701c53ffdc93f by wingo
[WebAssembly][CodeGen] IR support for WebAssembly local variables

This patch adds TargetStackID::WasmLocal.  This stack holds locations of
values that are only addressable by name -- not via a pointer to memory.
For the WebAssembly target, these objects are lowered to WebAssembly
local variables, which are managed by the WebAssembly run-time and are
not addressable by linear memory.

For the WebAssembly target IR indicates that an AllocaInst should be put
on TargetStackID::WasmLocal by putting it in the non-integral address
space WASM_ADDRESS_SPACE_WASM_VAR, with value 1.  SROA will mostly lift
these allocations to SSA locals, but any alloca that reaches instruction
selection (usually in non-optimized builds) will be assigned the new
TargetStackID there.  Loads and stores to those values are transformed
to new WebAssemblyISD::LOCAL_GET / WebAssemblyISD::LOCAL_SET nodes,
which then lower to the type-specific LOCAL_GET_I32 etc instructions via
tablegen patterns.

Differential Revision: https://reviews.llvm.org/D101140
The file was modifiedllvm/include/llvm/CodeGen/MIRYamlMapping.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was addedllvm/test/CodeGen/WebAssembly/ir-locals-stackid.ll
The file was addedllvm/test/CodeGen/WebAssembly/ir-locals.ll
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
Commit 6133b60a27fe0b89a96d5e10f28b2d9fd68d668f by sebastian.neubauer
[AMDGPU] Precommit test

Add scratch run to gfx-callable-argument-types.ll.
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
Commit 690f5b7a0128a210093e9b217932743ad35b5c5a by sebastian.neubauer
[AMDGPU] Fix function calls with flat scratch

When flat scratch is used, the stack pointer needs to be added when
writing arguments to the stack.
For buffer instructions, this is done in SelectMUBUFScratchOffen
and SelectMUBUFScratchOffset.

Move that to call argument lowering, like it is done in GlobalISel.

Differential Revision: https://reviews.llvm.org/D103166
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit ec1f6f7e3f92d806d0f7e4d687173a150102ec5d by flo
Revert "[LAA] Support pointer phis in loop by analyzing each incoming pointer."

This reverts commit 1ed7f8ede564c3b11da4fdca30c36ccbff422576.

This change can cause loop-distribute to crash in some cases. Revert
until I have more time to wrap up a fix.

See  PR50296, PR5028 and D102266.
The file was modifiedllvm/test/Transforms/LoopVectorize/vectorize-pointer-phis.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
Commit 66ff1cbd71d21620bd303371ec989000d9e882b0 by dongaxis
[NFC][Transforms][Utils] remove useless variable in CloneBasicBlock
The file was modifiedllvm/lib/Transforms/Utils/CloneFunction.cpp

Summary

  1. [sanitizer] Switch to patched QEMU (details)
  2. [sanitizer] Fix QEMU checkout (details)
Commit 6e3e7926bcf8e4d83d83d9072990ddc33e02bb11 by Vitaly Buka
[sanitizer] Switch to patched QEMU
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit b423773c90d5046a6f9eef0e6ed48a1a377282e4 by Vitaly Buka
[sanitizer] Fix QEMU checkout
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh