Changes

Summary

  1. [ARM] MVE reverse shuffles. (details)
  2. [Clang] [Fix] Clang build fails when build directory contains space character (details)
  3. [lldb] [test] Add unittest for DynamicRegisterInfo::Finalize() (details)
  4. [lldb] [DynamicRegisterInfo] Unset value_regs/invalidate_regs before Finalize() (details)
  5. Thread safety analysis: Drop special block handling (details)
  6. [JITLink] Adopt forEachRelocation() helper in ELF x86-64 backend (NFC) (details)
  7. [JITLink] Adopt forEachRelocation() helper in ELF RISCV backend (NFC) (details)
  8. [AMDGPU] Regenerate checks (details)
  9. [Analysis] Add support for vscale in computeKnownBitsFromOperator (details)
  10. [analyzer] Move docs of SmartPtr to correct subcategory (details)
  11. [mlir][linalg] Fusion on tensors. (details)
  12. [clangd] Bail-out when an empty compile flag is encountered (details)
  13. [OpenCL] Supports atomics in C++ for OpenCL 2021 (details)
  14. [X86] Add test to show the effect caused by D109607. NFC (details)
  15. [X86] Always check the size of SourceTy before getting the next type (details)
  16. [flang] Put intrinsic function table back into order (details)
  17. [SLP]Improve graph reordering. (details)
  18. [mlir][linalg] Fix typo (NFC). (details)
  19. [MLIR][SCF] Add for-to-while loop transformation pass (details)
  20. [mlir][linalg] Add IndexOp support to fusion on tensors. (details)
  21. [DSE] Add additional tests to cover review comments. (details)
  22. [lldb] Fix whitespace in CommandObjectTarget (NFC) (details)
  23. [lldb] Extract adding symbols for UUID/File/Frame (NFC) (details)
  24. [Verifier] Verify scoped noalias metadata (details)
  25. [ELF] Don't fall back to .text for e_entry (details)
  26. [RISCV] Add a pass to recognize VLS strided loads/store from gather/scatter. (details)
  27. [gn build] Port d85e347a28dc (details)
  28. [MCA] Fix a warning (details)
  29. [Verifier] Try to fix MSVC build (details)
  30. [ELF] Add --why-extract= to query why archive members/lazy object files are extracted (details)
  31. [lld] Remove timers.ll because inconsistent timers behavior causes the test to fail sometimes (details)
  32. Add use_default_shell_env = True to ctx.actions.run (details)
  33. Temporarily XFAIL MLIR test that fails the LLVM verifier after 8700f2bd3 (details)
  34. Revert "[MLIR][SCF] Add for-to-while loop transformation pass" (details)
  35. [NCF][OpenMP] Fix metadirective test on SystemZ (details)
  36. [lldb][crashlog] Avoid specifying arch for image when a UUID is present (details)
  37. [RISCV] Add test cases showing failure to use .vf vector operations when splat is in another basic block. NFC (details)
  38. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for FAdd/FSub/FMul/FDiv. (details)
  39. Eliminate _LIBCPP_EQUAL_DELETE in favor of `=delete`. (details)
  40. Revert code change of D63497 & D74399 for riscv64-*-linux GCC detection (details)
  41. Revert "[CMake] Add debuginfo-tests to LLVM_ALL_PROJECTS after D110016" (details)
  42. [mlir][Linalg] Add ConvolutionOpInterface. (details)
  43. Diagnose -Wunused-value based on CFG reachability (details)
  44. Fix bad merge the removed switch case (details)
  45. [OpenMP][host runtime] Fix indirect lock table race condition (details)
  46. [mlir][MemRef] Compute unused dimensions of a rank-reducing subviews using strides as well. (details)
  47. [IR] Add helper to convert offset to GEP indices (details)
  48. [gn build] Don't pass -Wl,-z,defs for sanitizer builds (details)
  49. [lldb][NFC] Remove outdated FIXME (details)
  50. [libc++] [LIBCXX-DEBUG-FIXME] Constexpr char_traits::copy mustn't compare unrelated pointers. (details)
  51. [libc++] [P0919] Some belated review on D87171. (details)
  52. [RISCV] Add test cases for missed opportunity to use vfmacc.vf. NFC (details)
  53. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for FMA. (details)
  54. [cmake] Put check from D110016 behind (default-on) flag (details)
  55. Revert "Fix CLANG_ENABLE_STATIC_ANALYZER=OFF building all analyzer source" (details)
Commit 3f90df22f1b72932016102daf8e92e99252e5589 by david.green
[ARM] MVE reverse shuffles.

The vectorizer can sometimes make reverse shuffles from indices that
count down. In MVE, we don't have a 128bit rev instruction, but we can
select this to a VREV64 with some lane movs to swap the two halfs.

Ideally this would use VMOVD's, but only gets as far as VMOVS's at the
moment.

Differential Revision: https://reviews.llvm.org/D69510
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shufflemov.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffle.ll (diff)
Commit fae57a6a9795eccfa349270b110c09524e341abd by shivam98.tkg
[Clang] [Fix] Clang build fails when build directory contains space character

Clang build fails when build directory contains space character.

Error messages:

