SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [SCEV][NFC] Introduce isKnownPredicateAt method (details)
  2. [RISCV][ASAN] implementation for previous/next pc routines  for riscv64 (details)
  3. [LLDB] Remove AArch64/Linux xfail decorator from TestGuiBasicDebug (details)
  4. We don't need two different ways to get commit access, just simplify (details)
  5. [AVR] fix interrupt stack pointer restoration (details)
  6. [AArch64][GlobalISel] Select all-zero G_BUILD_VECTOR into a zero mov. (details)
  7. [MC] Inline MCExpr::printVariantKind & remove UseParensForSymbolVariantBit (details)
  8. [ARM][LowOverheadLoops] Use iterator for InsertPt. (details)
  9. [sanitizer] Fix SymbolizedStack leak (details)
  10. [ORC][examples] Remove ThinLtoJIT example after LLJITWithThinLTOSummaries landed in OrcV2Examples (details)
  11. [ORC][examples] Temporarily remove LLJITWithChildProcess until ORC TPC lands (details)
  12. [ARM][LowOverheadLoops] Start insertion point (details)
  13. [ARM][LowOverheadLoops] Iteration count liveness (details)
  14. [NFC] Iterate across an explicit list of scalable MVTs when driving setOperationAction. (details)
  15. [SVE][CodeGen] Legalisation of integer -> floating point conversions (details)
  16. [ARM][LowOverheadLoops] Adjust Start insertion. (details)
  17. [SCEV] Prove implicaitons via AddRec start (details)
  18. [mlir][Linalg] Fix ASAN bug (details)
  19. [SVE][CodeGen] Lower scalable fp_extend & fp_round operations (details)
  20. [CFGuard] Add address-taken IAT tables and delay-load support (details)
  21. [InstCombine] collectBitParts - use APInt directly to check for out of range bit shifts. NFCI. (details)
  22. [lldb] Skip the flakey part of TestStopHookScripted on Linux (details)
  23. [libc++] Simplify how we re-export symbols from libc++abi (details)
  24. [lldb] Add missing import for LLDB test decorators to TestStopHookScripted (details)
  25. [NFC][ARM] LowOverheadLoop DEBUG statements (details)
  26. [LoopFlatten] Add a loop-flattening pass (details)
  27. [gn build] Port d53b4bee0cc (details)
  28. [Archive] Don't throw away errors for malformed archive members (details)
  29. [SVE][CodeGen] Replace use of TypeSize operator< in GlobalMerge::doMerge (details)
  30. [AMDGPU] Tiny cleanup in isLegalFLATOffset. NFC. (details)
  31. [IR] PatternMatch - add m_FShl/m_FShr funnel shift intrinsic matchers. NFCI. (details)
  32. [InstCombine] Use m_FAbs matcher helper. NFCI. (details)
  33. [compiler-rt][cmake][powerpc] Remove TEST_BIG_ENDIAN from base-config-ix.cmake (details)
  34. [clangd] clangd --check: standalone diagnosis of common problems (details)
  35. Migrate Declarators to use the List API (details)
  36. Revert "[clangd] clangd --check: standalone diagnosis of common problems" (details)
  37. Reland [clangd] clangd --check: standalone diagnosis of common problems (details)
  38. [gn build] Port f6b1323bc68 (details)
  39. [AMDGPU] Simplify getNumFlatOffsetBits. NFC. (details)
  40. [flang][openacc] Fix unparsing of combined construct (bug 47659) (details)
  41. [libc++][ci] Add a configuration testing Apple's system library build (details)
  42. [ARM] Removed hasSideEffects from signed/unsigned saturates (details)
  43. [clang][opencl][codegen] Remove the insertion of `correctly-rounded-divide-sqrt-fp-math` fn-attr. (details)
Commit c93a39dd1fdd74cb87ef65cfd42d81c62a07ed91 by mkazantsev
[SCEV][NFC] Introduce isKnownPredicateAt method

We can query known predicates in different points, respecting
their dominating conditions.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit de973e0b07207a22d5ca04fd56fad6a40ced4172 by kupokupokupopo
[RISCV][ASAN] implementation for previous/next pc routines  for riscv64

[7/11] patch series to port ASAN for riscv64

Depends On D87575

Reviewed By: eugenis, vitalybuka, luismarques

Differential Revision: https://reviews.llvm.org/D87577
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp
Commit 3d27a99b2ed24e1951483cf13357ec188ad44bb0 by omair.javaid
[LLDB] Remove AArch64/Linux xfail decorator from TestGuiBasicDebug

