Changes

Summary

  1. [sanitizer] Remove QEMU from sanitizer-buildbot3 (details)
  2. [libfuzzer] Print running tests (details)
  3. [libfuzzer] Remove unnecessary cmake flags (details)
  4. [sanitizer] Run QEMU cmakes in parallel (details)
  5. [sanitizer] Remove nested buildbot_qemu call (details)
  6. [PowerPC] Removed `-DLLVM_ENABLE_PROJECTS=flang` from PowerPC flang buildbot (details)
Commit 521bc7bf0b559294863399975bb29761a10a7f2a by Vitaly Buka
[sanitizer] Remove QEMU from sanitizer-buildbot3
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 285fd4c34b43799e338b1ecfe4a67daeb82b358d by Vitaly Buka
[libfuzzer] Print running tests
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh (diff)
Commit 63d380830e464f37ddfa31c9bf2071293ff64b4f by Vitaly Buka
[libfuzzer] Remove unnecessary cmake flags

Linking job limit is unnecessary with LLD.
LIBFUZZER_ENABLE_TESTS does not exist any more.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh (diff)
Commit 2edb19cb564715af6b594ab40eeb9d9983e5284f by Vitaly Buka
[sanitizer] Run QEMU cmakes in parallel
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 89d3740d9144417b7f7e27ba7ed2cdcc10d6a1e9 by Vitaly Buka
[sanitizer] Remove nested buildbot_qemu call

Now it has own builder.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_standard.sh (diff)
Commit 4adb6aa495ee9484d7f2e15c93e7685bdc603cc7 by albionapc
[PowerPC] Removed `-DLLVM_ENABLE_PROJECTS=flang` from PowerPC flang buildbot

With `FLANG_NEW_DRIVER` default to on now, it is necessary to remove this
option for the bot to be able to build again.

Differential Revision: https://reviews.llvm.org/D102626
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [mlir][Linalg] Break unnecessary dependency through unused `outs` tensor. (details)
  2. [libfuzzer] Update doc mentioning removed flags. (details)
  3. [mlir] Use VectorTransferPermutationMapLoweringPatterns in VectorToSCF (details)
  4. Fix sanitizer test errors from commit 886629a8 (details)
  5. [clang-tidy] Fix a crash on invalid code for memset-usage check. (details)
  6. [NFCI] SimplifyCFGPass: mergeEmptyReturnBlocks(): use DeleteDeadBlocks() (details)
  7. [RISCV] Support INSERT_VECTOR_ELT into i1 vectors (details)
  8. [llvm-objcopy] Add support for '--' for delimiting options from input/output files (details)
  9. [NFCI][SimplifyCFG] simplifyCommonResume(): use DeleteDeadBlock() (details)
  10. [NFCI][SimplifyCFG] simplifySingleResume(): use DeleteDeadBlock() (details)
  11. [NFCI][SimplifyCFG] simplifyReturn(): use DeleteDeadBlock() (details)
  12. [NFCI][SimplifyCFG] simplifyUnreachable(): use DeleteDeadBlock() (details)
  13. [LV] Add -scalable-vectorization=<option> flag. (details)
  14. MachineBasicBlock: add liveout iterator aware of which liveins are defined by the runtime. (details)
  15. Reformat GSYMCreator.cpp (details)
  16. Avoid calculating the string hash twice in GsymCreator::insertString. (details)
  17. Move FunctionInfo in addFunctionInfo rather than copying. (details)
  18. Use a non-recursive mutex in GsymCreator. (details)
  19. [X86] Limit X86InterleavedAccessGroup to handle the same type case only (details)
  20. [analyzer] Check the checker name, rather than the ProgramPointTag when silencing a checker (details)
  21. [x86] Fix FMF propagation test (details)
  22. tsan: mark sigwait as blocking (details)
  23. [NFC][SimplifyCFG] removeEmptyCleanup(): use BasicBlock::phis() (details)
  24. [NFCI][SimplifyCFG] removeEmptyCleanup(): streamline PHI node updating (details)
  25. [NFCI][SimplifyCFG] removeEmptyCleanup(): use DeleteDeadBlock() (details)
  26. [HIP] Tighten checks in hip-include-path.hip test case (details)
  27. [X86] Remove copy + paste typos in AtomWriteResPair comment. (details)
  28. [X86] Atom (pre-SLM) doesn't support PTEST instructions (details)
  29. [clang] Fix a crash on CheckArgAlignment. (details)
  30. Reapply "[clang][deps] Support inferred modules" (details)
  31. [SDAG] propagate FMF from target-specific IR intrinsics (details)
  32. [ARM][NEON] Combine base address updates for vst1x intrinsics (details)
  33. Remove scalable vector assert from InnerLoopVectorizer::setDebugLocFromInst (details)
  34. Revert "[X86] Limit X86InterleavedAccessGroup to handle the same type case only" (details)
  35. [mlir][Vector] NFC - Drop vector EDSC usage (details)
  36. [llvm][AArch64][SVE] Model FFR-using intrinsics with inaccessiblemem (details)
  37. Revert "[GlobalISel] Simplify G_ICMP to true/false when the result is known" (details)
  38. [lldb][NFC] Remove sample test boilerplate from TestBreakOnCPP11Initializers (details)
  39. [lldb] Encode `bool` as unsigned int (details)
  40. [mir][Python][linalg] Support OpDSL extensions in C++. (details)
  41. [X86][Atom] Fix vector integer shift by immediate resource/throughputs (details)
  42. [X86][AVX] createVariablePermute - generalize the PR50356 fix for smaller indices vector as well (details)
  43. [nfc] [lldb] 1/2: Fix DW_AT_ranges DW_FORM_sec_offset not using DW_AT_rnglists_base (used by GCC) (details)
  44. [lldb] 2/2: Fix DW_AT_ranges DW_FORM_sec_offset not using DW_AT_rnglists_base (used by GCC) (details)
  45. Revert rG528bc10e95d5f9d6a338f9bab5e91d7265d1cf05 : "[X86FixupLEAs] Transform the sequence LEA/SUB to SUB/SUB" (details)
  46. Reapply "[X86] Limit X86InterleavedAccessGroup to handle the same type case only" (details)
  47. [clang][patch] Add support for option -fextend-arguments={32,64}: widen integer arguments to int64 in unprototyped function calls (details)
  48. [lldb] Enable TestCppBitfields on Windows (details)
  49. [AsmParser][SystemZ][z/OS] Introducing HLASM Parser support to AsmParser - Part 1 (details)
  50. [VP] make getFunctionalOpcode return an Optional (details)
  51. Fix lld macho standalone build by including llvm/Config/llvm-config.h instead of llvm/Config/config.h (details)
  52. [mlir][SCF] NFC - Drop SCF EDSC usage (details)
  53. Revert "Do actual DCE in LoopUnroll (try 3)" (details)
  54. [CSSPGO] Overwrite branch weight annotated in previous pass. (details)
  55. Recommit "[GlobalISel] Simplify G_ICMP to true/false when the result is known" (details)
  56. [profile] Skip mmap() if there are no counters (details)
  57. [ScalarEvolution] Remove unused ExitLimit::hasOperand() method (NFC) (details)
  58. [x86] add test check lines to demonstrate FMF propagation failure; NFC (details)
  59. [x86] propagate FMF from x86-specific intrinsic nodes to others during lowering (details)
  60. Revert "Reapply "[clang][deps] Support inferred modules"" (details)
  61. Do actual DCE in LoopUnroll (try 4) (details)
  62. [MCA] llvm-mca MCTargetStreamer segfault fix (details)
  63. [NFCI][Local] removeUnreachableBlocks(): use DeleteDeadBlocks() (details)
  64. [NFCI][Local] MergeBlockIntoPredecessor(): use DeleteDeadBlocks() (details)
  65. [NFCI][Local] TryToSimplifyUncondBranchFromEmptyBlock(): use DeleteDeadBlocks() (details)
  66. [CoverageMapping] Handle gaps in counter IDs for source-based coverage (details)
  67. [MLIR] Update Vector To LLVM conversion to be aware of assume_alignment (details)
  68. [x86] update fma test with deprecated intrinsics; NFC (details)
  69. [libcxx][iterator][nfc] acquires lock for working on [range.iter.ops] (details)
  70. [MCA] Unbreak the buildbots by passing flag -mcpu=generic to the new test added by commit e5d59db469. (details)
  71. [libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size` (details)
  72. [lld/mac] Remove dead declaration (details)
  73. [x86] propagate FMF from x86-specific intrinsic nodes to others during combining (details)
  74. [x86] add tests for fma folds with fast-math-flags; NFC (details)
  75. [Diagnostics] Allow emitting analysis and missed remarks on functions (details)
  76. [clang][ObjC] Allow different availability annotation on a method (details)
  77. [lldb] Fix UB in half2float and add some more tests. (details)
  78. [OpaquePtr] Make GEPs work with opaque pointers (details)
  79. [PDB] Do not record PGO or coverage public symbols (details)
  80. [OpaquePtr] Make cmpxchg work with opaque pointers (details)
  81. [OpaquePtr] Make atomicrmw work with opaque pointers (details)
  82. [Reland] [mlir] Speed up Lexer::getEncodedSourceLocation (details)
  83. [mlir] Add include guard to TOSA tblgen passes (details)
  84. Revert "[lldb] Fix UB in half2float and add some more tests." (details)
  85. [ORC] Add a CPU getter to JITTargetMachineBuilder. (details)
  86. [ORC-RT] Add ORC runtime error and expected types. (details)
  87. Treat implicit deduction guides as being equivalent to their (details)
  88. [CSSPGO] Avoid deleting probe instruction in FoldValueComparisonIntoPredecessors (details)
  89. [mlir][CAPI] Expose [u]int8 DenseElementsAttr. (details)
  90. [mlir] Harmonize TOSA include guards (details)
  91. [mlir] Properly align StorageUniquer::BaseStorage to fix 32 bit build (details)
  92. [mlir][sparse] skip sparsification for unannotated (or unhandled) cases (details)
  93. [NFC][tsan] clang-format the test (details)
  94. Revert "[Driver] Delete -mimplicit-it=" (details)
  95. [mlir][docs] Fix minor typos in vector dialect docs (details)
  96. [CMake] Don't LTO optimize targets that aren't part of any distribution (details)
  97. [MC][ARM] Reject Thumb "ror rX, #0" (details)
  98. [Remarks] Add analysis remarks for memset/memcpy/memmove lengths (details)
  99. [docs] Describe reporting security issues on the chromium tracker. (details)
  100. [lld][WebAssembly] Fix for string tail merging and -r/--relocatable (details)
  101. [gn build] Port 4bf69fb52b3c (details)
  102. PR50402: Use proper constant evaluation rules for checking constraint (details)
  103. -fno-semantic-interposition: Don't set dso_local on GlobalVariable (details)
  104. [test] Fix test (details)
  105. [mlir] Add a new `print-ir-after-failure` IR pass printing flag (details)
  106. [mlir] Refactor the implementation of pass crash reproducers (details)
  107. Fix warnings in windows bots. NFC (details)
  108. [sanitizer] Reduce redzone size for small size global objects (details)
  109. [OpenMP][NFC] Remove SIMD check lines for non-simd tests (details)
  110. [llvm-objcopy] Update LIT test to resolve bot failure [NFC] (details)
  111. [HWASAN] Update the tag info for X86_64. (details)
  112. [clang-offload-bundler] Delimit input/output file names by '--' for llvm-objcopy (details)
Commit e2b365948b363636624d5c8cf631f075b19351aa by ravishankarm
[mlir][Linalg] Break unnecessary dependency through unused `outs` tensor.

LinalgOps that are all parallel do not use the value of `outs`
tensor. The semantics is that the `outs` tensor is fully
overwritten. Using anything other than `init_tensor` can add false
dependencies between operations, when the use is just for the shape of
the tensor. Adding a canonicalization to always use `init_tensor` in
such cases, breaks this dependence.

Differential Revision: https://reviews.llvm.org/D102561
The file was modifiedmlir/test/Dialect/Linalg/reshape_fusion.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit c742d8d23c2a1f500689efcd3b563cc956c5e173 by Vitaly Buka
[libfuzzer] Update doc mentioning removed flags.
The file was modifiedllvm/docs/LibFuzzer.rst
Commit fb7ec1f1873c82b758d606dc7e5b4687fc68dce2 by springerm
[mlir] Use VectorTransferPermutationMapLoweringPatterns in VectorToSCF

VectorTransferPermutationMapLoweringPatterns can be enabled via a pass option. These additional patterns lower permutation maps to minor identity maps with broadcasting, if possible, allowing for more efficient vector load/stores. The option is deactivated by default.

Differential Revision: https://reviews.llvm.org/D102593
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-1d.mlir
The file was modifiedmlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
The file was addedmlir/test/Dialect/Vector/vector-transfer-lowering-to-scf.mlir
The file was removedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-permutation-lowering.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-3d.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 60a097e5112d81707ac65f943e970428b9a953dc by xur
Fix sanitizer test errors from commit 886629a8

Explictly handle the empty string in the Hash calculation.
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test2.ll
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
Commit 9f36306cc9ac6d1d1019831d40865d0d54563379 by hokein.wu
[clang-tidy] Fix a crash on invalid code for memset-usage check.

Differential Revision: https://reviews.llvm.org/D102714
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-suspicious-memset-usage.c
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
Commit 729e18cbf498fb9b95fd672691ee8c7b7926f674 by lebedev.ri
[NFCI] SimplifyCFGPass: mergeEmptyReturnBlocks(): use DeleteDeadBlocks()

In this case, it does the same thing as the original pattern does.

SimplifyCFG has a few lurking miscompilations about deleting blocks that
have their address taken, and consistently using DeleteDeadBlocks() instead
of a hand-rolled pattern will allow to weed those cases out easierly.
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Commit ca2c245ba4665bde94f8c6319185d1c9ff295167 by fraser
[RISCV] Support INSERT_VECTOR_ELT into i1 vectors

Like the element extraction of these vectors, we choose to promote up to
an i8 vector type and perform the insertion there.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D102697
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/insertelt-i1.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-i1.ll
Commit f24f140290703b4ec610ac45bd5e4cbdaa8ee25e by serguei.n.dmitriev
[llvm-objcopy] Add support for '--' for delimiting options from input/output files

This will allow to use llvm-objcopy with file names that begin with dashes.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D102665
The file was modifiedllvm/test/tools/llvm-objcopy/tool-help-message.test
The file was addedllvm/test/tools/llvm-objcopy/dash-dash.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
Commit a4eb24c688c350d4e948d8a7303c3a5fa4e42698 by lebedev.ri
[NFCI][SimplifyCFG] simplifyCommonResume(): use DeleteDeadBlock()
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 00f90e3fca79e8ba9bf44e7e3a0da0e6311af822 by lebedev.ri
[NFCI][SimplifyCFG] simplifySingleResume(): use DeleteDeadBlock()
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 69a43e5fc5ead9e53f975a0ca41cc62c78f644ec by lebedev.ri
[NFCI][SimplifyCFG] simplifyReturn(): use DeleteDeadBlock()
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 57d20cbf467fc69ebd575209d101f73ab4461e84 by lebedev.ri
[NFCI][SimplifyCFG] simplifyUnreachable(): use DeleteDeadBlock()
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 4f86aa650c40196754df22c421d551d129c9149a by sander.desmalen
[LV] Add -scalable-vectorization=<option> flag.

This patch adds a new option to the LoopVectorizer to control how
scalable vectors can be used.

Initially, this suggests three levels to control scalable
vectorization, although other more aggressive options can be added in
the future.

The possible options are:
- Disabled:   Disables vectorization with scalable vectors.
- Enabled:    Vectorize loops using scalable vectors or fixed-width
              vectors, but favors fixed-width vectors when the cost
              is a tie.
- Preferred:  Like 'Enabled', but favoring scalable vectors when the
              cost-model is inconclusive.

Reviewed By: paulwalker-arm, vkmr

Differential Revision: https://reviews.llvm.org/D101945
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-analysis.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/scalable-vf-hint.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-type-conv.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/RISCV/scalable-vf-hint.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-inv-loads.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-vf-hint.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/metadata-width.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-extract-last-veclane.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-basic-vec.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-scalable.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
Commit c1dc267258e06bb69e1ca217d1d8ce2d15b8757f by Tim Northover
MachineBasicBlock: add liveout iterator aware of which liveins are defined by the runtime.

Using this in RegAlloc fast reduces register pressure, and in some cases allows
x86 code to compile that wouldn't before.
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch.ll
The file was addedllvm/test/CodeGen/X86/regalloc-tight-invoke.ll
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e102fd50f9c62ffe2d0fe04827d0a8b85250118f by simon.giesecke
Reformat GSYMCreator.cpp

Differential Revision: https://reviews.llvm.org/D102483
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Commit f29c4c60978c41914fadb064eec46086e66f07c0 by simon.giesecke
Avoid calculating the string hash twice in GsymCreator::insertString.

Do the single hash calculation before acquiring the lock, to reduce
lock contention. If Copy is true, and the string was not yet contained
in the StringStorage, use the new address from StringStorage, but
reuse the hash we already calculated.

Differential Revision: https://reviews.llvm.org/D102484
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Commit 4ea4d9c066b6e6f24756538d3d366d559499be3d by simon.giesecke
Move FunctionInfo in addFunctionInfo rather than copying.

Differential Revision: https://reviews.llvm.org/D102485
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Commit 81b2fcf26fcaff1dfc7fcc30eb0de79d643e85e6 by simon.giesecke
Use a non-recursive mutex in GsymCreator.

There doesn't seem to be a need to support recursive locking,
and a recursive mutex is unnecessarily inefficient.

Differential Revision: https://reviews.llvm.org/D102486
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymCreator.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
Commit ca23a38e373142a18ab56700ba4f3b947bfe9db0 by pengfei.wang
[X86] Limit X86InterleavedAccessGroup to handle the same type case only

The current implementation assumes the destination type of shuffle is the same as the decomposed ones. Add the check to avoid crush when the condition is not satisfied.

This fixes PR37616.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D102751
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp
Commit 479ea2a8ed95544d2f5aaede34bfe5c298ae8bdb by dkszelethus
[analyzer] Check the checker name, rather than the ProgramPointTag when silencing a checker

The program point created by the checker, even if it is an error node,
might not be the same as the name under which the report is emitted.
Make sure we're checking the name of the checker, because thats what
we're silencing after all.

Differential Revision: https://reviews.llvm.org/D102683
The file was addedclang/test/Analysis/silence-checkers-malloc.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/test/Analysis/malloc.cpp
Commit 1230b4cee18705068fda0efdac8f2c0304987fe5 by frgossen
[x86] Fix FMF propagation test
The file was modifiedllvm/test/CodeGen/X86/fmf-propagation.ll
Commit c1eaa1168a9000eac587e55d7f171df813c5340b by dvyukov
tsan: mark sigwait as blocking

Add a test case reported in:
https://github.com/google/sanitizers/issues/1401
and fix it.
The code assumes sigwait will process other signals.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D102057
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was addedcompiler-rt/test/tsan/signal_block2.cpp
Commit a0be08164622bf938855ff5d19dd8e9d0c96b9b3 by lebedev.ri
[NFC][SimplifyCFG] removeEmptyCleanup(): use BasicBlock::phis()
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit bb5d613aba347c3ab3fcbf1507c22d2301f5b47d by lebedev.ri
[NFCI][SimplifyCFG] removeEmptyCleanup(): streamline PHI node updating
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 8c2b535d6c38d1a54c5a23301325112f00a341f7 by lebedev.ri
[NFCI][SimplifyCFG] removeEmptyCleanup(): use DeleteDeadBlock()

This required some changes to, instead of eagerly making PHI's
in the UnwindDest valid as-if the BB is already not a predecessor,
to be valid while BB is still a predecessor.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 722c39fef5ab611b3196e964bb3177a5ab473355 by bjorn.a.pettersson
[HIP] Tighten checks in hip-include-path.hip test case

The checks (both positive and negative checks) in the test case
hip-include-path.hip could mistakenly end up matching the string
"clang" from the InstalledDir in case the build dir for example
was named "/home/username/build-clang/". Intention with this
patch is to tighten up the checks a bit to filter our the
part of the paths that match with InstalledDir when doing the
checks, as well as matching "/lib/clang/" rather than
just "clang/".

Problem was found when building with
  -DCLANG_DEFAULT_RTLIB=compiler-rt
  -DCLANG_DEFAULT_CXX_STDLIB=libc++
and having "clang/" in the path to the build dir.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D102723
The file was modifiedclang/test/Driver/hip-include-path.hip
Commit 8c717920d852795447ab14f5d321719b5fa68c56 by llvm-dev
[X86] Remove copy + paste typos in AtomWriteResPair comment.

Remnants from when the Atom model was copied from the Btver2 model.....
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
Commit 222314d8b0cd662b449cf4f1424e93dadcf4cf70 by llvm-dev
[X86] Atom (pre-SLM) doesn't support PTEST instructions
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
Commit f5b5426433c9e6c24615ef1286d72c527b0b15dd by hokein.wu
[clang] Fix a crash on CheckArgAlignment.

We might encounter an undeduced type before calling getTypeAlignInChars.

NOTE: this retrieves the fix from
8f80c66bd2982788a8eede4419684ca72f48b9a2, which was removed in Adam's
followup fix fbfcfdbf6828b8d36f4ec0ff5f4eac11fb1411a5. We originally
thought the crash was caused by recovery-ast, but it turns out it can
occur for other cases, e.g. typo-correction.

Differential Revision: https://reviews.llvm.org/D102750
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaCXX/typo-correction-crash.cpp
Commit c98833cdaad01787ea70ecdfabb05a7e142a6671 by Jan Svoboda
Reapply "[clang][deps] Support inferred modules"

This reapplies commit 95033eb3 that reverted commit 1d9e8e13.

The tests were failing on Windows due to spaces and backslashes in paths not being handled carefully.
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
The file was addedclang/utils/module-deps-to-rsp.py
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
The file was addedclang/test/ClangScanDeps/modules-inferred.m
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
The file was addedclang/test/ClangScanDeps/modules-inferred-explicit-build.m
The file was addedclang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
Commit 6025663578cd367b6f1bcba3f42076eee4fce7a2 by spatel
[SDAG] propagate FMF from target-specific IR intrinsics

This is a step towards relying more on node-level FMF rather than function-wide
or target settings.
I think it was just an oversight that we didn't get this path in D87361
or follow-on patches.

The lack of FMF propagation is blocking D90901 from converting tests to IR-level FMF.

We can't do much more than this currently because we also fail to propagate flags
from x86-specific node to generic FMA node. That would be another patch, so the
test just verifies that we can transfer from IR to initial SDAG node.

Differential Revision: https://reviews.llvm.org/D102725
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/fmf-propagation.ll
Commit d59a2a32b942ffb0decef5370eec98b8eba99c11 by kbessonova
[ARM][NEON] Combine base address updates for vst1x intrinsics

Differential Revision: https://reviews.llvm.org/D102256
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrNEON.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/ARM/arm-vst1.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit 7e95a563c89dc158217e2032b716e5be77677846 by david.sherwood
Remove scalable vector assert from InnerLoopVectorizer::setDebugLocFromInst

In InnerLoopVectorizer::setDebugLocFromInst we were previously
asserting that the VF is not scalable. This is because we want to
use the number of elements to create a duplication factor for the
debug profiling data. However, for scalable vectors we only know the
minimum number of elements. I've simply removed the assert for now
and added a FIXME saying that we assume vscale is always 1. When
vscale is not 1 it just means that the profiling data isn't as
accurate, but shouldn't cause any functional problems.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 66513e2f20d9885374d0df43a89fc768523d6354 by pengfei.wang
Revert "[X86] Limit X86InterleavedAccessGroup to handle the same type case only"

This reverts commit ca23a38e373142a18ab56700ba4f3b947bfe9db0.

Revert due to EXPENSIVE_CHECKS fail.
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll
Commit 6825bfe23e3829c81574e7d5d41887ca2dae4bef by nicolas.vasilache
[mlir][Vector] NFC - Drop vector EDSC usage

Drop the vector dialect EDSC subdirectory and update all uses.
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
The file was removedmlir/include/mlir/Dialect/Vector/EDSC/Intrinsics.h
The file was removedmlir/test/EDSC/builder-api-test.cpp
The file was removedmlir/test/EDSC/lit.local.cfg
The file was modifiedmlir/lib/Dialect/Vector/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was removedmlir/lib/Dialect/Vector/EDSC/Builders.cpp
The file was removedmlir/include/mlir/Dialect/Vector/EDSC/Builders.h
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
The file was removedmlir/test/EDSC/CMakeLists.txt
Commit fd4ef793ea54e5730838998863fea5484fcba541 by peter.waller
[llvm][AArch64][SVE] Model FFR-using intrinsics with inaccessiblemem

Intriniscs reading or writing the FFR register need to model the fact
there is additional state being read/wrtten.

Model this state as inaccessible memory.

* setffr => write inaccessiblememonly
* rdffr => read inaccessiblememonly
* ldff* => read arg memory, write inaccessiblemem
* ldnf => read arg memory, write inaccessiblemem
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
Commit 52a779762688dee1a6042dc41f35e1f7a7048b85 by thakis
Revert "[GlobalISel] Simplify G_ICMP to true/false when the result is known"

This reverts commit 892497c806306a4b7185ead16d60b0ebcca0a304.
Breaks tests, see comments on https://reviews.llvm.org/D102542
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
The file was removedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/test/CodeGen/AArch64/fold-global-offsets.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
Commit ff954865137cdd11165340e2c9537cfd1b3f805d by Raphael Isemann
[lldb][NFC] Remove sample test boilerplate from TestBreakOnCPP11Initializers
The file was modifiedlldb/test/API/lang/cpp/break-on-initializers/main.cpp
The file was modifiedlldb/test/API/lang/cpp/break-on-initializers/TestBreakOnCPP11Initializers.py
Commit 0bab7b26f4d9dc4cb8f6c2877ad4a2c388c41c65 by weratt
[lldb] Encode `bool` as unsigned int

`bool` is considered to be unsigned according to `std::is_unsigned<bool>::value` (and `Type::GetTypeInfo`). Encoding it as signed int works fine for normal variables and fields, but breaks when reading the values of boolean bitfields. If the field is declared as `bool b : 1` and has a value of `0b1`, the call to `SBValue::GetValueAsSigned()` will return `-1`.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D102685
The file was modifiedlldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/test/API/lang/cpp/bitfields/main.cpp
Commit 9a2769db801d4c45edb939223abfb3e1a639732f by gysit
[mir][Python][linalg] Support OpDSL extensions in C++.

The patch extends the yaml code generation to support the following new OpDSL constructs:
- captures
- constants
- iteration index accesses
- predefined types
These changes have been introduced by revision
https://reviews.llvm.org/D101364.

Differential Revision: https://reviews.llvm.org/D102075
The file was addedmlir/test/mlir-linalg-ods-gen/test-linalg-ods-yaml-gen.yaml
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/python/dialects/linalg/opdsl/assignments.py
The file was modifiedmlir/test/python/dialects/linalg/opsrun.py
The file was addedmlir/test/python/dialects/linalg/opdsl/arguments.py
The file was modifiedmlir/test/lit.cfg.py
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/config.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/scalar_expr.py
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Commit b14f9a1ebd7bb5ce9190990c07304befd6eff2ca by llvm-dev
[X86][Atom] Fix vector integer shift by immediate resource/throughputs

Match whats documented in the Intel AOM (and Agner/instlatx64 agree) - these are all Port0 only.

Now that we can use in-order models in llvm-mca, the atom model is a good "worst case scenario" analysis for x86.
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-mmx.s
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
Commit ab4e04a0f31ae187f67991980e707ff70bbc6285 by llvm-dev
[X86][AVX] createVariablePermute - generalize the PR50356 fix for smaller indices vector as well

Generalize the fix from rGd0902a8665b1 by ensuring we widen/narrow the indices subvector first and then perform the ZERO_EXTEND_VECTOR_INREG (if necessary), which should allow us to perform the variable permutes with source/destination/indices vectors of any widths.
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9dd861a4f53968c732531de5d4488ace20d6d075 by jan.kratochvil
[nfc] [lldb] 1/2: Fix DW_AT_ranges DW_FORM_sec_offset not using DW_AT_rnglists_base (used by GCC)

Refactor code only for D98289.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D99653
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
Commit d1310817194aad488c86f4fb627c33090600a4a9 by jan.kratochvil
[lldb] 2/2: Fix DW_AT_ranges DW_FORM_sec_offset not using DW_AT_rnglists_base (used by GCC)

DW_AT_ranges can use DW_FORM_sec_offset (instead of DW_FORM_rnglistx).
In such case DW_AT_rnglists_base does not need to be present.
DWARF-5 spec:
        "If the offset_entry_count is zero, then DW_FORM_rnglistx cannot
        be used to access a range list; DW_FORM_sec_offset must be used
        instead. If the offset_entry_count is non-zero, then
        DW_FORM_rnglistx may be used to access a range list;"

This fix is for TestTypeCompletion.py category `dwarf` using GCC with DWARF-5.

The fix just provides GetRnglist() lazy getter for `m_rnglist_table`.
The testcase is easier to review by:
        diff -u lldb/test/Shell/SymbolFile/DWARF/DW_AT_low_pc-addrx.s \
          lldb/test/Shell/SymbolFile/DWARF/DW_AT_range-DW_FORM_sec_offset.s

Differential Revision: https://reviews.llvm.org/D98289
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_AT_range-DW_FORM_sec_offset.s
Commit 707fc2e2f227ec7b367273d0906b953bbae41392 by llvm-dev
Revert rG528bc10e95d5f9d6a338f9bab5e91d7265d1cf05 : "[X86FixupLEAs] Transform the sequence LEA/SUB to SUB/SUB"

Reports on D101970 indicate this is causing failures on multi-stage compiles.
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
The file was modifiedllvm/test/CodeGen/X86/lea-opt2.ll
The file was modifiedllvm/test/CodeGen/X86/vp2intersect_multiple_pairs.ll
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
Commit 9d09d20448e48c78035c40982646b7b26fee88c3 by pengfei.wang
Reapply "[X86] Limit X86InterleavedAccessGroup to handle the same type case only"

The current implementation assumes the destination type of shuffle is the same as the decomposed ones. Add the check to avoid crush when the condition is not satisfied.

This fixes PR37616.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D102751
The file was modifiedllvm/lib/Target/X86/X86InterleavedAccess.cpp
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll
Commit d30dfa86760ced9ac57f676340b34f2247898102 by melanie.blower
[clang][patch] Add support for option -fextend-arguments={32,64}: widen integer arguments to int64 in unprototyped function calls

Reviewed By: Aaron Ballman

Differential Revision: https://reviews.llvm.org/D101640
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/CodeGen/extend-arg-64.c
The file was addedclang/test/Driver/fextend-args.c
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Basic/TargetInfo.h
Commit 6c83d4a60b7d243f0674f4381ec72b7c8ec4f2be by weratt
[lldb] Enable TestCppBitfields on Windows

The test works correctly on Windows, the linked bug has been resolved.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D102769
The file was modifiedlldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
Commit f076da66b9d3c721611de36e43ac1da1607d1abf by anirudh_prasad
[AsmParser][SystemZ][z/OS] Introducing HLASM Parser support to AsmParser - Part 1

- This patch (is one in a series of patches) which introduces HLASM Parser support (for the first parameter of inline asm statements) to LLVM ([[ https://lists.llvm.org/pipermail/llvm-dev/2021-January/147686.html | main RFC here ]])
- This patch in particular introduces HLASM Parser support for Z machine instructions.
- The approach taken here was to subclass `AsmParser`, and make various functions and variables as "protected" wherever appropriate.
- The `HLASMAsmParser` class overrides the `parseStatement` function. Two new private functions `parseAsHLASMLabel` and `parseAsMachineInstruction` are introduced as well.

The general syntax is laid out as follows (more information available in [[ https://www.ibm.com/support/knowledgecenter/SSENW6_1.6.0/com.ibm.hlasm.v1r6.asm/asmr1023.pdf | HLASM V1R6 Language Reference Manual ]] - Chapter 2 - Instruction Statement Format):

```
<TokA><spaces.*><TokB><spaces.*><TokC><spaces.*><TokD>
```

1. TokA is referred to as the Name Entry. This token is optional
2. TokB is referred to as the Operation Entry. This token is mandatory.
3. TokC is referred to as the Operand Entry. This token is mandatory
4. TokD is referred to as the Remarks Entry. This token is optional

- If TokA is provided, then we either parse TokA as a possible comment or as a label (Name Entry), Tok B as the Operation Entry and so on.
- If TokA is not provided (i.e. we have one or more spaces and then the first token), then we will parse the first token (i.e TokB) as a possible Z machine instruction, TokC as the operands to the Z machine instruction and TokD as a possible Remark field
- TokC (Operand Entry), no spaces are allowed between OperandEntries. If a space occurs it is classified as an error.
- TokD if provided is taken as is, and emitted as a comment.

The following additional approach was examined, but not taken:

- Adding custom private only functions to base AsmParser class, and only invoking them for z/OS. While this would eliminate the need for another child class, these private functions would be of non-use to every other target. Similarly, adding any pure virtual functions to the base MCAsmParser class and overriding them in AsmParser would also have the same disadvantage.

Testing:

- This patch doesn't have tests added with it, for the sole reason that MCStreamer Support and Object File support hasn't been added for the z/OS target (yet). Hence, it's not possible generate code outright for the z/OS target. They are in the process of being committed / process of being worked on.

- Any comments / feedback on how to combat this "lack of testing" due to other missing required features is appreciated.

Reviewed By: Kai, uweigand

Differential Revision: https://reviews.llvm.org/D98276
The file was modifiedllvm/include/llvm/MC/MCAsmInfo.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
Commit 66963bf3819df4f47bd874a946af058f0c1c4ec0 by simon.moll
[VP] make getFunctionalOpcode return an Optional

The operation of some VP intrinsics do/will not map to regular
instruction opcodes.  Returning 'None' seems more intuitive here than
'Instruction::Call'.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D102778
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/CodeGen/ExpandVectorPredication.cpp
The file was modifiedllvm/unittests/IR/VPIntrinsicTest.cpp
Commit 9383e9c1e627b49cc1c80c2e6117132734a2fba8 by thakis
Fix lld macho standalone build by including llvm/Config/llvm-config.h instead of llvm/Config/config.h

lld/MachO/Driver.cpp and lld/MachO/SyntheticSections.cpp include
llvm/Config/config.h which doesn't exist when building standalone lld.

This patch replaces llvm/Config/config.h include with llvm/Config/llvm-config.h
just like it is in lld/ELF/Driver.cpp and HAVE_LIBXAR with LLVM_HAVE_LIXAR and
moves LLVM_HAVE_LIBXAR from config.h to llvm-config.h

Also it adds LLVM_HAVE_LIBXAR to LLVMConfig.cmake and links liblldMachO2.so
with XAR_LIB if LLVM_HAVE_LIBXAR is set.

Differential Revision: https://reviews.llvm.org/D102084
The file was modifiedlld/tools/lld/CMakeLists.txt
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedllvm/tools/llvm-objdump/CMakeLists.txt
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
The file was modifiedlld/CMakeLists.txt
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/CMakeLists.txt
Commit 84a880e1e23ebc2ca60e6e1f9e8d0d8db3f9a036 by nicolas.vasilache
[mlir][SCF] NFC - Drop SCF EDSC usage

Drop the SCF dialect EDSC subdirectory and update all uses.

Differential Revision: https://reviews.llvm.org/D102780
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/MemRef/EDSC/Intrinsics.h
The file was modifiedmlir/include/mlir/EDSC/Builders.h
The file was removedmlir/include/mlir/Dialect/SCF/EDSC/Intrinsics.h
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was removedmlir/include/mlir/Dialect/SCF/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/SCF/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/Linalg/EDSC/Builders.cpp
The file was removedmlir/lib/Dialect/SCF/EDSC/Builders.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/EDSC/Intrinsics.h
Commit 517857421d2ffcebc20da2c68862f7a2ddebaa51 by akhuang
Revert "Do actual DCE in LoopUnroll (try 3)"

This reverts commit b6320eeb8622f05e4a5d4c7f5420523357490fca
as it causes clang to assert; see
https://reviews.llvm.org/rGb6320eeb8622f05e4a5d4c7f5420523357490fca.
The file was modifiedllvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/full-unroll-trip-count-upper-bound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/optsize-loop-size.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-invariant.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
The file was removedllvm/test/Transforms/LoopUnroll/dce.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit 4ca6e37b9825db6d27a0aa2311b6530ac3faf021 by hoy
[CSSPGO] Overwrite branch weight annotated in previous pass.

Sample profile loader can be run in both LTO prelink and postlink. Currently the counts annoation in postilnk doesn't fully overwrite what's done in prelink. I'm adding a switch (`-overwrite-existing-weights=1`) to enable a full overwrite, which includes:

1. Clear old metadata for calls when their parent block has a zero count. This could be caused by prelink code duplication.

2. Clear indirect call metadata if somehow all the rest targets have a sum of zero count.

3. Overwrite branch weight for basic blocks.

With a CS profile, I was seeing #1 and #2 help reduce code size by preventing post-sample ICP and CGSCC inliner working on obsolete metadata, which come from a partial global inlining in prelink.  It's not expected to work well for non-CS case with a less-accurate post-inline count quality.

It's worth calling out that some prelink optimizations can damage counts quality in an irreversible way. One example is the loop rotate optimization. Due to lack of exact loop entry count (profiling can only give loop iteration count and loop exit count), moving one iteration out of the loop body leaves the rest iteration count unknown. We had to turn off prelink loop rotate to achieve a better postlink counts quality. A even better postlink counts quality can be archived by turning off prelink CGSCC inlining which is not context-sensitive.

Reviewed By: wenlei, wmi

Differential Revision: https://reviews.llvm.org/D102537
The file was modifiedllvm/test/Transforms/SampleProfile/branch.ll
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-profile-metadata-2.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 84ae1cf8edc00cbf02a7396fef256f39046c1e5b by Jessica Paquette
Recommit "[GlobalISel] Simplify G_ICMP to true/false when the result is known"

Add missing REQUIRES line to
prelegalizer-combiner-icmp-to-true-false-known-bits.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/test/CodeGen/AArch64/fold-global-offsets.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
Commit 7014a101614367e05cec1ba72a6be07eb173b304 by Vedant Kumar
[profile] Skip mmap() if there are no counters

If there are no counters, an mmap() of the counters section would fail
due to the size argument being too small (EINVAL).

rdar://78175925

Differential Revision: https://reviews.llvm.org/D102735
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
The file was addedcompiler-rt/test/profile/ContinuousSyncMode/image-with-no-counters.c
Commit b661a55a253f4a1cf5a0fbcb86e5ba7b9fb1387b by nikita.ppv
[ScalarEvolution] Remove unused ExitLimit::hasOperand() method (NFC)

We only use BackedgeTakenInfo::hasOperand().
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit 25207d5f81385e425f67283f7abd10d5f01b7f37 by spatel
[x86] add test check lines to demonstrate FMF propagation failure; NFC
The file was modifiedllvm/test/CodeGen/X86/fmf-propagation.ll
Commit f66ba4cfa7ca312caee5f8f32fcceff592a15acd by spatel
[x86] propagate FMF from x86-specific intrinsic nodes to others during lowering

This is another fast-math-flags failure exposed by D90901.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fmf-propagation.ll
Commit 76b8754d1bba6a8490c0f7e8a9e2fb3d181f0b03 by frgossen
Revert "Reapply "[clang][deps] Support inferred modules""

This reverts commit c98833cdaad01787ea70ecdfabb05a7e142a6671.
The test `ClangScanDeps/modules-inferred-explicit-build.m` creates files
in the current directory.
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
The file was removedclang/test/ClangScanDeps/modules-inferred-explicit-build.m
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
The file was removedclang/test/ClangScanDeps/modules-inferred.m
The file was removedclang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
The file was removedclang/utils/module-deps-to-rsp.py
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
Commit 449d14ebd23b80bbc8bb5a1ba7979b0e4092a2fc by listmail
Do actual DCE in LoopUnroll (try 4)

Turns out simplifyLoopIVs sometimes returns a non-dead instruction in it's DeadInsts out param.  I had done a bit of NFC cleanup which was only NFC if simplifyLoopIVs obeyed it's documentation.  I'm simplfy dropping that part of the change.

Commit message from try 3:

Recommitting after fixing a bug found post commit. Amusingly, try 1 had been correct, and by reverting to incorporate last minute review feedback, I introduce the bug. Oops. :)

Original commit message:

The problem was that recursively deleting an instruction can delete instructions beyond the current iterator (via a dead phi), thus invalidating iteration. Test case added in LoopUnroll/dce.ll to cover this case.

LoopUnroll does a limited DCE pass after unrolling, but if you have a chain of dead instructions, it only deletes the last one. Improve the code to recursively delete all trivially dead instructions.

Differential Revision: https://reviews.llvm.org/D102511
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was addedllvm/test/Transforms/LoopUnroll/dce.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/full-unroll-trip-count-upper-bound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-invariant.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/optsize-loop-size.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis.ll
Commit e5d59db46938caf0280f7347e89181f2a7b0749c by andrea.dibiagio
[MCA] llvm-mca MCTargetStreamer segfault fix

In order to create the code regions for llvm-mca to analyze, llvm-mca creates an
AsmCodeRegionGenerator and calls AsmCodeRegionGenerator::parseCodeRegions().
Within this function, both an MCAsmParser and MCTargetAsmParser are created so
that MCAsmParser::Run() can be used to create the code regions for us.

These parser classes were created for llvm-mc so they are designed to emit code
with an MCStreamer and MCTargetStreamer that are expected to be setup and passed
into the MCAsmParser constructor. Because llvm-mca doesn’t want to emit any
code, an MCStreamerWrapper class gets created instead and passed into the
MCAsmParser constructor. This wrapper inherits from MCStreamer and overrides
many of the emit methods to just do nothing. The exception is the
emitInstruction() method which calls Regions.addInstruction(Inst).

This works well and allows llvm-mca to utilize llvm-mc’s MCAsmParser to build
our code regions, however there are a few directives which rely on the
MCTargetStreamer. llvm-mc assumes that the MCStreamer that gets passed into the
MCAsmParser’s constructor has a valid pointer to an MCTargetStreamer. Because
llvm-mca doesn’t setup an MCTargetStreamer, when the parser encounters one of
those directives, a segfault will occur.

In x86, each one of these 7 directives will cause this segfault if they exist in
the input assembly to llvm-mca:

.cv_fpo_proc
.cv_fpo_setframe
.cv_fpo_pushreg
.cv_fpo_stackalloc
.cv_fpo_stackalign
.cv_fpo_endprologue
.cv_fpo_endproc
I haven’t looked at other targets, but I wouldn’t be surprised if some of the
other ones also have certain directives which could result in this same
segfault.

My proposed solution is to simply initialize an MCTargetStreamer after we
initialize the MCStreamerWrapper. The MCTargetStreamer requires an ostream
object, but we don’t actually want any of these directives to be emitted
anywhere, so I use an ostream created with the nulls() function. Since this
needs to happen after the MCStreamerWrapper has been initialized, it needs to
happen within the AsmCodeRegionGenerator::parseCodeRegions() function. The
MCTargetStreamer also needs an MCInstPrinter which is easiest to initialize
within the main() function of llvm-mca. So this MCInstPrinter gets constructed
within main() then passed into the parseCodeRegions() function as a parameter.
(If you feel like it would be appropriate and possible to create the
MCInstPrinter within the parseCodeRegions() function, then feel free to modify
my solution. That would stop us from having to pass it into the function and
would limit its scope / lifetime.)

My solution stops the segfault from happening and still passes all of the
current (expected) llvm-mca tests. I also added a new test for x86 that checks
for this segfault on an input that includes one of the .cv_fpo directives (this
test fails without my solution, but passes with it).

As far as I can tell, all of the functions that I modified are only called from
within llvm-mca so there shouldn’t be any worries about breaking other tools.

Differential Revision: https://reviews.llvm.org/D102709
The file was modifiedllvm/tools/llvm-mca/CodeRegionGenerator.cpp
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was addedllvm/test/tools/llvm-mca/X86/cv_fpo_directive_no_segfault.s
The file was modifiedllvm/tools/llvm-mca/CodeRegionGenerator.h
Commit b0bb2149b3711d5d7c4fd3182a7eac3f8fc17341 by lebedev.ri
[NFCI][Local] removeUnreachableBlocks(): use DeleteDeadBlocks()
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit c60ca9856c9da19794b0f7b83b3002847e3fc9d9 by lebedev.ri
[NFCI][Local] MergeBlockIntoPredecessor(): use DeleteDeadBlocks()
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Commit 40fb4eeff9ee59382f6bc37c622bde99c2a9a02a by lebedev.ri
[NFCI][Local] TryToSimplifyUncondBranchFromEmptyBlock(): use DeleteDeadBlocks()
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit e4274cfe06fe48ed8f0c9f965c8b519e30433bf8 by pirama
[CoverageMapping] Handle gaps in counter IDs for source-based coverage

For source-based coverage, the frontend sets the counter IDs and the
constraints of counter IDs is not defined.  For e.g., the Rust frontend
until recently had a reserved counter #0
(https://github.com/rust-lang/rust/pull/83774).  Rust coverage
instrumentation also creates counters on edges in addition to basic
blocks.  Some functions may have more counters than regions.

This breaks an assumption in CoverageMapping.cpp where the number of
counters in a function is assumed to be bounded by the number of
regions:
  Counts.assign(Record.MappingRegions.size(), 0);

This assumption causes CounterMappingContext::evaluate() to fail since
there are not enough counter values created in the above call to
`Counts.assign`.  Consequently, some uncovered functions are not
reported in coverage reports.

This change walks a Function's CoverageMappingRecord to find the maximum
counter ID, and uses it to initialize the counter array when instrprof
records are missing for a function in sparse profiles.

Differential Revision: https://reviews.llvm.org/D101780
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
Commit 29a50c5864ddab283c1ff38694fb5926ce37b39a by stephen.neuendorffer
[MLIR] Update Vector To LLVM conversion to be aware of assume_alignment

vector.transfer_read and vector.transfer_write operations are converted
to llvm intrinsics with specific alignment information, however there
doesn't seem to be a way in llvm to take information from llvm.assume
intrinsics and change this alignment information.  In any
event, due the to the structure of the llvm.assume instrinsic, applying
this information at the llvm level is more cumbersome.  Instead, let's
generate the masked vector load and store instrinsic with the right
alignment information from MLIR in the first place.  Since
we're bothering to do this, lets just emit the proper alignment for
loads, stores, scatter, and gather ops too.

Differential Revision: https://reviews.llvm.org/D100444
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Commit 333c968d40039d261315efd3412d166672465a88 by spatel
[x86] update fma test with deprecated intrinsics; NFC

Similar to 8854b27 -

All of the CHECK lines should be identical to before,
but without any of the x86-specific calls that were
replaced with generic FMA long ago.

The file still has value because it shows a miscompile
as demonstrated in D90901, but we probably need to
add tests with FMF to make that explicit without
losing coverage.
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine.ll
Commit 0f803657227d3a2086d7bb90d3119d3ed84f146c by cjdb
[libcxx][iterator][nfc] acquires lock for working on [range.iter.ops]

Differential Revision: https://reviews.llvm.org/D101845
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
Commit 9acabe8b6ff5abb9269bebac1da2d3c6ae2c99d2 by andrea.dibiagio
[MCA] Unbreak the buildbots by passing flag -mcpu=generic to the new test added by commit e5d59db469.

This should unbreak buildbot clang-ppc64le-linux-lnt.
The file was modifiedllvm/test/tools/llvm-mca/X86/cv_fpo_directive_no_segfault.s
Commit d8fad6614923eea684f736e7d22fe54d5393f13f by cjdb
[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`

* adds `sized_range` and conformance tests
* moves `disable_sized_range` into namespace `std::ranges`
* removes explicit type parameter

Implements part of P0896 'The One Ranges Proposal'.

Differential Revision: https://reviews.llvm.org/D102434
The file was modifiedlibcxx/test/std/containers/views/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/bidirectional_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/view_base.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was addedlibcxx/test/std/ranges/range.req/range.sized/sized_range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/iterator_t.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/size.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/sentinel_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/iterator_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/helper_aliases.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/input_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.range/range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/common_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/forward_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/empty.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/helper_aliases.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/enable_borrowed_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/view.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
The file was addedlibcxx/test/std/ranges/range.req/range.sized/subsumption.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/view.subsumption.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/size.h
The file was addedlibcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/enable_view.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.view/view.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/ranges
The file was modifiedlibcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.refinements/random_access_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/sentinel_t.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp
The file was removedlibcxx/test/std/ranges/range.range/range.compile.pass.cpp
Commit fd09a764ebc4dfd013292226480edcf0a604c4c4 by thakis
[lld/mac] Remove dead declaration
The file was modifiedlld/MachO/UnwindInfoSection.h
Commit f12f9beb04289f3ea1c1e9112609172e0b1b749b by spatel
[x86] propagate FMF from x86-specific intrinsic nodes to others during combining

This is another FMF gap exposed by D90901, but I don't see a way
to show the difference in a regression test as with:
f66ba4c
6025663

We will see an asm difference if we add a test as part of D90901.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9b59a61cfc4eb033446da7dcdd6eb18714742ce8 by spatel
[x86] add tests for fma folds with fast-math-flags; NFC

Part of prep work for D90901
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine.ll
Commit 2db182ff8d0c0d50155bf70d1db60b4e78c348ca by jhuber6
[Diagnostics] Allow emitting analysis and missed remarks on functions

Summary:
Currently, only `OptimizationRemarks` can be emitted using a Function.
Add constructors to allow this for `OptimizationRemarksAnalysis` and
`OptimizationRemarkMissed` as well.

Reviewed By: jdoerfert thegameg

Differential Revision: https://reviews.llvm.org/D102784
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h
The file was modifiedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
The file was modifiedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c
The file was modifiedllvm/test/Transforms/OpenMP/gpu_kernel_detection_remarks.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/OpenMP/icv_remarks.ll
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp
The file was modifiedllvm/test/Transforms/OpenMP/deduplication_remarks.ll
Commit 50be48b0f3c884a87ddf19c7c51abcab035c1efb by Alex Lorenz
[clang][ObjC] Allow different availability annotation on a method
when implementing an optional protocol requirement

When an Objective-C method implements an optional protocol requirement,
allow the method to use a newer introduced or older obsoleted
availability version than what's specified on the method in the protocol
itself. This allows SDK adopters to adopt an optional method from a
protocol later than when the method is introduced in the protocol. The users
that call an optional method on an object that conforms to this protocol
are supposed to check whether the object implements the method or not,
so a lack of appropriate `if (@available)` check for a new OS version
is not a cause of concern as there's already another runtime check that's required.

Differential Revision: https://reviews.llvm.org/D102459
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/SemaObjC/override-opt-prop-availability.m
Commit 4b074b49be206306330076b9fa40632ef1960823 by Raphael Isemann
[lldb] Fix UB in half2float and add some more tests.

The added DumpDataExtractorTest uncovered that this is lshifting a negative
integer which upsets ubsan and breaks the sanitizer bot. This patch just
changes the variable we shift to be unsigned and adds a bunch of tests to make
sure this function does what it promises.
The file was modifiedlldb/unittests/Core/DumpDataExtractorTest.cpp
The file was modifiedlldb/source/Core/DumpDataExtractor.cpp
Commit 28b9771472fa3df2568b6c5de1a9726680d940d3 by aeubanks
[OpaquePtr] Make GEPs work with opaque pointers

No verifier changes needed, the verifier currently doesn't check that
the pointer operand's pointee type matches the GEP type. There is a
similar check in GetElementPtrInst::Create() though.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102744
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit 12dd8df38b5da0e7bbbcc842308a251ce11800d5 by rnk
[PDB] Do not record PGO or coverage public symbols

These symbols are long, and they tend to cause the PDB file size to
overflow. They are generally not necessary when debugging problems in
user code.

This change reduces the size of chrome.dll.pdb with coverage from
6,937,108,480 bytes to 4,690,210,816 bytes.

Differential Revision: https://reviews.llvm.org/D102719
The file was modifiedlld/COFF/PDB.cpp
The file was addedlld/test/COFF/pgo-pubs.s
Commit 1b25fce404d40c6c6358037104e1e3c3aedb60ef by aeubanks
[OpaquePtr] Make cmpxchg work with opaque pointers

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102745
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was addedllvm/test/Assembler/opaque-ptr-cmpxchg.ll
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit 0bebda17bea38785c90a6fec3ca01cf74eb78b7c by aeubanks
[OpaquePtr] Make atomicrmw work with opaque pointers

FullTy is only necessary when we need to figure out what type an
instruction works with given a pointer's pointee type. However, we just
end up using the value operand's type, so FullTy isn't necessary.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102788
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 3b43226032e3b1ce866c9a3aaf7eaa680fd2252a by riddleriver
[Reland] [mlir] Speed up Lexer::getEncodedSourceLocation

Reland Note: This was accidentally reverted in 80d981eda69f1ada6d944ed89571456cad13b850, but is an important improvement even outside of the driving motivator in D102567.

We currently use SourceMgr::getLineAndColumn to get the line and column for an SMLoc, but this includes a call to StringRef::find_last_of that ends up dominating compile time. In D102567, we start creating locations from the input file for block arguments which resulted in an extreme performance regression for modules with very large amounts of block arguments. This revision switches to just using a pointer offset from the beginning of the line to calculate the column(all MLIR files are simple ascii), resulting in a compile time reduction from 4700 seconds (1 hour and 18 minutes) to 8 seconds.
The file was modifiedmlir/lib/Parser/Lexer.cpp
Commit 745ddd27eaefee97058e40a655de648645a9af33 by marius.brehler
[mlir] Add include guard to TOSA tblgen passes

Reviewed By: sjarus, stellaraccident

Differential Revision: https://reviews.llvm.org/D102800
The file was modifiedmlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
Commit 30a5ddaef3e88912e10a6b1c8173b00819c722d3 by Raphael Isemann
Revert "[lldb] Fix UB in half2float and add some more tests."

This reverts commit 4b074b49be206306330076b9fa40632ef1960823.

Some of the new tests are failing on Debian.
The file was modifiedlldb/unittests/Core/DumpDataExtractorTest.cpp
The file was modifiedlldb/source/Core/DumpDataExtractor.cpp
Commit ef6e1213b1c0af387fe13754e02a14f3d31018a0 by Lang Hames
[ORC] Add a CPU getter to JITTargetMachineBuilder.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
Commit 1dfa47910a2332a351ebc5236b4e2bfb3562c23b by Lang Hames
[ORC-RT] Add ORC runtime error and expected types.

These will be used for error propagation and handling in the ORC runtime.

The implementations of these types are cut-down versions of the error
support in llvm/Support/Error.h. Most advice on llvm::Error and llvm::Expected
(e.g. from the LLVM Programmer's manual) applies equally to __orc_rt::Error
and __orc_rt::Expected. The primary difference is the mechanism for testing
and handling error types: The ORC runtime uses a new 'error_cast' operation
to replace the handleErrors family of functions. See error_cast comments in
error.h.
The file was modifiedcompiler-rt/lib/orc/unittests/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/unittests/error_test.cpp
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/error.h
Commit d38057f3ecb080e0ae4aba367a737226221327f2 by richard
Treat implicit deduction guides as being equivalent to their
corresponding constructor for access checking purposes.
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/test/SemaTemplate/ctad.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaAccess.cpp
Commit 6539a80bc9e8a8587a199e10caa843b40e2f2c71 by wlei
[CSSPGO] Avoid deleting probe instruction in FoldValueComparisonIntoPredecessors

This change tries to fix a place missing `moveAndDanglePseudoProbes `. In FoldValueComparisonIntoPredecessors, it folds the BB into predecessors and then marked the BB unreachable. However, the original logic from the BB is still alive, deleting the probe will mislead the SampleLoader mark it as zero count sample.

Reviewed By: hoy, wenlei

Differential Revision: https://reviews.llvm.org/D102721
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-dangle3.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 35454268cf93f5561439980d6baeb27a874a380c by silvasean
[mlir][CAPI] Expose [u]int8 DenseElementsAttr.

Also, fix a small typo where the "unsigned" splat variants were not
being created with an unsigned type.

Differential Revision: https://reviews.llvm.org/D102797
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/CAPI/IR/BuiltinAttributes.cpp
The file was modifiedmlir/include/mlir-c/BuiltinAttributes.h
Commit f878e1af9faa318830d4169e91422a0777c54db7 by marius.brehler
[mlir] Harmonize TOSA include guards

Reviewed By: sjarus

Differential Revision: https://reviews.llvm.org/D102802
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
The file was modifiedmlir/include/mlir/Dialect/Tosa/Transforms/PassDetail.h
Commit 3b7f8daed4b2ce9f2d3ba6c4668f7b21d015f27c by riddleriver
[mlir] Properly align StorageUniquer::BaseStorage to fix 32 bit build

We allow stealing up to 3 bits of pointers to BaseStorage, so we need to make sure that we align by at least 8.
The file was modifiedmlir/include/mlir/Support/StorageUniquer.h
Commit bf9ef3efaa99c02e7bfc4c57207301b8de39a278 by ajcbik
[mlir][sparse] skip sparsification for unannotated (or unhandled) cases

Skip the sparsification pass for Linalg ops without annotated tensors
(or cases that are not properly handled yet).

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D102787
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_parallel.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_3d.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit 09a8372726597d3c34e76e015906fc035913d29c by Vitaly Buka
[NFC][tsan] clang-format the test
The file was modifiedcompiler-rt/test/tsan/pthread_atfork_deadlock3.c
Commit 688b917b4b3cbe09bf4954b2c10b01ef57386c0a by martin
Revert "[Driver] Delete -mimplicit-it="

This reverts commit 2919222d8017f2425a85765b95e4b7c6f8e70ca4.

That commit broke backwards compatibility. Additionally, the
replacement, -Wa,-mimplicit-it, isn't yet supported by any stable
release of Clang.

See D102812 for a fix for the error cases when callers specify both
-mimplicit-it and -Wa,-mimplicit-it.
The file was modifiedclang/test/Driver/as-options.s
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/arm-implicit-it.s
The file was modifiedclang/test/Driver/arm-target-as-mimplicit-it.s
Commit 0316f3e64972c919d8bfa2d15b9a4be858530f85 by ajcbik
[mlir][docs] Fix minor typos in vector dialect docs

Updates a minor typo in vector dialect documentation.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D101203
The file was modifiedmlir/docs/Dialects/Vector.md
Commit 757a851a2c273c93fa3a5b69c3d9baa1132eaf72 by phosek
[CMake] Don't LTO optimize targets that aren't part of any distribution

When using distributions, targets that aren't included in any
distribution don't need to be as optimized as targets that are
included since those targets are typically only used for tests.

We might consider avoiding LTO for these targets altogether, see
https://lists.llvm.org/pipermail/llvm-dev/2021-April/149843.html

Differential Revision: https://reviews.llvm.org/D102732
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVMDistributionSupport.cmake
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 65d0264ba2e5770cceeda7ff8c3509c626cf0109 by rprichard
[MC][ARM] Reject Thumb "ror rX, #0"

The ROR instruction can only handle immediates between 1 and 31. The
would-be encoding for ROR #0 is actually the RRX instruction.

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D102455
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/test/MC/ARM/thumb2-diagnostics.s
Commit 4bf69fb52b3c445ddcef5043c6b292efd14330e0 by Jon Roelofs
[Remarks] Add analysis remarks for memset/memcpy/memmove lengths

Differential revision: https://reviews.llvm.org/D102452
The file was modifiedllvm/lib/Transforms/Scalar/AnnotationRemarks.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/CodeGen/AArch64/memsize-remarks.ll
The file was removedllvm/include/llvm/Transforms/Utils/AutoInitRemark.h
The file was modifiedllvm/test/Transforms/Util/trivial-auto-var-init-call.ll
The file was removedllvm/lib/Transforms/Utils/AutoInitRemark.cpp
The file was modifiedllvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
The file was addedllvm/include/llvm/Transforms/Utils/MemoryOpRemark.h
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was addedllvm/lib/Transforms/Utils/MemoryOpRemark.cpp
The file was modifiedllvm/test/Transforms/Util/trivial-auto-var-init-store.ll
Commit c9dbaa4c86d29f891e2c30af787dfb74b9e83ed9 by Ahmed Bougacha
[docs] Describe reporting security issues on the chromium tracker.

To track security issues, we're starting with the chromium bug tracker
(using the llvm project there).

We considered using Github Security Advisories.  However, they are
currently intended as a way for project owners to publicize their
security advisories, and aren't well-suited to reporting issues.

This also moves the issue-reporting paragraph to the beginning of the
document, in part to make it more discoverable, in part to allow the
anchor-linking to actually display the paragraph at the top of the page.

Note that this doesn't update the concrete list of security-sensitive
areas, which is still an open item.  When we do, we may want to move the
list of security-sensitive areas next to the issue-reporting paragraph
as well, as it seems like relevant information needed in the reporting
process.

Finally, when describing the discission medium, this splits the topics
discussed into two: the concrete security issues, discussed in the
issue tracker, and the logistics of the group, in our mailing list,
as patches on public lists, and in the monthly sync-up call.

While there, add a SECURITY.md page linking to the relevant paragraph.

Differential Revision: https://reviews.llvm.org/D100873
The file was modifiedllvm/docs/GettingInvolved.rst
The file was modifiedllvm/docs/Security.rst
The file was addedSECURITY.md
Commit 356b85edd78311ae7376f4b271c48b9f0156aeea by sbc
[lld][WebAssembly] Fix for string tail merging and -r/--relocatable

Ensure that both SyntheticMergedChunk and all MergeInfoChunks that it
comprises are assigned the correct output section.  Without this we
would crash when outputting relocations in --relocatable mode.

Fixes: https://github.com/emscripten-core/emscripten/issues/14220

Differential Revision: https://reviews.llvm.org/D102806
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedlld/test/wasm/merge-string-debug.s
Commit f2c97605a00d45a4bf54eb4bdaaca74ed7ab78df by llvmgnsyncbot
[gn build] Port 4bf69fb52b3c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Commit 2f8ac0758bbfad72e52ef8602fbbd796e1347784 by richard
PR50402: Use proper constant evaluation rules for checking constraint
satisfaction.

Previously we used the rules for constant folding in a non-constant
context, meaning that we'd incorrectly accept foldable non-constant
expressions and that std::is_constant_evaluated() would evaluate to
false.
The file was modifiedclang/test/SemaTemplate/concepts.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/test/SemaTemplate/cxx2a-constraint-caching.cpp
Commit 37561ba89b7de57bd8ff5ae0691d02604885d4ee by i
-fno-semantic-interposition: Don't set dso_local on GlobalVariable

`clang -fpic -fno-semantic-interposition` may set dso_local on variables for -fpic.

GCC folks consider there are 'address interposition' and 'semantic interposition',
and 'disabling semantic interposition' can optimize function calls but
cannot change variable references to use local aliases
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100483).

This patch removes dso_local for variables in
`clang -fpic -fno-semantic-interposition` mode so that the built shared objects can
work with copy relocations. Building llvm-project tiself with
-fno-semantic-interposition (D102453) should now be safe with trunk Clang.

Example:
```
// a.c
int var;
int *addr() { return var; }

// old: cannot be interposed
movslq  .Lvar$local(%rip), %rax
// new: can be interposed
movq    var@GOTPCREL(%rip), %rax
movslq  (%rax), %rax
```

The local alias lowering for `GlobalVariable`s is kept in case there is a
future option allowing local aliases.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D102583
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/OpenMP/declare_target_only_one_side_compilation.cpp
The file was modifiedclang/test/CodeGen/attr-weakref2.c
The file was modifiedclang/test/CodeGen/semantic-interposition.c
The file was modifiedclang/test/CodeGenCUDA/static-device-var-rdc.cu
The file was modifiedclang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
The file was modifiedclang/test/CodeGenCUDA/device-var-linkage.cu
The file was modifiedclang/test/CodeGenCUDA/managed-var.cu
The file was modifiedclang/test/CodeGenCUDA/device-stub.cu
Commit ac06f6d06de408c00923708dd8a795b6ba9d23d7 by i
[test] Fix test
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-constructors.clcpp
Commit 64ce90e1af5c38822b7730bb6f21ed3d99f2f364 by riddleriver
[mlir] Add a new `print-ir-after-failure` IR pass printing flag

This flag will print the IR after a pass only in the case where the pass failed. This can be useful to more easily view the invalid IR, without needing to print after every pass in the pipeline.

Differential Revision: https://reviews.llvm.org/D101853
The file was modifiedmlir/lib/Pass/IRPrinting.cpp
The file was modifiedmlir/test/Pass/ir-printing.mlir
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/lib/Pass/PassManagerOptions.cpp
The file was modifiedmlir/docs/PassManagement.md
The file was modifiedmlir/test/lib/Pass/TestPassManager.cpp
Commit 92469ca027b2e794aa9162931665b379445ca711 by riddleriver
[mlir] Refactor the implementation of pass crash reproducers

The current implementation has several key limitations and weirdness, e.g local reproducers don't support dynamic pass pipelines, error messages don't include the passes that failed, etc. This revision refactors the implementation to support more use cases, and also be much cleaner.

The main change in this revision, aside from moving the implementation out of Pass.cpp and into its own file, is the addition of a crash recovery pass instrumentation. For local reproducers, this instrumentation handles setting up the recovery context before executing each pass. For global reproducers, the instrumentation is used to provide a more detailed error message, containing information about which passes are running and on which operations.

Example of new message:

```
error: Failures have been detected while processing an MLIR pass pipeline
note: Pipeline failed while executing [`TestCrashRecoveryPass` on 'module' operation: @foo]: reproducer generated at `crash-recovery.mlir.tmp`
```

Differential Revision: https://reviews.llvm.org/D101854
The file was modifiedmlir/lib/Pass/PassDetail.h
The file was modifiedmlir/test/Pass/crash-recovery.mlir
The file was addedmlir/lib/Pass/PassCrashRecovery.cpp
The file was modifiedmlir/lib/Pass/CMakeLists.txt
The file was modifiedmlir/docs/PassManagement.md
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/lib/Pass/Pass.cpp
Commit 3d2ffc88e6afa027369ce100779dacb1c35c6a51 by Jon Roelofs
Fix warnings in windows bots. NFC
The file was modifiedllvm/lib/Transforms/Utils/MemoryOpRemark.cpp
Commit dbc641deb9883c502b5650e36a31c23d11a358fe by i
[sanitizer] Reduce redzone size for small size global objects

Currently 1 byte global object has a ridiculous 63 bytes redzone.
This patch reduces the redzone size to be less than 32 if the size of global object is less than or equal to half of 32 (the minimal size of redzone).
A 12 bytes object has a 20 bytes redzone, a 20 bytes object has a 44 bytes redzone.

Reviewed By: MaskRay, #sanitizers, vitalybuka

Differential Revision: https://reviews.llvm.org/D102469
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_lto_merge.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
The file was modifiedclang/test/CodeGen/asan-globals.cpp
The file was modifiedclang/test/CodeGen/asan-static-odr.cpp
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/odr-check-ignore.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/local_alias.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/adaptive_global_redzones.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_cstring_darwin.ll
The file was modifiedclang/test/CodeGen/asan-globals-alias.cpp
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_metadata_windows.ll
The file was modifiedclang/test/CodeGen/asan-globals-odr.cpp
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/win-string-literal.ll
Commit 6ff380f43987fbebc23b55c05fdf87c9482ef6b5 by johannes
[OpenMP][NFC] Remove SIMD check lines for non-simd tests

If a test does not contain an " simd" but -fopenmp-simd RUN lines we can
just check that we do not create __kmpc|__tgt calls.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D101973
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_lastprivate_conditional.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/task_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/openmp_win_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/vla_crash.c
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/debug-info-complex-byval.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/debug-info-openmp-array.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/cancellation_point_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/single_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_private_codegen.cpp
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_03.cpp
The file was modifiedclang/test/OpenMP/sections_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/single_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/single_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_codegen_global_capture.cpp
The file was modifiedclang/test/OpenMP/for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
Commit 0b12963b747c641c81a4a40e0382c91dcf686d17 by serguei.n.dmitriev
[llvm-objcopy] Update LIT test to resolve bot failure [NFC]

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D102823
The file was modifiedllvm/test/tools/llvm-objcopy/dash-dash.test
Commit 81c18ce03cd8199cc4f2c817e31b42a191a0fe7d by xiang1.zhang
[HWASAN] Update the tag info for X86_64.

In LAM model X86_64 will use bits 57-62 (of 0-63) as HWASAN tag.
So here we make sure the tag shift position and tag mask is correct for x86-64.

Differential Revision: https://reviews.llvm.org/D102472
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was addedllvm/test/Instrumentation/HWAddressSanitizer/X86/stack.ll
Commit f8444a8e94227401f816d948ec09ae1b2761d575 by serguei.n.dmitriev
[clang-offload-bundler] Delimit input/output file names by '--' for llvm-objcopy

That fixes a problem of using bundler with file names starting with dash.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D102752
The file was modifiedclang/test/Driver/clang-offload-bundler.c
The file was modifiedclang/tools/clang-offload-bundler/ClangOffloadBundler.cpp

Summary

  1. [sanitizer] Remove QEMU from sanitizer-buildbot3 (details)
  2. [libfuzzer] Print running tests (details)
  3. [libfuzzer] Remove unnecessary cmake flags (details)
  4. [sanitizer] Run QEMU cmakes in parallel (details)
  5. [sanitizer] Remove nested buildbot_qemu call (details)
  6. [PowerPC] Removed `-DLLVM_ENABLE_PROJECTS=flang` from PowerPC flang buildbot (details)
Commit 521bc7bf0b559294863399975bb29761a10a7f2a by Vitaly Buka
[sanitizer] Remove QEMU from sanitizer-buildbot3
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 285fd4c34b43799e338b1ecfe4a67daeb82b358d by Vitaly Buka
[libfuzzer] Print running tests
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh
Commit 63d380830e464f37ddfa31c9bf2071293ff64b4f by Vitaly Buka
[libfuzzer] Remove unnecessary cmake flags

Linking job limit is unnecessary with LLD.
LIBFUZZER_ENABLE_TESTS does not exist any more.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh
Commit 2edb19cb564715af6b594ab40eeb9d9983e5284f by Vitaly Buka
[sanitizer] Run QEMU cmakes in parallel
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 89d3740d9144417b7f7e27ba7ed2cdcc10d6a1e9 by Vitaly Buka
[sanitizer] Remove nested buildbot_qemu call

Now it has own builder.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_standard.sh
Commit 4adb6aa495ee9484d7f2e15c93e7685bdc603cc7 by albionapc
[PowerPC] Removed `-DLLVM_ENABLE_PROJECTS=flang` from PowerPC flang buildbot

With `FLANG_NEW_DRIVER` default to on now, it is necessary to remove this
option for the bot to be able to build again.

Differential Revision: https://reviews.llvm.org/D102626
The file was modifiedbuildbot/osuosl/master/config/builders.py