[ 95%] Linking CXX executable ../../../../bin/clang
clang: error: no such file or directory: 'Space/Net/llvm/Build/tools/clang/tools/driver/Info.plist'
make[2]: *** [bin/clang-14] Error 1
make[1]: *** [tools/clang/tools/driver/CMakeFiles/clang.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

The path name is actually:
  'Dev Space/Net/llvm/Build/tools/clang/tools/driver/Info.plist'

Bugzilla issue - https://bugs.llvm.org/show_bug.cgi?id=51884
Reporter and patch author - Brain Swift <bsp2bsp-llvm@yahoo.com>

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D109979
The file was modifiedclang/tools/driver/CMakeLists.txt (diff)
Commit 4737dcbc83e05ac97c8695cf9a19bddb6446d71f by mgorny
[lldb] [test] Add unittest for DynamicRegisterInfo::Finalize()

Differential Revision: https://reviews.llvm.org/D109906
The file was addedlldb/unittests/Process/Utility/DynamicRegisterInfoTest.cpp
The file was modifiedlldb/unittests/Process/Utility/CMakeLists.txt (diff)
Commit ec50d351ffdd4559ccce6013d3ab4a3f41c42cee by mgorny
[lldb] [DynamicRegisterInfo] Unset value_regs/invalidate_regs before Finalize()

Set value_regs and invalidate_regs in RegisterInfo pushed onto m_regs
to nullptr, to ensure that the temporaries passed there are not
accidentally used.

Differential Revision: https://reviews.llvm.org/D109879
The file was modifiedlldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h (diff)
The file was modifiedlldb/unittests/Process/Utility/DynamicRegisterInfoTest.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp (diff)
Commit 6de19ea4b6264e64cea145e00ab66fe1530fc0a0 by aaron.puchert
Thread safety analysis: Drop special block handling

Previous changes like D101202 and D104261 have eliminated the special
status that break and continue once had, since now we're making
decisions purely based on the structure of the CFG without regard for
the underlying source code constructs.

This means we don't gain anything from defering handling for these
blocks. Dropping it moves some diagnostics, though arguably into a
better place. We're working around a "quirk" in the CFG that perhaps
wasn't visible before: while loops have an empty "transition block"
where continue statements and the regular loop exit meet, before
continuing to the loop entry. To get a source location for that, we
slightly extend our handling for empty blocks. The source location for
the transition ends up to be the loop entry then, but formally this
isn't a back edge. We pretend it is anyway. (This is safe: we can always
treat edges as back edges, it just means we allow less and don't modify
the lock set. The other way around it wouldn't be safe.)

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D106715
The file was modifiedclang/test/PCH/thread-safety-attrs.cpp (diff)
The file was modifiedclang/lib/Analysis/ThreadSafety.cpp (diff)
The file was modifiedclang/test/SemaCXX/warn-thread-safety-analysis.cpp (diff)
Commit 68914dc99083716d6e9868798c67e73ef35b021e by Stefan Gränitz
[JITLink] Adopt forEachRelocation() helper in ELF x86-64 backend (NFC)

Following D109516, this patch re-uses the new helper function for ELF relocation traversal in the x86-64 backend.

Reviewed By: StephenFan

Differential Revision: https://reviews.llvm.org/D109520
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp (diff)
Commit e8d81d80f6604b34e1495d3a68e2bbc60ce467f5 by Stefan Gränitz
[JITLink] Adopt forEachRelocation() helper in ELF RISCV backend (NFC)

Following D109516, this patch re-uses the new helper function for ELF relocation traversal in the RISCV backend.

Reviewed By: StephenFan

Differential Revision: https://reviews.llvm.org/D109522
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp (diff)
Commit 680592b5d0a71502964f5568fdc953f8da495b16 by jay.foad
[AMDGPU] Regenerate checks
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fma.s32.mir (diff)
Commit f988f680649ad38806897e7aa75e95e9fda88ffd by david.sherwood
[Analysis] Add support for vscale in computeKnownBitsFromOperator

In ValueTracking.cpp we use a function called
computeKnownBitsFromOperator to determine the known bits of a value.
For the vscale intrinsic if the function contains the vscale_range
attribute we can use the maximum and minimum values of vscale to
determine some known zero and one bits. This should help to improve
code quality by allowing certain optimisations to take place.

Tests added here:

  Transforms/InstCombine/icmp-vscale.ll

Differential Revision: https://reviews.llvm.org/D109883
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll (diff)
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c (diff)
The file was addedllvm/test/Transforms/InstCombine/icmp-vscale.ll
The file was modifiedllvm/test/Transforms/InstSimplify/vscale.ll (diff)
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c (diff)
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c (diff)
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c (diff)
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c (diff)
Commit 5dee50111c13bbc4480401e2eaa67f6bca1b480a by deep.majumder2019
[analyzer] Move docs of SmartPtr to correct subcategory

The docs of alpha.cplusplus.SmartPtr was incorrectly placed under
alpha.deadcode. Moved it to under alpha.cplusplus

Differential Revision: https://reviews.llvm.org/D110032
The file was modifiedclang/docs/analyzer/checkers.rst (diff)
Commit 6db928b8f31b17caf205eee9c95bb817e51a3f2c by gysit
[mlir][linalg] Fusion on tensors.

Add a new version of fusion on tensors that supports the following scenarios:
- support input and output operand fusion
- fuse a producer result passed in via tile loop iteration arguments (update the tile loop iteration arguments)
- supports only linalg operations on tensors
- supports only scf::for
- cannot add an output to the tile loop nest

The LinalgTileAndFuseOnTensors pass tiles the root operation and fuses its producers.

Reviewed By: nicolasvasilache, mravishankar

Differential Revision: https://reviews.llvm.org/D109766
The file was addedmlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h (diff)
The file was addedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit 444a5f304f6c2c332f18392d2458d74664e98498 by kadircet
[clangd] Bail-out when an empty compile flag is encountered

Fixes https://github.com/clangd/clangd/issues/865

Differential Revision: https://reviews.llvm.org/D109894
The file was modifiedclang-tools-extra/clangd/unittests/CompilerTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp (diff)
The file was modifiedclang/lib/Frontend/CreateInvocationFromCommandLine.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Compiler.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp (diff)
Commit 228dd20c3f1e619193c68b288e0d5e8525c3a618 by Justas.Janickas
[OpenCL] Supports atomics in C++ for OpenCL 2021

Atomics in C++ for OpenCL 2021 are now handled the same way as in
OpenCL C 3.0. This is a header-only change.

Differential Revision: https://reviews.llvm.org/D109424
The file was modifiedclang/lib/Headers/opencl-c.h (diff)
The file was modifiedclang/lib/Headers/opencl-c-base.h (diff)
Commit 5b47256fa5402a5f7f06513b0d168746d4c46df2 by pengfei.wang
[X86] Add test to show the effect caused by D109607. NFC
The file was addedclang/test/CodeGen/X86/va-arg-sse.c
Commit 227673398c2d93d9db02fe5fdb1af10a74251995 by pengfei.wang
[X86] Always check the size of SourceTy before getting the next type

D109607 results in a regression in llvm-test-suite.
The reason is we didn't check the size of SourceTy, so that we will
return wrong SSE type when SourceTy is overlapped.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D110037
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp (diff)
The file was modifiedclang/test/CodeGen/X86/va-arg-sse.c (diff)
Commit 5661317f864abf750cf893c6a4cc7a977be0995a by pklausler
[flang] Put intrinsic function table back into order

Some intrinsic functions weren't findable because the table
wasn't strictly in order of names.

And complete a missing generalization of the extension DCONJG
to accept any kind of complex argument, like DREAL and DIMAG
were.

Differential Revision: https://reviews.llvm.org/D110002
The file was modifiedflang/lib/Evaluate/intrinsics.cpp (diff)
The file was modifiedflang/unittests/Evaluate/intrinsics.cpp (diff)
Commit bc69dd62c04a70d29943c1c06c7effed150b70e1 by a.bataev
[SLP]Improve graph reordering.

Reworked reordering algorithm. Originally, the compiler just tried to
detect the most common order in the reordarable nodes (loads, stores,
extractelements,extractvalues) and then fully rebuilding the graph in
the best order. This was not effecient, since it required an extra
memory and time for building/rebuilding tree, double the use of the
scheduling budget, which could lead to missing vectorization due to
exausted scheduling resources.

Patch provide 2-way approach for graph reodering problem. At first, all
reordering is done in-place, it doe not required tree
deleting/rebuilding, it just rotates the scalars/orders/reuses masks in
the graph node.

The first step (top-to bottom) rotates the whole graph, similarly to the previous
implementation. Compiler counts the number of the most used orders of
the graph nodes with the same vectorization factor and then rotates the
subgraph with the given vectorization factor to the most used order, if
it is not empty. Then repeats the same procedure for the subgraphs with
the smaller vectorization factor. We can do this because we still need
to reshuffle smaller subgraph when buildiong operands for the graph
nodes with lasrger vectorization factor, we can rotate just subgraph,
not the whole graph.

The second step (bottom-to-top) scans through the leaves and tries to
detect the users of the leaves which can be reordered. If the leaves can
be reorder in the best fashion, they are reordered and their user too.
It allows to remove double shuffles to the same ordering of the operands in
many cases and just reorder the user operations instead. Plus, it moves
the final shuffles closer to the top of the graph and in many cases
allows to remove extra shuffle because the same procedure is repeated
again and we can again merge some reordering masks and reorder user nodes
instead of the operands.

Also, patch improves cost model for gathering of loads, which improves
x264 benchmark in some cases.

Gives about +2% on AVX512 + LTO (more expected for AVX/AVX2) for {625,525}x264,
+3% for 508.namd, improves most of other benchmarks.
The compile and link time are almost the same, though in some cases it
should be better (we're not doing an extra instruction scheduling
anymore) + we may vectorize more code for the large basic blocks again
because of saving scheduling budget.

Differential Revision: https://reviews.llvm.org/D105020
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/addsub.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/extract.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll (diff)
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll (diff)
Commit 09100c75b52d6729e343964aa690efdd51cf913f by gysit
[mlir][linalg] Fix typo (NFC).
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp (diff)
Commit 644b55d57ec76a18916d30f921781b99795f6e10 by morten_bp
[MLIR][SCF] Add for-to-while loop transformation pass

This pass transforms SCF.ForOp operations to SCF.WhileOp. The For loop condition is placed in the 'before' region of the while operation, and indctuion variable incrementation + the loop body in the 'after' region. The loop carried values of the while op are the induction variable (IV) of the for-loop + any iter_args specified for the for-loop.
Any 'yield' ops in the for-loop are rewritten to additionally yield the (incremented) induction variable.

This transformation is useful for passes where we want to consider structured control flow solely on the basis of a loop body and the computation of a loop condition. As an example, when doing high-level synthesis in CIRCT, the incrementation of an IV in a for-loop is "just another part" of a circuit datapath, and what we really care about is the distinction between our datapath and our control logic (the condition variable).

Differential Revision: https://reviews.llvm.org/D108454
The file was addedmlir/test/Dialect/SCF/for-loop-to-while-loop.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.h (diff)
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt (diff)
The file was addedmlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.td (diff)
Commit 7be28d82b4ce810ef662239a9dba7a1409c1ad49 by gysit
[mlir][linalg] Add IndexOp support to fusion on tensors.

This revision depends on https://reviews.llvm.org/D109761 and https://reviews.llvm.org/D109766.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D109774
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir (diff)
Commit 963d3a22b34de33fc41a9e3e9ac733e9b6d241be by flo
[DSE] Add additional tests to cover review comments.

Adds additional tests following comments from D109844.

Also removes unusued in.ptr arguments and places in the call tests that
used loads instead of a getval call.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/captures-before-load.ll (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/captures-before-call.ll (diff)
Commit fe4b8467b5dca564b4859256b08ece5fa1eaa574 by Jonas Devlieghere
[lldb] Fix whitespace in CommandObjectTarget (NFC)
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp (diff)
Commit a89bfc61203d5c2071cddaff26345771716463ec by Jonas Devlieghere
[lldb] Extract adding symbols for UUID/File/Frame (NFC)

This moves the logic for adding symbols based on UUID, file and frame
into little helper functions. This is in preparation for D110011.

Differential revision: https://reviews.llvm.org/D110010
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp (diff)
Commit 8700f2bd36bb9b7d7075ed4dac0aef92b9489237 by nikita.ppv
[Verifier] Verify scoped noalias metadata

Verify that !noalias, !alias.scope and llvm.experimental.noalias.scope
arguments have the format specified in
https://llvm.org/docs/LangRef.html#noalias-and-alias-scope-metadata.
I've fixed up a lot of broken metadata used by tests in advance.
Especially using a scope instead of the expected scope list is a
commonly made mistake.

Differential Revision: https://reviews.llvm.org/D110026
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was addedllvm/test/Verifier/alias-scope-metadata.ll
Commit d001ab82e410d0c6ccf14be9f507c8aca53abc67 by i
[ELF] Don't fall back to .text for e_entry

We have the rule to simulate
(https://sourceware.org/binutils/docs/ld/Entry-Point.html),
but the behavior is questionable
(https://sourceware.org/pipermail/binutils/2021-September/117929.html).

gold doesn't fall back to .text.
The behavior is unlikely relied by projects (there is even a warning for
executable links), so let's just delete this fallback path.

Reviewed By: jhenderson, peter.smith

Differential Revision: https://reviews.llvm.org/D110014
The file was modifiedlld/test/ELF/basic-ppc.s (diff)
The file was modifiedlld/test/ELF/basic-ppc64.s (diff)
The file was modifiedlld/test/ELF/entry.s (diff)
The file was modifiedlld/docs/ReleaseNotes.rst (diff)
The file was modifiedlld/ELF/Writer.cpp (diff)
Commit d85e347a28dc9a329d7029987e4e062428985b41 by craig.topper
[RISCV] Add a pass to recognize VLS strided loads/store from gather/scatter.

For strided accesses the loop vectorizer seems to prefer creating a
vector induction variable with a start value of the form
<i32 0, i32 1, i32 2, ...>. This value will be incremented each
loop iteration by a splat constant equal to the length of the vector.
Within the loop, arithmetic using splat values will be done on this
vector induction variable to produce indices for a vector GEP.

This pass attempts to dig through the arithmetic back to the phi
to create a new scalar induction variable and a stride. We push
all of the arithmetic out of the loop by folding it into the start,
step, and stride values. Then we create a scalar GEP to use as the
base pointer for a strided load or store using the computed stride.
Loop strength reduce will run after this pass and can do some
cleanups to the scalar GEP and induction variable.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D107790
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vector-strided-load-store-negative.ll
The file was addedllvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
The file was modifiedllvm/lib/Target/RISCV/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vector-strided-load-store.ll
The file was modifiedllvm/lib/Target/RISCV/RISCV.h (diff)
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td (diff)
The file was modifiedllvm/tools/opt/opt.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit 93604c9711cd0325cf92b23529b55db161143a29 by llvmgnsyncbot
[gn build] Port d85e347a28dc
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn (diff)
Commit f3cfec9c9e6d90505baaef8ff25ed709e347b226 by kazu
[MCA] Fix a warning

This patch fixes the warning

  InstructionTables.cpp:27:56: error: loop variable 'Resource' of type
  'const std::pair<const uint64_t, ResourceUsage> &' (aka 'const
  pair<const unsigned long, llvm::mca::ResourceUsage> &') binds to a
  temporary constructed from type 'const std::pair<unsigned long,
  llvm::mca::ResourceUsage> &' [-Werror,-Wrange-loop-construct]

Note that Resource is declared as:

   SmallVector<std::pair<uint64_t, ResourceUsage>, 4> Resources;

without "const" for uint64_t.
The file was modifiedllvm/lib/MCA/Stages/InstructionTables.cpp (diff)
Commit ecd52a5be9a1c9c0efe5a1d92aa2cde807758cac by nikita.ppv
[Verifier] Try to fix MSVC build

Some buildbots fail with:

> C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\IR\Verifier.cpp(4352): error C2678: binary '==': no operator found which takes a left-hand operand of type 'const llvm::MDOperand' (or there is no acceptable conversion)

Possibly the explicit MDOperand to Metadata* conversion will help?
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
Commit a954bb18b14363e133217e7f19aa95fbde2c7488 by i
[ELF] Add --why-extract= to query why archive members/lazy object files are extracted

Similar to D69607 but for archive member extraction unrelated to GC. This patch adds --why-extract=.

Prior art:

GNU ld -M prints
```
Archive member included to satisfy reference by file (symbol)

a.a(a.o)                      main.o (a)
b.a(b.o)                      (b())
```

-M is mainly for input section/symbol assignment <-> output section mapping
(often huge output) and the information may appear ad-hoc.

Apple ld64
```
__Z1bv forced load of b.a(b.o)
_a forced load of a.a(a.o)
```

It doesn't say the reference file.

Arm's proprietary linker
```
Selecting member vsnprintf.o(c_wfu.l) to define vsnprintf.
...
Loading member vsnprintf.o from c_wfu.l.
              definition:  vsnprintf
              reference :  _printf_a
```

---

--why-extract= gives the user the full data (which is much shorter than GNU ld
-Map). It is easy to track a chain of references to one archive member with a
one-liner, e.g.

```
% ld.lld main.o a_b.a b_c.a c.a -o /dev/null --why-extract=- | tee stdout
reference       extracted       symbol
main.o  a_b.a(a_b.o)    a
a_b.a(a_b.o)    b_c.a(b_c.o)    b()
b_c.a(b_c.o)    c.a(c.o)        c()

% ruby -ane 'BEGIN{p={}}; p[$F[1]]=[$F[0],$F[2]] if $.>1; END{x="c.a(c.o)"; while y=p[x]; puts "#{y[0]} extracts #{x} to resolve #{y[1]}"; x=y[0] end}' stdout
b_c.a(b_c.o) extracts c.a(c.o) to resolve c()
a_b.a(a_b.o) extracts b_c.a(b_c.o) to resolve b()
main.o extracts a_b.a(a_b.o) to resolve a
```

Archive member extraction happens before --gc-sections, so this may not be a live path
under --gc-sections, but I think it is a good approximation in practice.

* Specifying a file avoids output interleaving with --verbose.
* Required `=` prevents accidental overwrite of an input if the user forgets `=`. (Most of compiler drivers' long options accept `=` but not ` `)

Differential Revision: https://reviews.llvm.org/D109572
The file was modifiedlld/docs/ld.lld.1 (diff)
The file was modifiedlld/ELF/Writer.cpp (diff)
The file was modifiedlld/ELF/MapFile.cpp (diff)
The file was modifiedlld/docs/ReleaseNotes.rst (diff)
The file was addedlld/test/ELF/why-extract.s
The file was modifiedlld/ELF/MapFile.h (diff)
The file was modifiedlld/ELF/Driver.cpp (diff)
The file was modifiedlld/ELF/Symbols.h (diff)
The file was modifiedlld/ELF/Options.td (diff)
The file was modifiedlld/ELF/Symbols.cpp (diff)
The file was modifiedlld/ELF/Config.h (diff)
Commit 6e994a833e8bfe616fdf40155eefbee033d427ec by akhuang
[lld] Remove timers.ll because inconsistent timers behavior causes the test to fail sometimes

See https://reviews.llvm.org/D109904
The file was removedlld/test/COFF/timers.ll
Commit f4b5d597d86abafd61d4de6235f724d4f7b046e6 by gcmn
Add use_default_shell_env = True to ctx.actions.run

When building a tool in a non-standard environment (e.g. custom
compiler path -> LD_LIBRARY_PATH set) then
`use_default_shell_env = True` is required to run that tool in the same
environment or otherwise the build will fail due to missing symbols.
See https://github.com/google/jax/issues/7842 for this issue and
https://github.com/tensorflow/tensorflow/pull/44549 for related fix in
TF.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D109873
The file was modifiedutils/bazel/llvm-project-overlay/mlir/tblgen.bzl (diff)
Commit f18f1ab4fd8c3b53834f874b2ec666af72bf0fe3 by joker.eph
Temporarily XFAIL MLIR test that fails the LLVM verifier after 8700f2bd3
The file was modifiedmlir/test/Target/LLVMIR/llvmir.mlir (diff)
Commit 5edd79fc9725f4456f4bf53bf55633ef5938cdc3 by joker.eph
Revert "[MLIR][SCF] Add for-to-while loop transformation pass"

This reverts commit 644b55d57ec76a18916d30f921781b99795f6e10.

The added test is failing the bots.
The file was removedmlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.td (diff)
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.h (diff)
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt (diff)
The file was removedmlir/test/Dialect/SCF/for-loop-to-while-loop.mlir
Commit 3679d2001c87f37101e7f20c646b21e97d8a0867 by cchen
[NCF][OpenMP] Fix metadirective test on SystemZ
The file was modifiedclang/test/OpenMP/metadirective_ast_print.c (diff)
Commit e31b2d7d7be98cbbaa665b2702cd0ed2975da4cc by Vedant Kumar
[lldb][crashlog] Avoid specifying arch for image when a UUID is present

When adding an image to a target for crashlog purposes, avoid specifying
the architecture of the image.

This has the effect of making SBTarget::AddModule infer the ArchSpec for
the image based on the SBTarget's architecture, which LLDB puts serious
effort into calculating correctly (in TargetList::CreateTargetInternal).

The status quo is that LLDB randomly guesses the ArchSpec for a module
if its architecture is specified, via:

```
  SBTarget::AddModule -> Platform::GetAugmentedArchSpec -> Platform::IsCompatibleArchitecture ->
GetSupportedArchitectureAtIndex -> {ARM,x86}GetSupportedArchitectureAtIndex
```

... which means that the same crashlog can fail to load on an Apple
Silicon Mac (due to the random guess of arm64e-apple-macosx for the
module's ArchSpec not being compatible with the SBTarget's (correct)
ArchSpec), while loading just fine on an Intel Mac.

I'm not sure how to add a test for this (it doesn't look like there's
test coverage of this path in-tree). It seems like it would be pretty
complicated to regression test: the host LLDB would need to be built for
arm64e, we'd need a hand-crafted arm64e iOS crashlog, and we'd need a
binary with an iOS deployment target. I'm open to other / simpler
options.

rdar://82679400

Differential Revision: https://reviews.llvm.org/D110013
The file was modifiedlldb/examples/python/symbolication.py (diff)
Commit 890027b31433311515906633518e1295293ac15c by craig.topper
[RISCV] Add test cases showing failure to use .vf vector operations when splat is in another basic block. NFC

We should have CGP copy the splats into the same basic block as the
FP operation so that SelectionDAG can fold them.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll (diff)
Commit 04ab6c85ef74072c077717ca4b4eaede8db24823 by craig.topper
[RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for FAdd/FSub/FMul/FDiv.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll (diff)
Commit d7d7060127b7db8c4cb05edab2d5c0f18ec0d66b by arthur.j.odwyer
Eliminate _LIBCPP_EQUAL_DELETE in favor of `=delete`.

All supported compilers have supported `=delete` as an extension
in C++03 mode for many years at this point.

Differential Revision: https://reviews.llvm.org/D109942
The file was modifiedlibcxx/include/__config (diff)
The file was modifiedlibcxx/include/__tree (diff)
The file was modifiedlibcxx/include/map (diff)
The file was modifiedlibcxx/include/__mutex_base (diff)
Commit a07727199db0525e9d2df41e466a2a1611b3c8e1 by i
Revert code change of D63497 & D74399 for riscv64-*-linux GCC detection

This partially reverts commits 1fc2a47f0b6c415312593e43489cf9ea2507d902 and 9816e726e747d72e0c5ac92aa20e652031a10448.

See D109727. Replacing config.guess in favor of {gcc,clang} -dumpmachine
can avoid the riscv64-{redhat,suse}-linux GCC detection.

Acked-by: Luís Marques <luismarques@lowrisc.org>
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)
Commit 6cd382bf2894f87a6a68e2d962bdbfc2f0fb3d85 by i
Revert "[CMake] Add debuginfo-tests to LLVM_ALL_PROJECTS after D110016"

This reverts commit 4b80f0125adc876c8ef325f1c0ace4af023f2264.

debuginfo-tests has been renamed to cross-project-tests.
The file was modifiedllvm/CMakeLists.txt (diff)
Commit 0b33890f4553c9255c0f44cee04a0d98843d6a5a by ravishankarm
[mlir][Linalg] Add ConvolutionOpInterface.

Add an interface that allows grouping together all covolution and
pooling ops within Linalg named ops. The interface currently
- the indexing map used for input/image access is valid
- the filter and output are accessed using projected permutations
- that all loops are charecterizable as one iterating over
  - batch dimension,
  - output image dimensions,
  - filter convolved dimensions,
  - output channel dimensions,
  - input channel dimensions,
  - depth multiplier (for depthwise convolutions)

Differential Revision: https://reviews.llvm.org/D109793
The file was addedmlir/test/Dialect/Linalg/conv-interface-invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir (diff)
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td (diff)
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h (diff)
The file was modifiedmlir/test/Dialect/Linalg/named-ops.mlir (diff)
The file was modifiedutils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml (diff)
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td (diff)
Commit 63e0d038fc20c894a3d541effa1bc2b1fdea37b9 by Yuanfang Chen
Diagnose -Wunused-value based on CFG reachability

While at it, add the diagnosis message "left operand of comma operator has no effect" (used by GCC) for comma operator.

This also makes Clang diagnose in the constant evaluation context which aligns with GCC/MSVC behavior. (https://godbolt.org/z/7zxb8Tx96)

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D103938
The file was modifiedclang/test/Sema/const-eval.c (diff)
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp (diff)
The file was modifiedclang/test/Sema/exprs.c (diff)
The file was modifiedclang/test/SemaTemplate/lambda-capture-pack.cpp (diff)
The file was modifiedclang/test/Parser/cxx0x-ambig.cpp (diff)
The file was modifiedclang/test/Parser/objc-try-catch-1.m (diff)
The file was modifiedclang/test/CXX/basic/basic.link/p8.cpp (diff)
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp (diff)
The file was modifiedclang/test/Parser/objcxx11-attributes.mm (diff)
The file was modifiedclang/test/PCH/cxx-explicit-specifier.cpp (diff)
The file was modifiedclang/test/Analysis/dead-stores.c (diff)
The file was modifiedclang/test/Sema/vla-2.c (diff)
The file was modifiedclang/test/SemaCXX/overloaded-operator.cpp (diff)
The file was modifiedclang/test/SemaCXX/warn-comma-operator.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/test/CXX/drs/dr7xx.cpp (diff)
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp (diff)
The file was modifiedclang/test/SemaCXX/constant-expression.cpp (diff)
The file was modifiedclang/lib/Sema/SemaExpr.cpp (diff)
The file was modifiedclang/test/Parser/cxx1z-init-statement.cpp (diff)
The file was modifiedclang/test/SemaCXX/matrix-type-operators.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/test/Parser/objc-messaging-1.m (diff)
The file was modifiedclang/test/Sema/switch-1.c (diff)
The file was modifiedclang/test/CXX/drs/dr14xx.cpp (diff)
The file was modifiedclang/test/Parser/cxx-ambig-decl-expr.cpp (diff)
The file was modifiedclang/test/Frontend/fixed_point_crash.c (diff)
The file was modifiedclang/test/SemaCXX/expression-traits.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr20xx.cpp (diff)
The file was modifiedclang/test/SemaCXX/attr-annotate.cpp (diff)
The file was modifiedclang/test/Sema/sizeless-1.c (diff)
The file was modifiedclang/test/SemaCXX/builtin-constant-p.cpp (diff)
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp (diff)
The file was modifiedclang/test/Sema/warn-type-safety.c (diff)
The file was modifiedclang/test/Sema/i-c-e.c (diff)
The file was modifiedclang/test/CodeCompletion/pragma-macro-token-caching.c (diff)
The file was modifiedclang/test/Sema/warn-unused-value.c (diff)
The file was modifiedclang/test/SemaTemplate/derived.cpp (diff)
The file was modifiedclang/test/SemaCXX/warn-unused-value.cpp (diff)
The file was modifiedclang/test/SemaCXX/vector.cpp (diff)
The file was modifiedclang/lib/Sema/SemaStmt.cpp (diff)
Commit 01b097afd0eae593b3a11a88a34e8f50e845d3e7 by noreply
Fix bad merge the removed switch case

When https://reviews.llvm.org/D109520 was landed, it reverted the addition of this switch
case added in https://reviews.llvm.org/D109293. This caused `-Wswitch` failures (and
presumably broke the functionality added in the latter patch).
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp (diff)
Commit 1e45cd75dfb1df61892c1a26654c8997d8aeef66 by jonathan.l.peyton
[OpenMP][host runtime] Fix indirect lock table race condition

The indirect lock table can exhibit a race condition during initializing
and setting/unsetting locks. This occurs if the lock table is
resized by one thread (during an omp_init_lock) and accessed (during an
omp_set|unset_lock) by another thread.

The test runtime/test/lock/omp_init_lock.c test exposed this issue and
will fail if run enough times.

This patch restructures the lock table so pointer/iterator validity is
always kept. Instead of reallocating a single table to a larger size, the
lock table begins preallocated to accommodate 8K locks. Each row of the
table is allocated as needed with each row allowing 1K locks. If the 8K
limit is reached for the initial table, then another table, capable of
holding double the number of locks, is allocated and linked
as the next table. The indices stored in the user's locks take this
linked structure into account when finding the lock within the table.

Differential Revision: https://reviews.llvm.org/D109725
The file was modifiedopenmp/runtime/src/kmp_lock.h (diff)
The file was modifiedopenmp/runtime/src/kmp_lock.cpp (diff)
Commit 4cf9bf6c9f64cca1111134acc9f84efe8f27e8d1 by ravishankarm
[mlir][MemRef] Compute unused dimensions of a rank-reducing subviews using strides as well.

For `memref.subview` operations, when there are more than one
unit-dimensions, the strides need to be used to figure out which of
the unit-dims are actually dropped.

Differential Revision: https://reviews.llvm.org/D109418
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir (diff)
The file was modifiedmlir/test/Dialect/MemRef/fold-subview-ops.mlir (diff)
The file was modifiedmlir/test/IR/invalid-ops.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td (diff)
The file was modifiedmlir/include/mlir/Interfaces/ViewLikeInterface.td (diff)
The file was modifiedmlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp (diff)
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir (diff)
The file was modifiedmlir/test/Dialect/MemRef/invalid.mlir (diff)
The file was modifiedmlir/lib/Dialect/MemRef/Transforms/FoldSubViewOps.cpp (diff)
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp (diff)
Commit dd0226561e86e491f77464b1d3afe5bb53a2c54e by nikita.ppv
[IR] Add helper to convert offset to GEP indices

We implement logic to convert a byte offset into a sequence of GEP
indices for that offset in a number of places. This patch adds a
DataLayout::getGEPIndicesForOffset() method, which implements the
core logic. I've updated SROA, ConstantFolding and InstCombine to
use it, and there's a few more places where it looks relevant.

Differential Revision: https://reviews.llvm.org/D110043
The file was modifiedllvm/lib/IR/DataLayout.cpp (diff)
The file was modifiedllvm/test/Transforms/SROA/scalable-vectors.ll (diff)
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DataLayout.h (diff)
The file was modifiedllvm/test/Transforms/InstCombine/getelementptr.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp (diff)
Commit b64fdaa86b5b35fa982dd1f41d32b37a9d5208b6 by aeubanks
[gn build] Don't pass -Wl,-z,defs for sanitizer builds

-Wl,-z,defs doesn't work with sanitizers.
See https://clang.llvm.org/docs/AddressSanitizer.html

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D110086
The file was modifiedllvm/utils/gn/build/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/build/toolchain/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/build/BUILDCONFIG.gn (diff)
Commit c4a406bbd0fe3afa8366b72c49b1bc494a168624 by apl
[lldb][NFC] Remove outdated FIXME
The file was modifiedlldb/source/Symbol/DeclVendor.cpp (diff)
Commit df81bb71aa452c677984fbeb7c34e8a77ec3e83b by arthur.j.odwyer
[libc++] [LIBCXX-DEBUG-FIXME] Constexpr char_traits::copy mustn't compare unrelated pointers.

Now that __builtin_is_constant_evaluated() is present on all supported
compilers, we can use it to skip the UB-inducing assert in cases where
the computation might be happening at constexpr time.

Differential Revision: https://reviews.llvm.org/D101674
The file was modifiedlibcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp (diff)
The file was modifiedlibcxx/include/__string (diff)
The file was modifiedlibcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp (diff)
Commit d5db71d19f11d7c31257066aea6bd41ef04f28b7 by arthur.j.odwyer
[libc++] [P0919] Some belated review on D87171.

- Simplify the structure of the new tests.
- Test const containers as well as non-const containers,
    since it's easy to do so.
- Remove redundant enable-iffing of helper structs' member functions.
    (They're not instantiated unless they're called, and who would call them?)
- Fix indentation and use more consistent SFINAE method in <unordered_map>.
- Add _LIBCPP_INLINE_VISIBILITY on some swap functions.

Differential Revision: https://reviews.llvm.org/D109011
The file was removedlibcxx/test/std/containers/unord/unord.set/equal_range_const.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/equal_range_const.transparent.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.multiset/equal_range.transparent.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.set/equal_range.transparent.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.map/find.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/find_non_const.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/equal_range_non_const.transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/count.transparent.pass.cpp (diff)
The file was removedlibcxx/test/std/containers/unord/unord.multimap/find_const.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/equal_range_non_const.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/equal_range_const.transparent.pass.cpp
The file was modifiedlibcxx/test/support/test_transparent_unordered.h (diff)
The file was addedlibcxx/test/std/containers/unord/unord.map/equal_range.transparent.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.multimap/find.transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/count.transparent.pass.cpp (diff)
The file was removedlibcxx/test/std/containers/unord/unord.multimap/equal_range_non_const.transparent.pass.cpp
The file was modifiedlibcxx/include/unordered_map (diff)
The file was modifiedlibcxx/test/support/is_transparent.h (diff)
The file was removedlibcxx/test/std/containers/unord/unord.set/find_non_const.transparent.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.set/find.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/find_const.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/find_non_const.transparent.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/equal_range_const.transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/contains.transparent.pass.cpp (diff)
The file was modifiedlibcxx/test/std/containers/unord/unord.set/contains.transparent.pass.cpp (diff)
The file was removedlibcxx/test/std/containers/unord/unord.set/find_const.transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/contains.transparent.pass.cpp (diff)
The file was removedlibcxx/test/std/containers/unord/unord.map/equal_range_non_const.transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/contains.transparent.pass.cpp (diff)
The file was removedlibcxx/test/std/containers/unord/unord.multiset/find_const.transparent.pass.cpp
The file was modifiedlibcxx/include/unordered_set (diff)
The file was modifiedlibcxx/test/std/containers/unord/unord.set/count.transparent.pass.cpp (diff)
The file was addedlibcxx/test/std/containers/unord/unord.multimap/equal_range.transparent.pass.cpp
The file was modifiedlibcxx/include/map (diff)
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/count.transparent.pass.cpp (diff)
The file was removedlibcxx/test/std/containers/unord/unord.multiset/find_non_const.transparent.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.multiset/find.transparent.pass.cpp
Commit 792101fff749191dfd4dadabe2ecd30a4d8cd973 by craig.topper
[RISCV] Add test cases for missed opportunity to use vfmacc.vf. NFC

This is another case of a splat being in another basic block
preventing SelectionDAG from optimizing it.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll (diff)
Commit a95ba8107359e17cb1669c01f416fd2723a23126 by craig.topper
[RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for FMA.

If either of the multiplicands is a splat, we can sink it to use
vfmacc.vf or similar.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll (diff)
Commit 55f0b337087136554122f942fea951a357bc4a49 by thakis
[cmake] Put check from D110016 behind (default-on) flag

See discussion on https://reviews.llvm.org/D110016 for details.
The file was modifiedllvm/CMakeLists.txt (diff)
Commit 9197834535364efff505580ef940ad41cd293275 by thakis
Revert "Fix CLANG_ENABLE_STATIC_ANALYZER=OFF building all analyzer source"

This reverts commit 6d7b3d6b3a8dbd62650b6c3dae1fe904a8ae9048.
Breaks running cmake with `-DCLANG_ENABLE_STATIC_ANALYZER=OFF`
without turning off CLANG_TIDY_ENABLE_STATIC_ANALYZER.
See comments on https://reviews.llvm.org/D109611 for details.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake (diff)
The file was modifiedclang/cmake/modules/AddClang.cmake (diff)
The file was modifiedclang/lib/StaticAnalyzer/CMakeLists.txt (diff)