This test now passes on AArch64/Linux after following change by Jonas:
d689570d7dcb16ee241676e22324dc456837eb23
The file was modifiedlldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
Commit 71dcbe1e88b446ae7f405da1b3006b966ccc6ca6 by clattner
We don't need two different ways to get commit access, just simplify
the policy here so that old SVN users and new contributors do the same
thing.
The file was modifiedllvm/docs/DeveloperPolicy.rst
Commit 1fedd90cc7a8deabf7d75d3e668bd56ce9b1ffcc by me
[AVR] fix interrupt stack pointer restoration

This patch fixes a corruption of the stack pointer and several registers in any AVR interrupt with non-empty stack frame.  Previously, the callee-saved registers were popped before restoring the stack pointer, causing the pointer math to use the wrong base value while also corrupting the caller's register.  This change fixes the code to restore the stack pointer last before exiting the interrupt service routine.

https://bugs.llvm.org/show_bug.cgi?id=47253

Reviewed By: dylanmckay

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

Patch by Andrew Dona-Couch.
The file was modifiedllvm/lib/Target/AVR/AVRFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AVR/interrupts.ll
Commit da11479fd1fa62e59a16790f4dc2d80c9facf2da by Amara Emerson
[AArch64][GlobalISel] Select all-zero G_BUILD_VECTOR into a zero mov.

Unfortunately the leaf SDAG patterns aren't supported yet so we need to do
this manually, but it's not a significant amount of code anyway.

Differential Revision: https://reviews.llvm.org/D87924
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
The file was modifiedllvm/test/CodeGen/AArch64/combine-loads.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll
Commit 1e8fbb3b745916160a35a6af4dfdba9bbe26c730 by i
[MC] Inline MCExpr::printVariantKind & remove UseParensForSymbolVariantBit

Note, MAI may be nullptr in -show-encoding.
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/include/llvm/MC/MCExpr.h
Commit dfa2c14b8fe8166ff9ff951b8b70a2004401d0db by sam.parker
[ARM][LowOverheadLoops] Use iterator for InsertPt.

Use a MachineBasicBlock::iterator instead of a MachineInstr* for the
position of our LoopStart instruction. NFCish, as it change debug
info.
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 456974ac78f107d74b6db35401aff5ac4ab2665d by Vitaly Buka
[sanitizer] Fix SymbolizedStack leak
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
Commit e5795a1b364d6d19cd557a3a6d38759eb9d8631f by Stefan Gränitz
[ORC][examples] Remove ThinLtoJIT example after LLJITWithThinLTOSummaries landed in OrcV2Examples

The ThinLtoJIT example was aiming to utilize ThinLTO summaries and concurrency in ORC for speculative compilation. The latter is heavily dependent on asynchronous task scheduling which is probably done better out-of-tree with a mature library like Boost-ASIO. The pure utilization of ThinLTO summaries in ORC is demonstrated in OrcV2Examples/LLJITWithThinLTOSummaries.
The file was removedllvm/examples/ThinLtoJIT/ThinLtoModuleIndex.h
The file was removedllvm/examples/ThinLtoJIT/ThinLtoJIT.h
The file was removedllvm/examples/ThinLtoJIT/bench
The file was removedllvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.h
The file was removedllvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.cpp
The file was removedllvm/examples/ThinLtoJIT/main.cpp
The file was removedllvm/examples/ThinLtoJIT/CMakeLists.txt
The file was removedllvm/examples/ThinLtoJIT/ThinLtoJIT.cpp
The file was removedllvm/examples/ThinLtoJIT/ThinLtoModuleIndex.cpp
The file was removedllvm/examples/ThinLtoJIT/ThinLtoDiscoveryThread.cpp
The file was removedllvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.h
The file was modifiedllvm/examples/CMakeLists.txt
Commit 306571cc4642c4e443c8cb0593a2b595ef96580e by Stefan Gränitz
[ORC][examples] Temporarily remove LLJITWithChildProcess until ORC TPC lands

This solves a phase ordering problem: OrcV2 remote process support depends on OrcV2 removable code, OrcV2 removable code depends on OrcV1 removal, OrcV1 removal depends on LLJITWithChildProcess migration, and LLJITWithChildProcess migration depends on OrcV2 TargetProcessControl support.
The file was modifiedllvm/examples/OrcV2Examples/CMakeLists.txt
The file was removedllvm/examples/OrcV2Examples/LLJITWithChildProcess/LLJITWithChildProcess.cpp
The file was removedllvm/examples/OrcV2Examples/LLJITWithChildProcess/CMakeLists.txt
The file was removedllvm/examples/OrcV2Examples/LLJITWithChildProcess/RemoteJITUtils.h
Commit 7b90516d479ca6aadf4e261747d62c854d6f5463 by sam.parker
[ARM][LowOverheadLoops] Start insertion point

