Changes

Summary

  1. Revert "[llvm-reduce] Introduce operands-skip pass." (details)
  2. [X86][FP16] Avoid to generate VZEXT_MOVL with i16 (details)
  3. [mlir][ods] Escape attribute summaries (details)
  4. [mlir] Allow out-of-tree python building from installed MLIR. (details)
  5. [llvm-reduce] Introduce operands-skip pass. (details)
  6. [gn build] Port c15f930e9656 (details)
  7. Revert "[mlir] Allow out-of-tree python building from installed MLIR." (details)
  8. [gn build] Fix Android compiler-rt targets (details)
  9. [llvm-reduce] Skip replacing metadata and callee operands (details)
  10. [llvm-reduce] Count chunks by running a preliminary reduction (details)
  11. [llvm-reduce] Fix build after D113537 (details)
  12. [DebugInfo] run clang-format on some unformatted files (details)
  13. [mlir][ods] Fix DenseSet ambiguous reference (details)
  14. [Fuchsia][CMake] Don't set libcxxabi and libunwind variables on Windows (details)
  15. [lld-macho] Fix symbol relocs handling for compact unwind's functionAddress (details)
  16. Revert "[lld-macho] Fix symbol relocs handling for compact unwind's functionAddress" (details)
  17. [X86] Preserve FPSW when popping x87 stack (details)
  18. DebugInfo/Printing: Improve name of policy for including types for template arguments (details)
  19. [CodeGen, Target] Use MachineRegisterInfo::use_operands (NFC) (details)
  20. [mlir] Add MLIR-C dylib. (details)
  21. Fix minor deficiency in machine-sink. (details)
  22. [VE][NFCi] Remove unused tablegen parameters (details)
  23. Add a cppType string in AttrDef to make it possible to use them as parameters in other attributes (details)
  24. [VE] Disable incompatible compiler-rt tests (details)
  25. [NFC][lsan] Simplify root_regions initialization (details)
  26. [flang] Fix vector cshift runtime with non zero lower bounds (details)
  27. [flang] fix unused variable warning from D113659 (details)
  28. Make minor fixes to docs based on post-commit review of commit 5de69e1 (details)
  29. [DSE] Add test case with multiple inbounds stores, followed by OOB. (details)
  30. Revert "Make minor fixes to docs based on post-commit review of commit 5de69e1" (details)
  31. [Flang] Add type conversion for FIR heap type (details)
  32. Re-land commit 735e433 after fixing buildbot issue (details)
  33. Revert "Implement target_clones multiversioning" (details)
  34. [Flang] Add type conversion for FIR integer kind (details)
  35. [SCEV] Add tests where guards limit both %n and (zext %n). (details)
  36. [AMDGPU][NFC] Fix typos (details)
  37. [analyzer][solver] Iterate to a fixpoint during symbol simplification with constants (details)
  38. [analyzer][solver] Remove reference to RangedConstraintManager (details)
  39. [clang-tidy] Re-apply 0076957 with fix for failing ASan tests (details)
  40. [clang] NFC: Remove benign condition (details)
  41. [clang] NFC: Use range-based for loop (details)
  42. [llvm-nm] Demangle Rust symbols (details)
  43. tsan: fix XMM register corruption in hacky call (details)
  44. [mlir][Linalg] Rewrite DownscaleSizeOneWindowed2DConvolution to use rank-reducing insert/extract slices. (details)
  45. tsan: don't start background thread after clone (details)
  46. [SCEV] Add test case where applying zext info pessimizes BTC. (details)
  47. [SCEV] Use APIntOps::umin to select best max BC count (NFC). (details)
  48. Revert "[lldb] fix test expectation broken by clang fix at D110216" (details)
  49. Revert "[clang] retain type sugar in auto / template argument deduction" (details)
  50. [clangd] Mark macros from preamble for code completion (details)
  51. Add nounwind for tests. NFC (details)
  52. tsan: ignore some errors in the clone_setns test (details)
  53. [mlir][Vector] Add support for 1D depthwise conv vectorization (details)
  54. [clang] NFC: Format a loop in CompilerInstance (details)
  55. [x86] fold vector (X > -1) & Y to shift+andn (details)
  56. [lldb] Fix that the embedded Python REPL crashes if it receives SIGINT (details)
  57. tsan: new runtime (v3) (details)
  58. [clangd] Fix use-after-free in test (details)
  59. [X86] combineX86ShufflesConstants - constant fold from target shuffles unless optsize = true (details)
  60. [SLP]Improve vectorization of split loads. (details)
  61. [AArch64][SVE] Remove i1 type from isElementTypeLegalForScalableVector (details)
  62. [Feature][NFC]Improve test checks to avoid possible false postitive test (details)
  63. [OpenCL] Constructor address space test adjusted for C++ for OpenCL 2021 (details)
  64. [mlir] NFC - Address post-commit comments (details)
  65. [NFC][SROA] Add more tests for non-capturing pointer-escaping calls (details)
  66. [CodeGen] Use SDNode::uses (NFC) (details)
  67. [clang] Inclusive language: change instances of blacklist/whitelist to allowlist/ignorelist (details)
  68. [AMDGPU] Simplify 64-bit division/remainder expansion (details)
  69. [LV] Precommit test case from  PR52485. (details)
  70. [OpenMP] Fix main thread barrier for Pascal and amdgpu (details)
  71. [libcxx] Change the type of __size to correspond (details)
  72. [NFC][llvm] Remove uses of blacklist in llvm/test/Instrumentation (details)
  73. [X86] convertShiftLeftToScale - improve vXi8 constant handling (details)
  74. Revert "tsan: new runtime (v3)" (details)
  75. [lldb][NFC] Inclusive language: replace master/slave names for ptys (details)
  76. [ConstantRangeTest] Add helper to enumerate APInts (NFC) (details)
  77. [tests] Add coverage for cases we can prune exits when runtlme unrolling (details)
  78. [clangd] Mark completions as plain-text when there's no snippet part (details)
  79. [ELF] Make --no-relax disable R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX GOT optimization (details)
  80. Refresh an autogen test to reduce spurious diffs (details)
  81. [AMDGPU] Regenerate udiv.ll tests (details)
  82. [lldb][NFC] Inclusive language: rename m_master in ASTImporterDelegate (details)
  83. [OpenMP] Set default blocktime to 0 for hybrid cpu (details)
  84. [SCEV] Update SCEVLoopGuardRewriter to take SCEV -> SCEV map (NFC). (details)
  85. [flang] Fix ORDER= argument to RESHAPE (details)
  86. Autogen a bunch of unrolling tests for ease of update (details)
  87. [JITLink] Fix think-o in handwritten CWrapperFunctionResult -> Error converter. (details)
  88. [ORC-RT][llvm-jitlink] Fix a buggy check in ORC-RT MachO TLV deregistration. (details)
  89. [flang] Respect NO_STOP_MESSAGE=1 in runtime (details)
  90. [libc++][NFC] Resolve Python 2 FIXME (details)
  91. [flang] Fix rounding edge case in F output editing (details)
  92. (re-)Autogen one last unroll-and-jam test (details)
  93. ADT: Fix const-correctness of iterator adaptors (details)
  94. [lld-macho] Fix trailing slash in oso_prefix (details)
  95. [flang] Runtime performance improvements to real formatted input (details)
  96. [unroll] Keep unrolled iterations with initial iteration (details)
  97. IR: Avoid duplication of SwitchInst::findCaseValue(), NFC (details)
  98. Sema: const-qualify ParsedAttr::iterator::operator*() (details)
  99. [mlir][shape] Add value_as_shape op (details)
  100. [reland][lld-macho] Fix symbol relocs handling for compact unwind's functionAddress (details)
  101. Don't define //mlir:MLIRBindingsPythonCore in terms of the NoCAPI and CAPIDeps targets. (details)
  102. Comment AST: Find out if function is variadic in DeclInfo::fill (details)
  103. Comment AST: Recognize function-like objects via return type (NFC) (details)
  104. Comment Sema: Make most of CommentSema private (NFC) (details)
  105. [llvm-profgen] Fix bug of setting function entry (details)
  106. [AArch64][x86] add tests for swapped cmp+vselect patterns; NFC (details)
  107. [lld-macho] Teach ICF to dedup functions with identical unwind info (details)
  108. [lld-macho] Fix symbol relocs handling for LSDAs (details)
  109. [asan] Fix GCC warning "left shift count >= width" (details)
  110. [mlir][ods] DialectAsmPrinter -> AsmPrinter in comments (details)
  111. [flang] Handle ENTRY names in IsPureProcedure() predicate (details)
  112. [mlir][ods] Cleanup of Class Codegen helper (details)
  113. [libcxx][AIX] XFAIL tests enabled by locale.fr_FR.UTF-8 (details)
  114. format_arg attribute does not support nullable instancetype return type (details)
  115. [SLP][NFCAdd a test for vector intrinsic with scalar parameter, NFC. (details)
  116. ADT: Avoid repeating iterator adaptor/facade template params, NFC (details)
  117. IR: Fix const-correctness of SwitchInst::CaseIterator and CaseHandle (details)
  118. lld: const-qualify iterations through VarStreamArray, NFC (details)
  119. [RISCV] Improve codegen for i32 udiv/urem by constant on RV64. (details)
  120. [lldb] temporarily disable TestPaths.test_interpreter_info on windows (details)
  121. [runtime-unroll] Use incrementing IVs instead of decrementing ones (details)
  122. [sanitizer] Switch dlsym hack to internal_allocator (details)
  123. [clang][objc][codegen] Skip emitting ObjC category metadata when the (details)
  124. [RISCV] Fixed duplicate RUN line on float-intrinsics.ll. NFC (details)
  125. [ORC][ORC-RT] Register type metadata from __swift5_types MachO section (details)
  126. [sanitizer] Fix test linking (details)
  127. [gn build] (semi-manually) port cb0e14ce6dcd (details)
  128. [asan] Fix "no matching function" on GCC (details)
  129. [lld-macho] Parallelize scanning the symbol tables in export/unexport-ing. (details)
  130. [asan] More leaks in test (details)
  131. [X86][ABI] Change the alignment of f80 in 32-bit calling convention to meet with different data layout (details)
  132. [clang] retain type sugar in auto / template argument deduction (details)
  133. [lld-macho] Allow exporting weak_def_can_be_hidden(AKA "autohide") symbols (details)
  134. [llvm-obcopy][MachO] Add error for MH_PRELOAD (details)
  135. [lld-macho] Fix warning (details)
  136. test/ExecutionEngine: Clean up lit.local.cfg (details)
  137. Support: Make VarStreamArrayIterator iterate over const values (details)
  138. ADT: Fix const-correctness of iterator facade (details)
  139. Support: Pass wrapped Error's error code through FileError (details)
  140. [Target] Use SDNode::uses (NFC) (details)
  141. [JITLink][MachO] Fix "find-symbol-by-address" logic. (details)
  142. [X86] Promote f16 STRICT_FROUND to f32 and call libc. (details)
  143. [sanitizer] Don't test __pthread_mutex_lock with GLIBC 2.34 (details)
  144. Revert "[sanitizer] Fix test linking" (details)
  145. tsan: mmap shadow stack (details)
  146. [SCEV] Update SCEVLoopGuardRewriter to hold reference to map. (NFC) (details)
  147. [X86] Add getAVX512Node helper. NFC. (details)
  148. [clang-format] [PR52228] clang-format csharp inconsistant nested namespace indentation (details)
  149. [DebugInfo][test] Simplify/improve a few tests using --impicit-check-not=DW_TAG. NFC (details)
  150. [PowerPC] Use SDNode::uses (NFC) (details)
  151. AMDGPU: Regenerate test checks (details)
  152. Revert "[lldb] Fix that the embedded Python REPL crashes if it receives SIGINT" (details)
  153. [VFS] Use original path when falling back to external FS (details)
  154. [libc++][NFC] Fixes code alignment. (details)
  155. Revert "[VFS] Use original path when falling back to external FS" (details)
  156. [ARM/AArch64] Move REQUIRES after update_cc_test_checks line. NFC (details)
  157. [clangd] Fix function-arg-placeholder suppression with macros. (details)
  158. [mlir][ods] Fix incorrect name in comment (NFC) (details)
  159. Fix some clang-tidy reports in MLIR (NFC) (details)
  160. reland: [VFS] Use original path when falling back to external FS (details)
  161. [GVN][NFC] Remove redundant check (details)
  162. [ORC] Initial MachO debugging support (via GDB JIT debug registration interface) (details)
  163. [gn build] Port e1933a0488a5 (details)
  164. [sanitizer] Fix test for GLIBC 2.31 (details)
  165. [sanitizer][aarch64] fix clone system call's inline assembly (details)
  166. [llvm] Use GetElementPtrInst::indices (NFC) (details)
  167. Revert "[ORC] Initial MachO debugging support (via GDB JIT debug..." (details)
  168. [gn build] Port f55ba3525eb1 (details)
  169. [sanitizer] Another try to fix the test with GLIBC 2.34 (details)
  170. [DwarfCompileUnit] getOrCreateGlobalVariableDIE(): remove outdated comment. NFC (details)
  171. [DwarfCompileUnit] getOrCreateCommonBlock(): check for existing entity first. NFCI (details)
  172. [TypePromotion] Extend TypePromotion::isSafeWrap (details)
  173. [NFC][SROA] Revisit test coverage in non-capturing-call.ll (details)
  174. [NFC][X86][Costmodel] Improve test coverage for i16->{i32,i64} vector *ext (details)
  175. [NFC][X86][Costmodel] Improve test coverage for {i32,i64}->i16 vector *ext (details)
  176. [X86] Widen 128/256-bit VPTERNLOG patterns to 512-bit on non-VLX targets (details)
  177. [clang-format][c++2b] support removal of the space between auto and {} in P0849R8 (details)
  178. [DAGCombiner] match inverted/swapped patterns for vselect of mask of signbit (details)
  179. [NFC][InlineFunction] Renamed some vars to conform to coding style (details)
  180. [X86][Costmodel] `trunc v16i32 to v32i16` can appear after legalization, cost is same as for `trunc v16i32 to v16i16` (details)
  181. [X86][Costmodel] `trunc v8i64 to v16i16/v32i16` can appear after legalization, cost is same as for `trunc v8i64 to v8i16` (details)
  182. [IR] Define ptrauth intrinsics. (details)
  183. [InstCombine] add tests for or-xor logic fold; NFC (details)
  184. [NFC][TTI] `getReplicationShuffleCost()`: s/Replicated/Dst/ (details)
  185. [X86][Costmodel] `getReplicationShuffleCost()`: promote 16 bit-wide elements to 32 bit when no AVX512BW (details)
  186. [NFC][X86][Costmodel] Improve test coverage for i8->{i16,i32,i64} vector *ext (details)
  187. [NFC][X86][Costmodel] Improve test coverage for {i16,i32,i64}->i8 vector trunc (details)
Commit ed7b37155b48715dc5b2ec8c52571ce754cf7a80 by llvm-project
Revert "[llvm-reduce] Introduce operands-skip pass."

This reverts commit fa4210a9a0729eba04593b7df7b701e2b243de39.

It causes compile failures, presumably because conflicting with another
patch landed after I checked locally.
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was removedllvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.cpp
The file was removedllvm/test/tools/llvm-reduce/operands-skip.ll
The file was removedllvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Commit 74b979abcd0fd711cb1038b666eabf17f2274fe3 by pengfei.wang
[X86][FP16] Avoid to generate VZEXT_MOVL with i16

This fixes the crash due to lacking VZEXT_MOVL support with i16.

Reviewed By: LuoYuanke, RKSimon

Differential Revision: https://reviews.llvm.org/D113661
The file was modifiedllvm/test/CodeGen/X86/avx512fp16-mov.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e1d6f29a1e640e267e1d2b94d0d761e1d15e99bd by jeffniu22
[mlir][ods] Escape attribute summaries
The file was modifiedmlir/tools/mlir-tblgen/CodeGenHelpers.cpp
Commit c7be8b75399c727ec9e1ddc3f81510f284c65155 by stellaraccident
[mlir] Allow out-of-tree python building from installed MLIR.

* Depends on D111504, which provides the boilerplate for building aggregate shared libraries from installed MLIR.
* Adds a full-fledged Python example dialect and tests to the Standalone example (need to do a bit of tweaking in the top level CMake and lit tests to adapt better to if not building with Python enabled).
* Rips out remnants of custom extension building in favor of `pybind11_add_module` which does the right thing.
* Makes python and extension sources installable (outputs to src/python/${name} in the install tree): Both Python and C++ extension sources get installed as downstreams need all of this in order to build a derived version of the API.
* Exports sources targets (with our properties that make everything work) by converting them to INTERFACE libraries (which have export support), as recommended for the forseeable future by CMake devs. Renames custom properties to start with lower-case letter, as also recommended/required (groan).
* Adds a ROOT_DIR argument to `declare_mlir_python_extension` since now all C++ sources for an extension must be under the same directory (to line up at install time).
* Need to validate against a downstream or two and adjust, prior to submitting.

Downstreams will need to adapt by:

* Remove absolute paths from any SOURCES for `declare_mlir_python_extension` (I believe all downstreams are just using `${CMAKE_CURRENT_SOURCE_DIR}` here, which can just be ommitted). May need to set `ROOT_DIR` if not relative to the current source directory.
* To allow further downstreams to install/build, will need to make sure that all C++ extension headers are also listed under SOURCES for `declare_mlir_python_extension`.

Reviewed By: stephenneuendorffer, mikeurbach

Differential Revision: https://reviews.llvm.org/D111513
The file was addedmlir/examples/standalone/test/python/lit.local.cfg
The file was modifiedmlir/examples/standalone/test/CMakeLists.txt
The file was modifiedmlir/examples/standalone/test/lit.site.cfg.py.in
The file was modifiedmlir/examples/standalone/CMakeLists.txt
The file was addedmlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
The file was modifiedmlir/examples/standalone/include/Standalone/StandaloneOps.td
The file was addedmlir/examples/standalone/python/CMakeLists.txt
The file was modifiedmlir/python/CMakeLists.txt
The file was modifiedmlir/test/Examples/standalone/test.toy
The file was modifiedmlir/examples/standalone/test/lit.cfg.py
The file was addedmlir/examples/standalone/python/StandaloneExtension.cpp
The file was addedmlir/examples/standalone/test/python/smoketest.py
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
The file was addedmlir/examples/standalone/python/mlir_standalone/dialects/StandaloneOps.td
The file was modifiedmlir/cmake/modules/MLIRConfig.cmake.in
Commit c15f930e9656dbcbd6384b403ec0fd5e28d350ed by llvm-project
[llvm-reduce] Introduce operands-skip pass.

Add a new "operands-skip" pass whose goal is to remove instructions in the middle of dependency chains. For instance:
```
  %baseptr = alloca i32
  %arrayidx = getelementptr i32, i32* %baseptr, i32 %idxprom
  store i32 42, i32* %arrayidx
```
might be reducible to
```
  %baseptr = alloca i32
  %arrayidx = getelementptr ...  ; now dead, together with the computation of %idxprom
  store i32 42, i32* %baseptr
```
Other passes would either replace `%baseptr` with undef (operands, instructions) or move it to become a function argument (operands-to-args), both of which might fail the interestingness check.

In principle the implementation allows operand replacement with any value or instruction in the function that passes the filter constraints (same type, dominance, "more reduced"), but is limited in this patch to values that are directly or indirectly used to compute the current operand value, motivated by the example above. Additionally, function arguments are added to the candidate set which helps reducing the number of relevant arguments mitigating a concern of too many arguments mentioned in https://reviews.llvm.org/D110274#3025013.

Possible future extensions:
* Instead of requiring the same type, bitcast/trunc/zext could be automatically inserted for some more flexibility.
* If undef is added to the candidate set, "operands-skip"is able to produce any reduction that "operands" can do. Additional candidates might be zero and one, where the "reductive power" classification can prefer one over the other. If undefined behaviour should not be introduced, undef can be removed from the candidate set.

Recommit after resolving conflict with D112651 and reusing
shouldReduceOperand from D113532.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D111818
The file was addedllvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
The file was addedllvm/test/tools/llvm-reduce/operands-skip.ll
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.cpp
The file was addedllvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Commit 72e947765a8f99cb415e366f0df3a6c8a4969732 by llvmgnsyncbot
[gn build] Port c15f930e9656
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Commit 1a6c26d1f52999edbfbf6a978ae3f0e6759ea755 by joker.eph
Revert "[mlir] Allow out-of-tree python building from installed MLIR."

This reverts commit c7be8b75399c727ec9e1ddc3f81510f284c65155.

Build is broken (multiple buildbots)
The file was modifiedmlir/python/CMakeLists.txt
The file was removedmlir/examples/standalone/python/mlir_standalone/dialects/StandaloneOps.td
The file was modifiedmlir/examples/standalone/CMakeLists.txt
The file was removedmlir/examples/standalone/test/python/lit.local.cfg
The file was removedmlir/examples/standalone/python/StandaloneExtension.cpp
The file was modifiedmlir/examples/standalone/include/Standalone/StandaloneOps.td
The file was removedmlir/examples/standalone/test/python/smoketest.py
The file was removedmlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
The file was modifiedmlir/examples/standalone/test/lit.site.cfg.py.in
The file was modifiedmlir/cmake/modules/MLIRConfig.cmake.in
The file was removedmlir/examples/standalone/python/CMakeLists.txt
The file was modifiedmlir/examples/standalone/test/lit.cfg.py
The file was modifiedmlir/examples/standalone/test/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
The file was modifiedmlir/test/Examples/standalone/test.toy
Commit 463ee15e33c0a71c7ab13eef2eb235bcdcd792a5 by aeubanks
[gn build] Fix Android compiler-rt targets

If a sysroot was specified, it would take precedence over the Android
NDK sysroot since it would appear after in the command line.

Also only build runtimes for enabled target arches. Many places have
copied this around so create and use supported_android_toolchains.

Reviewed By: pcc

Differential Revision: https://reviews.llvm.org/D113606
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/targets.gni
The file was modifiedllvm/utils/gn/build/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libunwind/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/compiler-rt/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/lldb/tools/driver/BUILD.gn
Commit be0b47d5304ea4190770a4504b329df7fac2ba92 by aeubanks
[llvm-reduce] Skip replacing metadata and callee operands

Metadata operands tend to require special conditions, especially on dbg
intrinsics. We also don't have a zero value for metadata.

Replacing callee operands is a little weird, since calling undef/null
doesn't make sense. It also causes tons of invalid reductions when
reducing calls to intrinsics since only arguments to intrinsics can be
of the metadata type.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D113532
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
The file was modifiedllvm/test/tools/llvm-reduce/remove-operands.ll
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
The file was addedllvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
Commit 6f288bd7727e6906f6e85208d710b70acf598514 by aeubanks
[llvm-reduce] Count chunks by running a preliminary reduction

Having a separate counting method runs the risk of a mismatch between
the actual reduction method and the counting method.

Instead, create an Oracle that always returns true for shouldKeep(), run
the reduction, and count how many times shouldKeep() was called. The
module should not be modified if shouldKeep() always returns true.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D113537
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.h
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Commit 87687b4ff70fa889bb0e930cd98befb8b869bc9e by aeubanks
[llvm-reduce] Fix build after D113537

Forgot to amend D113537 with these changes before committing.
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Commit 665b4138d9eca2a783693c34f991a7329907d374 by paul.robinson
[DebugInfo] run clang-format on some unformatted files

This trivial patch runs clang-format on some unformatted files before
doing logic changes and prevent hard to review diffs.

Differential Revision: https://reviews.llvm.org/D113572
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/IR/DIBuilder.cpp
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
Commit 0ecd72ea0046dd56574cedba390fcc7f67243d6a by jeffniu22
[mlir][ods] Fix DenseSet ambiguous reference
The file was modifiedmlir/tools/mlir-tblgen/CodeGenHelpers.cpp
Commit 8df26e7b4aeaad0b1777c6909db7b14fec347880 by phosek
[Fuchsia][CMake] Don't set libcxxabi and libunwind variables on Windows

We don't build libcxxabi and libunwind for Windows so don't set the
corresponding variables to avoid configuration errors.

Differential Revision: https://reviews.llvm.org/D113729
The file was modifiedclang/cmake/caches/Fuchsia.cmake
Commit e941fe506114569410ec8c77e600cddd5a77559d by jezng
[lld-macho] Fix symbol relocs handling for compact unwind's functionAddress

Clang seems to emit all functionAddress relocs as section relocs, but
`ld -r` can turn those relocs into symbol ones. It turns out that we
weren't handling that case correctly when the symbol was a weak def
whose definition did not prevail.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D113702
The file was modifiedlld/test/MachO/weak-definition-gc.s
The file was modifiedlld/MachO/InputFiles.cpp
Commit 835135a8aee5557001ce8316629ebd4166ce8648 by kazu
Revert "[lld-macho] Fix symbol relocs handling for compact unwind's functionAddress"

This reverts commit e941fe506114569410ec8c77e600cddd5a77559d.

The commit in question causes:

  lld/MachO/InputFiles.cpp:916:13: error: use of undeclared identifier
  'it'
The file was modifiedlld/test/MachO/weak-definition-gc.s
The file was modifiedlld/MachO/InputFiles.cpp
Commit 3057e850b88e8faf754db02293066e1182da2954 by sepavloff
[X86] Preserve FPSW when popping x87 stack

When compiler converts x87 operations to stack model, it may insert
instructions that pop top stack element. To do it the compiler inserts
instruction FSTP right after the instruction that calculates value on
the stack. It can break the code that uses FPSW set by the last
instruction. For example, an instruction FXAM is usually followed by
FNSTSW, but FSTP is inserted after FXAM. As FSTP leaves condition code
in FPSW undefined, the compiler produces incorrect code.

With this change FSTP in inserted after the FPSW consumer if the last
instruction sets FPSW.

Differential Revision: https://reviews.llvm.org/D113335
The file was addedllvm/test/CodeGen/X86/x87-stack-pop.mir
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InsertWait.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrFPStack.td
The file was modifiedllvm/lib/Target/X86/X86FloatingPoint.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
Commit 6512098877c3a230bbd38bc81b14a4e5844739ff by dblaikie
DebugInfo/Printing: Improve name of policy for including types for template arguments

Feedback from Richard Smith that the policy should be named closer to
the context its used in.
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/include/clang/AST/PrettyPrinter.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 2ca45adf24d8ede45b9f600d13a4b4f7005e13af by kazu
[CodeGen, Target] Use MachineRegisterInfo::use_operands (NFC)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
The file was modifiedllvm/lib/CodeGen/MIRCanonicalizerPass.cpp
The file was modifiedllvm/lib/Target/ARM/A15SDOptimizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
Commit c265170110b2e3b82ab8fca6658bfbbce79381c5 by stellaraccident
[mlir] Add MLIR-C dylib.

Per discussion on discord and various feature requests across bindings (Haskell and Rust bindings authors have asked me directly), we should be building a link-ready MLIR-C dylib which exports the C API and can be used without linking to anything else.

This patch:

* Adds a new MLIR-C aggregate shared library (libMLIR-C.so), which is similar in name and function to libLLVM-C.so.
* It is guarded by the new CMake option MLIR_BUILD_MLIR_C_DYLIB, which has a similar purpose/name to the LLVM_BUILD_LLVM_C_DYLIB option.
* On all platforms, this will work with both static, BUILD_SHARED_LIBS, and libMLIR builds, if supported:
  * In static builds: libMLIR-C.so will export the CAPI symbols and statically link all dependencies into itself.
  * In BUILD_SHARED_LIBS: libMLIR-C.so will export the CAPI symbols and have dynamic dependencies on implementation shared libraries.
  * In libMLIR.so mode: same as static. libMLIR.so was not finished for actual linking use within the project. An eventual relayering so that libMLIR-C.so depends on libMLIR.so is possible but requires first re-engineering the latter to use the aggregate facility.
* On Linux, exported symbols are filtered to only the CAPI. On others (MacOS, Windows), all symbols are exported. A CMake status is printed unless if global visibility is hidden indicating that this has not yet been implemented. The library should still work, but it will be larger and more likely to conflict until fixed. Someone should look at lifting the corresponding support from libLLVM-C.so and adapting. Or, for special uses, just build with `-DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_C_VISIBILITY_PRESET=hidden`.
* Includes fixes to execution engine symbol export macros to enable default visibility. Without this, the advice to use hidden visibility would have resulted in test failures and unusable execution engine support libraries.

Differential Revision: https://reviews.llvm.org/D113731
The file was modifiedmlir/lib/CAPI/Dialect/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/Debug/CMakeLists.txt
The file was modifiedmlir/include/mlir/ExecutionEngine/CRunnerUtils.h
The file was modifiedmlir/lib/CAPI/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/Interfaces/CMakeLists.txt
The file was modifiedmlir/include/mlir/ExecutionEngine/RunnerUtils.h
The file was modifiedmlir/lib/CAPI/Registration/CMakeLists.txt
The file was modifiedmlir/test/CAPI/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/ExecutionEngine/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/Conversion/CMakeLists.txt
The file was modifiedmlir/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/Transforms/CMakeLists.txt
Commit 4e94e25c9024d01451e318fe48aee79b615e9c2b by markus.lavin
Fix minor deficiency in machine-sink.

Register uses that are MRI->isConstantPhysReg() should not inhibit
sinking transformation.

Reviewed By: StephenTozer

Differential Revision: https://reviews.llvm.org/D111531
The file was addedllvm/test/CodeGen/RISCV/MachineSink-implicit-x0.mir
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
Commit 751aa6c2807f164935603e8ceaff1bd4b4d8ca2d by simon.moll
[VE][NFCi] Remove unused tablegen parameters

TableGen has started warning about unused template parameters in the isel patterns.  Remove those.

Reviewed By: kaz7

Differential Revision: https://reviews.llvm.org/D113675
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/lib/Target/VE/VVPInstrPatternsVec.td
Commit f5f11e6b168fd00a62c7d881703281ff11f1a6d8 by joker.eph
Add a cppType string in AttrDef to make it possible to use them as parameters in other attributes

Differential Revision: https://reviews.llvm.org/D113737
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestAttrDefs.td
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
Commit 496e7f330c43094ab508e07cf75237e52394fa66 by simon.moll
[VE] Disable incompatible compiler-rt tests

Some compiler-rt tests are inherently incompatible with VE because..

* No consistent denormal support on VE. We skip denormal fp inputs in builtin tests.
* `madvise` unsupported on VE.
* Instruction alignment requirements.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D113093
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_logb_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_logbf_test.c
The file was modifiedcompiler-rt/lib/profile/InstrProfilingUtil.c
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_scalbnl_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_scalbn_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_scalbnf_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_logbl_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/enable_execute_stack_test.c
Commit 64d44208246b76772b2b04980234bd75d546a4b4 by Vitaly Buka
[NFC][lsan] Simplify root_regions initialization
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common_mac.cpp
Commit 6544d9a4a098c24ebafe2856259f927af8f211ec by jperier
[flang] Fix vector cshift runtime with non zero lower bounds

The source index should not be compared to zero after applying the
shift with the modulo, it must be compared to the lower bound.
Otherwise, the extent is not added in case it should and the computed
source index may be less than the lower bound, causing invalid results.

Differential Revision: https://reviews.llvm.org/D113659
The file was modifiedflang/runtime/transformational.cpp
The file was modifiedflang/unittests/Runtime/Transformational.cpp
Commit 1fda7baf8a0bcc1819b5471ad0590f5bd05a5b3f by jperier
[flang] fix unused variable warning from D113659
The file was modifiedflang/unittests/Runtime/Transformational.cpp
Commit 735e4332e2a63e5f0a04f91472fa2403c7d37fe3 by mail
Make minor fixes to docs based on post-commit review of commit 5de69e1

- Jaro–Winkler and Sørensen–Dice should use en-dashes not regular
  dashes. In reStructuredText this is typed as `--`.
- Letters at the beginning of a sentence should be capitalized.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/google-build-namespaces.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-suspicious-call-argument.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/llvm-header-guard.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/google-global-names-in-headers.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-easily-swappable-parameters.rst
Commit 9c00afe926e9f22f4e0cd92d88068c8a6ed769d0 by flo
[DSE] Add test case with multiple inbounds stores, followed by OOB.

This patch extends the existing out-of-bounds store tests with a case
with a bigger object and multiple inbounds stores, followed by an OOB
store. The OOB store is not used to remove the inbounds stores in this
case at the moment.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/out-of-bounds-stores.ll
Commit d73e27d91f6ab66aebf7c5381439b727ab256082 by mail
Revert "Make minor fixes to docs based on post-commit review of commit 5de69e1"

Sphinx buildbot failing.
This reverts commit 735e4332e2a63e5f0a04f91472fa2403c7d37fe3.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/llvm-header-guard.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/google-global-names-in-headers.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-easily-swappable-parameters.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-suspicious-call-argument.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/google-build-namespaces.rst
Commit 2b247941cac6c278595b1c86ca3b895bd2b3f056 by kiran.chandramohan
[Flang] Add type conversion for FIR heap type

Convert fir.heap type to its llvm equivalent type (llvm.ptr)

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: clementval

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

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: Jean Perier <jperier@nvidia.com>
The file was modifiedflang/test/Fir/types-to-llvm.fir
The file was modifiedflang/lib/Optimizer/CodeGen/TypeConverter.h
Commit 379935e5a460d98cf8fe4585bf6abca3e494f7b3 by mail
Re-land commit 735e433 after fixing buildbot issue

This reverts commit d73e27d.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/google-global-names-in-headers.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/llvm-header-guard.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-easily-swappable-parameters.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/google-build-namespaces.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/concurrency-mt-unsafe.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-suspicious-call-argument.rst
Commit bb4934601d731465e01e2e22c80ce2dbe687d73f by akuegel
Revert "Implement target_clones multiversioning"

This reverts commit 9deab60ae710f8c4cc810cd680edfb64c803f42d.
There is a possibly unintended semantic change.
The file was modifiedclang/include/clang/Sema/Sema.h
The file was removedclang/test/CodeGenCXX/attr-target-clones.cpp
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/Sema/attr-cpuspecific.c
The file was removedclang/test/Sema/attr-target-clones.c
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was removedclang/test/CodeGen/attr-target-clones.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/AST/Decl.cpp
The file was removedclang/test/SemaCXX/attr-target-clones.cpp
Commit aa26119b82cdabcba7c215bdd3a224a6ec3eedc0 by kiran.chandramohan
[Flang] Add type conversion for FIR integer kind

Convert fir.int<kind> to their llvm equivalent type

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: clementval, awarzynski

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

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
The file was modifiedflang/lib/Optimizer/CodeGen/TypeConverter.h
The file was modifiedflang/test/Fir/types-to-llvm.fir
Commit 5dfe60d171d7f7ebb33c53170cc4182dba22a7b4 by flo
[SCEV] Add tests where guards limit both %n and (zext %n).

Suggested in D113577.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
Commit d1f45ed58f3a7bdca69b93f548682754dd67d80f by sebastian.neubauer
[AMDGPU][NFC] Fix typos

Differential Revision: https://reviews.llvm.org/D113672
The file was modifiedllvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600MachineScheduler.h
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineScheduler.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
The file was modifiedllvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.td
The file was modifiedllvm/lib/Target/AMDGPU/R600Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIPostRABundler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNPreRAOptimizations.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600MachineScheduler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600InstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIModeRegister.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Commit 806329da07006b3b95b5164a2a7c8b3be0aac8de by gabor.marton
[analyzer][solver] Iterate to a fixpoint during symbol simplification with constants

D103314 introduced symbol simplification when a new constant constraint is
added. Currently, we simplify existing equivalence classes by iterating over
all existing members of them and trying to simplify each member symbol with
simplifySVal.

At the end of such a simplification round we may end up introducing a
new constant constraint. Example:
```
  if (a + b + c != d)
    return;
  if (c + b != 0)
    return;
  // Simplification starts here.
  if (b != 0)
    return;
```
The `c == 0` constraint is the result of the first simplification iteration.
However, we could do another round of simplification to reach the conclusion
that `a == d`. Generally, we could do as many new iterations until we reach a
fixpoint.

We can reach to a fixpoint by recursively calling `State->assume` on the
newly simplified symbol. By calling `State->assume` we re-ignite the
whole assume machinery (along e.g with adjustment handling).

Why should we do this? By reaching a fixpoint in simplification we are capable
of discovering infeasible states at the moment of the introduction of the
**first** constant constraint.
Let's modify the previous example just a bit, and consider what happens without
the fixpoint iteration.
```
  if (a + b + c != d)
    return;
  if (c + b != 0)
    return;
  // Adding a new constraint.
  if (a == d)
    return;
  // This brings in a contradiction.
  if (b != 0)
    return;
  clang_analyzer_warnIfReached(); // This produces a warning.
              // The path is already infeasible...
  if (c == 0) // ...but we realize that only when we evaluate `c == 0`.
    return;
```
What happens currently, without the fixpoint iteration? As the inline comments
suggest, without the fixpoint iteration we are doomed to realize that we are on
an infeasible path only after we are already walking on that. With fixpoint
iteration we can detect that before stepping on that. With fixpoint iteration,
the `clang_analyzer_warnIfReached` does not warn in the above example b/c
during the evaluation of `b == 0` we realize the contradiction. The engine and
the checkers do rely on that either `assume(Cond)` or `assume(!Cond)` should be
feasible. This is in fact assured by the so called expensive checks
(LLVM_ENABLE_EXPENSIVE_CHECKS). The StdLibraryFuncionsChecker is notably one of
the checkers that has a very similar assertion.

Before this patch, we simply added the simplified symbol to the equivalence
class. In this patch, after we have added the simplified symbol, we remove the
old (more complex) symbol from the members of the equivalence class
(`ClassMembers`). Removing the old symbol is beneficial because during the next
iteration of the simplification we don't have to consider again the old symbol.

Contrary to how we handle `ClassMembers`, we don't remove the old Sym->Class
relation from the `ClassMap`. This is important for two reasons: The
constraints of the old symbol can still be found via it's equivalence class
that it used to be the member of (1). We can spare one removal and thus one
additional tree in the forest of `ClassMap` (2).

Performance and complexity: Let us assume that in a State we have N non-trivial
equivalence classes and that all constraints and disequality info is related to
non-trivial classes. In the worst case, we can simplify only one symbol of one
class in each iteration. The number of symbols in one class cannot grow b/c we
replace the old symbol with the simplified one. Also, the number of the
equivalence classes can decrease only, b/c the algorithm does a merge operation
optionally. We need N iterations in this case to reach the fixpoint. Thus, the
steps needed to be done in the worst case is proportional to `N*N`. Empirical
results (attached) show that there is some hardly noticeable run-time and peak
memory discrepancy compared to the baseline. In my opinion, these differences
could be the result of measurement error.
This worst case scenario can be extended to that cases when we have trivial
classes in the constraints and in the disequality map are transforming to such
a State where there are only non-trivial classes, b/c the algorithm does merge
operations. A merge operation on two trivial classes results in one non-trivial
class.

Differential Revision: https://reviews.llvm.org/D106823
The file was addedclang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
The file was addedclang/test/Analysis/symbol-simplification-fixpoint-iteration-unreachable-code.cpp
The file was addedclang/test/Analysis/symbol-simplification-disequality-info.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was addedclang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
The file was addedclang/test/Analysis/symbol-simplification-reassume.cpp
The file was modifiedclang/test/Analysis/expr-inspection-printState-eq-classes.c
Commit 01c9700aaad39339414d77da7fc910a435303016 by gabor.marton
[analyzer][solver] Remove reference to RangedConstraintManager

We no longer need a reference to RangedConstraintManager, we call top
level `State->assume` functions.

Differential Revision: https://reviews.llvm.org/D113261
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit 9089a1dff030dbcf48f2bdae6d2d80e7ddfca25a by mail
[clang-tidy] Re-apply 0076957 with fix for failing ASan tests

Re-apply "Fix lint warning in ClangTidyDiagnosticConsumer.cpp (NFC)"
with fixes for the failing ASan tests.

This reverts commit 74add1b6d6d377ab2cdce26699cf798110817e42.
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Commit 269baa7bfcf8e42b576ff29a56b8d56c1e7d39eb by Jan Svoboda
[clang] NFC: Remove benign condition
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit c57ca335474704cabeafcd8421600c3c7ccc4484 by Jan Svoboda
[clang] NFC: Use range-based for loop
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit c3e07df6076045540574ce4fa5362742b52d91db by tomasz.miasko
[llvm-nm] Demangle Rust symbols

Add support for demangling Rust v0 symbols to llvm-nm by reusing
nonMicrosoftDemangle which supports both Itanium and Rust mangling.

Reviewed By: dblaikie, jhenderson

Differential Revision: https://reviews.llvm.org/D111937
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp
The file was modifiedllvm/test/tools/llvm-nm/X86/demangle.ll
Commit a6728382c6de6211499ab83d708655947c8ce052 by dvyukov
tsan: fix XMM register corruption in hacky call

The compiler does not recognize HACKY_CALL as a call
(we intentionally hide it from the compiler so that it can
compile non-leaf functions as leaf functions).
To compensate for that hacky call thunk saves and restores
all caller-saved registers. However, it saves only
general-purposes registers and does not save XMM registers.
This is a latent bug that was masked up until a recent "NFC" commit
d736002e90 ("tsan: move memory access functions to a separate file"),
which allowed more inlining and exposed the 10-year bug.
Save and restore caller-saved XMM registers (all) as well.

Currently the bug manifests as e.g. frexp interceptor messes the
return value and the added test fails with:
  i=8177 y=0.000000 exp=4

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D113742
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S
The file was addedcompiler-rt/test/sanitizer_common/TestCases/frexp.cpp
Commit aa3731806723a2a12914aecda2af6e40e1903702 by nicolas.vasilache
[mlir][Linalg] Rewrite DownscaleSizeOneWindowed2DConvolution to use rank-reducing insert/extract slices.

This rewriting enables better bufferization and canonicalizations.

Differential Revision: https://reviews.llvm.org/D113745
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
The file was modifiedmlir/test/Dialect/Linalg/decompose-convolution.mlir
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
Commit e91595bf948a23bb44a47854321aa80307a48fd1 by dvyukov
tsan: don't start background thread after clone

Start the background thread only after fork, but not after clone.
For fork we did this always and it's known to work (or user code has adopted).
But if we do this for the new clone interceptor some code (sandbox2) fails.
So model we used to do for years and don't start the background thread after clone.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D113744
The file was addedcompiler-rt/test/tsan/Linux/clone_setns.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 69c1cbe20f5db9b7a3b7086acabd92db1cd59cad by flo
[SCEV] Add test case where applying zext info pessimizes BTC.

Add an additional test case for D113578.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
Commit 819bca9b907242805f48355713549f58df51cc79 by flo
[SCEV] Use APIntOps::umin to select best max BC count (NFC).

Suggested in D102267, but I missed this in the committed version.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit c30c37c00a501e21f36f13109795dd5f95e1d937 by akuegel
Revert "[lldb] fix test expectation broken by clang fix at D110216"

This reverts commit 55085952175ed3b029097a0594acc4e34a5df218.
The patch it depends on is reverted.
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp
Commit 1d7fdbbc183aee2f1168425ae21e961164495466 by akuegel
Revert "[clang] retain type sugar in auto / template argument deduction"

This reverts commit 9b6036deedf28e10d797fc4ca734d57680d18053.
Breaks two libc++ tests.
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
The file was modifiedclang/test/SemaCXX/deduced-return-type-cxx14.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was modifiedclang/lib/Sema/SemaCXXScopeSpec.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/SemaTemplate/friend.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/SemaCXX/friend.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang-tools-extra/clangd/unittests/tweaks/ExpandAutoTypeTests.cpp
The file was removedclang/test/SemaCXX/sugared-auto.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-owning-memory.cpp
The file was modifiedclang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/test/SemaTemplate/attributes.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
The file was modifiedclang/test/SemaTemplate/operator-template.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/SemaCXX/recovery-expr-type.cpp
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
Commit 7d668ae38d2d54ebd5eca5f66a8cf353c3526dc3 by kadircet
[clangd] Mark macros from preamble for code completion

If the main file is a header, mark the marcos defined in its preamble
section as code-completion ready.

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

Differential Revision: https://reviews.llvm.org/D113555
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FileIndexTests.cpp
Commit 4721ee7029850456d5d86da9bdfaa11d8a049ef6 by pengfei.wang
Add nounwind for tests. NFC
The file was modifiedllvm/test/CodeGen/X86/inline-asm-fpstack.ll
Commit 19c1d03f97188206c96a5a54bbe4a8b5a9643d27 by dvyukov
tsan: ignore some errors in the clone_setns test

Some bots failed with:
unshare failed: 1
https://lab.llvm.org/buildbot/#/builders/70/builds/14101

Look only for the target EINVAL error.

Differential Revision: https://reviews.llvm.org/D113759
The file was modifiedcompiler-rt/test/tsan/Linux/clone_setns.cpp
Commit 99ff697bf72af978515ecca833337965502d4e63 by nicolas.vasilache
[mlir][Vector] Add support for 1D depthwise conv vectorization

At this time the 2 flavors of conv are a little too different to allow significant code sharing and other will likely come up.
so we go the easy route first by duplicating and adapting.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D113758
The file was modifiedmlir/test/Dialect/Linalg/vectorize-convolution.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit ab6ef5872763fd84e714c30467a49ad41d81bafc by Jan Svoboda
[clang] NFC: Format a loop in CompilerInstance

This code will be moved to a separate function in a future patch. Reformatting now to prevent a bunch of clang-format complains on Phabricator.
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit bf5748a1af0d2f6f9396d9dc6ac89d15de41eee7 by spatel
[x86] fold vector (X > -1) & Y to shift+andn

and (pcmpgt X, -1), Y --> pandn (vsrai X, BitWidth-1), Y

This avoids the -1 constant vector in favor of an arithmetic shift
instruction if it exists (the ISA is still not complete after all
these years...).

We catch this pattern late in combining by matching PCMPGT, so it
should not interfere with more general folds.

Differential Revision: https://reviews.llvm.org/D113603
The file was modifiedllvm/test/CodeGen/X86/vselect-zero.ll
The file was modifiedllvm/test/CodeGen/X86/vector-pcmp.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit cef1e07cc6d00b5b429d77133201e1f404a8023c by Raphael Isemann
[lldb] Fix that the embedded Python REPL crashes if it receives SIGINT

When LLDB receives a SIGINT while running the embedded Python REPL it currently
just crashes in `ScriptInterpreterPythonImpl::Interrupt` with an error such as
the one below:

```

Fatal Python error: PyThreadState_Get: the function must be called with the GIL
held, but the GIL is released (the current Python thread state is NULL)

```

The faulty code that causes this error is this part of `ScriptInterpreterPythonImpl::Interrupt`:
```
    PyThreadState *state = PyThreadState_GET();
    if (!state)
      state = GetThreadState();
    if (state) {
      long tid = state->thread_id;
      PyThreadState_Swap(state);
      int num_threads = PyThreadState_SetAsyncExc(tid, PyExc_KeyboardInterrupt);
```

The obvious fix I tried is to just acquire the GIL before this code is running
which fixes the crash but the `KeyboardInterrupt` we want to raise immediately
is actually just queued and would only be raised once the next line of input has
been parsed (which e.g. won't interrupt Python code that is currently waiting on
a timer or IO from what I can see). Also none of the functions we call here is
marked as safe to be called from a signal handler from what I can see, so we
might still end up crashing here with some bad timing.

Python 3.2 introduced `PyErr_SetInterrupt` to solve this and the function takes
care of all the details and avoids doing anything that isn't safe to do inside a
signal handler. The only thing we need to do is to manually setup our own fake
SIGINT handler that behaves the same way as the standalone Python REPL signal
handler (which raises a KeyboardInterrupt).

From what I understand the old code used to work with Python 2 so I kept the old
code around until we officially drop support for Python 2.

There is a small gap here with Python 3.0->3.1 where we might still be crashing,
but those versions have reached their EOL more than a decade ago so I think we
don't need to bother about them.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D104886
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was addedlldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
Commit ac95b8d9548cb3c07e60236d3e9e1fd05f79579b by dvyukov
tsan: new runtime (v3)

This change switches tsan to the new runtime which features:
- 2x smaller shadow memory (2x of app memory)
- faster fully vectorized race detection
- small fixed-size vector clocks (512b)
- fast vectorized vector clock operations
- unlimited number of alive threads/goroutimes

Depends on D112602.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D112603
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.h
The file was modifiedcompiler-rt/test/tsan/memcmp_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_shadow.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.cpp
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
The file was modifiedcompiler-rt/test/tsan/memcpy_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
The file was removedcompiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc
The file was modifiedcompiler-rt/lib/tsan/go/build.bat
The file was modifiedcompiler-rt/test/tsan/mutexset7.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_debugging.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_trace.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/test/tsan/free_race2.c
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
Commit ebda5e1e521f4e7e47ccddb51a6a1d0d586b4265 by kadircet
[clangd] Fix use-after-free in test
The file was modifiedclang-tools-extra/clangd/unittests/FileIndexTests.cpp
Commit 59087dce3b588c48dbb102d801dd986ea81eaac9 by llvm-dev
[X86] combineX86ShufflesConstants - constant fold from target shuffles unless optsize = true

Currently we only constant fold target shuffles if any of the sources has one use, or it would remove a variable shuffle mask - the aim being to avoid constant pool bloat.

This patch proposes we should constant fold by default and only limit this if optsize is enabled - I've added a basic test for this in vector-mul.ll (the pmuludq case is by far the most common), I can add other specific test cases if people need them.

This should permit further constant folding, break some instruction dependencies and help reduce shuffle port pressure.

Differential Revision: https://reviews.llvm.org/D113748
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-128.ll
The file was modifiedllvm/test/CodeGen/X86/combine-pmuldq.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-splat.ll
The file was modifiedllvm/test/CodeGen/X86/combine-shl.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-math.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
The file was modifiedllvm/test/CodeGen/X86/vec_shift6.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/combine-rotates.ll
The file was modifiedllvm/test/CodeGen/X86/madd.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
The file was modifiedllvm/test/CodeGen/X86/combine-concatvectors.ll
The file was modifiedllvm/test/CodeGen/X86/sdiv-exact.ll
The file was modifiedllvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
The file was modifiedllvm/test/CodeGen/X86/vector-mul.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
The file was modifiedllvm/test/CodeGen/X86/combine-multiplies.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-128.ll
Commit 352c46e70716061e99cae2009daddbfc78380fda by a.bataev
[SLP]Improve vectorization of split loads.

Need to fix ther cost estimation for split loads, since we look at the
subregs already, no need to permute them, need just to estimate
subregister insert, if it is smaller than the real register. Also, using
split loads, it might be profitable already to vectorize smaller trees
with gathering of the loads.

Differential Revision: https://reviews.llvm.org/D107188
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/schedule_budget.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 76478221565167da286bdc2d6a13eb241563e31c by kerry.mclaughlin
[AArch64][SVE] Remove i1 type from isElementTypeLegalForScalableVector

`collectElementTypesForWidening` collects the types of load, store and
reduction Phis in a loop. These types are later checked using
`isElementTypeLegalForScalableVector` to prevent vectorisation of
loops with instruction types that are unsupported.

This patch removes i1 from the list of types supported for scalable
vectors. This fixes an assert ("Cannot yet scalarize uniform stores") in
`setCostBasedWideningDecision` when we have a loop containing a uniform
i1 store and a scalable VF, which we cannot create a scatter for.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D113680
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
Commit 1513ca339b4349cdd183fffa341a499d2c9f4575 by a.bataev
[Feature][NFC]Improve test checks to avoid possible false postitive test
failures, NFC.
The file was modifiedllvm/test/Feature/weak_constant.ll
Commit 388e8110db6f7b4ad9d655a70780f8698c4b9fd1 by Justas.Janickas
[OpenCL] Constructor address space test adjusted for C++ for OpenCL 2021

Reuses C++ for OpenCL constructor address space test so that it
supports optional generic address spaces in version 2021.

Differential Revision: https://reviews.llvm.org/D110184
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-constructors.clcpp
Commit 0e185ceafb91c00382a31835215d3bae9d819613 by nicolas.vasilache
[mlir] NFC - Address post-commit comments

Address comments from https://reviews.llvm.org/D113745
which landed as aa3731806723a2a12914aecda2af6e40e1903702
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/Tensor.h
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
Commit 8d35c054e31e5a2bee082f7a587a660eeb24bf99 by lebedev.ri
[NFC][SROA] Add more tests for non-capturing pointer-escaping calls
The file was modifiedllvm/test/Transforms/SROA/non-capturing-call.ll
Commit 99d5cbbd7e33b620f5f4725ffa04ce15d2794a14 by kazu
[CodeGen] Use SDNode::uses (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit 05f34ffa216975f132fa1bd4cbf8424053a19147 by zarko
[clang] Inclusive language: change instances of blacklist/whitelist to allowlist/ignorelist

Change the error message to use ignorelist, and changed some variable and function
names in related code and test.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D113189
The file was modifiedclang/include/clang/AST/CommentHTMLTags.td
The file was modifiedclang/lib/Frontend/HeaderIncludeGen.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/test/CodeGen/sanitize-address-field-padding.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit a70bbb5f7af051a704a985402ff11a38a5f78984 by jay.foad
[AMDGPU] Simplify 64-bit division/remainder expansion

The old expansion open-coded a 64-bit addition in a strange way, by
adding the high parts *without* carry-in from the low part, and then
adding the carry back in later on. Fixing this saves a couple of
instructions and makes the code much easier to understand.

Differential Revision: https://reviews.llvm.org/D113679
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/carryout-selection.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-srem.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/bypass-div.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-urem.mir
Commit 30ebdf8a6dcc74823abf2ec318a44ad3ce9e231e by flo
[LV] Precommit test case from  PR52485.
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-small-size.ll
Commit c9dfe322eefca14ce07f73452f7327ecda57da30 by jdenny.ornl
[OpenMP] Fix main thread barrier for Pascal and amdgpu

Fixes what's left of https://bugs.llvm.org/show_bug.cgi?id=51781.

Reviewed By: jdoerfert, JonChesterfield, tianshilei1992

Differential Revision: https://reviews.llvm.org/D113602
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/target_interface.h
The file was addedopenmp/libomptarget/test/offloading/bug51781.c
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Kernel.cpp
The file was modifiedllvm/test/Transforms/OpenMP/custom_state_machines.ll
The file was modifiedllvm/test/Transforms/OpenMP/spmdization_guarding.ll
Commit 2d0aede515e8d7ce141da9708c7e7129d6e24241 by bcain
[libcxx] Change the type of __size to correspond

__size was declared as unsigned which was compatible with
The file was modifiedlibcxx/include/__format/formatter_integral.h
Commit bd81c39107e35ffa89df7df573f2719dee59ecef by zarko
[NFC][llvm] Remove uses of blacklist in llvm/test/Instrumentation

Small patch that changes blacklisted_global to blocked_global and a change in comments.

Reviewed By: pgousseau

Differential Revision: https://reviews.llvm.org/D113692
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
Commit 6bb71738e26ca3ba4f2894bf6542bf33625a52c0 by llvm-dev
[X86] convertShiftLeftToScale - improve vXi8 constant handling

Add support for v32i8/v64i8 converting shift-by-constant to multiply-by-constant. This helps us avoid the generic vXi8 shift lowering, and a lot of VPBLENDVB ops which can be particularly slow.

We also needed to reorder a few shift lowering patterns to prevent regressions, particularly for XOP+AVX2 (Excavator) targets (which can split to fast v16i8 shifts) and AVX512-BWI targets (which prefers to extend to fast v32i16 shifts).
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-shl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-512.ll
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-512.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
Commit 79fbba9b7948d217ad34a81de205a9eaf53b05f9 by dvyukov
Revert "tsan: new runtime (v3)"

Summary:
This reverts commit ac95b8d9548cb3c07e60236d3e9e1fd05f79579b.
There is a number of bot failures:
http://45.33.8.238/mac/38755/step_4.txt
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/38135/consoleFull#-148886289949ba4694-19c4-4d7e-bec5-911270d8a58c

Reviewers: vitalybuka, melver

Subscribers:
The file was modifiedcompiler-rt/test/tsan/memcpy_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/test/tsan/free_race2.c
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_debugging.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
The file was addedcompiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp
The file was modifiedcompiler-rt/lib/tsan/go/build.bat
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_trace.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.h
The file was modifiedcompiler-rt/test/tsan/mutexset7.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/test/tsan/memcmp_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_shadow.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.cpp
Commit 52a3ed5b93ca9aba042d87e2bb697bf0dda2e43c by quinn.pham
[lldb][NFC] Inclusive language: replace master/slave names for ptys

[NFC] This patch replaces master and slave with primary and secondary
respectively when referring to pseudoterminals/file descriptors.

Reviewed By: clayborg, teemperor

Differential Revision: https://reviews.llvm.org/D113687
The file was modifiedlldb/test/API/tools/lldb-server/TestPtyServer.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestPty.py
The file was modifiedlldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py
The file was modifiedlldb/unittests/Editline/EditlineTest.cpp
The file was modifiedlldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Commit 1c5d636af1a7b0786e2d4574cfa469dd27c34be1 by nikita.ppv
[ConstantRangeTest] Add helper to enumerate APInts (NFC)

While ForeachNumInConstantRange(ConstantRange::getFull(Bits))
works, it's somewhat roundabout, and I keep looking for this
function.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit e01c91f242fc7d8ebb2c6267758838d90f17d58c by listmail
[tests] Add coverage for cases we can prune exits when runtlme unrolling
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
Commit 4fb62e138398263dbefaa499c712929562bdf3bd by sam.mccall
[clangd] Mark completions as plain-text when there's no snippet part

This helps nvim support the "repeat" action

Fixes https://github.com/clangd/clangd/issues/922
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit a05384dc8930cbe967def7c5c4113740838e8fd0 by i
[ELF] Make --no-relax disable R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX GOT optimization

This brings back the original version of D81359.
I have found several use cases now.

* Unlike GNU ld, LLD's relocation processing is one pass. If we decide to
  optimize(relax) R_X86_64_{,REX_}GOTPCRELX, we will suppress GOT generation and
  cannot undo the decision later. Optimizing R_X86_64_REX_GOTPCRELX can usually
  make it easy to hit `relocation R_X86_64_REX_GOTPCRELX out of range` because
  the distance to GOT is usually shorter. Without --no-relax, the user has to
  recompile with `-Wa,-mrelax-relocations=no`.
* The option would help during my investigationg of the root cause of https://git.kernel.org/linus/09e43968db40c33a73e9ddbfd937f46d5c334924
* There is need for relaxation for AArch64 & RISC-V. Implementing this for
  x86-64 improves consistency with little target-specific cost (two-line
  X86_64.cpp change).

Reviewed By: alexander-shaposhnikov

Differential Revision: https://reviews.llvm.org/D113615
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/test/ELF/x86-64-gotpc-relax.s
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/Arch/X86_64.cpp
The file was modifiedlld/ELF/Driver.cpp
Commit 5dd64ef528d2b975f6b266e838c7c761a301e867 by listmail
Refresh an autogen test to reduce spurious diffs
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll
Commit 3170670541c0f4c59cba73764206c6edb59f7e3f by llvm-dev
[AMDGPU] Regenerate udiv.ll tests
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv.ll
Commit 84c5702b76497e6f3e3f2abc15fb59e947663b38 by quinn.pham
[lldb][NFC] Inclusive language: rename m_master in ASTImporterDelegate

[NFC] As part of using inclusive language within the llvm project, this patch
replaces `m_master` in `ASTImporterDelegate` with `m_main`.

Reviewed By: teemperor, clayborg

Differential Revision: https://reviews.llvm.org/D113720
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
Commit 7a5680233e03c8ac65d4a9bd97c59b3a3b683526 by nawrin.sultana
[OpenMP] Set default blocktime to 0 for hybrid cpu

Differential Revision:https://reviews.llvm.org/D113012
The file was modifiedopenmp/runtime/src/kmp.h
Commit 03cfea68c65f02ad4267a2b026fe5baf32a2d519 by flo
[SCEV] Update SCEVLoopGuardRewriter to take SCEV -> SCEV map (NFC).

Split off refactoring from D113577 to reduce the diff. NFC as the new
interface will only be used in D113577.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 85ec449352fb809e42e3e14dd10152cbdf8b5945 by pklausler
[flang] Fix ORDER= argument to RESHAPE

The ORDER= argument to the transformational intrinsic function RESHAPE
was being misinterpreted in an inverted way that could be detected only
with 3-d or higher rank array.  Fix in both folding and the runtime, and
extend tests.

Differential Revision: https://reviews.llvm.org/D113699
The file was modifiedflang/lib/Evaluate/constant.cpp
The file was modifiedflang/runtime/transformational.cpp
The file was modifiedflang/include/flang/Evaluate/constant.h
The file was modifiedflang/test/Evaluate/folding06.f90
Commit f453e23e67e260b375ea222dab2483c1663aa5c9 by listmail
Autogen a bunch of unrolling tests for ease of update
The file was modifiedllvm/test/DebugInfo/unrolled-loop-remainder.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-keep-first-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/partially-unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/2011-08-09-PhiUpdate.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
Commit 9d5e6474281cd4d774ede800eb339e1dc610e471 by Lang Hames
[JITLink] Fix think-o in handwritten CWrapperFunctionResult -> Error converter.

We need to skip the length field when generating error strings.

No test case: This hand-hacked deserializer should be removed in the near future
once JITLink can use generic ORC APIs (including SPS and WrapperFunction).
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
Commit 3fb641618f1a3b73c0bd661c567e8db32dcde491 by Lang Hames
[ORC-RT][llvm-jitlink] Fix a buggy check in ORC-RT MachO TLV deregistration.

The check was failing because it was matching against the end of the range, not
the start.

This bug wasn't causing the ORC-RT MachO TLV regression test to fail because
we were only logging deallocation errors (including TLV deregistration errors)
and not actually returning a failure code. This commit updates llvm-jitlink to
report the errors properly.
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedcompiler-rt/lib/orc/macho_platform.cpp
Commit 4a0af824ee22d21362b5e6eccdb38a666e2d9b27 by pklausler
[flang] Respect NO_STOP_MESSAGE=1 in runtime

When an environment variable NO_STOP_MESSAGE=1 is set,
assume that STOP statements with a successful code
have QUIET=.TRUE.

Differential Revision: https://reviews.llvm.org/D113701
The file was modifiedflang/runtime/environment.h
The file was modifiedflang/runtime/environment.cpp
The file was modifiedflang/runtime/stop.cpp
Commit f46f93b4786377dd7ee704ef2beedadfe4f05adf by Louis Dionne
[libc++][NFC] Resolve Python 2 FIXME

We don't use Python 2 anymore, so let us do the recommended fix instead
of using the workaround made for Python 2.

Differential Revision: https://reviews.llvm.org/D107715
The file was modifiedlibcxx/utils/ssh.py
The file was modifiedlibcxx/utils/gdb/libcxx/printers.py
The file was modifiedlibcxx/utils/libcxx/util.py
The file was modifiedlibcxx/CMakeLists.txt
Commit d1b09adeebe8e2faf2c18fd24b9f83e89087a1e8 by pklausler
[flang] Fix rounding edge case in F output editing

When an Fw.d output edit descriptor has a "d" value exactly
equal to the number of zeroes after the decimal point for a value
(e.g., 0.07 with F5.1), the Fw.d output editing code needs to
do the rounding itself to either 0.0 or 0.1 after performing
a conversion without rounding (to avoid 0.04999 rounding up twice).

Differential Revision: https://reviews.llvm.org/D113698
The file was modifiedflang/unittests/Runtime/NumericalFormatTest.cpp
The file was modifiedflang/runtime/edit-output.h
The file was modifiedflang/runtime/edit-output.cpp
Commit a1b496be6c7105943583acab0923acb8993e8e2f by listmail
(re-)Autogen one last unroll-and-jam test

This case was complicated because someone had added new non-autogened test to an autogened file.  In particular, those new tests used two variables (%J and %j) which differeded only in capitalization.  The auto-updater doesn't distinguish case, so this meant auto-gened versions of the new tests failed with non-obvious errors.

There are two key lessons here:
1) Please don't use two values which differ only in case.  This is problematic for automatic tooling, but is also hard to understand for a human.
2) Please DO NOT add new tests to an autogened test without running autogen again.  If autogen doesn't pass on your new test, put them in a separate file.
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
Commit 1b651be0465de70cfa22ce4f715d3501a4dcffc1 by Duncan P. N. Exon Smith
ADT: Fix const-correctness of iterator adaptors

