SuccessChanges

Summary

  1. [gn build] Port d53b4bee0cc (details)
  2. [Archive] Don't throw away errors for malformed archive members (details)
  3. [SVE][CodeGen] Replace use of TypeSize operator< in GlobalMerge::doMerge (details)
  4. [AMDGPU] Tiny cleanup in isLegalFLATOffset. NFC. (details)
  5. [IR] PatternMatch - add m_FShl/m_FShr funnel shift intrinsic matchers. NFCI. (details)
  6. [InstCombine] Use m_FAbs matcher helper. NFCI. (details)
  7. [compiler-rt][cmake][powerpc] Remove TEST_BIG_ENDIAN from base-config-ix.cmake (details)
  8. [clangd] clangd --check: standalone diagnosis of common problems (details)
  9. Migrate Declarators to use the List API (details)
  10. Revert "[clangd] clangd --check: standalone diagnosis of common problems" (details)
  11. Reland [clangd] clangd --check: standalone diagnosis of common problems (details)
  12. [gn build] Port f6b1323bc68 (details)
  13. [AMDGPU] Simplify getNumFlatOffsetBits. NFC. (details)
  14. [flang][openacc] Fix unparsing of combined construct (bug 47659) (details)
  15. [libc++][ci] Add a configuration testing Apple's system library build (details)
  16. [ARM] Removed hasSideEffects from signed/unsigned saturates (details)
  17. [clang][opencl][codegen] Remove the insertion of `correctly-rounded-divide-sqrt-fp-math` fn-attr. (details)
  18. [InstCombine] collectBitParts - convert to use PatterMatch matchers and avoid IntegerType casts. (details)
Commit 5101e7e8dd01719f9161e01e2f053c9797c247a8 by llvmgnsyncbot
[gn build] Port d53b4bee0cc
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Commit a20168d0307860047ad7c8a2074f98fc25b057c2 by james.henderson
[Archive] Don't throw away errors for malformed archive members

When adding an archive member with a problem, e.g. a new bitcode with an
old archiver, containing an unsupported attribute, or an ELF file with a
malformed symbol table, the archiver would throw away the error and
simply add the member to the archive without any symbol entries. This
meant that the resultant archive could be silently unusable when not
using --whole-archive, and result in unexpected undefined symbols.

This change fixes this issue by addressing two FIXMEs and only throwing
away not-an-object errors. However, this meant that some LLD tests which
didn't need symbol tables and were using invalid members deliberately to
test the linker's malformed input handling no longer worked, so this
patch also stops the archiver from looking for symbols in an object if
it doesn't require a symbol table, and updates the tests accordingly.

Differential Revision: https://reviews.llvm.org/D88288

Reviewed by: grimar, rupprecht, MaskRay
The file was modifiedllvm/lib/Object/ArchiveWriter.cpp
The file was modifiedllvm/include/llvm/Object/SymbolicFile.h
The file was addedllvm/test/Object/archive-unknown-filetype.test
The file was addedllvm/test/Object/archive-malformed-object.test
The file was modifiedlld/test/ELF/invalid/invalid-file-class.test
The file was modifiedllvm/lib/Object/SymbolicFile.cpp
The file was modifiedlld/test/ELF/invalid/data-encoding.test
Commit 15474d769110139f9cc96d42434988d7aaa77634 by david.sherwood
[SVE][CodeGen] Replace use of TypeSize operator< in GlobalMerge::doMerge

We don't support global variables with scalable vector types so I've
changed the code to compare the fixed sizes instead.

Differential Revision: https://reviews.llvm.org/D88564
The file was modifiedllvm/lib/CodeGen/GlobalMerge.cpp
Commit 866d9b03f2902c177533d7ce148339d47bf092e1 by jay.foad
[AMDGPU] Tiny cleanup in isLegalFLATOffset. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 95a440b936c26b97eb47d691df551d21ce8c13d3 by llvm-dev
[IR] PatternMatch - add m_FShl/m_FShr funnel shift intrinsic matchers. NFCI.
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 567049f89282d10ec2e82ea21e239fb0174a0ee1 by llvm-dev
[InstCombine] Use m_FAbs matcher helper. NFCI.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit 5665ec4e182dba9965847d3698ad64a950bb00a7 by daltenty
[compiler-rt][cmake][powerpc] Remove TEST_BIG_ENDIAN from base-config-ix.cmake

It's actually not safe to call TEST_BIG_ENDIAN here, since we may be
running from the builtins build (i.e builtins-config-ix) context where
TEST_COMPILE_ONLY  is set since without builtins already built we may
fail to link, and TEST_BIG_ENDIAN internally performs tests which may
fail to link without builtins.

Fortunately powerpc is the only target that uses this information here and
we actually already know the whether we are targeting the LE variant due
to earlier macro checks, so we can simply this to remove our reliance on
TEST_BIG_ENDIAN.

Reviewed By: hubert.reinterpretcast, Whitney

Differential Revision: https://reviews.llvm.org/D88608
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
Commit 79fbcbff41734e3d07e6200d33c3e40732dfae6a by sam.mccall
[clangd] clangd --check: standalone diagnosis of common problems

This is a tool to simply parse a file as clangd would, and run some
common features (code actions, go-to-definition, hover) in an attempt to
trigger or reproduce crashes, error diagnostics, etc.

This is easier and more predictable than loading the file in clangd, because:
- there's no editor/plugin variation to worry about
- there's no accidental variation of user behavior or other extraneous requests
- we trigger features at every token, rather than guessing
- everything is synchronoous, logs are easier to reason about
- it's easier to (get users to) capture logs when running on the command-line

This is a fairly lightweight variant of this idea.
We could do a lot more with it, and maybe we should.
But I can't in the near future, and experience will tell us if we made
the right tradeoffs and if it's worth investing further.

Differential Revision: https://reviews.llvm.org/D88338
The file was addedclang-tools-extra/clangd/tool/Check.cpp
The file was addedclang-tools-extra/clangd/test/check.test
The file was addedclang-tools-extra/clangd/test/check-fail.test
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt
Commit 5011d43108d1de30a056d66e73fa19062e0e84b7 by ecaldas
Migrate Declarators to use the List API

After this change all nodes that have a delimited-list are using the
`List` API.

Implementation details:
Let's look at a declaration with multiple declarators:
`int a, b;`
To generate a declarator list node we need to have the range of
declarators: `a, b`:
However, the `ClangAST` actually stores them as separate declarations:
`int a   ;`
`int    b;`
We solve that by appropriately marking the declarators on each separate
declaration in the `ClangAST` and then for the final declarator `int
b`, shrinking its range to fit to the already marked declarators.

Differential Revision: https://reviews.llvm.org/D88403
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/SynthesisTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
Commit 30d07b14a274f075a01d201ad59723ca1a4a9b57 by sam.mccall
Revert "[clangd] clangd --check: standalone diagnosis of common problems"

This reverts commit 79fbcbff41734e3d07e6200d33c3e40732dfae6a.

The fallback command fails to parse for the test files if there's no
compile_commands.json in the tree.
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt
The file was removedclang-tools-extra/clangd/test/check-fail.test
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was removedclang-tools-extra/clangd/tool/Check.cpp
The file was removedclang-tools-extra/clangd/test/check.test
Commit f6b1323bc680812e04904293854c356530985bcd by sam.mccall
Reland [clangd] clangd --check: standalone diagnosis of common problems

This reverts commit 30d07b14a274f075a01d201ad59723ca1a4a9b57.

Test failures have (hopefully) been fixed.
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was addedclang-tools-extra/clangd/test/check.test
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt
The file was addedclang-tools-extra/clangd/tool/Check.cpp
The file was addedclang-tools-extra/clangd/test/check-fail.test
Commit 56d8a37216200a3312db277e4cf054b202b39ace by llvmgnsyncbot
[gn build] Port f6b1323bc68
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/tool/BUILD.gn
Commit e20f4592297ba44644a8ec75b9d182a903cc0df3 by jay.foad
[AMDGPU] Simplify getNumFlatOffsetBits. NFC.

Remove some checks that have already been done in the only caller.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Commit 91b49fc2571c3d0ac33d447629cfb7789a7fde0d by clementval
[flang][openacc] Fix unparsing of combined construct (bug 47659)

This patch fixes the bug report in https://bugs.llvm.org/show_bug.cgi?id=47659

Reviewed By: sameeranjoshi

Differential Revision: https://reviews.llvm.org/D88597
The file was modifiedflang/lib/Parser/unparse.cpp
The file was addedflang/test/Parser/acc-unparse.f90
Commit 79410ddb96d42b72b5a7081fd680a28ae760fd51 by Louis Dionne
[libc++][ci] Add a configuration testing Apple's system library build

Differential Revision: https://reviews.llvm.org/D88650
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
Commit 48c9e8244b6b8aeb6a4fd10dcf4c6995f1fec9a0 by meera.nakrani
[ARM] Removed hasSideEffects from signed/unsigned saturates

Removed hasSideEffects from SSAT and USAT so that they are no longer
marked as unpredictable.

Differential Revision: https://reviews.llvm.org/D88545
The file was modifiedllvm/test/tools/llvm-mca/ARM/m4-int.s
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
Commit 8c36eaf0377285acb89c319582d9666e60f42007 by michael.hliao
[clang][opencl][codegen] Remove the insertion of `correctly-rounded-divide-sqrt-fp-math` fn-attr.

- `-cl-fp32-correctly-rounded-divide-sqrt` is already handled in a
  per-instruction manner by annotating the accuracy required. There's no
  need to add that fn-attr. So far, there's no in-tree backend handling
  that attr and that OpenCL specific option.
- In case that out-of-tree backends are broken, this change could be
  reverted if those backends could not be fixed.

Differential Revision: https://reviews.llvm.org/D88424
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-attrs.cl
The file was modifiedclang/test/CodeGenOpenCL/fpmath.cl
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 29ac9fae54c9cbd819ce400d42dd2e76bf5259ab by llvm-dev
[InstCombine] collectBitParts - convert to use PatterMatch matchers and avoid IntegerType casts.

Make sure we're using getScalarSizeInBits instead of cast<IntegerType> to get Type bit widths.

This is preliminary cleanup before we can start adding vector support to the bswap/bitreverse (element level) matching.
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp

Summary

  1. Revert accidental commits. (details)
Commit 83e8ccb5b5b1a22c79dd31735330cd2b95c6a789 by zakk.chen
Revert accidental commits.

Revert "[RISCV] get toolchain path from enviroment variable"
This reverts commit f9af83f302b397d59361f0dd72f2b55171535901.

Revert "[RISCV] Add a toolchain file for RISC-V."
This reverts commit 8141fe6213d911f469f92bfe5f8a85672f9d8a3d.

Revert "[HACK] Disable matrix_types tests."
This reverts commit a9efc190f2a5c0735562c014211bfce35706d5bd.
The file was removedcmake/caches/target-riscv64-linux.cmake
The file was modifiedSingleSource/UnitTests/matrix-types-spec.cpp (diff)