SuccessChanges

Summary

  1. [libomptarget] Fix a bug whereby firstprivates are not copied over to the device (details)
  2. [scudo] Try to re-enabled the test on arm (details)
  3. precommit tests for D102934 and D102928 (details)
  4. [Matrix] Remove unused matrix-propagate-shape option. (details)
  5. [libcxx][ranges] Add ranges::data CPO. (details)
  6. [gn build] Port 9db55b314b5b (details)
  7. [nfc][lit] Relax spacing check (details)
  8. [NFC][lit] Add skipped test into upstream format (details)
  9. [NFC][lit] Add missing UNRESOLVED test (details)
  10. [mlir][sparse] add full dimension ordering support (details)
  11. [InstSimplify] add tests for rem-of-mul; NFC (details)
  12. [libcxx][gardening] Re-order includes across libcxx. (details)
  13. [Verifier] Move some atomicrmw/cmpxchg checks to instruction creation (details)
  14. [LLD][COFF] PR49068: Include the IMAGE_REL_BASED_HIGHLOW relocation base type when the machine is 64 bits and the relocation type is ADDR32 (details)
  15. [OpenMP] libomp: move warnings to after library initialization (details)
  16. RISCV: add a few deprecated aliases for CSRs (details)
  17. [clang] Don't pass multiple backend options if mixing -mimplicit-it and -Wa,-mimplicit-it (details)
  18. [NFC][sanitizer] Fix android bot after D102815 (details)
Commit d0bc04d6b91d6bc5f15c981da9d2b911fb578c59 by georgios.rokos
[libomptarget] Fix a bug whereby firstprivates are not copied over to the device

The check for the TO flag when processing firstprivates is missing. As a result,
sometimes the device copy of a firstprivate never gets initialized. Currectly we
try to force lambda structs to be allocated immediately by marking them as a
non-firstprivate, so that PrivateArgumentManagerTy::addArg allocates memory for
them immediately. However, calling addArg with IsFirstPrivate=false makes the
function skip initializing the device copy. Whether an argument is firstprivate
and whether we need to allocate memory immediately are not synonyms, so this
patch introduces one more control variable for immediate allocation and sets it
apart from initialization.

Differential Revision: https://reviews.llvm.org/D102890
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was addedopenmp/libomptarget/test/mapping/lambda_by_value.cpp
Commit 1c6272a481fda287f9b506a83ed21d74131742af by Vitaly Buka
[scudo] Try to re-enabled the test on arm

It's probably fixed by D102886.

Builder to watch https://lab.llvm.org/buildbot/#/builders/clang-cmake-armv7-full

Reviewed By: hctim, cryptoad

Differential Revision: https://reviews.llvm.org/D102887
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Commit 317c105c6a4429aa1b51a4157719ed3ca8e858bf by listmail
precommit tests for D102934 and D102928
The file was addedllvm/test/Transforms/LoopUnroll/unroll-cost-symbolic-execute.ll
Commit a0ce6439cace9806aa303fa4a412c7b5cea7eca4 by flo
[Matrix] Remove unused matrix-propagate-shape option.

The option was used during the initial bringup, but it does not add any
value at this point. Remove it.

Reviewed By: anemet

Differential Revision: https://reviews.llvm.org/D102930
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Commit 9db55b314b5b9e387ed36fe61b829efcc98b7c7b by zoecarver
[libcxx][ranges] Add ranges::data CPO.

This is the second to last one! Based on D101396. Depends on D100255. Refs D101079 and D101193.

Differential Revision: https://reviews.llvm.org/D101476
The file was addedlibcxx/include/__ranges/data.h
The file was modifiedlibcxx/include/ranges
The file was addedlibcxx/test/std/ranges/range.access/range.prim/data.pass.cpp
The file was addedlibcxx/test/std/ranges/range.access/range.prim/data.incomplete.verify.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
Commit 9039ade209ab2922ebfe4b8415e3e987642eea07 by llvmgnsyncbot
[gn build] Port 9db55b314b5b
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit fa62a44e4e6975bbb9a67e92129e694d39f553d0 by Vitaly Buka
[nfc][lit] Relax spacing check
The file was modifiedllvm/utils/lit/tests/googletest-format.py
The file was modifiedllvm/utils/lit/tests/googletest-upstream-format.py
Commit 329400130407b73a70070ac761b6f8506f4a1361 by Vitaly Buka
[NFC][lit] Add skipped test into upstream format

Missing from D102694
The file was modifiedllvm/utils/lit/tests/googletest-format.py
The file was modifiedllvm/utils/lit/tests/googletest-upstream-format.py
The file was modifiedllvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py
Commit bbdabb044d45fcb08b4f2d6ca874c40ec9c6856c by Vitaly Buka
[NFC][lit] Add missing UNRESOLVED test

D102899 will change it behavour.
The file was modifiedllvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py
The file was modifiedllvm/utils/lit/tests/googletest-upstream-format.py
The file was modifiedllvm/utils/lit/tests/googletest-format.py
The file was modifiedllvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py
Commit c194b49c9c8dfe01804ecd0b90814d1e98382fc1 by ajcbik
[mlir][sparse] add full dimension ordering support

This revision completes the "dimension ordering" feature
of sparse tensor types that enables the programmer to
define a preferred order on dimension access (other than
the default left-to-right order). This enables e.g. selection
of column-major over row-major storage for sparse matrices,
but generalized to any rank, as in:

dimOrdering = affine_map<(i,j,k,l,m,n,o,p) -> (p,o,j,k,i,l,m,n)>

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D102856
The file was modifiedmlir/include/mlir/ExecutionEngine/CRunnerUtils.h
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/conversion.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
The file was addedmlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
Commit 3c4b79481d457b60a1c80fbdac5335be681a9dbe by spatel
[InstSimplify] add tests for rem-of-mul; NFC

These are baseline tests for D102864
The file was modifiedllvm/test/Transforms/InstSimplify/rem.ll
Commit 8110a7316401b30632d7efb0211f6059243260ac by zoecarver
[libcxx][gardening] Re-order includes across libcxx.

This commit alphabetizes all includes in libcxx. This is a NFC.

This can also serve as a pseudo "announcement" for how we should order these headers going forward (note: double underscores go before other headers).

Differential Revision: https://reviews.llvm.org/D102941
The file was modifiedlibcxx/include/__support/ibm/xlocale.h
The file was modifiedlibcxx/include/__support/openbsd/xlocale.h
The file was modifiedlibcxx/include/__support/win32/locale_win32.h
The file was modifiedlibcxx/include/__support/win32/limits_msvc_win32.h
The file was modifiedlibcxx/include/__ranges/data.h
The file was modifiedlibcxx/include/__ranges/size.h
The file was modifiedlibcxx/include/__iterator/concepts.h
The file was modifiedlibcxx/include/__memory/shared_ptr.h
The file was modifiedlibcxx/include/__bsd_locale_fallbacks.h
The file was modifiedlibcxx/include/__iterator/iterator_traits.h
Commit 7a29a1230148385e93493891cc7eb7f7f3b4a6cb by aeubanks
[Verifier] Move some atomicrmw/cmpxchg checks to instruction creation

These checks already exist as asserts when creating the corresponding
instruction. Anybody creating these instructions already need to take
care to not break these checks.

Move the checks for success/failure ordering in cmpxchg from the
verifier to the LLParser and BitcodeReader plus an assert.

Add some tests for cmpxchg ordering. The .bc files are created from the
.ll files with an llvm-as with these checks disabled.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102803
The file was addedllvm/test/Assembler/cmpxchg-ordering-2.ll
The file was addedllvm/test/Bitcode/Inputs/invalid-cmpxchg-ordering-4.bc
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was addedllvm/test/Assembler/cmpxchg-ordering-3.ll
The file was addedllvm/test/Assembler/cmpxchg-ordering.ll
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/test/Bitcode/invalid.test
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was addedllvm/test/Bitcode/Inputs/invalid-cmpxchg-ordering-2.bc
The file was addedllvm/test/Assembler/cmpxchg-ordering-4.ll
The file was addedllvm/test/Bitcode/Inputs/invalid-cmpxchg-ordering-3.bc
The file was addedllvm/test/Bitcode/Inputs/invalid-cmpxchg-ordering.bc
Commit 4fb131b49795ea11f7f56af1f4896fb6996faf0f by martin
[LLD][COFF] PR49068: Include the IMAGE_REL_BASED_HIGHLOW relocation base type when the machine is 64 bits and the relocation type is ADDR32

The COFF driver produces an ABSOLUTE relocation base for an ADDR32
relocation type and the system is 64 bits (machine=AMD64). The
relocation information won't be added in the output and could
produce an incorrect address access during run-time. This change
set checks if the relocation type is IMAGE_REL_AMD64_ADDR32 and
if so, adds the relocated symbol as IMAGE_REL_BASED_HIGHLOW base.

Differential Revision: https://reviews.llvm.org/D96619
The file was addedlld/test/COFF/reloc-x64-add32.s
The file was modifiedlld/COFF/Chunks.cpp
Commit aa6e7e8da8f5a2706f0b330718df203b3650408e by Andrey.Churbanov
[OpenMP] libomp: move warnings to after library initialization

Warnings on deprecated api cannot be suppressed if the library is not initialized.
With this change it is possible to set KMP_WARNINGS=false to suppress the warnings.

Differential Revision: https://reviews.llvm.org/D102676
The file was addedopenmp/runtime/test/api/omp_deprecated.c
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
Commit 6c6b3e3afe7cbf43d6ab2aa780367e6942f1b6b4 by Saleem Abdulrasool
RISCV: add a few deprecated aliases for CSRs

This adds the {s,u,m}badaddr CSR aliases as well as the sptbr alias.
These are for compatibility with binutils.  Furthermore, these are used
by the RISC-V Proxy Kernel and are required to enable building the Proxy
Kernel with the LLVM IAS.

The aliases here are deprecated.  These are being introduced in order to
provide a compatibility story for the existing GNU toolchain, which
still supports the deprecated spelling in the assembler.  However, in
order to encourage the migration of existing coding, we provide warnings
indicating that the aliased CSRs are deprecated and should be replaced.

Differential Revision: https://reviews.llvm.org/D101919
Reviewed By: Craig Topper
The file was addedllvm/test/MC/RISCV/deprecated-csr-names.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVSystemOperands.td
Commit 4468e5b8999291cc84b78f33f207dcd0e58146bc by martin
[clang] Don't pass multiple backend options if mixing -mimplicit-it and -Wa,-mimplicit-it

If multiple instances of the -arm-implicit-it option is passed to
the backend, it errors out.

Also fix cases where there are multiple -Wa,-mimplicit-it; the existing
tests indicate that the last one specified takes effect, while in
practice it passed double options, which didn't work as intended.

Differential Revision: https://reviews.llvm.org/D102812
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/arm-target-as-mimplicit-it.s
Commit f50b87e9ef42efe80e2b3364df848d102075dd11 by Vitaly Buka
[NFC][sanitizer] Fix android bot after D102815

https://lab.llvm.org/buildbot/#/builders/77/builds/6519
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp