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)
Commit 5101e7e8dd01719f9161e01e2f053c9797c247a8 by llvmgnsyncbot
[gn build] Port d53b4bee0cc
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/ (diff)
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:

Reviewed by: grimar, rupprecht, MaskRay
The file was modifiedllvm/include/llvm/Object/SymbolicFile.h (diff)
The file was addedllvm/test/Object/archive-unknown-filetype.test
The file was modifiedlld/test/ELF/invalid/data-encoding.test (diff)
The file was modifiedllvm/lib/Object/ArchiveWriter.cpp (diff)
The file was addedllvm/test/Object/archive-malformed-object.test
The file was modifiedlld/test/ELF/invalid/invalid-file-class.test (diff)
The file was modifiedllvm/lib/Object/SymbolicFile.cpp (diff)
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:
The file was modifiedllvm/lib/CodeGen/GlobalMerge.cpp (diff)
Commit 866d9b03f2902c177533d7ce148339d47bf092e1 by jay.foad
[AMDGPU] Tiny cleanup in isLegalFLATOffset. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)
Commit 95a440b936c26b97eb47d691df551d21ce8c13d3 by llvm-dev
[IR] PatternMatch - add m_FShl/m_FShr funnel shift intrinsic matchers. NFCI.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)
The file was modifiedllvm/include/llvm/IR/PatternMatch.h (diff)
Commit 567049f89282d10ec2e82ea21e239fb0174a0ee1 by llvm-dev
[InstCombine] Use m_FAbs matcher helper. NFCI.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)
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

Reviewed By: hubert.reinterpretcast, Whitney

Differential Revision:
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake (diff)
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:
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt (diff)
The file was addedclang-tools-extra/clangd/test/check.test
The file was addedclang-tools-extra/clangd/tool/Check.cpp
The file was addedclang-tools-extra/clangd/test/check-fail.test
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp (diff)