This fixes const-correctness of iterator adaptors, dropping non-`const`
overloads for `operator*()`.

Iterators, like the pointers that they generalize, have two types of
`const`.

The `const` qualifier on members indicates whether the iterator itself
can be changed. This is analagous to `int *const`.

The `const` qualifier on return values of `operator*()`, `operator[]()`,
and `operator->()` controls whether the the pointed-to value can be
changed. This is analogous to `const int *`.

Since `operator*()` does not (in principle) change the iterator, then
there should only be one definition, which is `const`-qualified. E.g.,
iterators wrapping `int*` should look like:
```
int *operator*() const; // always const-qualified, no overloads
```

ba7a6b314fd14bb2c9ff5d3f4fe2b6525514cada changed `iterator_adaptor_base`
away from this to work around bugs in other iterator adaptors. That was
already reverted. This patch adds back its test, which combined
llvm::enumerate() and llvm::make_filter_range(), adds a test for
iterator_adaptor_base itself, and cleans up the `const`-ness of the
other iterator adaptors.

This also updates the documented requirements for
`iterator_facade_base`:
```
/// OLD:
///   - const T &operator*() const;
///   - T &operator*();

/// New:
///   - T &operator*() const;
```
In a future commit we might also clean up `iterator_facade`'s overloads
of `operator->()` and `operator[]()`. These already (correctly) return
non-`const` proxies regardless of the iterator's `const` qualifier.

Differential Revision: https://reviews.llvm.org/D113158
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/include/llvm/ADT/iterator.h
The file was modifiedllvm/unittests/ADT/IteratorTest.cpp
Commit eb6f9f3123e6043d559fdfd921714626ff542cee by keithbsmiley
[lld-macho] Fix trailing slash in oso_prefix

Previously if you passed `-oso_prefix path/to/foo/` with a trailing
slash at the end, using `real_path` would remove that slash, but that
slash is necessary to make sure OSO prefix paths end up as valid
relative paths instead of starting with `/`.

Differential Revision: https://reviews.llvm.org/D113541
The file was modifiedlld/test/MachO/stabs.s
The file was modifiedlld/MachO/Driver.cpp
Commit da25f968a90ad4560fc920a6d18fc2a0221d2750 by pklausler
[flang] Runtime performance improvements to real formatted input

Profiling a basic internal real input read benchmark shows some
hot spots in the code used to prepare input for decimal-to-binary
conversion, which is of course where the time should be spent.
The library that implements decimal to/from binary conversions has
been optimized, but not the code in the Fortran runtime that calls it,
and there are some obvious light changes worth making here.

Move some member functions from *.cpp files into the class definitions
of Descriptor and IoStatementState to enable inlining and specialization.

Make GetNextInputBytes() the new basic input API within the
runtime, replacing GetCurrentChar() -- which is rewritten in terms of
GetNextInputBytes -- so that input routines can have the
ability to acquire more than one input character at a time
and amortize overhead.

These changes speed up the time to read 1M random reals
using internal I/O from a character array from 1.29s to 0.54s
on my machine, which on par with Intel Fortran and much faster than
GNU Fortran.

Differential Revision: https://reviews.llvm.org/D113697
The file was modifiedflang/lib/Decimal/decimal-to-binary.cpp
The file was modifiedflang/runtime/internal-unit.h
The file was modifiedflang/runtime/unit.cpp
The file was modifiedflang/runtime/unit.h
The file was modifiedflang/lib/Decimal/big-radix-floating-point.h
The file was modifiedflang/runtime/descriptor.cpp
The file was modifiedflang/runtime/io-stmt.h
The file was modifiedflang/runtime/io-stmt.cpp
The file was modifiedflang/runtime/edit-input.cpp
The file was modifiedflang/unittests/Runtime/NumericalFormatTest.cpp
The file was modifiedflang/include/flang/Decimal/decimal.h
The file was modifiedflang/runtime/internal-unit.cpp
The file was modifiedflang/include/flang/Runtime/descriptor.h
Commit de2fed61528a5584dc54c47f6754408597be24de by listmail
[unroll] Keep unrolled iterations with initial iteration

The unrolling code was previously inserting new cloned blocks at the end of the function.  The result of this with typical loop structures is that the new iterations are placed far from the initial iteration.

With unrolling, the general assumption is that the a) the loop is reasonable hot, and b) the first Count-1 copies of the loop are rarely (if ever) loop exiting.  As such, placing Count-1 copies out of line is a fairly poor code placement choice.  We'd much rather fall through into the hot (non-exiting) path.  For code with branch profiles, later layout would fix this, but this may have a positive impact on non-PGO compiled code.

However, the real motivation for this change isn't performance.  Its readability and human understanding.  Having to jump around long distances in an IR file to trace an unrolled loop structure is error prone and tedious.
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-keep-first-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/unroll-upperbound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/2011-08-09-PhiUpdate.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop5.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/DebugInfo/unrolled-loop-remainder.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/shifted-tripcount.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/partially-unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/thresholdO3-cost-model.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/ARM/loop-unrolling.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/multiple-exits.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll
Commit 8b3e1adf2b4a69b6055dc4e07b4e97817208c904 by Duncan P. N. Exon Smith
IR: Avoid duplication of SwitchInst::findCaseValue(), NFC

Change the non-const version of findCaseValue() to forward to the const
version.
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit 46a68c85bfc99f0bc651e5096a641d5d4051e99d by Duncan P. N. Exon Smith
Sema: const-qualify ParsedAttr::iterator::operator*()

`const`-qualify ParsedAttr::iterator::operator*(), clearing up confusion
about the two meanings of const for pointers/iterators. Helps unblock
removal of (non-const) iterator_facade_base::operator->().
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
Commit 153c2983422e6c5840efc4bbe73b7b9bf0658d0d by jpienaar
[mlir][shape] Add value_as_shape op

Part of the very first discussion here, but didn't upstream it before as we
didn't use it yet. Fix that for pending updates. Just adding the op here,
follow up will add the lowering to codegen.
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit ad8df21db287b9f186421aa340e8e0c061f6222c by jezng
[reland][lld-macho] Fix symbol relocs handling for compact unwind's functionAddress

Clang seems to emit all functionAddress relocs as section relocs, but
`ld -r` can turn those relocs into symbol ones. It turns out that we
weren't handling that case correctly when the symbol was a weak def
whose definition did not prevail.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D113702
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/weak-definition-gc.s
Commit 5074a20dec70ef2afef650f770fb45eb0247a4f7 by gcmn
Don't define //mlir:MLIRBindingsPythonCore in terms of the NoCAPI and CAPIDeps targets.

We noticed that the library structure causes link ordering problems in Google's internal build. However, we don't think the problem is specific to Google's build, it probably can be reproduced anywhere with the right library structure.

In general splitting the Python bindings from their dependencies (the C API targets) creates the possibility that the two libraries might end up in the wrong order on the linker command line. We can avoid this problem happening by reverting the structure of the MLIRBindingsPythonCore to represent its dependencies in the usual way, rather than composing an incomplete `MLIRBindingsPythonCoreNoCAPI` target and their CAPI dependencies. It was probably a mistake to rewrite this particular `cc_library()` rule in terms of the two, since nothing guarantees that the two will be correctly ordered by the linker when both are being linked into the same binary, and it was only an incidental "cleanup" done in passing.

Otherwise the previous PR (D113565) is fine, since that was about the case where both are being built into two separate shared libraries. It just shouldn't have made this (unrelated) change.

Reviewed By: GMNGeoffrey

Differential Revision: https://reviews.llvm.org/D113773
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit 4e7df1ef7b679953c1501177539166876c4cbda4 by aaron.puchert
Comment AST: Find out if function is variadic in DeclInfo::fill

Then we don't have to look into the declaration again. Also it's only
natural to collect this information alongside parameters and return
type, as it's also just a parameter in some sense.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D113690
The file was modifiedclang/lib/AST/CommentSema.cpp
The file was modifiedclang/test/Sema/warn-documentation.cpp
The file was modifiedclang/lib/AST/Comment.cpp
The file was modifiedclang/include/clang/AST/Comment.h
Commit 3010883fc296619def051e0a2f97d40fb15960d7 by aaron.puchert
Comment AST: Recognize function-like objects via return type (NFC)

Instead of pretending that function pointer type aliases or variables
are functions, and thereby losing the information that they are type
aliases or variables, respectively, we use the existence of a return
type in the DeclInfo to signify a "function-like" object.

That seems pretty natural, since it's also the return type (or parameter
list) from the DeclInfo that we compare the documentation with.

Addresses a concern voiced in D111264#3115104.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D113691
The file was modifiedclang/include/clang/AST/Comment.h
The file was modifiedclang/include/clang/AST/CommentSema.h
The file was modifiedclang/lib/AST/CommentSema.cpp
The file was modifiedclang/lib/AST/Comment.cpp
Commit 59b1e98137e961a61ffaeb609b6790999c461bec by aaron.puchert
Comment Sema: Make most of CommentSema private (NFC)

We only need to expose setDecl, copyArray and the actOn* methods.
The file was modifiedclang/include/clang/AST/CommentSema.h
Commit aab1810006a6788e32ee04e7d40d0b2474754aa2 by wlei
[llvm-profgen] Fix bug of setting function entry

Previously we set `isFuncEntry` flag  to true when the funcName from DWARF is equal to the name in symbol table and we use this flag to ignore reporting callsite sample that's from an intra func branch. However, in HHVM, it appears that the symbol table name is inconsistent with the dwarf info func name, it's likely due to `OptimizeGlobalAliases`.

This change is a workaround in llvm-profgen side to mark the only one range as the function entry and add warnings for the remaining inconsistence.

This also fixed a missing `getCanonicalFnName` for symbol name which caused the mismatching as well.

Reviewed By: hoy, wenlei

Differential Revision: https://reviews.llvm.org/D113492
The file was modifiedllvm/tools/llvm-profgen/PerfReader.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
The file was modifiedllvm/tools/llvm-profgen/PerfReader.h
The file was modifiedllvm/tools/llvm-profgen/ErrorHandling.h
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
Commit 6c32dd4dfafe01d01e4b189a4eeda5c4497c71ec by spatel
[AArch64][x86] add tests for swapped cmp+vselect patterns; NFC

These patterns were noted in the recent D113212 and follow-ups.
I did not bother to duplicate every test because it should be
clear if we recognize the swaps from a smaller sample. We have
complete coverage for the original patterns.
The file was modifiedllvm/test/CodeGen/AArch64/vselect-constants.ll
The file was modifiedllvm/test/CodeGen/X86/vselect-zero.ll
Commit d9b6f7e312c11ff69779939bb2be0bd53936a333 by jezng
[lld-macho] Teach ICF to dedup functions with identical unwind info

Dedup'ing unwind info is tricky because each CUE contains a different
function address, if ICF operated naively and compared the entire
contents of each CUE, entries with identical unwind info but belonging
to different functions would never be considered identical. To work
around this problem, we slice away the function address before
performing ICF. We rely on `relocateCompactUnwind()` to correctly handle
these truncated input sections.

Here are the numbers before and after D109944, D109945, and this diff
were applied, as tested on my 3.2 GHz 16-Core Intel Xeon W:

Without any optimizations:

             base           diff           difference (95% CI)
  sys_time   0.849 ± 0.015  0.896 ± 0.012  [  +4.8% ..   +6.2%]
  user_time  3.357 ± 0.030  3.512 ± 0.023  [  +4.3% ..   +5.0%]
  wall_time  3.944 ± 0.039  4.032 ± 0.031  [  +1.8% ..   +2.6%]
  samples    40             38

With `-dead_strip`:

             base           diff           difference (95% CI)
  sys_time   0.847 ± 0.010  0.896 ± 0.012  [  +5.2% ..   +6.5%]
  user_time  3.377 ± 0.014  3.532 ± 0.015  [  +4.4% ..   +4.8%]
  wall_time  3.962 ± 0.024  4.060 ± 0.030  [  +2.1% ..   +2.8%]
  samples    47             30

With `-dead_strip` and `--icf=all`:

             base           diff           difference (95% CI)
  sys_time   0.935 ± 0.013  0.957 ± 0.018  [  +1.5% ..   +3.2%]
  user_time  3.472 ± 0.022  6.531 ± 0.046  [ +87.6% ..  +88.7%]
  wall_time  4.080 ± 0.040  5.329 ± 0.060  [ +30.0% ..  +31.2%]
  samples    37             30

Unsurprisingly, ICF is now a lot slower, likely due to the much larger
number of input sections it needs to process. But the rest of the
linker only suffers a mild slowdown.

Note that the compact-unwind-bad-reloc.s test was expanded because we
now handle the relocation for CUE's function address in a separate code
path from the rest of the CUE relocations. The extended test covers both
code paths.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D109946
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/test/MachO/icf.s
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/ICF.cpp
Commit 9d0b237c516f935482cfff5c3df9cb44ee766664 by jezng
[lld-macho] Fix symbol relocs handling for LSDAs

Similar to D113702, but for the LSDAs. Clang seems to emit all LSDA
relocs as section relocs, but ld -r can turn those relocs into symbol
ones.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D113721
The file was modifiedlld/MachO/UnwindInfoSection.cpp
The file was modifiedlld/test/MachO/compact-unwind-sym-relocs.s
Commit 07092ea6bd1370da5eb9e05cc2910039f5f08bbd by Vitaly Buka
[asan] Fix GCC warning "left shift count >= width"

Fixes PR52385
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit 8cf674f12e8b62607a79d2a069f2805558fc08fc by jeffniu22
[mlir][ods] DialectAsmPrinter -> AsmPrinter in comments
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit ece17064b592db70a56ef7e4e750d0fe589014f2 by pklausler
[flang] Handle ENTRY names in IsPureProcedure() predicate

Fortran defines an ENTRY point name as being pure if its enclosing
subprogram scope defines a pure procedure.

Differential Revision: https://reviews.llvm.org/D113711
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Evaluate/tools.cpp
Commit 2696a9529eed0fe60017b46ba8823d8efcddf571 by jeffniu22
[mlir][ods] Cleanup of Class Codegen helper

Depends on D113331

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D113714
The file was modifiedmlir/lib/TableGen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was removedmlir/include/mlir/TableGen/OpClass.h
The file was addedmlir/lib/TableGen/Class.cpp
The file was removedmlir/lib/TableGen/OpClass.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/TableGen/CodeGenHelpers.h
The file was modifiedmlir/tools/mlir-tblgen/DialectGen.cpp
The file was addedmlir/include/mlir/TableGen/Class.h
Commit 4602f52d482c5752d6a4c13108f29f0be39598c8 by Louis Dionne
[libcxx][AIX] XFAIL tests enabled by locale.fr_FR.UTF-8

We missed the tests in the earlier XFAIL-ing because the locale.fr_FR.UTF-8
feature wasn't available, but since an upgrade these are now showing up
on the CI.

Differential Revision: https://reviews.llvm.org/D113791
The file was modifiedlibcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
Commit 12ab3e6c8402078f58959847277858eb47a43a19 by fcloutier
format_arg attribute does not support nullable instancetype return type

* The format_arg attribute tells the compiler that the attributed function
  returns a format string that is compatible with a format string that is being
  passed as a specific argument.
* Several NSString methods return copies of their input, so they would ideally
  have the format_arg attribute. A previous differential (D112670) added
  support for instancetype methods having the format_arg attribute when used
  in the context of NSString method declarations.
* D112670 failed to account that instancetype can be sugared in certain narrow
  (but critical) scenarios, like by using nullability specifiers. This patch
  resolves this problem.

Differential Revision: https://reviews.llvm.org/D113636
Reviewed By: ahatanak

Radar-Id: rdar://85278860
The file was modifiedclang/test/SemaObjC/format-arg-attribute.m
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit e2a86ab8474eec1a427a71b1b4795830cf068c3e by a.bataev
[SLP][NFCAdd a test for vector intrinsic with scalar parameter, NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/intrinsic_with_scalar_param.ll
Commit c3edab8f781d0c3cf063ec0c675ad7bd7c3b65b8 by Duncan P. N. Exon Smith
ADT: Avoid repeating iterator adaptor/facade template params, NFC

Take advantage of class name injection to avoid redundantly specifying
template parameters of iterator adaptor/facade base classes.

No functionality change, although the private typedefs changed in a
couple of cases.

  - Added a private typedef HashTableIterator::BaseT, following the
    pattern from r207084 / 3478d4b164e8d3eba01f5bfa3fc5bfb287a78b97, to
    pre-emptively appease MSVC (maybe it's not necessary anymore but
    looks like we do this pretty consistently). Otherwise, I removed
    private
  - Removed private typedefs filter_iterator_impl::BaseT and
    FilterIteratorTest::InputIterator::BaseT since there was only one
    use of each and the definition was no longer interesting.
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/HashTable.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
The file was modifiedllvm/unittests/ADT/IteratorTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit a678c6743f536dac67b3714fd8c71dca7b1ae082 by Duncan P. N. Exon Smith
IR: Fix const-correctness of SwitchInst::CaseIterator and CaseHandle

Fix some confusion between the two types of `const` a pointer/iterator
can have. Users of a SwitchInst::CaseIterator should not (and do not!)
manually mutate the SwitchInst::CaseHandle that tracks its internal
state. Change operator*() to return `const CaseHandle&`, remove the
non-const-qualified operator*(), and const-qualify
CaseHandle::setValue() and CaseHandle::setSuccessor().

Differential Revision: https://reviews.llvm.org/D113788
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit 9a2b54af221717bf71040b530c4ac8043e1db23a by Duncan P. N. Exon Smith
lld: const-qualify iterations through VarStreamArray, NFC

No functionality change here; just unblocking a patch to LLVM.
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedlld/COFF/DebugTypes.cpp
Commit 02bed66cd5923a9964b7cb2211eae4bf3a065c6f by craig.topper
[RISCV] Improve codegen for i32 udiv/urem by constant on RV64.

The division by constant optimization often produces constants that
are uimm32, but not simm32. These constants require 3 or 4 instructions
to materialize without Zba.

Since these instructions are often used by a multiply with a LHS
that needs to be zero extended with an AND, we can switch the MUL
to a MULHU by shifting both inputs left by 32. Once we shift the
constant left, the upper 32 bits no longer need to be 0 so constant
materialization is free to use LUI+ADDIW. This reduces the constant
materialization from 4 instructions to 3 in some cases while also
reducing the zero extend of the LHS from 2 shifts to 1.

Differential Revision: https://reviews.llvm.org/D113805
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoM.td
The file was modifiedllvm/test/CodeGen/RISCV/urem-lkk.ll
The file was modifiedllvm/test/CodeGen/RISCV/div.ll
Commit 19cd6f31d83ec9cf4712e76668b2076a4c9741e4 by Lawrence D'Anna
[lldb] temporarily disable TestPaths.test_interpreter_info on windows

I'm disabling this test until the fix is reviewed
(here https://reviews.llvm.org/D113650/)
The file was modifiedlldb/test/API/functionalities/paths/TestPaths.py
Commit 37ead201e6148f2b079179a71ccbad5af223ce03 by listmail
[runtime-unroll] Use incrementing IVs instead of decrementing ones

This is one of those wonderful "in theory X doesn't matter, but in practice is does" changes. In this particular case, we shift the IVs inserted by the runtime unroller to clamp iteration count of the loops* from decrementing to incrementing.

Why does this matter?  A couple of reasons:
* SCEV doesn't have a native subtract node.  Instead, all subtracts (A - B) are represented as A + -1 * B and drops any flags invalidated by such.  As a result, SCEV is slightly less good at reasoning about edge cases involving decrementing addrecs than incrementing ones.  (You can see this in the inferred flags in some of the test cases.)
* Other parts of the optimizer produce incrementing IVs, and they're common in idiomatic source language.  We do have support for reversing IVs, but in general if we produce one of each, the pair will persist surprisingly far through the optimizer before being coalesced.  (You can see this looking at nearby phis in the test cases.)

Note that if the hardware prefers decrementing (i.e. zero tested) loops, LSR should convert back immediately before codegen.

* Mostly irrelevant detail: The main loop of the prolog case is handled independently and will simple use the original IV with a changed start value.  We could in theory use this scheme for all iteration clamping, but that's a larger and more invasive change.
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop5.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
The file was modifiedllvm/test/DebugInfo/unrolled-loop-remainder.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/ARM/multi-blocks.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors-inseltpoison.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
Commit cb0e14ce6dcdd614a7207f4ce6fcf81a164471ab by Vitaly Buka
[sanitizer] Switch dlsym hack to internal_allocator

Since glibc 2.34, dlsym does
  1. malloc 1
  2. malloc 2
  3. free pointer from malloc 1
  4. free pointer from malloc 2
These sequence was not handled by trivial dlsym hack.

This fixes https://bugs.llvm.org/show_bug.cgi?id=52278

Reviewed By: eugenis, morehouse

Differential Revision: https://reviews.llvm.org/D112588
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was modifiedcompiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
The file was modifiedcompiler-rt/lib/msan/msan_interceptors.cpp
The file was modifiedcompiler-rt/lib/asan/asan_malloc_linux.cpp
The file was modifiedcompiler-rt/lib/memprof/memprof_malloc_linux.cpp
The file was modifiedcompiler-rt/lib/dfsan/dfsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
Commit 7611e16fce9ce36b6bd6dceda691f6bc7e754347 by Akira
[clang][objc][codegen] Skip emitting ObjC category metadata when the
category is empty

Currently, if we create a category in ObjC that is empty, we still emit
runtime metadata for that category. This is a scenario that could
commonly be run into when using __attribute__((objc_direct_members)),
which elides the need for much of the category metadata. This is
slightly wasteful and can be easily skipped by checking the category
metadata contents during CodeGen.

rdar://66177182

Differential Revision: https://reviews.llvm.org/D113455
The file was addedclang/test/CodeGenObjC/category-class-empty.m
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp
The file was modifiedclang/test/CodeGenObjC/non-lazy-classes.m
Commit 8909dc5ebe8ad39f1743131eb70df402d796acab by craig.topper
[RISCV] Fixed duplicate RUN line on float-intrinsics.ll. NFC

We had two identical RV64I RUN lines. One should be RV32I.
The file was modifiedllvm/test/CodeGen/RISCV/float-intrinsics.ll
Commit 2a739f2789c3549aec3d77807e452dc22e4ef9f9 by blangmuir
[ORC][ORC-RT] Register type metadata from __swift5_types MachO section

Similar to how the other swift sections are registered by the ORC
runtime's macho platform, add the __swift5_types section, which contains
type metadata. Add a simple test that demonstrates that the swift
runtime recognized the registered types.

rdar://85358530

Differential Revision: https://reviews.llvm.org/D113811
The file was modifiedllvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was addedcompiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-swift-types-section.S
The file was modifiedcompiler-rt/lib/orc/macho_platform.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Commit afafa883a4757d88d869d1abb6bf7e11022fd521 by Vitaly Buka
[sanitizer] Fix test linking
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/pthread_mutex.cpp
Commit a144869384f93097163e1aaa31daf48962c1e66d by thakis
[gn build] (semi-manually) port cb0e14ce6dcd
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Commit 4b768eeb976ec15a2701f9a7b3eac2b0b43e8a7d by Vitaly Buka
[asan] Fix "no matching function" on GCC
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp
Commit ad932320d89684e23f7952e54bc90c96598db1a3 by vyng
[lld-macho] Parallelize scanning the symbol tables in export/unexport-ing.

(Split from D113167)
Benchmarking on one of our large apps which exports a few thousands symbols,
this showed an improvement of ~17%.

x ./LLD_no_parallel.txt
+ ./LLD_with_parallel.txt

    N           Min           Max        Median           Avg        Stddev
x  10         84.01         89.41         88.64        87.693     1.7424061
+  10          71.9         74.29         72.63        72.753    0.77734663
Difference at 95.0% confidence
-14.94 +/- 1.26763
-17.0367% +/- 1.44553%
(Student's t, pooled s = 1.34912)

(wallclock)

Differential Revision: https://reviews.llvm.org/D113820
The file was modifiedlld/MachO/Driver.cpp
Commit 89fb2c71a2cd2818bb2d9aa7fcaf882a4d2b5128 by Vitaly Buka
[asan] More leaks in test

It fails to detect a single leak with GLIBC 2.34.
The file was modifiedcompiler-rt/test/asan/TestCases/coverage-and-lsan.cpp
Commit e49fcfc7cdf82e41f15a857083c0fb275c1b6021 by pengfei.wang
[X86][ABI] Change the alignment of f80 in 32-bit calling convention to meet with different data layout

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D113739
The file was modifiedllvm/test/CodeGen/X86/2007-09-27-LDIntrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/inline-asm-fpstack.ll
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td
Commit 4d8fff477e024698facd89741cc6cf996708d598 by mizvekov
[clang] retain type sugar in auto / template argument deduction

This implements the following changes:
* AutoType retains sugared deduced-as-type.
* Template argument deduction machinery analyses the sugared type all the way
down. It would previously lose the sugar on first recursion.
* Undeduced AutoType will be properly canonicalized, including the constraint
template arguments.
* Remove the decltype node created from the decltype(auto) deduction.

As a result, we start seeing sugared types in a lot more test cases,
including some which showed very unfriendly `type-parameter-*-*` types.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D110216
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/SemaCXX/friend.cpp
The file was removedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.fail.cpp
The file was modifiedclang/test/SemaTemplate/friend.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
The file was modifiedclang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang/test/SemaTemplate/attributes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
The file was modifiedclang/test/SemaTemplate/operator-template.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was removedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp
The file was modifiedclang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/recovery-expr-type.cpp
The file was addedclang/test/SemaCXX/sugared-auto.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaCXX/deduced-return-type-cxx14.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-owning-memory.cpp
The file was modifiedclang-tools-extra/clangd/unittests/tweaks/ExpandAutoTypeTests.cpp
The file was addedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.verify.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaCXXScopeSpec.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp
The file was modifiedclang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
The file was addedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.verify.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
Commit 9b29dae3cae1860f663698fcb709a19cf0c398be by vyng
[lld-macho] Allow exporting weak_def_can_be_hidden(AKA "autohide") symbols

autohide symbols behaves similarly to private_extern symbols.
However, LD64 allows exporting autohide symbols. LLD currently does not.
This patch allows LLD to export them.

Differential Revision: https://reviews.llvm.org/D113167
The file was modifiedlld/MachO/ConcatOutputSection.cpp
The file was modifiedlld/test/MachO/export-options.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/SymbolTable.h
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.cpp
Commit 47bb456b2ffd774990a6aca45f6b90183e2075c3 by keithbsmiley
[llvm-obcopy][MachO] Add error for MH_PRELOAD

Previously this would crash. Fixes https://bugs.llvm.org/show_bug.cgi?id=51877

Differential Revision: https://reviews.llvm.org/D113819
The file was addedllvm/test/tools/llvm-objcopy/MachO/mh-preload-unsupported.yaml
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit 51715fbd96c100e08ad5e0afe78eff474e4caa3f by keithbsmiley
[lld-macho] Fix warning

```
/Users/ksmiley/dev/llvm-project/lld/MachO/Symbols.cpp:43:27: warning: field 'external' will be initialized after field 'weakDefCanBeHidden' [-Wreorder-ctor]
      weakDef(isWeakDef), external(isExternal),
                          ^
1 warning generated.
```

Differential Revision: https://reviews.llvm.org/D113823
The file was modifiedlld/MachO/Symbols.cpp
Commit 3129b3339ce133650b460a7e6b7199111f97bb4c by tstellar
test/ExecutionEngine: Clean up lit.local.cfg

Switch to using config.root.native_target to determine if tests are
supported.  This is a canonical form of the arch from the target
triple.

Reviewed By: lhames, DavidSpickett

Differential Revision: https://reviews.llvm.org/D110788
The file was modifiedllvm/test/ExecutionEngine/lit.local.cfg
Commit 75c86c9935925f841c1c4e0396b701210358489a by Duncan P. N. Exon Smith
Support: Make VarStreamArrayIterator iterate over const values

VarStreamArrayIterator returns a reference to a just-computed internal
value. Change it to iterate over `const ValueType` to avoid allowing
clients to mutate the internal state, and to drop the
non-`const`-qualified operator*().

The removed operator*() was from 175d70ee5c2f03f6 to get
iterator_facade_base::operator->() working, and this fixes the root
cause instead: setting `T` to `const ValueType` causes
iterator_facade_base to infer `PointerT` as `const ValueType*`.

Ironically, this is the last blocker for removing the const-incorrect
overload of `iterator_facade_base::operator->()`, whose presence
triggered adding the workaround in the first place :).

Differential Revision: https://reviews.llvm.org/D113797
The file was modifiedllvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
The file was modifiedllvm/include/llvm/Support/BinaryStreamArray.h
Commit 6b9b86db9dd974585a5c71cf2e5231d1e3385f7c by Duncan P. N. Exon Smith
ADT: Fix const-correctness of iterator facade

Fix the const-ness of `iterator_facade_base::operator->` and
`iterator_facade_base::operator[]`. This is a follow-up to
1b651be0465de70cfa22ce4f715d3501a4dcffc1, which fixed const-ness of
various iterator adaptors.

Iterators, like the pointers that they generalize, have two types of
`const`.

  - The `const` qualifier on members indicates whether the iterator
    itself can be changed. This is analagous to `int *const`.
  - The `const` qualifier on return values of `operator*()`,
    `operator[]()`, and `operator->()` controls whether the the
    pointed-to value can be changed. This is analogous to `const int*`.

If an iterator facade returns a handle to its own state, then T (and
PointerT and ReferenceT) should usually be const-qualified. Otherwise,
if clients are expected to modify the state itself, the field can be
declared mutable or a const_cast can be used.
The file was modifiedllvm/unittests/ADT/IteratorTest.cpp
The file was modifiedllvm/include/llvm/ADT/iterator.h
Commit 79c5479822e6039f764968225181b93f4c2924ad by Duncan P. N. Exon Smith
Support: Pass wrapped Error's error code through FileError

Change FileError to pass through the error code from the Error it wraps.
This allows APIs that return ECError to transition to FileError without
changing returned std::error_code.

This was extracted from https://reviews.llvm.org/D109345.

Differential Revision: https://reviews.llvm.org/D113225
The file was modifiedllvm/lib/Support/Error.cpp
The file was modifiedllvm/unittests/Support/ErrorTest.cpp
Commit efa896e5f7c393505f1bce2c9f530d1ba2b97720 by kazu
[Target] Use SDNode::uses (NFC)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 2272ec1c63893e370e7dea8b946843d8d433d458 by Lang Hames
[JITLink][MachO] Fix "find-symbol-by-address" logic.

Only search within the requested section, and allow one-past-then-end addresses.

This is needed to support section-end-address references to sections with no
symbols in them.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
The file was addedllvm/test/ExecutionEngine/JITLink/X86/MachO_lookup_section_end_by_address.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
Commit 82bc6a094e85014f1891ef9407496f44af8fe442 by craig.topper
[X86] Promote f16 STRICT_FROUND to f32 and call libc.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D113817
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e60b3fcefa62311a93a9f7c8589a1da5f25b1ba9 by Vitaly Buka
[sanitizer] Don't test __pthread_mutex_lock with GLIBC 2.34
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/pthread_mutex.cpp
Commit dd87c5b322684b072e9df3058b84d09a702a1ea4 by Vitaly Buka
Revert "[sanitizer] Fix test linking"

This reverts commit afafa883a4757d88d869d1abb6bf7e11022fd521.

-pthread was not the fix. Symbols removed from GLIBC 2.34
Fixed with e60b3fcefa62311a93a9f7c8589a1da5f25b1ba9.
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/pthread_mutex.cpp
Commit b5ff187b7b51dd76f881e10c1c2b4033e672fb12 by dvyukov
tsan: mmap shadow stack

We used to mmap C++ shadow stack as part of the trace region
before ed7f3f5bc9 ("tsan: move shadow stack into ThreadState"),
which moved the shadow stack into TLS. This started causing
timeouts and OOMs on some of our internal tests that repeatedly
create and destroy thousands of threads.
Allocate C++ shadow stack with mmap and small pages again.
This prevents the observed timeouts and OOMs.
But we now need to be more careful with interceptors that
run after thread finalization because FuncEntry/Exit and
TraceAddEvent all need the shadow stack.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D113786
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
Commit 8ed8d370880b5c4e7bbf52b50791710a9f4f834b by flo
[SCEV] Update SCEVLoopGuardRewriter to hold reference to map. (NFC)

SCEVLoopGuardRewriter doesn't need to copy the rewrite map. It can just
hold a const reference instead, to avoid an unnecessary copy.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit a310cbae02248023b11eefc8d1663661ac1f7721 by llvm-dev
[X86] Add getAVX512Node helper. NFC.

For AVX512 targets without VLX, we have to widen 128/256-bit vectors to 512-bits to use some specific AVX512 instructions (or some other instructions with predicates etc.).

I've pulled out the widening code from LowerFunnelShift into the helper function, so we can convert some other widening patterns in the future.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6e58d14e5b012215007ae375006f5e847a9b61bc by mydeveloperday
[clang-format] [PR52228] clang-format csharp inconsistant nested namespace indentation

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

For multilevel namespaces in C# get their content indented when NamespaceIndentation: None is set, where as single level namespaces are formatted correctly.

Reviewed By: HazardyKnusperkeks, jbcoe

Differential Revision: https://reviews.llvm.org/D112887
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
Commit 33af58937bd2293e9fff44f4aa1a0cdd5cd9455e by kbessonova
[DebugInfo][test] Simplify/improve a few tests using --impicit-check-not=DW_TAG. NFC

This patch rewrites checks in a few debug info tests to avoid using
'CHECK-NOT: {{DW_TAG|NULL}}'. It proposes `--impicit-check-not=DW_TAG`
instead, as it makes the checks clearer, and easier to analyze and update.

Differential Revision: https://reviews.llvm.org/D113652
The file was modifiedllvm/test/DebugInfo/X86/gnu-public-names.ll
The file was modifiedllvm/test/DebugInfo/Generic/namespace.ll
The file was modifiedllvm/test/DebugInfo/X86/align_c11.ll
The file was modifiedllvm/test/DebugInfo/Generic/PR20038.ll
The file was modifiedllvm/test/DebugInfo/X86/align_cpp11.ll
The file was modifiedllvm/test/DebugInfo/X86/align_objc.ll
Commit 609ccbb2407ff346ffcedd7b8d7937fb98e11a01 by kazu
[PowerPC] Use SDNode::uses (NFC)
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 54172326e09503e2669fd4ab0f0333f52c387bba by Matthew.Arsenault
AMDGPU: Regenerate test checks

Regenerate with -NEXT checks to make a future diff clearer.
The file was modifiedllvm/test/CodeGen/AMDGPU/sgpr-spill.mir
Commit c3a3e65ecc082542080376e917d9c57d22901f6b by Raphael Isemann
Revert "[lldb] Fix that the embedded Python REPL crashes if it receives SIGINT"

This reverts commit cef1e07cc6d00b5b429d77133201e1f404a8023c.

It broke the windows bot.
The file was removedlldb/test/API/iohandler/sigint/TestIOHandlerPythonREPLSigint.py
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit c972175649f4bb50d40d911659a04d5620ce6fe0 by keithbsmiley
[VFS] Use original path when falling back to external FS

This is a follow up to 0be9ca7c0f9a733f846bb6bc4e8e36d46b518162 to make
paths in the case of falling back to the external file system use the
original format, preserving relative paths, and allow the external
filesystem to canonicalize them if needed.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D109128
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was addedclang/test/VFS/relative-path-errors.c
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
Commit b19e823ff9de52f08bb2d35b91305b3c2d3dd0be by koraq
[libc++][NFC] Fixes code alignment.

D112904 fixed some code alignment issues, but it seems only line was
omitted. (Found while resolving merge conflicts for my own patches.)
The file was modifiedlibcxx/include/vector
Commit f0cf544d6f6fe6cbca4c07772998272d6bb433d8 by keithbsmiley
Revert "[VFS] Use original path when falling back to external FS"

```
/work/omp-vega20-0/openmp-offload-amdgpu-runtime/llvm.src/llvm/lib/Support/VirtualFileSystem.cpp: In static member function 'static llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> > llvm::vfs::File::getWithPath(llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >, const llvm::Twine&)':
/work/omp-vega20-0/openmp-offload-amdgpu-runtime/llvm.src/llvm/lib/Support/VirtualFileSystem.cpp:2084:10: error: could not convert 'F' from 'std::unique_ptr<llvm::vfs::File>' to 'llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >'
   return F;
          ^
```

This reverts commit c972175649f4bb50d40d911659a04d5620ce6fe0.
The file was removedclang/test/VFS/relative-path-errors.c
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
Commit d96161a179c7dabad3af0bbf8e899cfe077a8a4b by david.green
[ARM/AArch64] Move REQUIRES after update_cc_test_checks line. NFC

c17d9b4b125e5561925aa added REQUIRES lines to a lot of Arm and AArch64
test, but added them to the very beginning, before the existing
update_cc_test_checks lines. This just moves them later so as to not
mess up the existing ordering when the checks are regenerated.
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
The file was modifiedclang/test/CodeGen/aarch64-neon-sha3.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vget-hilo.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vminvq.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vadc.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
The file was modifiedclang/test/Sema/arm_vfma.c
The file was modifiedclang/test/CodeGen/aarch64-neon-across.c
The file was modifiedclang/test/CodeGen/arm-neon-vcvtX.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm-dyadic.c
The file was modifiedclang/test/Sema/aarch64-sve-explicit-casts-fixed-size.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vcvt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
The file was modifiedclang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
The file was modifiedclang/test/CodeGen/neon-aapcs-align.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/compare.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vclz.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
The file was modifiedclang/test/CodeGen/aarch64-neon-2velem.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vornq.c
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set4.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vshlc.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vcvt_anpm.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vcmla.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-copy.c
The file was modifiedclang/test/CodeGen/arm-cde-vfp.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vsubq.c
The file was modifiedclang/test/Headers/arm-fp16-header.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/veorq.c
The file was modifiedclang/test/Sema/aarch64-neon-bf16-ranges.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vaddq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
The file was modifiedclang/test/Sema/aarch64-neon-fp16-ranges.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vcmlaq.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
The file was modifiedclang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
The file was modifiedclang/test/CodeGen/aarch64-bf16-lane-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
The file was modifiedclang/test/CodeGen/arm64-arguments.c
The file was modifiedclang/test/CodeGen/neon-immediate-ubsan.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
The file was modifiedclang/test/CodeGen/arm64_vcreate.c
The file was modifiedclang/test/CodeGen/aarch64-neon-range-checks.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
The file was modifiedclang/test/CodeGen/aarch64-poly128.c
The file was modifiedclang/test/CodeGen/aarch64-neon-fma.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmulq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vcombine.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vrhaddq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmaxq.c
The file was modifiedclang/test/CodeGen/aarch64-neon-extract.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
The file was modifiedclang/test/CodeGen/aarch64-poly-add.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set2.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-neon-misc.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/ternary.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c
The file was modifiedclang/test/CodeGen/arm-cde-reinterpret.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get3.c
The file was modifiedclang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/get-set-lane.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
The file was modifiedclang/test/Sema/aarch64-neon-ranges.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get2.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
The file was modifiedclang/test/Sema/arm-no-fp16.c
The file was modifiedclang/test/Headers/arm-neon-header.c
The file was modifiedclang/test/CodeGen/arm-bf16-params-returns.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vandq.c
The file was modifiedclang/test/CodeGen/arm-cde-vec.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vhcaddq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
The file was modifiedclang/test/Sema/aarch64-sve-lax-vector-conversions.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/predicates.c
The file was modifiedclang/test/CodeGen/aarch64-bf16-getset-intrinsics.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/load-store.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vcmulq.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vbrsrq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/reinterpret.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
The file was modifiedclang/test/Sema/arm-mve-immediates.c
The file was modifiedclang/test/CodeGen/arm64_crypto.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
The file was modifiedclang/test/CodeGenCXX/int64_uint64.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
The file was modifiedclang/test/Sema/arm64-neon-args.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
The file was modifiedclang/test/Sema/big-endian-neon-initializers.c
The file was modifiedclang/test/CodeGen/armv7k-abi.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
The file was modifiedclang/test/CodeGen/arm64-vrnd.c
The file was modifiedclang/test/CodeGen/aarch64-neon-shifts.c
The file was modifiedclang/test/CodeGen/arm-neon-numeric-maxmin.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
The file was modifiedclang/test/CodeGen/arm-neon-fma.c
The file was modifiedclang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
The file was modifiedclang/test/CodeGen/arm64_vdup.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfw.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
The file was modifiedclang/test/CodeGen/arm-neon-vget.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
The file was modifiedclang/test/Sema/aarch64-bf16-ldst-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-neon-tbl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vabavq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
The file was modifiedclang/test/CodeGen/arm-neon-directed-rounding.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vminaq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
The file was modifiedclang/test/CodeGen/arm-cde-gpr.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqdmlad.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmldav.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vrev.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vorrq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/dup.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmlldav.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vcaddq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vldr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
The file was modifiedclang/test/Headers/arm-cde-header.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_set3.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-types.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vcadd.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmulltq.c
The file was modifiedclang/test/CodeGen/arm64_vcopy.c
The file was modifiedclang/test/SemaCXX/aarch64-sve-explicit-casts-fixed-size.cpp
The file was modifiedclang/test/CodeGen/aarch64-neon-ldst-one.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vminnmq.c
The file was modifiedclang/test/Sema/arm-cde-immediates.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
The file was modifiedclang/test/Driver/memtag.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_get4.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmullbq.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vaddv.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/admin.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
The file was modifiedclang/test/CodeGen/neon-crypto.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmaxaq.c
The file was modifiedclang/test/CodeGenCXX/poly-unsigned.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
The file was modifiedclang/test/CodeGen/arm-poly64.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
The file was modifiedclang/test/CodeGen/arm64_vdupq_n_f64.c
The file was modifiedclang/test/CodeGen/arm-neon-vst.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
The file was modifiedclang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqmovn.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vrnd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-neon-intrinsics.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vabdq.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vbicq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
The file was modifiedclang/test/Sema/arm-bfloat.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmovn.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfd.c
The file was modifiedclang/test/CodeGen/aarch64-poly64.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmaxnmq.c
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
The file was modifiedclang/test/CodeGen/aarch64-neon-perm.c
The file was modifiedclang/test/CodeGen/arm-neon-vld.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
The file was modifiedclang/test/CodeGen/arm-bf16-getset-intrinsics.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/absneg.c
The file was modifiedclang/test/CodeGen/aarch64-neon-3v.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
The file was modifiedclang/test/CodeGen/aarch64-neon-vget.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
The file was modifiedclang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vld24.c
The file was modifiedclang/test/SemaCXX/aarch64-sve-lax-vector-conversions.cpp
The file was modifiedclang/test/CodeGen/arm64-lanes.c
The file was modifiedclang/test/CodeGen/arm-neon-range-checks.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/negative/big_endian.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-call.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmovl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vminq.c
The file was modifiedclang/test/Sema/arm-neon-types.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
The file was modifiedclang/test/CodeGen/aarch64-neon-sm4-sm3.c
The file was modifiedclang/test/CodeGen/arm-aapcs-vfp.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
The file was modifiedclang/test/Sema/arm64-neon-header.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve-vector-bits-codegen.c
The file was modifiedclang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/idup.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vector-shift-var.c
Commit 8ac9d2ae5839172013ac6e9108398902da8a8969 by sam.mccall
[clangd] Fix function-arg-placeholder suppression with macros.

While here, unhide function-arg-placeholders flag. It's reasonable to want and
maybe we should consider making it default.

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

Differential Revision: https://reviews.llvm.org/D113765
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit da4d716ef909a3ff466def5e0d6847e6fb5a6cb3 by jeffniu22
[mlir][ods] Fix incorrect name in comment (NFC)
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit e96214ddefb98d18c4448604a746657dba1da91f by joker.eph
Fix some clang-tidy reports in MLIR (NFC)

Mostly replace uses of `container.size()` with `container.empty()` in
conditionals when applicable.
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/lib/Transforms/ParallelLoopCollapsing.cpp
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
Commit 86e2af8043c7728710a711b623f27425801a36c3 by keithbsmiley
reland: [VFS] Use original path when falling back to external FS

This reverts commit f0cf544d6f6fe6cbca4c07772998272d6bb433d8.

Just a small change to fix:

```
/home/buildbot/as-builder-4/llvm-clang-x86_64-expensive-checks-ubuntu/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp: In static member function ‘static llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> > llvm::vfs::File::getWithPath(llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >, const llvm::Twine&)’:
/home/buildbot/as-builder-4/llvm-clang-x86_64-expensive-checks-ubuntu/llvm-project/llvm/lib/Support/VirtualFileSystem.cpp:2084:10: error: could not convert ‘F’ from ‘std::unique_ptr<llvm::vfs::File>’ to ‘llvm::ErrorOr<std::unique_ptr<llvm::vfs::File> >’
   return F;
          ^
```

Differential Revision: https://reviews.llvm.org/D113832
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was addedclang/test/VFS/relative-path-errors.c
Commit c35e8185d8c170c20e28956e0c9f3c1be895fefb by github
[GVN][NFC] Remove redundant check

The if-check above deleted part guarantees that StoreOffset <= LoadOffset
and that StoreOffset + StoreSize >= LoadOffset + LoadSize, and given that
LoadOffset + LoadSize > LoadOffset when LoadSize > 0. Thus, this shows
StoreOffset + StoreSize > LoadOffset is guaranteed given LoadSize > 0,
while it could be meaningless to have a type with nonpositive size, so that
the check could be removed.

Part of revision D100179
Reviewed By: nikic
The file was modifiedllvm/lib/Transforms/Utils/VNCoercion.cpp
Commit e1933a0488a50eb939210808fc895d374570d891 by Lang Hames
[ORC] Initial MachO debugging support (via GDB JIT debug registration interface)

This commit adds a new plugin, GDBJITDebugInfoRegistrationPlugin, that checks
for objects containing debug info and registers any debug info found via the
GDB JIT registration API.

To enable this registration without redundantly representing non-debug sections
this plugin synthesizes a new embedded object within a section of the LinkGraph.
An allocation action is used to make the registration call.

Currently MachO only. ELF users can still use the DebugObjectManagerPlugin. The
two are likely to be merged in the near future.
The file was modifiedllvm/lib/ExecutionEngine/Orc/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
The file was removedllvm/test/ExecutionEngine/JITLink/X86/MachO_skip_debug_sections.s
The file was addedllvm/include/llvm/ExecutionEngine/Orc/DebuggerSupportPlugin.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was addedllvm/lib/ExecutionEngine/Orc/DebuggerSupportPlugin.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was addedllvm/test/ExecutionEngine/JITLink/X86/MachO_gdb_jit_debuginfo_register.s
Commit 6a40854ce507b41316b413f2925ec0824923198f by llvmgnsyncbot
[gn build] Port e1933a0488a5
The file was modifiedllvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Commit e56d680fe870c293908f7d1ba577d973cc5af5d6 by Vitaly Buka
[sanitizer] Fix test for GLIBC 2.31

Newer GLIBC uses sysconf to get SIGSTKSZ.
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
Commit 7f7cab6bb1d48b53e1fa9ab5a4fd7bcf7f00f19b by gusrb406
[sanitizer][aarch64] fix clone system call's inline assembly

Return value of the system call was not returned normally.
It was discussed at https://reviews.llvm.org/D105169.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 7505b7045f7cc887efffee7a312084bd248a1f1e by kazu
[llvm] Use GetElementPtrInst::indices (NFC)
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
Commit f55ba3525eb19baed7d3f23638cbbd880246a370 by Lang Hames
Revert "[ORC] Initial MachO debugging support (via GDB JIT debug..."

This reverts commit e1933a0488a50eb939210808fc895d374570d891 until I can look
into bot failures.
The file was modifiedllvm/lib/ExecutionEngine/Orc/CMakeLists.txt
The file was removedllvm/include/llvm/ExecutionEngine/Orc/DebuggerSupportPlugin.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
The file was removedllvm/lib/ExecutionEngine/Orc/DebuggerSupportPlugin.cpp
The file was removedllvm/test/ExecutionEngine/JITLink/X86/MachO_gdb_jit_debuginfo_register.s
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was addedllvm/test/ExecutionEngine/JITLink/X86/MachO_skip_debug_sections.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
Commit ed2b77b068cdb10082c03f44e315831eda9ed264 by llvmgnsyncbot
[gn build] Port f55ba3525eb1
The file was modifiedllvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Commit 7e980c46ed6a9195e221c682f226ac6ad4d227ea by Vitaly Buka
[sanitizer] Another try to fix the test with GLIBC 2.34
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp
Commit 90c5ab54a9dd750c3c9725115c1205b4eba9eeb9 by kbessonova
[DwarfCompileUnit] getOrCreateGlobalVariableDIE(): remove outdated comment. NFC
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Commit 5b4bfd8c2415cb38983a56007bb424e063778460 by kbessonova
[DwarfCompileUnit] getOrCreateCommonBlock(): check for existing entity first. NFCI

For global variables and common blocks there is no way to create entities
through getOrCreateContextDIE(), so no need to obtain the context first.

Differential Revision: https://reviews.llvm.org/D113651
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Commit 355ee18c5df9364f315f2bfad1793dd54efe6c9b by david.green
[TypePromotion] Extend TypePromotion::isSafeWrap

This modifies the preconditions of TypePromotion's isSafeWrap
method, to allow it to work from all constants from the ICmp.
Using the code:
  %a = add %x, C1
  %c = icmp ult %a, C2

According to Alive, we can prove that is equivalent to
icmp ult (add zext(%x), sext(C1)), zext(C2)  given
C1 <=s 0 and C1 >s C2.
https://alive2.llvm.org/ce/z/CECYZB
Which is similar to what is already present. We can also
prove icmp ult (add zext(%x), sext(C1)), sext(C2) given
C1 <=s 0 and C1 <=s C2.
https://alive2.llvm.org/ce/z/KKgyeL

The PrepareWrappingAdds method was removed, and the
constants are now altered to sext or zext directly as
required by the above methods.

Differential Revision: https://reviews.llvm.org/D113678
The file was modifiedllvm/test/CodeGen/AArch64/typepromotion-overflow.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/wrapping.ll
The file was modifiedllvm/lib/CodeGen/TypePromotion.cpp
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/icmps.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/casts.ll
The file was modifiedllvm/test/CodeGen/AArch64/and-mask-removal.ll
The file was modifiedllvm/test/Transforms/TypePromotion/ARM/clear-structures.ll
Commit 2c91f48c48c42f9bd730d0791fcb19dbe0038d96 by lebedev.ri
[NFC][SROA] Revisit test coverage in non-capturing-call.ll
The file was modifiedllvm/test/Transforms/SROA/non-capturing-call.ll
Commit fd24446ba5559b928201c34139e7546d6d4ed0c2 by lebedev.ri
[NFC][X86][Costmodel] Improve test coverage for i16->{i32,i64} vector *ext
The file was modifiedllvm/test/Analysis/CostModel/X86/extend.ll
Commit 17a3df87ffc2c2d2f1307dad7f4fcfc438008050 by lebedev.ri
[NFC][X86][Costmodel] Improve test coverage for {i32,i64}->i16 vector *ext

See https://reviews.llvm.org/D113609 - some of these costs seem wrong.
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
Commit f4143ffed76ef8847b42a042f7525cdd7f43d1d7 by llvm-dev
[X86] Widen 128/256-bit VPTERNLOG patterns to 512-bit on non-VLX targets

Similar to what we've done for other ops, this patch widens VPTERNLOG to a 512-bit op for non-VLX targets.

Fixes regressions in D113192

Differential Revision: https://reviews.llvm.org/D113827
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/combine-bitselect.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
Commit fce3eed9f93afac512d809c22234db7be7a9d478 by mydeveloperday
[clang-format][c++2b] support removal of the space between auto and {} in P0849R8

Looks like the work of {D113393} requires manual clang-formatting intervention.
Removal of the space between `auto` and `{}`

Reviewed By: HazardyKnusperkeks, Quuxplusone

Differential Revision: https://reviews.llvm.org/D113826
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 254c5246e9204f4d799f41c09068243e3a308177 by spatel
[DAGCombiner] match inverted/swapped patterns for vselect of mask of signbit

This was noted as a follow-up to D113212 / D113426:
4fc1fc4005f7
7e30404c3b6c
11522cfcad6b

https://alive2.llvm.org/ce/z/e4o96b

The canonicalization rules for these IR patterns are complicated,
and we were not matching the expected forms in 2 out of the 3
cases. We can make codegen more robust by matching the swapped
forms (and that will also work if these patterns are created late).
The file was modifiedllvm/test/CodeGen/X86/vselect-zero.ll
The file was modifiedllvm/test/CodeGen/AArch64/cmp-select-sign.ll
The file was modifiedllvm/test/CodeGen/AArch64/vselect-constants.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 0662a3612cea579668252571182da7b493b2e124 by mtrofin
[NFC][InlineFunction] Renamed some vars to conform to coding style
The file was modifiedllvm/include/llvm/Transforms/Utils/Cloning.h
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
Commit a5f2fdca993eca0ae85e90f987fbbfb3b4aee626 by lebedev.ri
[X86][Costmodel] `trunc v16i32 to v32i16` can appear after legalization, cost is same as for `trunc v16i32 to v16i16`

This was noticed in D113609, hopefully it unblocks that patch.
There are likely other similar problems.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D113842
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fix.ll
Commit b2839610124bd8a3a881a65ab14005c9405479ef by lebedev.ri
[X86][Costmodel] `trunc v8i64 to v16i16/v32i16` can appear after legalization, cost is same as for `trunc v8i64 to v8i16`

Same as D113842, but for i64

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D113843
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 68854f4e572afec802299e36b2db71dfc4cf2f27 by Ahmed Bougacha
[IR] Define ptrauth intrinsics.

This defines the new `@llvm.ptrauth.` pointer authentication intrinsics:
sign, auth, strip, blend, and sign_generic, documented in PointerAuth.md.

Pointer Authentication is a mechanism by which certain pointers are
signed.  When a pointer gets signed, a cryptographic hash of its value
and other values (pepper and salt) is stored in unused bits of that
pointer.

Before the pointer is used, it needs to be authenticated, i.e., have its
signature checked.  This prevents pointer values of unknown origin from
being used to replace the signed pointer value.

sign and auth provide the core operations.  strip removes the ptrauth
bits from a signed pointer without checking them.  sign_generic allows
signing non-pointer values.  Finally, blend combines salt values
("discriminators") to derive more targeted and less reusable ones.

In later patches, we implement primary backend support for these
intrinsics using the AArch64 PAuth feature, and build on that to
implement the arm64e Darwin ABI and ELF PAuth ABI Extension in clang.

For more details, see the docs page, as well as our llvm-dev RFC:
  http://lists.llvm.org/pipermail/llvm-dev/2019-October/136091.html
or our 2019 Developers' Meeting talk.

Differential Revision: https://reviews.llvm.org/D90868
The file was addedllvm/docs/PointerAuth.md
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/docs/Reference.rst
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
Commit b69dc2d18042ee4ad679fcb9279deb17b752a332 by spatel
[InstCombine] add tests for or-xor logic fold; NFC

Baseline tests for D113783

Differential Revision: https://reviews.llvm.org/D113846
The file was modifiedllvm/test/Transforms/InstCombine/or-xor.ll
Commit e876698a5dc48697a077ae51455fb3520ed7410d by lebedev.ri
[NFC][TTI] `getReplicationShuffleCost()`: s/Replicated/Dst/

'Replicated' is mouthful and somewhat ambigious,
while 'destination' is pretty self-explanatory.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 4dd2f0446cf5de76c16a2663049a874f5c90ac92 by lebedev.ri
[X86][Costmodel] `getReplicationShuffleCost()`: promote 16 bit-wide elements to 32 bit when no AVX512BW

The basic idea is simple, if we don't have native shuffle for this element type,
then we must have native shuffle for wider element type,
so promote, replicate, demote.

I believe, asking `getCastInstrCost(Instruction::Trunc` is correct semantically,
case in point `trunc <32 x i32> to <32 x i8>` aka 2 * ZMM will naively result in
2 * XMM, that then will be packed into 1 * YMM,
and it should count the cost of said packing,
not just the truncations.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D113609
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-replication-i16.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit f0da329f93cbf5fd315fbfa63807d7a90b0a6275 by lebedev.ri
[NFC][X86][Costmodel] Improve test coverage for i8->{i16,i32,i64} vector *ext
The file was modifiedllvm/test/Analysis/CostModel/X86/extend.ll
Commit f86b57e37cc69d84a71500e27c294b3dca222f70 by lebedev.ri
[NFC][X86][Costmodel] Improve test coverage for {i16,i32,i64}->i8 vector trunc
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll