SuccessChanges

Summary

  1. AMDGPU/GlobalISel: Add boilerplate for inline asm lowering (details)
  2. Revert "Process gep (phi ptr1, ptr2) in SROA" (details)
  3. [lldb/Test] Don't leak forked processes on Darwin (details)
  4. [CMake] Change target 'check' from 'check-llvm' to 'check-all' (details)
  5. [ELF] Add -z rel and -z rela (details)
  6. [mlir][Affine] Minor clean-up of D79829 (details)
  7. [SVE] Eliminate calls to default-false VectorType::get() from Utils (details)
  8. [SVE] Eliminate calls to default-false VectorType::get() from Instrumentation (details)
  9. [flang] Batch together the changes to the PFT intermediate data (details)
  10. [SVE] Eliminate calls to default-false VectorType::get() from InstCombine (details)
  11. [mlir] NFC - Add debug information for Linalg transformations. (details)
  12. [SLP] Apply external to vectorizable tree users cost adjustment for (details)
  13. [SVE] Eliminate calls to default-false VectorType::get() from AArch64 (details)
  14. [SVE] Eliminate calls to default-false VectorType::get() from AggressiveInstCombine (details)
  15. [mlir] Fix Windows build (details)
  16. [libFuzzer] Fixed description of fuzzer merge control file. (details)
  17. [SVE] Eliminate calls to default-false VectorType::get() from X86 (details)
Commit 248410937899d99f6f258d7299ec6fae0f98d900 by Matthew.Arsenault
AMDGPU/GlobalISel: Add boilerplate for inline asm lowering

Test mostly from minor adjustments to the AArch64 one.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
Commit af852d6f3638fead78af9048503a67cf7b308eb6 by Stanislav.Mekhanoshin
Revert "Process gep (phi ptr1, ptr2) in SROA"

This reverts commit f66a43c11a7899d5c578b80d7f154abcea3b8d8e.
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was removedllvm/test/Transforms/SROA/phi-gep.ll
Commit 8d8f8b353175b50dfdb1e2d5f3c0ada0a4ad25ed by Jonas Devlieghere
[lldb/Test] Don't leak forked processes on Darwin

We are leaking forked processes on macOS because the cleanup function
was checking the existence of /proc/pid which does not exist on macOS.
I've changed the code to be platform agnostic.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 2d7fdab8e39fa3108f05cb3ff4af1a057f501c87 by maskray
[CMake] Change target 'check' from 'check-llvm' to 'check-all'

Reviewed By: echristo, mehdi_amini

Differential Revision: https://reviews.llvm.org/D80823
The file was modifiedllvm/test/CMakeLists.txt
Commit 881c5eef98a6c3fa59907ba2eefa6e8d086394a6 by maskray
[ELF] Add -z rel and -z rela

LLD supports both REL and RELA for static relocations, but emits either
of REL and RELA for dynamic relocations. The relocation entry format is
specified by each psABI.

musl ld.so supports both REL and RELA. For such ld.so implementations,
REL (.rel.dyn .rel.plt) has size benefits even if the psABI chooses RELA:
sizeof(Elf64_Rel)=16 < sizeof(Elf64_Rela)=24.

* COPY, GLOB_DAT and J[U]MP_SLOT always have 0 addend. A ld.so
  implementation does not need to read the implicit addend.
  REL is strictly better.
* A RELATIVE has a non-zero addend. Such relocations can be packed
  compactly with the RELR relocation entry format, which is out of scope
  of this patch.
* For other dynamic relocation types (e.g. symbolic relocation R_X86_64_64),
  a ld.so implementation needs to read the implicit addend. REL may have
  minor performance impact, because reading implicit addends forces
  random access reads instead of being able to blast out a bunch of
  writes while chasing the relocation array.

This patch adds -z rel and -z rela to change the relocation entry format
for dynamic relocations. I have tested that a -z rel produced x86-64
executable works with musl ld.so

-z rela may be useful for debugging purposes on processors whose psABIs
specify REL as the canonical format: addends can be easily read by a tool.

Reviewed By: grimar, mcgrathr

Differential Revision: https://reviews.llvm.org/D80496
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/i386-zrel-zrela.s
The file was addedlld/test/ELF/x86-64-zrel-zrela.s
Commit e75325cfc397c562964dd39b47198d73c9e9602a by diego.caballero
[mlir][Affine] Minor clean-up of D79829