If possible, try not to move the start position earlier than it
already is.

Differential Revision: https://reviews.llvm.org/D88542
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-mov.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
Commit 6ec5f324973dfbe7b4a489593dde5073ff63ff64 by sam.parker
[ARM][LowOverheadLoops] Iteration count liveness

Before deciding to insert a [W|D]LSTP, check that defining LR with
the element count won't affect any other instructions that should be
taking the iteration count.

Differential Revision: https://reviews.llvm.org/D88549
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 8931c3d682763e6129f8d05ebe4e3b8dcc3e08e2 by paul.walker
[NFC] Iterate across an explicit list of scalable MVTs when driving setOperationAction.

Iterating across all of integer_scalable_vector_valuetypes seems
wasteful when there's only a handful we care about.

Also removes some rouge whitespace.

Differential Revision: https://reviews.llvm.org/D88552
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 75db7cf78ad5138e767b8d04c9a758009191ee0c by kerry.mclaughlin
[SVE][CodeGen] Legalisation of integer -> floating point conversions

Splitting the operand of a scalable [S|U]INT_TO_FP results in a
concat_vectors operation where the operands are unpacked FP
scalable vectors (e.g. nxv2f32).
This patch adds custom lowering of concat_vectors which
checks that the number of operands is 2, and isel patterns
to match concat_vectors of scalable FP types with uzp1.

Reviewed By: efriedma, paulwalker-arm

Differential Revision: https://reviews.llvm.org/D88033
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-split-fcvt.ll
Commit 38f625d0d1360b035271422bab922d22ed04d79a by sam.parker
[ARM][LowOverheadLoops] Adjust Start insertion.

Try to move the insertion point to become the terminator of the
block, usually the preheader.

Differential Revision: https://reviews.llvm.org/D88638
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-threshold.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fma-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
Commit 69acdfe075fa8eb18781f88f4d0cd1ea40fa6e48 by mkazantsev
[SCEV] Prove implicaitons via AddRec start

If we know that some predicate is true for AddRec and an invariant
(w.r.t. this AddRec's loop), this fact is, in particular, true on the first
iteration. We can try to prove the facts we need using the start value.

The motivating example is proving things like
```
  isImpliedCondOperands(>=, X, 0, {X,+,-1}, 0}
```

Differential Revision: https://reviews.llvm.org/D88208
Reviewed By: reames
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit a81b938b6dee0e1ed4dd44e7d59325d0aa4774cc by ntv
[mlir][Linalg] Fix ASAN bug

```
LinalgTilingOptions &setTileSizes(ValueRange ts)
```
makes it all too easy to create stack-use-after-return errors.

In particular, c694588fc52a8845174fee06ad0bcfa338e87816 introduced one such issue.

Instead just take a copy in the lambda and be done with it.
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit fcf70e1e3b1d57d5fde6b99d0188d1b1774429af by kerry.mclaughlin
[SVE][CodeGen] Lower scalable fp_extend & fp_round operations

This patch adds FP_EXTEND_MERGE_PASSTHRU & FP_ROUND_MERGE_PASSTHRU
ISD nodes, used to lower scalable vector fp_extend/fp_round operations.
fp_round has an additional argument, the 'trunc' flag, which is an integer of zero or one.

This also fixes a warning introduced by the new tests added to sve-split-fcvt.ll,
resulting from an implicit TypeSize -> uint64_t cast in SplitVecOp_FP_ROUND.

Reviewed By: sdesmalen, paulwalker-arm

Differential Revision: https://reviews.llvm.org/D88321
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-fcvt.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-split-fcvt.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit ef4e971e5e18ae796466623df8f26265ba6bdfb5 by David.Chisnall
[CFGuard] Add address-taken IAT tables and delay-load support

This patch adds support for creating Guard Address-Taken IAT Entry Tables (.giats$y sections) in object files, matching the behavior of MSVC. These contain lists of address-taken imported functions, which are used by the linker to create the final GIATS table.
Additionally, if any DLLs are delay-loaded, the linker must look through the .giats tables and add the respective load thunks of address-taken imports to the GFIDS table, as these are also valid call targets.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D87544
The file was modifiedlld/COFF/InputFiles.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
The file was modifiedlld/COFF/DLL.cpp
The file was modifiedlld/COFF/Symbols.h
The file was modifiedlld/COFF/InputFiles.cpp
The file was addedlld/test/COFF/giats.s
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedlld/COFF/ICF.cpp
The file was modifiedllvm/include/llvm/MC/MCObjectFileInfo.h
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was addedllvm/test/CodeGen/WinCFGuard/cfguard-giats.ll
The file was modifiedlld/COFF/Writer.cpp
Commit bc730b5e43ad4b7efeca977359271fa0eaa7ed45 by llvm-dev
[InstCombine] collectBitParts - use APInt directly to check for out of range bit shifts. NFCI.
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit b272250221595b14c32db6721a0ae4e5f17ea4d2 by Raphael Isemann
[lldb] Skip the flakey part of TestStopHookScripted on Linux

This test seems to randomly fail on Linux machines. It's only one part of the
test failing randomly, so let's just skip it instead of reverting the whole
patch (again).
The file was modifiedlldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
Commit 4f13b999297140486b2faa1b5d8d7c768fb40dfb by Louis Dionne
[libc++] Simplify how we re-export symbols from libc++abi

Instead of managing two copies of the symbol lists, reuse the same list
in libc++abi and libc++.

Differential Revision: https://reviews.llvm.org/D88623
The file was removedlibcxx/lib/libc++abi-exceptions.sjlj.exp
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/lib/abi/CHANGELOG.TXT
The file was removedlibcxx/lib/libc++abi-exceptions.exp
The file was modifiedlibcxx/lib/abi/x86_64-apple-darwin.v1.abilist
The file was removedlibcxx/lib/libc++abi-new-delete.exp
Commit cccb7cf1a52f38182f56d947bd609027726c778b by Raphael Isemann
[lldb] Add missing import for LLDB test decorators to TestStopHookScripted

This test wasn't using decorators before and was missing the import, so my
previous commit broke the test.
The file was modifiedlldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
Commit 7e02bc81c6dad90b0f98f74152f4b0991087d78d by sam.parker
[NFC][ARM] LowOverheadLoop DEBUG statements
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit d53b4bee0ccd408cfe6e592540858046244e74ce by sjoerd.meijer
[LoopFlatten] Add a loop-flattening pass

This is a simple pass that flattens nested loops.  The intention is to optimise
loop nests like this, which together access an array linearly:

  for (int i = 0; i < N; ++i)
    for (int j = 0; j < M; ++j)
      f(A[i*M+j]);

into one loop:

  for (int i = 0; i < (N*M); ++i)
    f(A[i]);

It can also flatten loops where the induction variables are not used in the
loop. This can help with codesize and runtime, especially on simple cpus
without advanced branch prediction.

This is only worth flattening if the induction variables are only used in an
expression like i*M+j. If they had any other uses, we would have to insert a
div/mod to reconstruct the original values, so this wouldn't be profitable.

This partially fixes PR40581 as this pass triggers on one of the two cases. I
will follow up on this to learn LoopFlatten a few more (small) tricks. Please
note that LoopFlatten is not yet enabled by default.

Patch by Oliver Stannard, with minor tweaks from Dave Green and myself.

Differential Revision: https://reviews.llvm.org/D42365
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was addedllvm/include/llvm/Transforms/Scalar/LoopFlatten.h
The file was addedllvm/test/Transforms/LoopFlatten/loop-flatten.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was addedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was addedllvm/test/Transforms/LoopFlatten/pr40581.ll
The file was addedllvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
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 modifiedlld/test/ELF/invalid/invalid-file-class.test
The file was addedllvm/test/Object/archive-malformed-object.test
The file was modifiedlld/test/ELF/invalid/data-encoding.test
The file was modifiedllvm/lib/Object/SymbolicFile.cpp
The file was modifiedllvm/lib/Object/ArchiveWriter.cpp
The file was addedllvm/test/Object/archive-unknown-filetype.test
The file was modifiedllvm/include/llvm/Object/SymbolicFile.h
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/InstCombineMulDivRem.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.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/test/check-fail.test
The file was addedclang-tools-extra/clangd/test/check.test
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt
The file was addedclang-tools-extra/clangd/tool/Check.cpp
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/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
The file was modifiedclang/unittests/Tooling/Syntax/SynthesisTest.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/tool/Check.cpp
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/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 addedclang-tools-extra/clangd/test/check-fail.test
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
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/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.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/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
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/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/test/tools/llvm-mca/ARM/m4-int.s
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/fpmath.cl
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-attrs.cl