Addressing D79829 post-commit comments. Minor changes.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D80814
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp
Commit c8f1aca316c2ee02347752079b86ba2322a6cf72 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from Utils

Reviewers: efriedma, c-rhodes, sdesmalen, xbolva00

Reviewed By: c-rhodes

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80337
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit e4d2037a5ccb76e446dc13803b486e2f9b0c7f29 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from Instrumentation

Reviewers: efriedma, fpetrogalli, kmclaughlin

Reviewed By: fpetrogalli

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80335
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Commit fbac9ce226d7a27e418fdeac72a0b3c9f2c48742 by eschweitz
[flang] Batch together the changes to the PFT intermediate data
structure for upstreaming to llvm-project.

These files have had many changes since they were originally upstreamed.
Some of the changes are cosmetic.  Most of the functional changes were
done to support the lowering of control-flow syntax from the front-end
parse trees to the FIR dialect.

This patch is meant to be a reviewable size. The functionality it
provides will be used by code yet to be upstreamed in lowering.

review comments:

[review D80449][NFC] make PFT ParentVariant a ReferenceVariant

ReferenceVariant had to be slightly updated to also support
non constant references (which is required for ParentType).

[review D80449] extend Variable implementation beyond a comment
The file was modifiedflang/include/flang/Lower/PFTBuilder.h
The file was modifiedflang/lib/Lower/PFTBuilder.cpp
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was modifiedflang/test/Lower/pre-fir-tree03.f90
The file was addedflang/include/flang/Lower/Utils.h
The file was modifiedflang/test/Lower/pre-fir-tree04.f90
The file was modifiedflang/test/Lower/pre-fir-tree02.f90
The file was modifiedflang/test/Lower/pre-fir-tree01.f90
Commit 8f8029b4587e120e4cceceebf6d350f881f5d827 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from InstCombine

Reviewers: efriedma, david-arm, fpetrogalli, spatel

Reviewed By: david-arm

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80334
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Commit 91beb5176b4d5a7cc09c419b9d75cb19f67d0bf9 by ntv
[mlir] NFC - Add debug information for Linalg transformations.

Address post-commit review of https://reviews.llvm.org/D79518
The file was modifiedmlir/include/mlir/IR/PatternMatch.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Commit a45688a72c63b6359df7c23f2a2895f271d414e9 by valery.n.dmitriev
[SLP] Apply external to vectorizable tree users cost adjustment for
relevant aggregate build instructions only (UserCost).
Users are detected with findBuildAggregate routine and the trick is
that following SLP vectorization may end up vectorizing entire list
with smaller chunks. Cost adjustment then is applied for individual
chunks and these adjustments obviously have to be smaller than the
entire aggregate build cost.

Differential Revision: https://reviews.llvm.org/D80773
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/hsub.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/hadd.ll
Commit 56eb7556e75ca022bfa9b4c6b60a9571b41e2447 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from AArch64

Reviewers: efriedma, c-rhodes, david-arm, mcrosier, t.p.northover

Reviewed By: efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80327
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTagging.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit e6cf402e8364a7a7e483a60aa1fca1213f4fb475 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from AggressiveInstCombine

Reviewers: efriedma, aymanmus, c-rhodes, david-arm

Reviewed By: david-arm

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80332
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
Commit 7fc225f8c4596d4e51d64e814b21cc49c5e8566b by ntv
[mlir] Fix Windows build

Summary:
MSVC does not seem to like certain forward declarations.

https://reviews.llvm.org/D80728 introduces an error where
seemingly unrelated .cpp files that include the .h
(but do not otherwise use the class that depends on the forward declaration).

Instead of forward declaration, include the full vector ops definition.

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80841
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 4034d0ce207d0c545799ceae5aaf2e35d400407c by kcc
[libFuzzer] Fixed description of fuzzer merge control file.

Summary:
The description of the fuzzer merge control file appears to be incorrect/out of date.
No "DONE" line appears in the control file. Rather, FT and COV are the markers that appear
following the STARTED line.

Reviewers: metzman, kcc

Reviewed By: kcc

Subscribers: #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D80788
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMerge.h
Commit 5a99ec10f5df7fa351e81b9bc90bf38e670653ae by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from X86

Reviewers: efriedma, sdesmalen, c-rhodes, craig.topper

Reviewed By: craig.topper

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80331
The file was modifiedllvm/lib/Target/X86/X86PartialReduction.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp