UnstableChanges

Summary

  1. [lit] Add --xfail and --filter-out (inverse of --filter) (details)
  2. [Sanitizers][NFC] Fix typo (details)
  3. [ConstantRangeTest] Make exhaustive testing more principled (NFC) (details)
  4. [DAG] foldSubToUSubSat - fold sub(a,trunc(umin(zext(a),b))) -> usubsat(a,trunc(umin(b,SatLimit))) (details)
  5. [X86] KnownBits - use llvm min/max intrinsics instead of (deprecated) sse intrinsics. NFCI. (details)
  6. [X86][SSE2] Remove SSE2 min/max intrinsics tests (details)
  7. [X86][SSE] Remove SSE41 min/max intrinsics tests (details)
  8. [X86][AVX] Remove AVX2 min/max intrinsics tests (details)
  9. [X86][SSE] vector-compare-combines.ll - use llvm min/max intrinsics instead of (deprecated) sse intrinsics. NFCI. (details)
  10. [X86][SSE] Use llvm min/max intrinsics instead of (deprecated) sse intrinsics. NFCI. (details)
  11. [RISCV] Pre-commit test case for D97055. NFC. (details)
  12. [libc++] Fix the build for AppleClang. (details)
  13. [InstCombine] matchBSwapOrBitReverse - remove pattern matching early-out. NFCI. (details)
  14. [lit testing] "END." not "END:" (details)
  15. [RISCV] Improve register allocation around vector masks (details)
  16. [RISCV] Support extraction of misaligned subvectors (details)
  17. Revert "Implement nullPointerConstant() using a better API." (details)
  18. [OpenMP][NFC] clang-format the whole openmp project (details)
  19. [LTO] Fix cloning of llvm*.used when splitting module (details)
  20. [ASTMatchers] Fix hasUnaryOperand matcher for postfix operators (details)
  21. [lld/mac] reject -undefined warning and -undefined suppress with -twolevel_namespace (details)
  22. [ConstantRangeTest] Print detailed information on failure (NFC) (details)
  23. clang: Exclude efi_main from -Wmissing-prototypes (details)
  24. [clang-tidy] Simplify braced init check (details)
  25. [Clang][OpenMP] Update driver test case for OpenMP offload to use sm_35 (details)
  26. [RISCV] Add an additional remw test to rv64m-exhaustive-w-insts.ll. NFC (details)
  27. [OpenMP] libomp: cleanup some resource leaks (details)
  28. [ConstantRange] Handle wrapping range in binaryNot() (details)
  29. [InstCombine] add tests for fdiv of exp/exp2; NFC (details)
  30. [InstCombine] fold fdiv with exp/exp2 divisor (PR49147) (details)
  31. [ConstantRange] Handle wrapping ranges in min/max (PR48643) (details)
  32. [clang-itdy] Simplify virtual near-miss check (details)
  33. [RISCV] Add another test case showing failure to use remw when the RHS has been zero extended from less than i32. NFC (details)
  34. [clang-tidy] Simplify function complexity check (details)
  35. [clang-tidy] Simplify throw keyword missing check (details)
  36. [InstrProfiling] Use nobits as __llvm_prf_cnts section type in ELF (details)
  37. [libcxx] Make path::format a non-class enum (details)
  38. [libcxx] [test] Call create_directory_symlink when linking directories (details)
  39. [NFC] Refactor PreferMemberInitializerCheck (details)
  40. [mlir] Register the print-op-graph pass using ODS (details)
  41. Update test error string post pass registration change (details)
  42. [lldb] Refine ThreadPlan::ShouldAutoContinue (details)
  43. [clang][Driver][OpenBSD] libcxx also requires pthread (details)
  44. [dfsan] Comment out unused methods by D97087 temporarily (details)
  45. [TableGen] Use ListSeparator (NFC) (details)
  46. [CodeGen] Use range-based for loops (NFC) (details)
  47. [lld][ELF] __start_/__stop_ refs don't retain C-ident named group sections (details)
  48. [RISCV] Add test cases for add/sub/mul overflow intrinsics. NFC (details)
  49. [X86] Fold bitcast(logic(bitcast(X), Y)) --> logic'(X, bitcast(Y)) for int-int bitcasts (details)
  50. [X86][AVX] Fold concat(extract_subvector(v0,c0), extract_subvector(v1,c1)) -> vperm2x128 (details)
  51. [DAG] Match USUBSAT patterns through zext/trunc (details)
  52. [ThinLTO] Fix import of multiply defined global variables (details)
  53. [Loads] Extract helper frunction for available load/store (NFC) (details)
  54. Make sure the interpreter module was loaded before making checks against it (details)
  55. [IR] restrict vector reduction intrinsic types (details)
  56. [Loads] Add optimized FindAvailableLoadedValue() overload (NFCI) (details)
  57. [lldb-vscode] Emit the breakpoint changed event on location resolved (details)
  58. [NFC] Remove redundant word in comment (details)
  59. Revert "Make sure the interpreter module was loaded before making checks against it" (details)
  60. [X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - remove unnecessary BITCASTs. (details)
  61. [SelectionDAG][RISCV] Teach ComputeNumSignBits to handle SREM. (details)
  62. Reapply "[lldb/test] Automatically find debug servers to test" (details)
  63. [LLDB] [docs] Update the list of supported architectures on Windows (details)
  64. [lldb] [docs] Update platform support status (details)
  65. Revert "[lldb-vscode] Emit the breakpoint changed event on location resolved" (details)
  66. [X86] Add common CHECK check-prefix to sub combine tests (details)
  67. [X86] Add 'sub C1, (xor X, C1) -> add (xor X, ~C2), C1+1' tests (details)
  68. [X86] Regenerate sub.ll test (details)
  69. [X86] Replace explicit constant handling in sub(C1, xor(X, C2)) -> add(xor(X, ~C2), C1+1) fold. NFCI. (details)
  70. [X86] Add vector support to sub(C1, xor(X, C2)) -> add(xor(X, ~C2), C1+1) fold. (details)
  71. Implement simple type polymorphism for linalg named ops. (details)
  72. [KnownBits][RISCV] Improve known bits for srem. (details)
  73. [InstrProfiling] Use ELF section groups for counters, data and values (details)
  74. [mlir] Add simple jupyter kernel (details)
  75. Revert "[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script" (details)
  76. [Analysis] Use ListSeparator (NFC) (details)
  77. [llvm] Fix header guards (NFC) (details)
  78. [CodeGen] Use range-based for loops (NFC) (details)
  79. [AArch64][GlobalISel] Fix <16 x s8> G_DUP regbankselect to assign source to gpr. (details)
  80. [mlir] Export CUDA and Vulkan runtime wrappers on Windows (details)
  81. [InstrProfiling] Fix instrprof-gc-sections.c test (details)
  82. [NFC][llvm-dwarfdump] Don't calculate unnecessary stats (details)
  83. [mlir] Mark std.subview as NoSideEffect (details)
  84. [clang][cli] Stop creating '-Wno-stdlibcxx-not-found' in cc1 (details)
  85. [clang][cli] Pass '-Wspir-compat' to cc1 from driver (details)
  86. [clang][CodeComplete] Ensure there are no crashes when completing with ParenListExprs as LHS (details)
  87. [WebAssembly] call_indirect issues table number relocs (details)
  88. [ARM] Move double vector insert patterns using vins to DAG combine (details)
  89. [VPlan] Manage pairs of incoming (VPValue, VPBB) in VPWidenPHIRecipe. (details)
  90. [analyzer] Introduce MacroExpansionContext to libAnalysis (details)
  91. [analyzer] Create MacroExpansionContext member in AnalysisConsumer (details)
  92. [analyzer] Use the MacroExpansionContext for macro expansions in plists (details)
  93. [analyzer][CTU] API for CTU macro expansions (details)
  94. [ARM] Remove dead lowering code. NFC (details)
  95. [flang][driver] Add -Xflang and make -test-io a frontend-only flang (details)
  96. [InstCombine] Add smulo NumSignBits test from D97170 (details)
  97. [VPlan] Skip VPWidenPHIRecipe in VPInterleavedACcessInfo. (details)
  98. [gn build] Port 6e3071007b4c (details)
  99. Regenerate documentation (details)
  100. [llvm-link] fix IRMover returning wrong modified vector type (details)
  101. [clang-tidy] Add new check 'concurrency-thread-canceltype-asynchronous' and alias 'cert-pos47-c'. (details)
  102. [gn build] Port 7dc7f0c2ecc0 (details)
  103. [AMDGPU][MC] Corrected bound_ctrl for compatibility with sp3 (details)
  104. [AArch64] Adding SHA3 Intrinsics support (details)
  105. [InstCombine] Add PR45977 test coverage (details)
  106. [OpenCL] Add builtin declarations by default. (details)
  107. Revert "Revert "Implement nullPointerConstant() using a better API."" (details)
  108. Revert "Revert "Revert "Implement nullPointerConstant() using a better API.""" (details)
  109. [pp-trace] Fix test for OpenCL pragmas. (details)
  110. [LangRef] fix typo in assume bundle description; NFC (details)
  111. [clang][NFC] Reorder CXXCtorInitializer members (details)
  112. [Clang][OpenMP] Require CUDA 9.2+ for OpenMP offloading on NVPTX target (details)
  113. [LV] Directly use incoming value for single VPBlendRecipes. (details)
  114. [InstSimplify] Cleanup out-of-range shift amount handling. (details)
  115. [flang] Add -J and -module-dir to f18 driver (details)
  116. [ConstraintElimination] Add initial ICMP_NE test cases. (details)
  117. [lld-macho] Fix cpuSubtype for non-x86_64 archs (details)
  118. [lld-macho] Clean up comments (details)
  119. Improve diagnostic for ignored GNU 'used' attribute (details)
  120. [JumpThreading] Clone noalias.scope.decl when threading blocks (details)
  121. [clang] Tweaked fixit for static assert with no message (details)
  122. [MemCpyOpt] Fix handling of readnone byval arguments (details)
  123. [sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script (details)
  124. [MLIR][affine] Prevent fusion when ops with memory effect free are present between producer and consumer (details)
  125. [RISCV] Custom isel the rest of the vector load/store intrinsics. (details)
  126. [ConstraintElimination] Use unsigned > 0 instead of != 0. (details)
  127. Making FindCommonBlock a const member (details)
  128. [AArch64][GlobalISel] Emit G_ASSERT_SEXT for SExt parameters in CallLowering (details)
  129. [llvm][Bitcode] Add bitcode reader/writer for DSOLocalEquivalent (details)
  130. [KnownBits] Pull out repeated getMinValue() calls from shift analysis. NFCI. (details)
  131. Reland [lld-macho]Implement bundle_loader (details)
  132. [OpenMP] Update HWLOC code for die level detection (details)
  133. [mlir][Shape] Fix a crash when folding nary broadcast ops (details)
  134. [MLIR] Add Linalg support for integer (generalized) matmuls (details)
  135. Revert "[InstrProfiling] Use ELF section groups for counters, data and values" (details)
  136. [OpenMP] Limit number of dispatch buffers (details)
  137. [OpenMP] Remove shutdown attempt on Windows process detach (details)
  138. [MLIR] Fix tilePerfectlyNested utility for handling non-unit step size (details)
  139. [OpenMP] Help static loop code avoid over/underflow (details)
  140. Add missing dep to fix shared libs build (details)
  141. [clang-tidy] Harden PreferMemberInitializerCheck (details)
  142. [lld-macho] Try to fix cross-platform test from D96565 (details)
  143. [WebAssembly] Misc. fixes in cfg-stackify-eh.ll (details)
  144. [libc++] Fix tuple assignment from types derived from a tuple-like (details)
  145. Add modern arc config for default "onto" branch (details)
  146. [SLP]No need to mark scatter load pointer as scalar as it gets vectorized. (details)
  147. [WebAssembly] Split EH MIR tests into two files (details)
  148. [RISCV] Add isel support for bitcasts between fixed vector types. (details)
  149. [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h (details)
  150. [WebAssembly] Rename methods in WasmEHFuncInfo (NFC) (details)
  151. [gn build] Port e64fcdf8d53c (details)
  152. [Utils] Add an option to specify number of cores to use in creduce-clang-crash.py (details)
  153. Fix typo introduced in https://reviews.llvm.org/D97006 (details)
  154. [WebAssembly] Support WasmEHFuncInfo serialization (details)
  155. [WebAssembly] Remap branch dests after fixCatchUnwindMismatches (details)
  156. [lld-link] Add /reproduce: support for several flags (details)
  157. [AArch64][GlobalISel] Support lowering <1 x i8> arguments. (details)
  158. [GloblalISel] Support lowering <3 x i8> arguments in multiple parts. (details)
  159. [InstrProfiling] Use ELF section groups for counters, data and values (details)
  160. [clangd] Narrow and document a loophole in blockUntilIdle (details)
  161. [clangd] Shutdown sequence for modules, and doc threading requirements (details)
  162. Modify TypePrinter to differentiate between anonymous struct and unnamed struct (details)
  163. scudo: Support memory tagging in the secondary allocator. (details)
  164. [ValueTracking] Improve ComputeNumSignBits for SRem. (details)
  165. [AArch64][GlobalISel] Match G_SHUFFLE_VECTOR -> insert elt + extract elt (details)
  166. DebugInfo: Emit "LocalToUnit" flag on local member function decls. (details)
  167. [RISCV] Have sexti32 also recognize AssertZExt from types smaller than i32. (details)
  168. [CMake] Don't optimize tests so much under ThinLTO (details)
  169. [AMDGPU] Move RPT::getLiveRegs() check under EXPENSIVE_CHECKS (details)
  170. Add auto-upgrade support for annotation intrinsics (details)
  171. DebugInfo: Emit "LocalToUnit" flag on local member function decls. (details)
  172. [X86][AMX] Lower tile copy instruction. (details)
  173. [gn build] Port 8f48ddd19358 (details)
  174. [JITLink] Don't allow creation of sections with duplicate names. (details)
  175. [JITLink] Add a getFixupAddress convenience method to Block. (details)
  176. [sparse][mlir] simplify lattice optimization logic (details)
  177. [libunwind] unw_* alias fixes for ELF and Mach-O (details)
  178. [MacroExpansionContext] Fix a warning. (details)
  179. [lldb] Reinstate support for LLDB_VERSION_STRING (details)
  180. [GlobalISel] Implement narrowScalar for UADDO/USUBO (details)
  181. [GlobalISel] Implement narrowScalar for SADDO/SSUBO (details)
  182. [GlobalISel] Implement narrowScalar for SADDE/SSUBE/UADDE/USUBE (details)
  183. [AArch64][GlobalISel] Make overflow legalization use clampScalar (details)
  184. [Test][AArch64] Test SADDE/SSUBE/UADDE/USUBE narrowing legalization (details)
  185. Revert "[AArch64][GlobalISel] Match G_SHUFFLE_VECTOR -> insert elt + extract elt" (details)
  186. [mlir][IR] Refactor the `getChecked` and `verifyConstructionInvariants` methods on Attributes/Types (details)
  187. [lldb] add check for libcxx runtime (details)
  188. [obj2yaml,yaml2obj] Add NumBlocks to the BBAddrMapEntry yaml field. (details)
  189. [dfsan] Propagate origins at non-memory/phi/call instructions (details)
  190. Changes to mktime to handle invalid dates, overflow and underflow andcalculating the correct date and thenumber of seconds even if invalid datesare passed as arguments. (details)
  191. [GVN] Fix a typo in comment (details)
  192. [mlir][pdl] Fix bug when ordering predicates (details)
  193. [mlir][pdl][NFC] Extract the execution of each bytecode operation into its own function (details)
  194. [libc] [Obvious] Fix. (details)
  195. [Analysis] Use ListSeparator (NFC) (details)
  196. [llvm] Use llvm::drop_begin (NFC) (details)
  197. [Analysis] Use range-based for loops (NFC) (details)
  198. Only verify LazyCallGraph under expensive checks (details)
  199. [BuildLibCalls] Add noundef to allocator fns' size (details)
  200. [libc][NFC] Eliminate couple of dependencies on llvm/ADT/StringExtras.h. (details)
  201. Move the MLIR integration tests as a subdirectory of test (NFC) (details)
  202. [SLP][Test] Add test for PR49081.ll (details)
  203. [docs][ORC] Fix section title and reference. (details)
  204. [builtins] Replace __SOFT_FP__ with __SOFTFP__ (details)
  205. [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage. (details)
  206. [MLIR][LinAlg] Start detensoring implementation. (details)
  207. [CMake][profile] Don't use `TARGET lld` to avoid ordering issues (details)
  208. [flang][NFC] Add source line to lowering TODO messages (details)
  209. [SimplifyCFG] Add tests for D97244 (NFC) (details)
  210. [SimplifyCFG] Minor tweaks to the added tests (NFC) (details)
  211. [RISCV] Add test case for missed opportunity use bgez for the canonical form X > -1. NFC (details)
  212. [lldb][NFC] Cleanup ValueObject construction code (details)
  213. [clang][DeclPrinter] Pass Context into StmtPrinter whenever possible (details)
  214. [mlir] Add a new debug action framework. (details)
  215. [mlir] Add support for DebugCounters using the new DebugAction infrastructure (details)
  216. [X86] Support amx-int8 intrinsic. (details)
  217. [lldb][NFC] Don't inherit from UserID in ValueObject (details)
  218. [Sanitizer][NFC] Fix typo (details)
  219. Fix UBSAN in __ubsan::Value::getSIntValue (details)
  220. [lldb][NFC] Give CompilerType's IsArrayType/IsVectorType/IsBlockPointerType out-parameters default values (details)
  221. [OpenCL] Move remaining defines to opencl-c-base.h (details)
  222. Fix unused variable (details)
  223. [RISCV] Support insertion of misaligned subvectors (details)
  224. Revert "[WebAssembly] call_indirect issues table number relocs" (details)
  225. [ARM] Add pre/post inc tests of various sizes. NFC (details)
  226. [lldb][NFC] Clean up ValueObject comments (details)
  227. [Support] Add reserve() method to the raw_ostream. (details)
  228. [lldb][NFC] Remove unused ValueObject::LogValueObject functions (details)
  229. [mlir] NFC - Use declarative assembly for scf::YieldOp (details)
  230. Fix Wdocumentation parameter warning. NFCI. (details)
  231. [mlir][Linalg] Retire hoistViewAllocOps. (details)
  232. [OpenCL][Docs] Change description for the OpenCL standard headers. (details)
  233. [RISCV] vle1.v/vse1.v should be unmasked instructions. (details)
  234. [DSE] Allow ptrs defined in the entry block in IsGuaranteedLoopInvariant. (details)
  235. [clang-tidy] Install run-clang-tidy.py in bin/ as run-clang-tidy (details)
  236. [clang][parse][NFC] Remove dead ProhibitAttributes() call (details)
  237. [clang-tidy] Update checks list. (details)
  238. [CostModel] Remove VF from IntrinsicCostAttributes (details)
  239. [TTI] Change getOperandsScalarizationOverhead to take Type args (details)
  240. [ARM] do not consider sp as deprecated for ldm/stm (details)
  241. [AMDGPU] Use divergent addresses for vector loads (details)
  242. [X86] Cleanup overflow test check prefixes. NFCI. (details)
  243. [lldb] [test] Un-XFAIL a test that no longer fail on FreeBSD (details)
  244. [lldb] [test] Un-XFAIL TestBuiltinTrap on FreeBSD/aarch64 (details)
  245. [clang-tidy] Extending bugprone-signal-handler with POSIX functions. (details)
  246. [clang][SVE] Don't warn on vector to sizeless builtin implicit conversion (details)
  247. [clang-tidy] Remove IncludeInserter from MoveConstructorInit check. (details)
  248. [libcxx] [test] Define _CRT_STDIO_ISO_WIDE_SPECIFIERS while building tests (details)
Commit 45d058e56d43e5d1b322d290764fc883c1b2e0dc by dave
[lit] Add --xfail and --filter-out (inverse of --filter)

In semi-automated environments,  XFAILing or filtering out known regressions without actually committing changes or temporarily modifying the test suite can be quite useful.

Reviewed By: yln

Differential Revision: https://reviews.llvm.org/D96662
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
The file was addedllvm/utils/lit/tests/Inputs/xfail-cl/false.txt
The file was modifiedllvm/utils/lit/lit/main.py
The file was modifiedllvm/utils/lit/tests/selecting.py
The file was addedllvm/utils/lit/tests/Inputs/xfail-cl/lit.cfg
The file was modifiedllvm/docs/CommandGuide/lit.rst
The file was addedllvm/utils/lit/tests/Inputs/xfail-cl/false2.txt
The file was addedllvm/utils/lit/tests/Inputs/xfail-cl/true.txt
The file was addedllvm/utils/lit/tests/xfail-cl.py
Commit 7c31661b224ae44a42c9bd5fdcb60aee986e416a by luismarques
[Sanitizers][NFC] Fix typo
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_local_address_space_view.h
Commit 2b729548f00bcab8c4dc6967bca0e6661324f27e by nikita.ppv
[ConstantRangeTest] Make exhaustive testing more principled (NFC)

The current infrastructure for exhaustive ConstantRange testing is
somewhat confusing in what exactly it tests and currently cannot even
be used for operations that produce smallest-size results, rather than
signed/unsigned envelopes.

This patch makes the testing more principled by collecting the exact
set of results of an operation into a bit set and then comparing it
against the range approximation by:

* Checking conservative correctness: All elements in the set must be
   in the range.
* Checking optimality under a given preference function: None of the
   (slack-free) ranges that can be constructed from the set are
   preferred over the computed range.

Implemented preference functions are:

* PreferSmallest: Smallest range regardless of signed/unsigned wrapping
   behavior. Probably what we would call "optimal" without further
   qualification.
* PreferSmallestUnsigned/Signed: Smallest range that has no
   unsigned/signed wrapping. We use this if our calculation is precise
   only up to signed/unsigned envelope.
* PreferSmallestNonFullUnsigned/Signed: Smallest range that has no
   unsigned/signed wrapping -- but preferring a smaller wrapping range
   over a (non-wrapping) full range. We use this if we have a fully
   precise calculation but apply a sign preference to the result
   (union/intersection). Even with a sign preference, returning a
   wrapping range is still "strictly better" than returning a full one.

This also addresses PR49273 by replacing the fragile manual range
construction logic in testBinarySetOperationExhaustive() with generic
code that isn't specialized to the particular form of ranges that set
operations can produces.

Differential Revision: https://reviews.llvm.org/D88356
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 761bbed264f7f524fbf0e57d0bb285b1d6e5816e by llvm-dev
[DAG] foldSubToUSubSat - fold sub(a,trunc(umin(zext(a),b))) -> usubsat(a,trunc(umin(b,SatLimit)))

This moves the last custom x86 USUBSAT fold to generic DAGCombine.

Completes PR40111

Differential Revision: https://reviews.llvm.org/D96703
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit ff51bcee4a2b331e3ccda54a06617165813b0572 by llvm-dev
[X86] KnownBits - use llvm min/max intrinsics instead of (deprecated) sse intrinsics. NFCI.

These are auto-upgraded to the equivalent llvm variants now.
The file was modifiedllvm/test/CodeGen/X86/known-bits-vector.ll
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
Commit 63422bcb23f8ba896a7475df5ef536cabd73a26a by llvm-dev
[X86][SSE2] Remove SSE2 min/max intrinsics tests

These are now autoupgraded to the llvm equivalents and the tests already moved sse2-intrinsics-x86-upgrade.ll
The file was modifiedllvm/test/CodeGen/X86/sse2-intrinsics-x86.ll
Commit b9f3b305e599885de0e9784e5ea997ba4100a99e by llvm-dev
[X86][SSE] Remove SSE41 min/max intrinsics tests

These are now autoupgraded to the llvm equivalents and the tests already moved sse41-intrinsics-x86-upgrade.ll
The file was modifiedllvm/test/CodeGen/X86/sse41-intrinsics-x86.ll
Commit 75e66b88bddfd56ebe31c0351740279fbaade458 by llvm-dev
[X86][AVX] Remove AVX2 min/max intrinsics tests

These are now autoupgraded to the llvm equivalents and the tests already moved avx2-intrinsics-x86-upgrade.ll
The file was modifiedllvm/test/CodeGen/X86/avx2-intrinsics-x86.ll
Commit a274062bd4c9e9eb27c70f58f1938b1ea41798e5 by llvm-dev
[X86][SSE] vector-compare-combines.ll - use llvm min/max intrinsics instead of (deprecated) sse intrinsics. NFCI.

These are auto-upgraded to the equivalent llvm variants now.
The file was modifiedllvm/test/CodeGen/X86/vector-compare-combines.ll
Commit ee0dee7d38474d7e35e5d24722e3b90068dbf8a0 by llvm-dev
[X86][SSE] Use llvm min/max intrinsics instead of (deprecated) sse intrinsics. NFCI.

These are auto-upgraded to the equivalent llvm variants now.
The file was modifiedllvm/test/CodeGen/X86/2007-06-28-X86-64-isel.ll
The file was modifiedllvm/test/CodeGen/X86/pr14161.ll
The file was modifiedllvm/test/CodeGen/X86/2011-12-06-AVXVectorExtractCombine.ll
Commit 55b75d83637d57d542be483645487d254db345af by fraser
[RISCV] Pre-commit test case for D97055. NFC.

This adds a test which unnecessarily spills mask registers.
The file was addedllvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
Commit 84dbcdd5ffa38345c617ca780d6e760beb69a96d by koraq
[libc++] Fix the build for AppleClang.

Forgot to add some parts of D93593, this should disable the tests on
Apple. Seems Louis was right ;-)
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
Commit 609d0c9772161ddbab148435b46efd71ba6754e3 by llvm-dev
[InstCombine] matchBSwapOrBitReverse - remove pattern matching early-out. NFCI.

recognizeBSwapOrBitReverseIdiom + collectBitParts have pattern matching to bail out early if a bswap/bitreverse pattern isn't possible - we should be able to rely on this instead without any notable change in compile time.

This is part of a cleanup towards letting matchBSwapOrBitReverse /recognizeBSwapOrBitReverseIdiom use 'root' instructions that aren't ORs (FSHL/FSHRs in particular which can be prematurely created).

Differential Revision: https://reviews.llvm.org/D97056
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit 4550fdff2b2eec15143fac536e41ce967e522a3a by dave
[lit testing] "END." not "END:"
The file was modifiedllvm/utils/lit/tests/xfail-cl.py
Commit 9aa20caee6b47ac601602c674749fb6c1d2179cf by fraser
[RISCV] Improve register allocation around vector masks

With vector mask registers only allocatable to V0 (VMV0Regs) it is
relatively simple to generate code which uses multiple masks and naively
requires spilling.

This patch aims to improve codegen in such cases by telling LLVM it can
use VRRegs to hold masks. This will prevent spilling in many cases by
having LLVM copy to an available VR register.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97055
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.h
The file was modifiedllvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Commit 3e1317fd323bf92c6adaf67598697049b08bb373 by fraser
[RISCV] Support extraction of misaligned subvectors

This patch extends the support for RVV EXTRACT_SUBVECTOR to cover those
which don't align to a vector register boundary. It accomplishes this by
extracting the nearest register-sized subvector (a subregister
operation), then sliding the vector down with VSLIDEDOWN and extracting
the subvector from the first position (a COPY operation).

Since this procedure involves the use of VSCALE and multiplication, the
handling of such operations is done during lowering to simplify the
implementation and make use of DAG combining. This necessitated moving
some helper functions from RISCVISelDAGToDAG to RISCVTargetLowering.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D96959
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 6984e0d4398592a20055cb12842fc72462ce01a5 by steveire
Revert "Implement nullPointerConstant() using a better API."

This reverts commit 9148302a (2019-08-22) which broke the pre-existing
unit test for the matcher.  Also revert commit 518b2266 (Fix the
nullPointerConstant() test to get bots back to green., 2019-08-22) which
incorrectly changed the test to expect the broken behavior.

Differential Revision: https://reviews.llvm.org/D96665
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 309b00a42e902e816dad03c2c2f1a9e41ba130bc by tianshilei1992
[OpenMP][NFC] clang-format the whole openmp project

Same script as D95318. Test files are excluded.

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D97088
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/critical.cu
The file was modifiedopenmp/tools/archer/ompt-tsan.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedopenmp/runtime/src/kmp_str.cpp
The file was modifiedopenmp/runtime/doc/doxygen/libomp_interface.h
The file was modifiedopenmp/runtime/src/kmp_atomic.h
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify_static.h
The file was modifiedopenmp/runtime/src/test-touch.c
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify_config.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_barrier.cpp
The file was modifiedopenmp/runtime/src/kmp_error.cpp
The file was modifiedopenmp/runtime/src/kmp_itt.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/support.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/data_sharing.cu
The file was modifiedopenmp/runtime/src/kmp_atomic.cpp
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify.h
The file was modifiedopenmp/runtime/src/kmp_stats.cpp
The file was modifiedopenmp/runtime/src/kmp_version.cpp
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptargeti.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/task.cu
The file was modifiedopenmp/runtime/src/ompt-specific.h
The file was modifiedopenmp/runtime/src/kmp_io.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/state-queuei.h
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/runtime/src/kmp_threadprivate.cpp
The file was modifiedopenmp/runtime/src/kmp_platform.h
The file was modifiedopenmp/runtime/src/kmp_lock.h
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/disable_warnings.h
The file was modifiedopenmp/runtime/src/kmp_affinity.h
The file was modifiedopenmp/runtime/src/kmp_itt.h
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/legacy/ittnotify.h
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/loop.cu
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/parallel.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/amdgcn_locks.hip
The file was modifiedopenmp/tools/multiplex/ompt-multiplex.h
The file was modifiedopenmp/runtime/src/kmp_wait_release.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
The file was modifiedopenmp/runtime/src/kmp_utility.cpp
The file was modifiedopenmp/runtime/src/ompt-general.cpp
The file was modifiedopenmp/runtime/src/kmp_sched.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/cancel.cu
The file was modifiedopenmp/runtime/src/kmp_i18n.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_alloc.cpp
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
The file was modifiedopenmp/runtime/src/ompt-event-specific.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify_types.h
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp
The file was modifiedopenmp/runtime/src/kmp_stats.h
The file was modifiedopenmp/runtime/src/kmp_environment.cpp
Commit fde55a9c9bf147241249ae478760ae69dd1925ed by tejohnson
[LTO] Fix cloning of llvm*.used when splitting module

Refines the fix in 3c4c205060c9398da705eb71b63ddd8a04999de9 to only
put globals whose defs were cloned into the split regular LTO module
on the cloned llvm*.used globals. This avoids an issue where one of the
attached values was a local that was promoted in the original module
after the module was cloned. We only need to have the values defined in
the new module on those globals.

Fixes PR49251.

Differential Revision: https://reviews.llvm.org/D97013
The file was modifiedllvm/lib/Transforms/Utils/ModuleUtils.cpp
The file was modifiedllvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
The file was addedllvm/test/Transforms/ThinLTOBitcodeWriter/split-used.ll
Commit 559f3728441d4b8342c71ef554d84a2804575d9d by steveire
[ASTMatchers] Fix hasUnaryOperand matcher for postfix operators

Differential Revision: https://reviews.llvm.org/D97095
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit 28d9953af9be537f7602fbd445838e8cceb8d372 by thakis
[lld/mac] reject -undefined warning and -undefined suppress with -twolevel_namespace

See discussion on https://reviews.llvm.org/D93263

-flat_namespace isn't implemented yet, and neither is -undefined dynamic,
so this makes -undefined pretty pointless in lld/MachO for now. But once
we implement -flat_namespace (which we need to do anyways to get check-llvm
to pass with lld as host linker), the code's already there.

Follow-up to https://reviews.llvm.org/D93263#2491865

Differential Revision: https://reviews.llvm.org/D96963
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/test/MachO/treat-undef-sym.s
The file was modifiedlld/MachO/Driver.cpp
Commit 5ec75c600713d529cee75943f398d12df15574db by nikita.ppv
[ConstantRangeTest] Print detailed information on failure (NFC)

When the optimality check fails, print the inputs, the computed
range and the better range that was found. This makes it much
simpler to identify the cause of the failure.

Make sure that full ranges (which, unlikely all the other cases,
have multiple ways to construct them that all result in the same
range) only print one message by handling them separately.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 7dd42ecfa2a29bac89c965544c14b32805c8f02b by daan.j.demeyer
clang: Exclude efi_main from -Wmissing-prototypes

When compiling UEFI applications, the main function is named
efi_main() instead of main(). Let's exclude efi_main() from
-Wmissing-prototypes as well to avoid warnings when working
on UEFI applications.

Differential Revision: https://reviews.llvm.org/D95746
The file was modifiedclang/test/Sema/no-warn-missing-prototype.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit e8b8f896024620eb86bf924be73100d83c74c736 by steveire
[clang-tidy] Simplify braced init check

The normalization of matchers means that this now works in all language
modes.

Differential Revision: https://reviews.llvm.org/D96135
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-return-braced-init-list.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.h
Commit 33d660939d9acb027f9941f037802936124dad8c by tianshilei1992
[Clang][OpenMP] Update driver test case for OpenMP offload to use sm_35

`sm_35` is the minimum requirement for OpenMP offloading on NVPTX device.
Current driver test case is using `sm_20`. D97003 is going to switch the minimum
CUDA version to 9.2, which only supports `sm_30+`. This patch makes step for the
change.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D97120
The file was addedclang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-cuda_80-sm_35.bc
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was removedclang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-cuda_80-sm_20.bc
Commit 09966a66ffd08a04306c754ce20420d05109771a by craig.topper
[RISCV] Add an additional remw test to rv64m-exhaustive-w-insts.ll. NFC

This adds the IR for this C code

int32_t foo(uint16_t x, int16_t y) {
  x %= y;
  return x;
}

Note the dividend is unsigned and the divisor is signed. C type
promotion rules will extend them and use a 32-bit srem and the
function returns a 32-bit result.

We fail to use remw for this case. The zero extended input has
enough sign bits, but we won't consider (i64 AssertZext X, i16) in
the sexti32 isel pattern.

We also end up with a extra shifts to zero upper bits on the result.
computeKnownBits knew the result was positive before type legalization
and allowed the SIGN_EXTEND to become ZERO_EXTEND. But after promoting
to i64 we no longer know that bit 31 (and all bits above it) should
be 0.
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-exhaustive-w-insts.ll
Commit 1611e5473c5e30e0eea9ec5bd187ed455bdd6109 by Andrey.Churbanov
[OpenMP] libomp: cleanup some resource leaks

Close mutexattr and condattr local objects to eliminate resource leaks.

Differential Revision: https://reviews.llvm.org/D96892
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
Commit b6088f7465a9a6691d5d237e9c0eb002734da3bf by nikita.ppv
[ConstantRange] Handle wrapping range in binaryNot()

We don't need any special handling for wrapping ranges (or empty
ranges for that matter). The sub() call will already compute a
correct and precise range.

We only need to adjust the test expectation: We're now computing
an optimal result, rather than an unsigned envelope.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit fbca27bf2967aff047bb6c2842e0de344b67cf7b by spatel
[InstCombine] add tests for fdiv of exp/exp2; NFC
The file was modifiedllvm/test/Transforms/InstCombine/fdiv.ll
Commit e772618f1ee2fe7709a17e6d850623a97e23a8dc by spatel
[InstCombine] fold fdiv with exp/exp2 divisor (PR49147)

Follow-up to:
D96648 / b40fde062
...for the special-case base calls.

From the earlier commit:
This is unusual in the general (non-reciprocal) case because we need
an extra instruction, but that should be better for general FP
reassociation and codegen. We conservatively check for "arcp" FMF
here as we do with existing fdiv folds, but it is not strictly
necessary to have that.
The file was modifiedllvm/test/Transforms/InstCombine/fdiv.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit a852234f70e344b238824b9d71e8df9c46de62f2 by nikita.ppv
[ConstantRange] Handle wrapping ranges in min/max (PR48643)

When one of the inputs is a wrapping range, intersect with the
union of the two inputs. The union of the two inputs corresponds
to the result we would get if we treated the min/max as a simple
select.

This fixes PR48643.
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 9a4b574dd6a07d6811356529ebb8a3f15d6e40a2 by steveire
[clang-itdy] Simplify virtual near-miss check

Diagnose the problem in templates in the context of the template
declaration instead of in the context of all of the (possibly very many)
template instantiations.

Differential Revision: https://reviews.llvm.org/D96224
The file was modifiedclang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-virtual-near-miss.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.h
Commit 038bd14712d149cb51a8e95eb7bbdcfa7753a555 by craig.topper
[RISCV] Add another test case showing failure to use remw when the RHS has been zero extended from less than i32. NFC
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-exhaustive-w-insts.ll
Commit 6852a29a3b5b7858757c175f39e04676fb856dab by steveire
[clang-tidy] Simplify function complexity check

Update test to note use of lambda instead of the invisible operator().

Differential Revision: https://reviews.llvm.org/D96131
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-function-cognitive-complexity.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.h
Commit 77056fe58e83100b902216d7bc6274129f80abda by steveire
[clang-tidy] Simplify throw keyword missing check

Extend test to verify that it does not match in template instantiations.

Differential Revision: https://reviews.llvm.org/D96132
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-throw-keyword-missing.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.h
Commit 6b286d93f7ec8518c685a302269e44b06a0a24f3 by phosek
[InstrProfiling] Use nobits as __llvm_prf_cnts section type in ELF

This can reduce the binary size because counters will no longer occupy
space in the binary, instead they will be allocated by dynamic linker.

Differential Revision: https://reviews.llvm.org/D97110
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was addedllvm/test/Instrumentation/InstrProfiling/X86/nobits.ll
Commit 26005c788b06755ccafe1205de181bbd8b2ed664 by martin
[libcxx] Make path::format a non-class enum

The spec doesn't declare it as an enum class, and being declared
as an enum class breaks referring to the values as e.g.
path::auto_format.

Differential Revision: https://reviews.llvm.org/D97084
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
The file was modifiedlibcxx/include/filesystem
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
Commit 3d6ca4b8dcee38ce2053fdddaa9576e5aa978bdf by martin
[libcxx] [test] Call create_directory_symlink when linking directories

This makes the symlinks work properly on windows.

A similar round of cleanup was done in
c41bda7f5fc26e4602a029646991d6a5c59cb365, but these tests were
added after that.

Differential Revision: https://reviews.llvm.org/D97089
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
Commit 557d2ade016f3e228e90aab317b94f804e0bc1cd by n.james93
[NFC] Refactor PreferMemberInitializerCheck
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
Commit 02d7b260c697adb20e9a12d36da49ee88eb714a5 by jpienaar
[mlir] Register the print-op-graph pass using ODS

Move over to ODS & use pass options.
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was addedmlir/test/Transforms/print-op-graph.mlir
The file was modifiedmlir/include/mlir/Transforms/Passes.td
Commit fa211f3ce9a9c83b72a524799e4e060e79e92da4 by jpienaar
Update test error string post pass registration change
The file was modifiedmlir/test/Bindings/Python/pass_manager.py
Commit b0186c25c62e79869d37b81ad819c67a3e97b0cd by davelee.com
[lldb] Refine ThreadPlan::ShouldAutoContinue

Adjust `ShouldAutoContinue` to be available to any thread plan previous to the plan that
explains a stop, not limited to the parent to the plan that explains the stop.

Before this change, `Thread::ShouldStop` did the following:

1. find the plan that explains the stop
2. if it's not a master plan, continue processing previous (aka parent) plans
3. first, call `ShouldAutoContinue` on the immediate parent of the explaining plan
4. then loop over previous plans, calling `ShouldStop` and `MischiefManaged`

Of note, the iteration in step 4 does not call `ShouldAutoContinue`, so again only the
plan just prior to the explaining plan is given the opportunity to override whether to
continue or stop.

This commit changes the loop call `ShouldAutoContinue`, giving each plan the opportunity
to override `ShouldStop` of previous plans.

Why? This allows a plan to do the following:

1. mark itself done and be popped off the stack
2. allow parent plans to finish their work, and to also be popped off the stack
3. and finally, have the thread continue, not stop

This is useful for stepping into async functions. A plan will would step far enough
enough to set a breakpoint on the async target, and then use `ShouldAutoContinue` to
unwind the necessary stepping, and then have the calling thread continue.

Differential Revision: https://reviews.llvm.org/D97076
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
Commit b42d57a100c5df6ace68f686f5adaabeafe8a0f6 by brad
[clang][Driver][OpenBSD] libcxx also requires pthread
The file was modifiedclang/test/Driver/openbsd.cpp
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp
Commit 9524632fa2bf8c894e4aac27f03631a1915d84d3 by jianzhouzh
[dfsan] Comment out unused methods by D97087 temporarily
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Commit 9e4033b06bec48b2e9399d24aaa8c975cd3bd10b by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/FastISelEmitter.cpp
Commit 0b417ba20f21c7057cf9c0fed8cbc761331f4022 by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modifiedllvm/lib/CodeGen/UnreachableBlockElim.cpp
The file was modifiedllvm/lib/CodeGen/MachineRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/RDFLiveness.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Localizer.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
The file was modifiedllvm/lib/CodeGen/LiveVariables.cpp
Commit 1a3f3a3fa17909aa22958a4f06b1a357a75b1bb4 by phosek
[lld][ELF] __start_/__stop_ refs don't retain C-ident named group sections

The special root semantics for identifier-named sections is meant
specifically for the metadata sections. In the context of group
semantics, where group members are always retained or discarded as a
unit, it's natural not to have this semantics apply to a section in a
group, otherwise we would never discard the group defeating the purpose
of using the group in the first place.

This change modifies the GC behavior so that __start_/__stop_ references
don't retain C identifier named sections in section groups which allows
for these groups to be collected. This matches the behavior of BFD ld.

The only kind of existing case that might break is interdependent
metadata sections that are all in a group together, but that group
doesn't contain any other sections referenced by anything except
implicit inclusion in a `__start_` and/or `__stop_`-referenced
identifier-named section, but such cases should be unlikely.

Differential Revision: https://reviews.llvm.org/D96753
The file was addedlld/test/ELF/gc-sections-startstop.s
The file was modifiedlld/ELF/MarkLive.cpp
The file was removedlld/test/ELF/startstop-gccollect.s
Commit d9207d3f0bad15caefbb44f307e42862a755333b by craig.topper
[RISCV] Add test cases for add/sub/mul overflow intrinsics. NFC

Largely copied from AArch64/arm64-xaluo.ll
The file was addedllvm/test/CodeGen/RISCV/xaluo.ll
Commit 2885d1251f29f3676b2c99b4b3c19d6907272cc1 by llvm-dev
[X86] Fold bitcast(logic(bitcast(X), Y)) --> logic'(X, bitcast(Y)) for int-int bitcasts

Extend the existing combine that handles bitcasting for fp-logic ops to also help remove logic ops across bitcasts to/from the same integer types.

This helps improve AVX512 predicate handling for D/Q logic ops and also allows DAGCombine's scalarizeExtractedBinop to remove some annoying gpr->simd->gpr transfers.

The concat_vectors regression in pr40891.ll will be addressed in a followup commit on this patch.

Differential Revision: https://reviews.llvm.org/D96206
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/X86/merge-consecutive-loads-512.ll
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-v2i32.ll
The file was modifiedllvm/test/CodeGen/X86/widen_cast-5.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
The file was modifiedllvm/test/CodeGen/X86/xor.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/X86/pr40891.ll
The file was modifiedllvm/test/CodeGen/X86/sse2.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and.ll
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-logic.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-packus.ll
Commit a6a258f1da37a678867bd29f7125417944bdecb2 by llvm-dev
[X86][AVX] Fold concat(extract_subvector(v0,c0), extract_subvector(v1,c1)) -> vperm2x128

Fixes regression exposed by removing bitcasts across logic-ops in D96206.

Differential Revision: https://reviews.llvm.org/D96206
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/pr40891.ll
Commit 38ab47c8136d4f928cfd4babb89cb3c7ab783437 by llvm-dev
[DAG] Match USUBSAT patterns through zext/trunc

This patch handles usubsat patterns hidden through zext/trunc and uses the getTruncatedUSUBSAT helper to determine if the USUBSAT can be correctly performed in the truncated form:

zext(x) >= y ? x - trunc(y) : 0 --> usubsat(x,trunc(umin(y,SatLimit)))
zext(x) >  y ? x - trunc(y) : 0 --> usubsat(x,trunc(umin(y,SatLimit)))

Based on original examples:

void foo(unsigned short *p, int max, int n) {
    int i;
    unsigned m;
    for (i = 0; i < n; i++) {
        m = *--p;
        *p = (unsigned short)(m >= max ? m-max : 0);
    }
}

Differential Revision: https://reviews.llvm.org/D25987
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
Commit e97aab8d1510a484a19016cf079e1a8f913cf7cd by kbessonova
[ThinLTO] Fix import of multiply defined global variables

Currently, if there is a module that contains a strong definition of
a global variable and a module that has both a weak definition for
the same global and a reference to it, it may result in an undefined symbol error
while linking with ThinLTO.

It happens because:
* the strong definition become internal because it is read-only and can be imported;
* the weak definition gets replaced by a declaration because it's non-prevailing;
* the strong definition failed to be imported because the destination module
  already contains another definition of the global yet this def is non-prevailing.

The patch adds a check to computeImportForReferencedGlobals() that allows
considering a global variable for being imported even if the module contains
a definition of it in the case this def has an interposable linkage type.

Note that currently the check is based only on the linkage type
(and this seems to be enough at the moment), but it might be worth to account
the information whether the def is prevailing or not.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D95943
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was addedllvm/test/ThinLTO/X86/weak_globals_import.ll
Commit 7c706aa0d88fa2ca99be7951073454b42e1891dd by nikita.ppv
[Loads] Extract helper frunction for available load/store (NFC)

This contains the logic for extracting an available load/store
from a given instruction, to be reused in a following patch.
The file was modifiedllvm/lib/Analysis/Loads.cpp
Commit a83a825e9902b54b315870e9ed85723525208f09 by antonio.afonso
Make sure the interpreter module was loaded before making checks against it

This issue was introduced in https://reviews.llvm.org/D92187.
The guard I'm changing were is supposed to act when linux is loading the linker for the second time (due to differences in paths like symlinks).
This is done by checking `module_sp != m_interpreter_module.lock()` however this will be true when `m_interpreter_module` wasn't initialized, making linux unload the linker module (the most visible result here is that lldb will stop getting notified about new modules loaded by the process, because it can't set the rendezvous breakpoint again after the stepping over it once).
The `m_interpreter_module` is not getting initialize when it goes through this path: https://github.com/llvm/llvm-project/blob/dbfdb139f75470a9abc78e7c9faf743fdd963c2d/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp#L332, which happens when lldb was able to read the address from the dynamic section of the executable.

What I'm not sure about though, is if when we go through this path if we still load the linker twice on linux. If that's the case then it means we need to somehow set the m_interpreter_module instead of the fix I provide here. I've only tested this on Android.

Differential Revision: https://reviews.llvm.org/D96637
The file was addedlldb/test/API/functionalities/module_load_attach/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
The file was addedlldb/test/API/functionalities/module_load_attach/TestModuleLoadAttach.py
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
The file was addedlldb/test/API/functionalities/module_load_attach/main.c
The file was addedlldb/test/API/functionalities/module_load_attach/feature.c
Commit 215bb15791c6aefdb0810ffa29900dd4215bf8c3 by spatel
[IR] restrict vector reduction intrinsic types

The arguments in all cases should be vectors of exactly one of integer or FP.

All of the tests currently pass the verifier because we check for any vector
type regardless of the type of reduction.
This obviously can't work if we mix up integer and FP, and based on current
LangRef text it was not intended to work for pointers either.

The pointer case from https://llvm.org/PR49215 is what led me here. That
example was avoided with 5b250a27ec.

Differential Revision: https://reviews.llvm.org/D96904
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/Verifier/reduction-intrinsics.ll
Commit e0615bcd39fd863361ce8eb68aafdfcdcd8b067d by nikita.ppv
[Loads] Add optimized FindAvailableLoadedValue() overload (NFCI)

FindAvailableLoadedValue() accepts an iterator by reference. If no
available value is found, then the iterator will either be left
at a clobbering instruction or the beginning of the basic block.
This allows using FindAvailableLoadedValue() across multiple blocks.

If this functionality is not needed, as is the case in InstCombine,
then we can use a much more efficient implementation: First try
to find an available value, and only perform clobber checks if
we actually found one. As this function only looks at a very small
number of instructions (6 by default) and usually doesn't find an
available value, this saves many expensive alias analysis queries.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/lib/Analysis/Loads.cpp
The file was modifiedllvm/include/llvm/Analysis/Loads.h
Commit 1f21d488bd79a06c9cf405cc5db985fcd71c4f70 by antonio.afonso
[lldb-vscode] Emit the breakpoint changed event on location resolved

VSCode was not being informed whenever a location had been resolved (after being initated as non-resolved), so even though it was actually resolved, the IDE would show a hollow dot (instead of a red dot) because it didn't know about the change.

Differential Revision: https://reviews.llvm.org/D96680
The file was addedlldb/test/API/tools/lldb-vscode/breakpoint-events/TestVSCode_breakpointLocationResolvedEvent.py
The file was addedlldb/test/API/tools/lldb-vscode/breakpoint-events/dylib_loader.c
The file was modifiedlldb/test/API/tools/lldb-vscode/breakpoint-events/Makefile
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was addedlldb/test/API/tools/lldb-vscode/breakpoint-events/dylib.c
Commit 5fe23de5db0398104364ade31aa084f1e28dfc91 by Madhur.Amilkanthwar
[NFC] Remove redundant word in comment

Differential Revision: https://reviews.llvm.org/D97157
The file was modifiedllvm/include/llvm/Analysis/LoopAnalysisManager.h
Commit b19d3b092d4ea019dfc52501bb96b0008d4e01d2 by antonio.afonso
Revert "Make sure the interpreter module was loaded before making checks against it"

This reverts commit a83a825e9902b54b315870e9ed85723525208f09.
The file was removedlldb/test/API/functionalities/module_load_attach/feature.c
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
The file was removedlldb/test/API/functionalities/module_load_attach/TestModuleLoadAttach.py
The file was removedlldb/test/API/functionalities/module_load_attach/Makefile
The file was removedlldb/test/API/functionalities/module_load_attach/main.c
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit bae04a3e2d69d474e47ce1a23109efa0036e8cf7 by llvm-dev
[X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - remove unnecessary BITCASTs.

In conjunction with the 'vperm2x128(bitcast(x),bitcast(y),c) -> bitcast(vperm2x128(x,y,c))' fold in combineTargetShuffle, this should remove any unnecessary bitcasts around vperm2x128 lane shuffles.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1a6c1ac6862a10c2484ea2880ea9b67ad8b9c144 by craig.topper
[SelectionDAG][RISCV] Teach ComputeNumSignBits to handle SREM.

This also removes a pattern from RISCV that is no longer needed
since the sexti32 on the LHS of the srem in the pattern implies
the result is sign extended so the sign_extend_inreg should be
removed in DAG combine now.

Reviewed By: luismarques, RKSimon

Differential Revision: https://reviews.llvm.org/D97133
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoM.td
The file was modifiedllvm/test/CodeGen/Mips/llvm-ir/srem.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-exhaustive-w-insts.ll
Commit 3ca7b2d03cce16aebfbacc33bd351c8272c38f50 by pavel
Reapply "[lldb/test] Automatically find debug servers to test"

This reapplies 7df4eaaa93/D96202, which was reverted due to issues on
windows. These were caused by problems in the computation of the liblldb
directory, which was fixed by D96779.

The original commit message was:
Our test configuration logic assumes that the tests can be run either
with debugserver or with lldb-server. This is not entirely correct,
since lldb server has two "personalities" (platform server and debug
server) and debugserver is only a replacement for the latter.

A consequence of this is that it's not possible to test the platform
behavior of lldb-server on macos, as it is not possible to get a hold of
the lldb-server binary.

One solution to that would be to duplicate the server configuration
logic to be able to specify both executables. However, that seems
excessively redundant.

A well-behaved lldb should be able to find the debug server on its own,
and testing lldb with a different (lldb-|debug)server does not seem very
useful (even in the out-of-tree debugserver setup, we copy the server
into the build tree to make it appear "real").

Therefore, this patch deletes the configuration altogether and changes
the low-level server retrieval functions to be able to both lldb-server
and debugserver paths. They do this by consulting the "support
executable" directory of the lldb under test.

Differential Revision: https://reviews.llvm.org/D96202
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
The file was modifiedlldb/test/API/lit.site.cfg.py.in
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/utils/lldb-dotest/lldb-dotest.in
The file was modifiedlldb/test/API/commands/platform/sdk/TestPlatformSDK.py
Commit ae14f3fdbfa85c92d64f5f38f883a6db4266ca80 by martin
[LLDB] [docs] Update the list of supported architectures on Windows

Differential Revision: https://reviews.llvm.org/D96840
The file was modifiedlldb/docs/index.rst
Commit 7850bb5f2a595a5dc0edf7f9be3d2250281aabe8 by mgorny
[lldb] [docs] Update platform support status

Update supported features on FreeBSD, and supported platform list
on FreeBSD, Linux and NetBSD.

Differential Revision: https://reviews.llvm.org/D97114
The file was modifiedlldb/docs/index.rst
The file was modifiedlldb/docs/status/status.rst
Commit 878d82c4f2b308f35394a6339e74e7e20434146a by antonio.afonso
Revert "[lldb-vscode] Emit the breakpoint changed event on location resolved"

This reverts commit 1f21d488bd79a06c9cf405cc5db985fcd71c4f70.
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedlldb/test/API/tools/lldb-vscode/breakpoint-events/Makefile
The file was removedlldb/test/API/tools/lldb-vscode/breakpoint-events/TestVSCode_breakpointLocationResolvedEvent.py
The file was removedlldb/test/API/tools/lldb-vscode/breakpoint-events/dylib.c
The file was removedlldb/test/API/tools/lldb-vscode/breakpoint-events/dylib_loader.c
Commit 0b372c029e4ac3af500c04a8954612ec4a0257a7 by llvm-dev
[X86] Add common CHECK check-prefix to sub combine tests
The file was modifiedllvm/test/CodeGen/X86/combine-sub.ll
Commit 9872cfc5b1774a9d0ab777a3c905013619db5c32 by llvm-dev
[X86] Add 'sub C1, (xor X, C1) -> add (xor X, ~C2), C1+1' tests

This is also in sub.ll but that's for a specific i686 pattern - this adds x86_64 and vector tests
The file was modifiedllvm/test/CodeGen/X86/combine-sub.ll
Commit e7e35e17584a8c31fddd5382aabdbb08114642ff by llvm-dev
[X86] Regenerate sub.ll test
The file was modifiedllvm/test/CodeGen/X86/sub.ll
Commit 3ab32c94a4aeb688a2df127fe14b3a7a42c71c97 by llvm-dev
[X86] Replace explicit constant handling in sub(C1, xor(X, C2)) -> add(xor(X, ~C2), C1+1) fold. NFCI.

NFC cleanup before adding vector support - rely on the SelectionDAG to handle everything for us.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b568d3d6c915a515624f6292af0785c43ffaba37 by llvm-dev
[X86] Add vector support to sub(C1, xor(X, C2)) -> add(xor(X, ~C2), C1+1) fold.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/combine-sub.ll
Commit 6c9541d4ddfdab0dcb11436485b466a759c3126c by stellaraccident
Implement simple type polymorphism for linalg named ops.

* It was decided that this was the end of the line for the existing custom tc parser/generator, and this is the first step to replacing it with a declarative format that maps well to mathy source languages.
* One such source language is implemented here: https://github.com/stellaraccident/mlir-linalgpy/blob/main/samples/mm.py
  * In fact, this is the exact source of the declarative `polymorphic_matmul` in this change.
  * I am working separately to clean this python implementation up and add it to MLIR (probably as `mlir.tools.linalg_opgen` or equiv). The scope of the python side is greater than just generating named ops: the ops are callable and directly emit `linalg.generic` ops fully dynamically, and this is intended to be a feature for frontends like npcomp to define custom linear algebra ops at runtime.
* There is more work required to handle full type polymorphism, especially with respect to integer formulations, since they require more specificity wrt types.
* Followups to this change will bring the new generator to feature parity with the current one and delete the current. Roughly, this involves adding support for interface declarations and attribute symbol bindings.

Differential Revision: https://reviews.llvm.org/D97135
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was addedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
The file was modifiedmlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/docs/Dialects/Linalg.md
The file was addedmlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/CMakeLists.txt
Commit 183bbad1d78a4bf445ec4db1ce01673f6a7feb37 by craig.topper
[KnownBits][RISCV] Improve known bits for srem.

The result must be less than or equal to the LHS side, so any
leading zeros in the left hand side must also exist in the result.
This is stronger than the previous behavior where we only considered
the sign bit being 0.

The affected test case used the sign bit being known 0 to change
a sign extend to a zero extend pre type legalization. After type
legalization the types were promoted to i64, but we no longer
knew bit 31 was zero. This shifts are are the equivalent of an
AND with 0xffffffff or zext_inreg X, i32. This patch allows us to
see that bit 31 is zero and remove the shifts.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D97124
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-exhaustive-w-insts.ll
Commit 5ca21175e09fc7fb7dcaee9ebd6782d122a5688f by phosek
[InstrProfiling] Use ELF section groups for counters, data and values

__start_/__stop_ references retain C identifier name sections such as
__llvm_prf_*. Putting these into a section group disables this logic.

The ELF section group semantics ensures that group members are retained
or discarded as a unit. When a function symbol is discarded, this allows
allows linker to discard counters, data and values associated with that
function symbol as well.

Note that `noduplicates` COMDAT is lowered to zero-flag section group in
ELF. We only set this for functions that aren't already in a COMDAT and
for those that don't have available_externally linkage since we already
use regular COMDAT groups for those.

Differential Revision: https://reviews.llvm.org/D96757
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedcompiler-rt/test/profile/CMakeLists.txt
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/platform.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was addedcompiler-rt/test/profile/instrprof-gc-sections.c
Commit 04c66edd3251975fd253e4c4b0e86ea56e8a7f46 by jpienaar
[mlir] Add simple jupyter kernel

Simple jupyter kernel using mlir-opt and reproducer to run passes.
Useful for local experimentation & generating examples. The export to
markdown from here is not immediately useful nor did I define a
CodeMirror synax to make the HTML output prettier. It only supports one
level of history (e.g., `_`) as I was mostly using with expanding a
pipeline one pass at a time and so was all I needed.

I placed this in utils directory next to editor & debugger utils.

Differential Revision: https://reviews.llvm.org/D95742
The file was addedmlir/utils/jupyter/mlir_opt_kernel/__init__.py
The file was addedmlir/utils/jupyter/mlir_opt_kernel/assets/kernel.json
The file was addedmlir/utils/jupyter/mlir_opt_kernel/__main__.py
The file was addedmlir/utils/jupyter/mlir_opt_kernel/assets/kernel.js
The file was addedmlir/utils/jupyter/README.md
The file was addedmlir/utils/jupyter/mlir_opt_kernel/kernel.py
The file was addedmlir/utils/jupyter/mlir_opt_kernel/install.py
The file was addedmlir/utils/jupyter/.gitignore
Commit 4b34e0c797e03fa411200f6819ce56d38ce8cc07 by thakis
Revert "[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script"

This reverts commit ac6c13bfc49f2d67a77144c839ecf49e48cb994c.
Breaks building with PGO, see https://reviews.llvm.org/D96762#2574009
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
Commit 047fc3bf20b336adc2f331bba7d49e4ece8c9f62 by kazu
[Analysis] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
Commit 5032b5890bb43895012585bd29ff5c3fbd1a7812 by kazu
[llvm] Fix header guards (NFC)

Identified with llvm-header-guard.
The file was modifiedllvm/include/llvm-c/DisassemblerTypes.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
The file was modifiedllvm/include/llvm-c/ErrorHandling.h
The file was modifiedllvm/include/llvm-c/ExternC.h
Commit ffba9e596d09a1d41f83102756e145b59d3f8495 by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/LiveInterval.cpp
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
The file was modifiedllvm/lib/CodeGen/WinEHPrepare.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
Commit 6ff09ce061df499b518150f33006d1b0dcfdabd7 by Amara Emerson
[AArch64][GlobalISel] Fix <16 x s8> G_DUP regbankselect to assign source to gpr.

We can only select this type if the source is on GPR, not FPR.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
Commit 2d62212b06be4d712dcc461c430e12c73a561449 by kern.handa
[mlir] Export CUDA and Vulkan runtime wrappers on Windows

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D97140
The file was modifiedmlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/RunnerUtils.h
The file was modifiedmlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp
Commit 97184ab99c46e35ae94f828ee90f5d6af2c47e11 by phosek
[InstrProfiling] Fix instrprof-gc-sections.c test

After D97110 __llvm_prof_cnts has the nobits type so it's empty.
The file was modifiedcompiler-rt/test/profile/instrprof-gc-sections.c
Commit 52113451fbee6c34a6024cf82186709431ff6f3a by djtodoro
[NFC][llvm-dwarfdump] Don't calculate unnecessary stats

Small optimization of the code -- No need to calculate any stats
for NULL nodes, and also no need to call the collectStatsForDie()
if it is the CU itself.

Differential Revision: https://reviews.llvm.org/D96871
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp
Commit 5b20d80a03ba8848bb0504dd70dc46aa47037fd2 by tpopp
[mlir] Mark std.subview as NoSideEffect

Differential Revision: https://reviews.llvm.org/D96951
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit bf15697e9b66b8f7e6f3f7c510a259651810bd29 by jan_svoboda
[clang][cli] Stop creating '-Wno-stdlibcxx-not-found' in cc1

This patch stops creating the '-Wno-stdlibcxx-not-found' argument in `CompilerInvocation::CreateFromArgs`.

The code was added in 2e7ab55e657f (a follow-up to D48297). However, D61963 removes relevant tests and starts explicitly passing '-Wno-stdlibcxx-not-found' to the driver. I think it's fair to assume this is a dead code.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D97042
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 820e0c49fc48024d8b426f4b10b50b5b5659a705 by jan_svoboda
[clang][cli] Pass '-Wspir-compat' to cc1 from driver

This patch moves the creation of the '-Wspir-compat' argument from cc1 to the driver.

Without this change, generating command line arguments from `CompilerInvocation` cannot be done reliably: there's no way to distinguish whether '-Wspir-compat' was passed to cc1 on the command line (should be generated), or if it was created within `CompilerInvocation::CreateFromArgs` (should not be generated).

This is also in line with how other '-W' flags are handled.

(This was introduced in D21567.)

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D97041
The file was modifiedclang/test/SemaOpenCL/sampler_t.cl
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Driver/opencl.cl
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit f10137399a3c9239a6acd1d3df12a40766b64759 by kadircet
[clang][CodeComplete] Ensure there are no crashes when completing with ParenListExprs as LHS

Differential Revision: https://reviews.llvm.org/D96950
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
Commit 861dbe1a021e6439af837b72b219fb9c449a57ae by wingo
[WebAssembly] call_indirect issues table number relocs

If the reference-types feature is enabled, call_indirect will explicitly
reference its corresponding function table via `TABLE_NUMBER`
relocations against a table symbol.

Also, as before, address-taken functions can also cause the function
table to be created, only with reference-types they additionally cause a
symbol table entry to be emitted.

We abuse the used-in-reloc flag on symbols to indicate which tables
should end up in the symbol table.  We do this because unfortunately
older wasm-ld will carp if it see a table symbol.

Differential Revision: https://reviews.llvm.org/D90948
The file was modifiedllvm/test/CodeGen/WebAssembly/multivalue.ll
The file was modifiedlld/test/wasm/compress-relocs.ll
The file was modifiedllvm/test/MC/WebAssembly/basic-assembly.s
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/test/MC/WebAssembly/tail-call-encodings.s
The file was modifiedllvm/test/MC/WebAssembly/weak-alias.s
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
The file was modifiedllvm/test/MC/WebAssembly/function-alias.ll
The file was modifiedllvm/test/MC/WebAssembly/reloc-pic.s
The file was modifiedllvm/test/CodeGen/WebAssembly/function-pointer64.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
The file was modifiedllvm/test/MC/WebAssembly/type-index.s
The file was addedllvm/test/MC/WebAssembly/call-indirect-relocs.s
The file was modifiedllvm/include/llvm/MC/MCSymbolWasm.h
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/test/MC/WebAssembly/reloc-code.ll
Commit 21a4faab60c34b8a8c4d09a5ffac50ded8163208 by david.green
[ARM] Move double vector insert patterns using vins to DAG combine

This removes the existing patterns for inserting two lanes into an
f16/i16 vector register using VINS, instead using a DAG combine to
pattern match the same code sequences. The tablegen patterns were
already on the large side (foreach LANE = [0, 2, 4, 6]) and were not
handling all the cases they could. Moving that to a DAG combine, whilst
not less code, allows us to better control and expand the selection of
VINSs. Additionally this allows us to remove the AddedComplexity on
VCVTT.

The extra trick that this has learned in the process is to move two
adjacent lanes using a single f32 vmov, allowing some extra
inefficiencies to be removed.

Differenial Revision: https://reviews.llvm.org/D96876
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld3.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst3.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-simple-arith.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-div-expand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shufflemov.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-minmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind16-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
Commit 15a74b64dfa9bc1213cd582415f849b4dba51bad by flo
[VPlan] Manage pairs of incoming (VPValue, VPBB) in VPWidenPHIRecipe.

This patch extends VPWidenPHIRecipe to manage pairs of incoming
(VPValue, VPBasicBlock) in the VPlan native path. This is made possible
because we now directly manage defined VPValues for recipes.

By keeping both the incoming value and block in the recipe directly,
code-generation in the VPlan native path becomes independent of the
predecessor ordering when fixing up non-induction phis, which currently
can cause crashes in the VPlan native path.

This fixes PR45958.

Reviewed By: sguggill

Differential Revision: https://reviews.llvm.org/D96773
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
The file was addedllvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
Commit 6e3071007b4c9438d2ae49476de87db30d6d24e9 by balazsbenics
[analyzer] Introduce MacroExpansionContext to libAnalysis

Introduce `MacroExpansionContext` to track what and how macros in a translation
unit expand. This is the first element of the patch-stack in this direction.

The main goal is to substitute the current macro expansion generator in the
`PlistsDiagnostics`, but all the other `DiagnosticsConsumer` could benefit from
this.

`getExpandedText` and `getOriginalText` are the primary functions of this class.
The former can provide you the text that was the result of the macro expansion
chain starting from a `SourceLocation`.
While the latter will tell you **what text** was in the original source code
replaced by the macro expansion chain from that location.

Here is an example:

  void bar();
  #define retArg(x) x
  #define retArgUnclosed retArg(bar()
  #define BB CC
  #define applyInt BB(int)
  #define CC(x) retArgUnclosed

  void unbalancedMacros() {
    applyInt  );
  //^~~~~~~~~~^ is the substituted range
  // Original text is "applyInt  )"
  // Expanded text is "bar()"
  }

  #define expandArgUnclosedCommaExpr(x) (x, bar(), 1
  #define f expandArgUnclosedCommaExpr

  void unbalancedMacros2() {
    int x =  f(f(1))  ));  // Look at the parenthesis!
  //         ^~~~~~^ is the substituted range
  // Original text is "f(f(1))"
  // Expanded text is "((1,bar(),1,bar(),1"
  }

Might worth investigating how to provide a reusable component, which could be
used for example by a standalone tool eg. expanding all macros to their
definitions.

I borrowed the main idea from the `PrintPreprocessedOutput.cpp` Frontend
component, providing a `PPCallbacks` instance hooking the preprocessor events.
I'm using that for calculating the source range where tokens will be expanded
to. I'm also using the `Preprocessor`'s `OnToken` callback, via the
`Preprocessor::setTokenWatcher` to reconstruct the expanded text.

Unfortunately, I concatenate the token's string representation without any
whitespaces except if the token is an identifier when I emit an extra space
to produce valid code for `int var` token sequences.
This could be improved later if needed.

Patch-stack:
  1) D93222 (this one) Introduces the MacroExpansionContext class and unittests

  2) D93223 Create MacroExpansionContext member in AnalysisConsumer and pass
     down to the diagnostics consumers

  3) D93224 Use the MacroExpansionContext for macro expansions in plists
     It replaces the 'old' macro expansion mechanism.

  4) D94673 API for CTU macro expansions
     You should be able to get a `MacroExpansionContext` for each imported TU.
     Right now it will just return `llvm::None` as this is not implemented yet.

  5) FIXME: Implement macro expansion tracking for imported TUs as well.

It would also relieve us from bugs like:
  - [fixed] D86135
  - [confirmed] The `__VA_ARGS__` and other macro nitty-gritty, such as how to
    stringify macro parameters, where to put or swallow commas, etc. are not
    handled correctly.
  - [confirmed] Unbalanced parenthesis are not well handled - resulting in
    incorrect expansions or even crashes.
  - [confirmed][crashing] https://bugs.llvm.org/show_bug.cgi?id=48358

Reviewed By: martong, Szelethus

Differential Revision: https://reviews.llvm.org/D93222
The file was addedclang/unittests/Analysis/MacroExpansionContextTest.cpp
The file was modifiedclang/unittests/Analysis/CMakeLists.txt
The file was modifiedclang/lib/Analysis/CMakeLists.txt
The file was addedclang/include/clang/Analysis/MacroExpansionContext.h
The file was addedclang/lib/Analysis/MacroExpansionContext.cpp
Commit 7c58fb6ba04e28e594587bb27f13849cc1f2d305 by balazsbenics
[analyzer] Create MacroExpansionContext member in AnalysisConsumer

Adds a `MacroExpansionContext` member to the `AnalysisConsumer` class.
Tracks macro expansions only if the `ShouldDisplayMacroExpansions` is set.
Passes a reference down the pipeline letting AnalysisConsumers query macro
expansions during bugreport construction.

Reviewed By: martong, Szelethus

Differential Revision: https://reviews.llvm.org/D93223
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
The file was modifiedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Commit 170c67d5b8cc58dd8a4bd0ea7c5ca02290fac39c by balazsbenics
[analyzer] Use the MacroExpansionContext for macro expansions in plists

Removes the obsolete ad-hoc macro expansions during bugreport constructions.
It will skip the macro expansion if the expansion happened in an imported TU.

Also removes the expected plist file, while expanding matching context for
the tests.
Adds a previously crashing `plist-macros-with-expansion.c` testfile.
Temporarily marks `plist-macros-with-expansion-ctu.c ` to `XFAIL`.

Reviewed By: xazax.hun, Szelethus

Differential Revision: https://reviews.llvm.org/D93224
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was addedclang/test/Analysis/plist-macros-with-expansion.c
The file was modifiedclang/test/Analysis/plist-macros-with-expansion-ctu.c
The file was modifiedclang/test/Analysis/plist-macros-with-expansion.cpp
The file was removedclang/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
Commit 38b185832e04ed0588c43161f5c3a8c0ce267497 by balazsbenics
[analyzer][CTU] API for CTU macro expansions

Removes `CrossTranslationUnitContext::getImportedFromSourceLocation`
Removes the corresponding unit-test segment.

Introduces the `CrossTranslationUnitContext::getMacroExpansionContextForSourceLocation`
which will return the macro expansion context for an imported TU. Also adds a
few implementation FIXME notes where applicable, since this feature is
not implemented yet. This fact is also noted as Doxygen comments.

Uplifts a few CTU LIT test to match the current **incomplete** behavior.

It is a regression to some extent since now we don't expand any
macros in imported TUs. At least we don't crash anymore.

Note that the introduced function is already covered by LIT tests.
Eg.: Analysis/plist-macros-with-expansion-ctu.c

Reviewed By: balazske, Szelethus

Differential Revision: https://reviews.llvm.org/D94673
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
The file was modifiedclang/include/clang/CrossTU/CrossTranslationUnit.h
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/test/Analysis/plist-macros-with-expansion-ctu.c
The file was modifiedclang/include/clang/AST/ASTImporter.h
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 188f15d973101649f7172e353f85727b41f2ffa8 by david.green
[ARM] Remove dead lowering code. NFC

Remove the unnecessary code from 21a4faab60c34b8a8c4d09, left over from
a different way of lowering.
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit d81f633fe28fd23108b4dc8c25548f1653ba0cd2 by andrzej.warzynski
[flang][driver] Add -Xflang and make -test-io a frontend-only flang

This patch adds support for `-Xflang` in `flang-new`. The semantics are
identical to `-Xclang`.

With the addition of `-Xflang`, we can modify `-test-io` to be a
compiler-frontend only flag. This makes more sense, this flag is:
  * very frontend specific
  * to be used for development and testing only
  * not to be exposed to the end user
Originally we added it to the compiler driver, `flang-new`, in order to
facilitate testing. With `-Xflang` this is no longer needed. Tests are
updated accordingly.

Differential Revision: https://reviews.llvm.org/D96864
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/test/Flang-Driver/driver-help-hidden.f90
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedflang/test/Frontend/input-output-file.f90
The file was modifiedflang/test/Frontend/multiple-input-files.f90
The file was modifiedflang/test/Flang-Driver/driver-help.f90
Commit 106b63de3ad19c2765329958ce5632b8a905c73f by llvm-dev
[InstCombine] Add smulo NumSignBits test from D97170
The file was modifiedllvm/test/Transforms/InstCombine/with_overflow.ll
Commit c11fd0df64290ed12dbee0617588b1d17a9d5d10 by flo
[VPlan] Skip VPWidenPHIRecipe in VPInterleavedACcessInfo.

Update unit tests that did not expect VPWidenPHIRecipes after
15a74b64dfa9.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanSLP.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Commit ad375ac5d2c1e951cd327878a8fff88580c32dc4 by llvmgnsyncbot
[gn build] Port 6e3071007b4c
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Commit b5b3243bf783f07415c5e2838fa1a948e126f643 by steveire
Regenerate documentation
The file was modifiedclang/docs/LibASTMatchersReference.html
Commit 0327cfe2f7620d70cd44082a172e58872ffe4105 by nashe.mncube
[llvm-link] fix IRMover returning wrong modified vector type

Modified scalable vector types weren't correctly returned at link-time.
The previous behaviour was a FixedVectorType was constructed
when expecting a ScalableVectorType. This commit has added a regression
test which re-creates the failure as well as a fix.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D96953
The file was addedllvm/test/Linker/Inputs/fixed-vector-type-construction.ll
The file was addedllvm/test/Linker/scalable-vector-type-construction.ll
The file was modifiedllvm/lib/Linker/IRMover.cpp
Commit 7dc7f0c2ecc05b9a9c73e89facec24ad6d325cae by 1.int32
[clang-tidy] Add new check 'concurrency-thread-canceltype-asynchronous' and alias 'cert-pos47-c'.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D96719
The file was addedclang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.h
The file was addedclang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/concurrency-thread-canceltype-asynchronous.rst
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/concurrency/CMakeLists.txt
The file was addedclang-tools-extra/docs/clang-tidy/checks/cert-pos47-c.rst
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/concurrency-thread-canceltype-asynchronous.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
Commit 7af9ea548c7d9922b9aa2699edc7dbfd11acbaa2 by llvmgnsyncbot
[gn build] Port 7dc7f0c2ecc0
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/concurrency/BUILD.gn
Commit 481351809284428401f4e6262d7c0b8efdd86592 by dmitry.preobrazhensky
[AMDGPU][MC] Corrected bound_ctrl for compatibility with sp3

Enabled "bound_ctrl:1" and disabled "bound_ctrl:-1" syntax.
Corrected printer to output "bound_ctrl:1" instead of "bound_ctrl:0".
See bug 35397 for detailed issue description.

Differential Revision: https://reviews.llvm.org/D97048
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/xdl-insts-gfx1011-gfx1012.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.ll
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp.s
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_dpp16.s
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/dpp_vi.txt
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp_expr.s
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/xdl-insts-gfx908.txt
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_dpp16.txt
The file was modifiedllvm/docs/AMDGPUModifierSyntax.rst
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp64_combine.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/dl-insts.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
Commit 2c25efcbd322c58b62e592a8265ef83803f0e7b9 by david.spickett
[AArch64] Adding SHA3 Intrinsics support

    This patch adds the following SHA3 Intrinsics:
        vsha512hq_u64,
        vsha512h2q_u64,
        vsha512su0q_u64,
        vsha512su1q_u64
        veor3q_u8
        veor3q_u16
        veor3q_u32
        veor3q_u64
        veor3q_s8
        veor3q_s16
        veor3q_s32
        veor3q_s64
        vrax1q_u64
        vxarq_u64
        vbcaxq_u8
        vbcaxq_u16
        vbcaxq_u32
        vbcaxq_u64
        vbcaxq_s8
        vbcaxq_s16
        vbcaxq_s32
        vbcaxq_s64

    Note need to include +sha3 and +crypto when building from the front-end

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D96381
The file was addedclang/test/CodeGen/aarch64-neon-sha3.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedclang/test/CodeGen/aarch64-neon-range-checks.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/arm_neon_incl.td
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
The file was addedllvm/test/CodeGen/AArch64/neon-sha3.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedclang/include/clang/Basic/arm_neon.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
Commit 19084887d9222dab71c86ed848b09f9ca8e61fff by llvm-dev
[InstCombine] Add PR45977 test coverage
The file was modifiedllvm/test/Transforms/InstCombine/or-xor.ll
Commit cf3ef15a6ec5e5b45c6c54e8fbe3769255e815ce by anastasia.stulova
[OpenCL] Add builtin declarations by default.

This change enables the builtin function declarations
in clang driver by default using the Tablegen solution
along with the implicit include of 'opencl-c-base.h'
header.

A new flag '-cl-no-stdinc' disabling all default
declarations and header includes is added. If any other
mechanisms were used to include the declarations (e.g.
with -Xclang -finclude-default-header) and the new default
approach is not sufficient the, `-cl-no-stdinc` flag has
to be used with clang to activate the old behavior.

Tags: #clang

Differential Revision: https://reviews.llvm.org/D96515
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/include/clang/Driver/Types.h
The file was addedclang/test/Driver/default-includes.cl
The file was modifiedclang/unittests/AST/MatchVerifier.h
The file was modifiedclang/include/clang/Driver/Options.td
Commit ba1d9546ee389ce1d2e8f353ae777a65f647d508 by goncharov.mikhail
Revert "Revert "Implement nullPointerConstant() using a better API.""

This reverts commit 6984e0d4398592a20055cb12842fc72462ce01a5.

While change by itself seems to be consistent with nullPointerConstant
docs of not matching "int i = 0;" but it's not clear why it's wrong and
9148302a2ae5ac6e5d69ae84042361889247ce64 author just forgot to update
the doc.
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Commit 3b148d6f991181a1b8f089c4bc2126e1a6c1212d by goncharov.mikhail
Revert "Revert "Revert "Implement nullPointerConstant() using a better API."""

This reverts commit ba1d9546ee389ce1d2e8f353ae777a65f647d508.
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Commit b71add9777bed67e05206fa1fdb665f3e21a13ab by anastasia.stulova
[pp-trace] Fix test for OpenCL pragmas.

After updating clang driver to include standard
OpenCL headers implicitly, the output being checked
in the test does not match because the implicit
header contains other pragmas. The test does not
aim to use the header and therefore it has to be
updated passing '-cl-no-stdinc' command-line flag.

This fixes failing bots.
The file was modifiedclang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
Commit b02bc0224a9f19c8b692f77c51e83cdb7c51a6e0 by spatel
[LangRef] fix typo in assume bundle description; NFC
The file was modifiedllvm/docs/LangRef.rst
Commit daeb70be0bd42fbed66c03b4c5f9940ffba88ce9 by n.james93
[clang][NFC] Reorder CXXCtorInitializer members

Swapping the order of Init and MemberOrEllipsisLocation removes 8 bytes (20%) of padding on 64bit builds.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97191
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
Commit 76151acf893ac7bdaf460fdfe8a8494cf477157a by tianshilei1992
[Clang][OpenMP] Require CUDA 9.2+ for OpenMP offloading on NVPTX target

In current implementation of `deviceRTLs`, we're using some functions
that are CUDA version dependent (if CUDA_VERSION < 9, it is one; otheriwse, it
is another one). As a result, we have to compile one bitcode library for each
CUDA version supported. A worse problem is forward compatibility. If a new CUDA
version is released, we have to update CMake file as well.

CUDA 9.2 has been released for three years. Instead of using various weird tricks
to make `deviceRTLs` work with different CUDA versions and still have forward
compatibility, we can simply drop support for CUDA 9.1 or lower version. It has at
least two benifits:
- We don't need to generate bitcode libraries for each CUDA version;
- Clang driver doesn't need to search for the bitcode lib based on CUDA version.

We can claim that starting from LLVM 12, OpenMP offloading on NVPTX target requires
CUDA 9.2+.

Reviewed By: jdoerfert, JonChesterfield

Differential Revision: https://reviews.llvm.org/D97003
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-cuda_102-sm_35.bc
The file was removedclang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-cuda_80-sm_35.bc
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
Commit c7ee57f1dccf965aa73ad708937443d649fbb0a7 by flo
[LV] Directly use incoming value for single VPBlendRecipes.

VPBlendRecipes with single incoming (value, mask) pair are no-ops. Use
the incoming value directly.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
Commit 476ff0327b7a97af50a15c7a8c3e0a6513627a8e by llvm-dev
[InstSimplify] Cleanup out-of-range shift amount handling.

Use APInt::uge() direct instead of getLimitedValue().

Use KnownBits::getMinValue() to make the bounds check more obvious.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 8720ec6b9a288b686089c5137dda64001a7a9f38 by tkeith
[flang] Add -J and -module-dir to f18 driver

Add -J to the f18 driver for compatibility with gfortran.
Add -module-dir for compatibility with the new flang driver.

They both set the output directory for .mod files and add the
directory to the search list. -module still only does the former.

Clean up the new driver test to match.

Differential Revision: https://reviews.llvm.org/D97164
The file was modifiedflang/tools/f18/f18.cpp
The file was addedflang/test/Driver/write-module.f90
The file was modifiedflang/test/Flang-Driver/write-module.f90
Commit 784c70d704d3147ec12181f1304971b44443850b by flo
[ConstraintElimination] Add initial ICMP_NE test cases.
The file was addedllvm/test/Transforms/ConstraintElimination/ne.ll
Commit 5bfdbdeb408a966fd882f20c6fa79f6b5eb12990 by jezng
[lld-macho] Fix cpuSubtype for non-x86_64 archs

dyld on iOS will complain if the LIB64 bit is set.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D96565
The file was addedlld/test/MachO/header.s
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 8c4638c3676ef8071a4aba2070da09abe8fe3244 by jezng
[lld-macho] Clean up comments
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit bccdf6b232f67aa4e91f18d49700308f2815ca09 by i
Improve diagnostic for ignored GNU 'used' attribute

Differential Revision: https://reviews.llvm.org/D97161
The file was modifiedclang/test/SemaCXX/attr-used.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/attr-used.c
Commit 5e7e499b912d2c9ebaa91b5783ca123dbedeabcc by nikita.ppv
[JumpThreading] Clone noalias.scope.decl when threading blocks

When cloning instructions during jump threading, also clone and
adapt any declared scopes. This is primarily important when
threading loop exits, because we'll end up with two dominating
scope declarations in that case (at least after additional loop
rotation). This addresses a loose thread from
https://reviews.llvm.org/rG2556b413a7b8#975012.

Differential Revision: https://reviews.llvm.org/D97154
The file was modifiedllvm/lib/Transforms/Utils/CloneFunction.cpp
The file was addedllvm/test/Transforms/JumpThreading/noalias-scope-decl.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/Cloning.h
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 5616c5b8664b54671e699e5c45178f11cbb680b3 by n.james93
[clang] Tweaked fixit for static assert with no message

If a static assert has a message as the right side of an and condition, suggest a fix it of replacing the '&&' to ','.

`static_assert(cond && "Failed Cond")` -> `static_assert(cond, "Failed cond")`

This use case comes up when lazily replacing asserts with static asserts.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D89065
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was addedclang/test/FixIt/fixit-static-assert.cpp
Commit 4125afc35723b490556f7a38f7835f0914f70292 by nikita.ppv
[MemCpyOpt] Fix handling of readnone byval arguments

If the call is readnone, then there may not be any MemoryAccess
associated with the call. Bail out in that case.

This fixes the issue reported at
https://reviews.llvm.org/D94376#2578312.
The file was addedllvm/test/Transforms/MemCpyOpt/byval-readnone.ll
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit ed4230732adeb04a23fc25b7a5924e423ba5ac91 by protze
[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script

When compiling with ccache, compiler commands get split into smaller steps
and clang's default -Wunused-command-line-argument complains about unused
include directory arguments. In combination -Werror, compilation aborts.

If CMAKE_C_FLAGS contains -Wno-unused-command-line-argument or
-Wno-error=unused-command-line-argument, the latter flag is passed into the
build script.

This is a re-commit. The previous version was reverted because of failing
tests.

Differential Revision: https://reviews.llvm.org/D96762
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
Commit 15332982c3d8d1c9e8bd7ae9f76f22f77adb51ee by uday
[MLIR][affine] Prevent fusion when ops with memory effect free are present between producer and consumer

This commit fixes a bug in affine fusion pipeline where an
incorrect fusion is performed despite a dealloc op is present
between a producer and a consumer. This is done by creating a
node for dealloc op in the MDG.

Reviewed By: bondhugula, dcaballe

Differential Revision: https://reviews.llvm.org/D97032
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
Commit 1aeb927fedbeee328913ba085bb8860fbafaa1b1 by craig.topper
[RISCV] Custom isel the rest of the vector load/store intrinsics.

A previous patch moved the index versions. This moves the rest.
I also removed the custom lowering for VLEFF since we can now
do everything directly in the isel handling.

I had to update getLMUL to handle mask registers to index the
pseudo table correctly for VLE1/VSE1.

This is good for another 15K reduction in llc size.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D97097
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Commit 95daec6a8497dae8fe359b8b2b363e28cb3cff23 by flo
[ConstraintElimination] Use unsigned > 0 instead of != 0.

ICMP_NE predicates cannot be directly represented as constraint. But we
can use ICMP_UGT instead ICMP_NE for %x != 0.

See https://alive2.llvm.org/ce/z/XlLCsW
The file was modifiedllvm/test/Transforms/ConstraintElimination/ne.ll
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Commit 7d1397f7ad4bbdad56468d5a4c7a77fa4c553936 by rkauffmann
Making FindCommonBlock a const member
https://reviews.llvm.org/D97093
The file was modifiedflang/lib/Semantics/scope.cpp
The file was modifiedflang/include/flang/Semantics/scope.h
Commit 95d13c01ecba5c9dba8ea1bd875c4179cbaea9e2 by Jessica Paquette
[AArch64][GlobalISel] Emit G_ASSERT_SEXT for SExt parameters in CallLowering

Similar to how we emit G_ASSERT_ZEXT when we have CCValAssign::LocInfo::ZExt.

This will allow us to combine away some redundant sign extends.

Example: https://godbolt.org/z/cTbKvr

Differential Revision: https://reviews.llvm.org/D96915
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/call-lowering-signext.ll
Commit 1c932baeaafbd4c9051ed4836f320db9003f4068 by leonardchan
[llvm][Bitcode] Add bitcode reader/writer for DSOLocalEquivalent

This is necessary for compilation with [thin]lto.

Differential Revision: https://reviews.llvm.org/D96170
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was addedllvm/test/Bitcode/dso_local_equivalent.ll
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Commit bb20cf2f1c7ad6ef8a6ab0bc5ca5ea7db4b2282d by llvm-dev
[KnownBits] Pull out repeated getMinValue() calls from shift analysis. NFCI.
The file was modifiedllvm/lib/Support/KnownBits.cpp
Commit 5a856f5b44997dd45db08f434e5da1f85e4693f5 by vyng
Reland [lld-macho]Implement bundle_loader
  Reland 1a0afcf518717f61d45a1cdc6ad1a6436ec663b1
  https://reviews.llvm.org/D95913

New change: fix UB bug caused by copying empty path/name. (since the executable does not have a name)
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/bundle-loader.s
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/DriverUtils.cpp
Commit 55dff8b2e4f0ac9e852b5abc053af8dcf6c744f1 by jonathan.l.peyton
[OpenMP] Update HWLOC code for die level detection

Differential Revision: https://reviews.llvm.org/D96748
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
Commit ed4d12c2ce30e5a1c270e2b4a08e67851ff8b295 by benny.kra
[mlir][Shape] Fix a crash when folding nary broadcast ops

operands[2] can be nullptr here. I'm not able to build a lit test for
this because of the commutative reordering of operands. It's possible to
trigger this with a createOrFold<BroadcastOp> though.

Differential Revision: https://reviews.llvm.org/D97206
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 2ce6a42cc94dbe1b0456ebc34c0db238bf5530d6 by gcmn
[MLIR] Add Linalg support for integer (generalized) matmuls

This patch adds Linalg named ops for various types of integer matmuls.
Due to limitations in the tc spec/linalg-ods-gen ops cannot be type
polymorphic, so this instead creates new ops (improvements to the
methods for defining Linalg named ops are underway with a prototype at
https://github.com/stellaraccident/mlir-linalgpy).

To avoid the necessity of directly referencing these many new ops, this
adds additional methods to ContractionOpInterface to allow classifying
types of operations based on their indexing maps.

Reviewed By: nicolasvasilache, mravishankar

Differential Revision: https://reviews.llvm.org/D97006
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
Commit 4827492d9fcfe4ac5df4f319e935e33bec946195 by phosek
Revert "[InstrProfiling] Use ELF section groups for counters, data and values"

This reverts commits:
5ca21175e09fc7fb7dcaee9ebd6782d122a5688f
97184ab99c46e35ae94f828ee90f5d6af2c47e11

The instrprof-gc-sections.c is failing on AArch64 LLD bot.
The file was removedcompiler-rt/test/profile/instrprof-gc-sections.c
The file was modifiedllvm/test/Instrumentation/InstrProfiling/platform.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedcompiler-rt/test/profile/CMakeLists.txt
Commit 8c73be9d86758beae1cda30f9eba2e92023d6c60 by jonathan.l.peyton
[OpenMP] Limit number of dispatch buffers

This patch limits the number of dispatch buffers (used for
loop worksharing construct) to between 1 and 4096.

Differential Revision: https://reviews.llvm.org/D96749
The file was addedopenmp/runtime/test/env/kmp_dispatch_buf_range.c
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
Commit 1b968467c057df980df214a88cddac74dccff15e by jonathan.l.peyton
[OpenMP] Remove shutdown attempt on Windows process detach

Only attempt shutdown if lpReserved is NULL. The Windows documentation
states:
When handling DLL_PROCESS_DETACH, a DLL should free resources such as
heap memory only if the DLL is being unloaded dynamically (the
lpReserved parameter is NULL). If the process is terminating (the
lpReserved parameter is non-NULL), all threads in the process except the
current thread either have exited already or have been explicitly
terminated by a call to the ExitProcess function, which might leave some
process resources such as heaps in an inconsistent state. In this case,
it is not safe for the DLL to clean up the resources. Instead, the DLL
should allow the operating system to reclaim the memory.

Differential Revision: https://reviews.llvm.org/D96750
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
Commit 817d343fb048b330b77a7b4ef0af0dba7450dfb2 by uday
[MLIR] Fix tilePerfectlyNested utility for handling non-unit step size

The current implementation of tilePerfectlyNested utility doesn't handle
the non-unit step size. We have added support to perform tiling
correctly even if the step size of the loop to be tiled is non-unit.
Fixes https://bugs.llvm.org/show_bug.cgi?id=49188.

Differential Revision: https://reviews.llvm.org/D97037
The file was modifiedmlir/test/Dialect/Affine/loop-tiling.mlir
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
Commit 56223b1e91ed444a054aa9bd20878d0b62c7b53b by jonathan.l.peyton
[OpenMP] Help static loop code avoid over/underflow

This code alleviates some pathological loop parameters (lower,
upper, stride) within calculations involved in the static loop code.  It
bounds the chunk size to the trip count if it is greater than the trip
count and also minimizes problematic code for when trip count < nth.

Differential Revision: https://reviews.llvm.org/D96426
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
The file was modifiedopenmp/runtime/src/kmp_sched.cpp
The file was addedopenmp/runtime/test/worksharing/for/omp_for_static_large_chunk.c
Commit 54529c4be64ec5f2269460df52602f0242e54a75 by gcmn
Add missing dep to fix shared libs build

Followup to https://reviews.llvm.org/D97006 which broke the shared libs
build because of a missing dependency.

Differential Revision: https://reviews.llvm.org/D97213
The file was modifiedmlir/lib/Dialect/Linalg/IR/CMakeLists.txt
Commit a2e15fa532f36db7080347fbae31470c8ceaffc4 by n.james93
[clang-tidy] Harden PreferMemberInitializerCheck

Prevent warning when the values are initialized using fields that will be initialized later or VarDecls defined in the constructors body.
Both of these cases can't be safely fixed.
Also improve logic of finding where to insert member initializers, previously it could be confused by in class member initializers.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97132
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-prefer-member-initializer.cpp
Commit c32aee5a5e4da2554d23e2c7de5dffcd275a412e by jezng
[lld-macho] Try to fix cross-platform test from D96565
The file was modifiedlld/test/MachO/header.s
Commit 946a09945f02427c7b2075ae72ea4d77bb1a2a1d by aheejin
[WebAssembly] Misc. fixes in cfg-stackify-eh.ll

- Fix `preds` comments
- Delete nonexistent attributes in instructions (They used to exist in
  clang-generated files, but I removed most of them to make the tests
  tidy. We have only `nounwind` and `noreturn` left here.)
- Add missing `Function Attrs` comments in function declarations

None of these affect test function semantics or test results for now.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D97179
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Commit a0839b14df6de99fe29bee7cdfff182d50de665d by Louis Dionne
[libc++] Fix tuple assignment from types derived from a tuple-like

The implementation of tuple's constructors and assignment operators
currently diverges from the way the Standard specifies them, which leads
to subtle cases where the behavior is not as specified. In particular, a
class derived from a tuple-like type (e.g. pair) can't be assigned to a
tuple with corresponding members, when it should. This commit re-implements
the assignment operators (BUT NOT THE CONSTRUCTORS) in a way much closer
to the specification to get rid of this bug. Most of the tests have been
stolen from Eric's patch https://reviews.llvm.org/D27606.

As a fly-by improvement, tests for noexcept correctness have been added
to all overloads of operator=. We should tackle the same issue for the
tuple constructors in a future patch - I'm just trying to make progress
on fixing this long-standing bug.

PR17550
rdar://15837420

Differential Revision: https://reviews.llvm.org/D50106
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/array.extension.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
The file was modifiedlibcxx/include/tuple
The file was addedlibcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
The file was addedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/laziness.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp
The file was addedlibcxx/test/support/propagate_value_category.hpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
The file was removedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
The file was addedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/derived_from_tuple_like.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
Commit 473e3f2343928e1c2b93ed941685c7fd502b869b by gcmn
Add modern arc config for default "onto" branch

The config option for this changed in
https://secure.phabricator.com/D21313 (or when that was rolled out).
I'm leaving the old config option, which may be in use by people with
older versions of arc.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D97215
The file was modified.arcconfig
Commit 9a4dd4de9d2f80744a0729d7f5064e465027853b by a.bataev
[SLP]No need to mark scatter load pointer as scalar as it gets vectorized.

Pointer operand of scatter loads does not remain scalar in the tree (it
gest vectorized) and thus must not be marked as the scalar that remains
scalar in vectorized form.

Differential Revision: https://reviews.llvm.org/D96818
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 908643ada0e9cb6bce975212624052025716bf99 by aheejin
[WebAssembly] Split EH MIR tests into two files

Currently exception.mir runs LateEHPrepare and CFGStackify, but some
tests I'm planning to add shouldn't be run with LateEHPrepare, because
it is convenient to only run CFGStackify when testing things like unwind
mismatches and it is easier to add tests that are in phase right before
CFGStackify. This splits existing exception.mir into two files;
cfg-stackify-eh.mir will only run CFGStackify. Note that
`eh_label_tests` tests both LateEHPrepare and CFGStackify, so it is
still in exception.mir. `rethrow_arg_tests` has been converted to the
post-LateEHPrepare form to be moved into cfg-stackify-eh.mir, like
removing `CATCHRET` and such, because it does not really test anything
in LateEHPrepare.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D97175
The file was modifiedllvm/test/CodeGen/WebAssembly/exception.mir
The file was addedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.mir
Commit 1cd2a5a7da3db812fe2844caefcd40f8a52eff5b by craig.topper
[RISCV] Add isel support for bitcasts between fixed vector types.

This should fix the issue reported in D96972.

I don't have a good test case for this without those changes.

Differential Revision: https://reviews.llvm.org/D97082
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit e64fcdf8d53c1d2ab709394c39743fa11d270181 by melanie.blower
[clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h

This patch responds to a comment from @vitalybuka in D96203: suggestion to
do the change incrementally, and start by modifying this file name. I modified
the file name and made the other changes that follow from that rename.

Reviewers: vitalybuka, echristo, MaskRay, jansvoboda11, aaron.ballman

Differential Revision: https://reviews.llvm.org/D96974
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGClass.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/CodeGen/SanitizerMetadata.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Basic/LangOptions.cpp
The file was modifiedclang/lib/Basic/CMakeLists.txt
The file was modifiedclang/lib/AST/Decl.cpp
The file was addedclang/include/clang/Basic/NoSanitizeList.h
The file was removedclang/include/clang/Basic/SanitizerBlacklist.h
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was addedclang/lib/Basic/NoSanitizeList.cpp
The file was removedclang/lib/Basic/SanitizerBlacklist.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit a08e609d2eac7737bfc14cd4ee35b2cabe1238b6 by aheejin
[WebAssembly] Rename methods in WasmEHFuncInfo (NFC)

This renames variable and method names in `WasmEHFuncInfo` class to be
simpler and clearer. For example, unwind destinations are EH pads by
definition so it doesn't necessarily need to be included in every method
name. Also I am planning to add the reverse mapping in a later CL,
something like `UnwindDestToSrc`, so this renaming will make meanings
clearer.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D97173
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/WasmEHFuncInfo.h
The file was modifiedllvm/lib/CodeGen/WasmEHPrepare.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
Commit 0046aadd7f46fc5ce2644e6ba43f3d395caeb9de by llvmgnsyncbot
[gn build] Port e64fcdf8d53c
The file was modifiedllvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Commit b380699416d8310f20c59928bf379129ec98e064 by zequanwu
[Utils] Add an option to specify number of cores to use in creduce-clang-crash.py

Differential Revision: https://reviews.llvm.org/D97098
The file was modifiedclang/utils/creduce-clang-crash.py
Commit e2224dd7538001fe5ffb53f080334436427a8e70 by gcmn
Fix typo introduced in https://reviews.llvm.org/D97006

Differential Revision: https://reviews.llvm.org/D97220
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
Commit 51fb5bf4d6c91075abdfd24769ef60fcfd810baa by aheejin
[WebAssembly] Support WasmEHFuncInfo serialization

This adds support for serialization of `WasmEHFuncInfo`, in the form of
<Source BB Number, Unwind destination BB number>. To make YAML mapping
work, we needed to make a copy of the existing `SrcToUnwindDest` map
within `yaml::WebAssemblyMachineFunctionInfo`.

It was hard to add EH MIR tests for CFGStackify because `WasmEHFuncInfo`
could not be read from test MIR files. This adds the serialization
support for that to make EH MIR tests easier.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D97174
The file was modifiedllvm/test/CodeGen/WebAssembly/function-info.mir
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
Commit f47a654a3954b22daf831189e9c24a9ddf2bc9ff by aheejin
[WebAssembly] Remap branch dests after fixCatchUnwindMismatches

Fixing catch unwind mismatches can sometimes invalidate existing branch
destinations. This CL remaps those destinations after placing
try-delegates.

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

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D97178
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Commit e6d1f261a5a08d4c05b25509a6f4217a8a1c2188 by thakis
[lld-link] Add /reproduce: support for several flags

/reproduce: now works correctly with:
- /call-graph-ordering-file:
- /def:
- /natvis:
- /order:
- /pdbstream:

I went through all instances of MemoryBuffer::getFile() and made sure
everything that didn't already do so called takeBuffer().

For natvis, that wasn't possible since DebugInfo/PDB wants to take
owernship of the natvis buffer. For that case, I'm manually adding the
tar file entry.

/natvis: and /pdbstream: is slightly awkward, since createResponseFile()
always adds these flags to the response file but createPDB() (which
ultimately adds the files referenced by the flags) is only called if
/debug is also passed. So when using /natvis: without /debug with
/reproduce:, lld won't warn, but when linking using the response
file from the archive, it won't find the natvis file since it's not
in the tar. This isn't a new issue though, and after this patch things
at least work with using /natvis: _with_ debug with /reproduce:.
(Same for /pdbstream:)

Differential Revison: https://reviews.llvm.org/D97212
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/COFF/Driver.h
The file was modifiedlld/test/COFF/linkrepro-manifest.test
The file was modifiedlld/test/COFF/linkrepro.test
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedlld/test/COFF/linkrepro-pdb.test
Commit 69ce291bcc1e094478a5751cc52e8c54b9f2a190 by Amara Emerson
[AArch64][GlobalISel] Support lowering <1 x i8> arguments.

We don't yet have working codegen for the resulting unmerges, and if
we did it would probably be horrible.

Differential Revision: https://reviews.llvm.org/D97035
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/ret-1x-vec.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/vec-s16-param.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/call-lowering-vectors.ll
Commit 212d6a95abe67f038a6d9a26d2226f07c3132d0e by Amara Emerson
[GloblalISel] Support lowering <3 x i8> arguments in multiple parts.

Differential Revision: https://reviews.llvm.org/D97086
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-lowering-vectors.ll
Commit c24b7a16b1001a8978335183d958fd0aa482c1d9 by phosek
[InstrProfiling] Use ELF section groups for counters, data and values

__start_/__stop_ references retain C identifier name sections such as
__llvm_prf_*. Putting these into a section group disables this logic.

The ELF section group semantics ensures that group members are retained
or discarded as a unit. When a function symbol is discarded, this allows
allows linker to discard counters, data and values associated with that
function symbol as well.

Note that `noduplicates` COMDAT is lowered to zero-flag section group in
ELF. We only set this for functions that aren't already in a COMDAT and
for those that don't have available_externally linkage since we already
use regular COMDAT groups for those.

Differential Revision: https://reviews.llvm.org/D96757
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/platform.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was modifiedcompiler-rt/test/profile/CMakeLists.txt
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was addedcompiler-rt/test/profile/instrprof-gc-sections.c
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Commit 2d9cfcfef029952511462ee45c49c1bf223b9495 by sam.mccall
[clangd] Narrow and document a loophole in blockUntilIdle

blockUntilIdle of a parent can't always be correctly implemented as
  return ChildA.blockUntilIdle() && ChildB.blockUntilIdle()
The problem is that B can schedule work on A while we're waiting on it.

I believe this is theoretically possible today between CDB and background index.
Modules open more possibilities and it's hard to reason about all of them.

I don't have a perfect fix, and the abstraction is too good to lose. this patch:
- calls out why we block on workscheduler first, and asserts correctness
- documents the issue
- reduces the practical possibility of spuriously returning true significantly

This function is ultimately only for testing, so we're driving down flake rate.

Differential Revision: https://reviews.llvm.org/D96856
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
Commit f0e69272c62f2b7a39687748db60d21445010ac5 by sam.mccall
[clangd] Shutdown sequence for modules, and doc threading requirements

This allows modules to do work on non-TUScheduler background threads.

Differential Revision: https://reviews.llvm.org/D96755
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/Module.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
Commit 50542d504dd869fe1241a9cc987b72ead5a56073 by Shafik Yaghmour
Modify TypePrinter to differentiate between anonymous struct and unnamed struct

Currently TypePrinter lumps anonymous classes and unnamed classes in one group "anonymous" this is not correct and can be confusing in some contexts.

Differential Revision: https://reviews.llvm.org/D96807
The file was modifiedclang/test/AST/ast-dump-openmp-cancel.c
The file was modifiedclang/test/AST/ast-dump-enum-json.cpp
The file was modifiedclang/test/AST/ast-dump-decl-json.c
The file was modifiedclang/test/Layout/ms-x86-alias-avoidance-padding.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for.c
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-cancellation-point.c
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-for.c
The file was modifiedclang/test/Index/print-type.c
The file was modifiedclang/test/AST/ast-dump-openmp-task.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-single.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-update.c
The file was modifiedclang/test/Sema/switch.c
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/PCH/stmt-openmp_structured_block-bit.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-enter-data.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskgroup.c
The file was modifiedclang/test/SemaCXX/enum.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/Sema/assign.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel.c
The file was modifiedclang/test/AST/ast-dump-openmp-for-simd.c
The file was modifiedclang/test/ASTMerge/struct/test.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-data.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-ordered.c
The file was modifiedclang/test/AST/ast-dump-stmt-json.m
The file was modifiedclang/test/AST/ast-dump-openmp-distribute.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-sections.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams.c
The file was modifiedclang/test/Analysis/padding_c.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams.c
The file was modifiedclang/test/AST/ast-dump-openmp-section.c
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/AST/ast-dump-openmp-sections.c
The file was modifiedclang/test/SemaCXX/condition.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
The file was modifiedclang/test/SemaCXX/warn-sign-conversion.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-parallel.c
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-simd.c
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-exit-data.c
Commit 7a0da8894348e55d06403ec3af35fb65f97e31fa by peter
scudo: Support memory tagging in the secondary allocator.

This patch enhances the secondary allocator to be able to detect buffer
overflow, and (on hardware supporting memory tagging) use-after-free
and buffer underflow.

Use-after-free detection is implemented by setting memory page
protection to PROT_NONE on free. Because this must be done immediately
rather than after the memory has been quarantined, we no longer use the
combined allocator quarantine for secondary allocations. Instead, a
quarantine has been added to the secondary allocator cache.

Buffer overflow detection is implemented by aligning the allocation
to the right of the writable pages, so that any overflows will
spill into the guard page to the right of the allocation, which
will have PROT_NONE page protection. Because this would require the
secondary allocator to produce a header at the correct position,
the responsibility for ensuring chunk alignment has been moved to
the secondary allocator.

Buffer underflow detection has been implemented on hardware supporting
memory tagging by tagging the memory region between the start of the
mapping and the start of the allocation with a non-zero tag. Due to
the cost of pre-tagging secondary allocations and the memory bandwidth
cost of tagged accesses, the allocation itself uses a tag of 0 and
only the first four pages have memory tagging enabled.

Differential Revision: https://reviews.llvm.org/D93731
The file was modifiedcompiler-rt/lib/scudo/standalone/linux.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/memtag.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_exclusive.h
The file was modifiedcompiler-rt/lib/scudo/standalone/fuchsia.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/common.h
The file was modifiedcompiler-rt/lib/scudo/standalone/allocator_config.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/combined_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
The file was modifiedcompiler-rt/lib/scudo/standalone/secondary.h
Commit 89440df64a5bf9981111e5980647e958f132b6a9 by craig.topper
[ValueTracking] Improve ComputeNumSignBits for SRem.

The result will have the same sign as the dividend unless the
result is 0. The magnitude of the result will always be less
than or equal to the dividend. So the result will have at least
as many sign bits as the dividend.

Previously we would do this if the divisor was a positive constant,
but that isn't required.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D97170
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstCombine/with_overflow.ll
Commit 867e379c0e14527eb7aa68485a10324693e35f5d by Jessica Paquette
[AArch64][GlobalISel] Match G_SHUFFLE_VECTOR -> insert elt + extract elt

Match a G_SHUFFLE_VECTOR with a mask that allows it to be represented as a
G_INSERT_VECTOR_ELT and a G_EXTRACT_VECTOR_ELT.

This ports `isINSMask` from AArch64ISelLowering and the portion of
`AArch64TargetLowering::LowerVECTOR_SHUFFLE` which handles the equivalent
transformation.

This provides more opportunities for matching DUP. We don't have all of the
necessary combines to actually make DUP out of these yet, but this is better for
size than the full TBL expansion for G_SHUFFLE_VECTOR.

This is a -0.1% code size improvement on CTMark/Bullet at -Os.

IR example: https://godbolt.org/z/sdcevT

Differential Revision: https://reviews.llvm.org/D97214
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
Commit fe2dcd89acfd9301a230e38e9030734553baa8dc by jyknight
DebugInfo: Emit "LocalToUnit" flag on local member function decls.

Previously, the definition was so-marked, but the declaration was
not. This resulted in LLVM's dwarf emission treating the function as
being external, and incorrectly emitting DW_AT_external.

Differential Revision: https://reviews.llvm.org/D96044
The file was modifiedclang/test/CodeGenCXX/debug-info-class.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 3231607ce95fb34adcddbdd55f8bb00b4a2a2125 by craig.topper
[RISCV] Have sexti32 also recognize AssertZExt from types smaller than i32.

An i64 AssertZExt from a type smaller than i32 has at least 33
leading zeros which mean it has at least 33 sign bits.

Since we have a couple patterns that use two sexti32, I've
switched to a ComplexPattern so tablegen didn't have to generate
9 different permutations.

As noted in the FIXME, maybe we should just call computeNumSignBits,
but we don't have tests that benefit from that yet.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D97130
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-exhaustive-w-insts.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoD.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoF.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoM.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
Commit e765324d89ef702ec287966f5132527d8de67b22 by aeubanks
[CMake] Don't optimize tests so much under ThinLTO

This drops check-llvm under -DLLVM_ENABLE_LTO=Thin from 13m to 10m20s on Windows and 20m to 15m35s on Linux.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D96618
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit bb16efe28030e26f9e5e0eaecfe729a3f1ff2ca7 by Stanislav.Mekhanoshin
[AMDGPU] Move RPT::getLiveRegs() check under EXPENSIVE_CHECKS

This is too expensive even for debug builds. It doubles
scheduling time if enabled.

Differential Revision: https://reviews.llvm.org/D97232
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Commit 9a827906cb95e7c3ae94627558da67b47ffde249 by andrew.kaylor
Add auto-upgrade support for annotation intrinsics

The llvm.ptr.annotation and llvm.var.annotation intrinsics were changed
since the 11.0 release to add an additional parameter. This patch
auto-upgrades IR containing the four-parameter versions of these
intrinsics, adding a null pointer as the fifth argument.

Differential Revision: https://reviews.llvm.org/D95993
The file was addedllvm/test/Bitcode/upgrade-var-annotation.ll.bc
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was addedllvm/test/Bitcode/upgrade-ptr-annotation.ll.bc
The file was addedllvm/test/Bitcode/upgrade-ptr-annotation.ll
The file was addedllvm/test/Bitcode/upgrade-var-annotation.ll
Commit e8617f2f1870022b7dd076bf43c7aaee30831197 by jyknight
DebugInfo: Emit "LocalToUnit" flag on local member function decls.

Follow-up to fe2dcd89acfd9301a230e38e9030734553baa8dc.

Update test per review comments, restoring the "D" type to its
original state, and adding new "L" type. (Sorry, this was intended to
be included in the prior commit)

Differential Revision: https://reviews.llvm.org/D96044
The file was modifiedclang/test/CodeGenCXX/debug-info-class.cpp
Commit 8f48ddd1935831979e1d7f37e47db532534b37c4 by yuanke.luo
[X86][AMX] Lower tile copy instruction.

Since there is no tile copy instruction, we need to store tile
register to stack and load from stack to another tile register.
We need extra GR to hold the stride, and we need stack slot to
hold the tile data register. We would run this pass after copy
propagation, so that we don't miss copy optimization. And we
would run this pass before prolog/epilog insertion, so that we
can allocate stack slot.

Differential Revision: https://reviews.llvm.org/D97112
The file was addedllvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was addedllvm/lib/Target/X86/X86LowerTileCopy.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit 3322701e3592ea2b0b0b5cbf2b3869807b6253ef by llvmgnsyncbot
[gn build] Port 8f48ddd19358
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Commit adf2098bd8193e3f9395512143071328e7bd024d by Lang Hames
[JITLink] Don't allow creation of sections with duplicate names.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Commit 430817d0d53f53f3388dde130daa363f56353707 by Lang Hames
[JITLink] Add a getFixupAddress convenience method to Block.
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit 0df59f234bf09dac203b98427f366be97288f636 by ajcbik
[sparse][mlir] simplify lattice optimization logic

Simplifies the way lattices are optimized with less, but more
powerful rules. This also fixes an inaccuracy where too many
lattices resulted (expecting a non-existing universal index).
Also puts no-side-effects on all proper getters and unifies
bufferization flags order in integration tests (for future,
more complex use cases).

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D97134
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgSparseOps.td
The file was modifiedmlir/integration_test/Sparse/CPU/sparse_sampled_matmul.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_1d.mlir
The file was modifiedmlir/integration_test/Sparse/CPU/sparse_sum.mlir
Commit 729899f7b6bf6aff65988d895d7a639391a67608 by rprichard
[libunwind] unw_* alias fixes for ELF and Mach-O

Rename the CMake option, LIBUNWIND_HERMETIC_STATIC_LIBRARY, to
LIBUNWIND_HIDE_SYMBOLS. Rename the C macro define,
_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS, to _LIBUNWIND_HIDE_SYMBOLS,
because now the macro adds a .hidden directive rather than merely
suppress visibility annotations.

For ELF, when LIBUNWIND_HIDE_SYMBOLS is enabled, mark unw_getcontext as
hidden. This symbol is the only one defined using src/assembly.h's
WEAK_ALIAS macro. Other unw_* weak aliases are defined in C++ and are
already hidden.

Mach-O doesn't support weak aliases, so remove .weak_reference and
weak_import. When LIBUNWIND_HIDE_SYMBOLS is enabled, output
.private_extern for the unw_* aliases.

In assembly.h, add missing SYMBOL_NAME macro invocations, which are
used to prefix symbol names with '_' on some targets.

Fixes PR46709.

Reviewed By: #libunwind, phosek, compnerd, steven_wu

Differential Revision: https://reviews.llvm.org/D93003
The file was modifiedlibunwind/src/assembly.h
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedlibunwind/src/config.h
The file was modifiedlibunwind/src/CMakeLists.txt
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/libunwind/src/BUILD.gn
Commit 7c83799fd838df3ed00ead500997168ed3f1bd17 by kazu
[MacroExpansionContext] Fix a warning.

This patch fixes:

  error: private field 'PP' is not used [-Werror,-Wunused-private-field]
The file was modifiedclang/lib/Analysis/MacroExpansionContext.cpp
Commit 5d2850161e8cc14254a615911b0277d0050575d6 by Jonas Devlieghere
[lldb] Reinstate support for LLDB_VERSION_STRING

Reinstate support for specifying -DLLDB_VERSION_STRING="best-lldb"
which seems to have gotten accidentally removed in the past.

rdar://38983903

Differential revision: https://reviews.llvm.org/D97235
The file was modifiedlldb/source/lldb.cpp
Commit c63b33b7926187750e844cf12d6ca8d172e1bb37 by code
[GlobalISel] Implement narrowScalar for UADDO/USUBO

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D96671
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Commit e1532649cb2af05991b62fe177e19f9c8ce212de by code
[GlobalISel] Implement narrowScalar for SADDO/SSUBO

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D96672
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit 8f956a5e8f5a64064ba62d0c503d80f5dc44564a by code
[GlobalISel] Implement narrowScalar for SADDE/SSUBE/UADDE/USUBE

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D96673
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Commit 8b10aa67ad5c97ece9ddb699adeae1ae85a5b28d by code
[AArch64][GlobalISel] Make overflow legalization use clampScalar

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D96674
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-usubo.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-uaddo.mir
Commit 0596086242b2b80c084d3e0e8d755fb4a6c75ef3 by code
[Test][AArch64] Test SADDE/SSUBE/UADDE/USUBE narrowing legalization

Reviewed By: paquette

Differential Revision: https://reviews.llvm.org/D96676
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-uadde.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-sadde.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-usube.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ssube.mir
Commit 662402a8b30dc96139bfdd9e37d6d92111659e77 by Jessica Paquette
Revert "[AArch64][GlobalISel] Match G_SHUFFLE_VECTOR -> insert elt + extract elt"

This reverts commit 867e379c0e14527eb7aa68485a10324693e35f5d.

For some reason this is upsetting Linux/Windows bots. Reverting while I try to
reproduce.
The file was removedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-shuf-to-ins.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
Commit 06e25d56451977ef5b7052282faacfe3d42acb65 by riddleriver
[mlir][IR] Refactor the `getChecked` and `verifyConstructionInvariants` methods on Attributes/Types

`verifyConstructionInvariants` is intended to allow for verifying the invariants of an attribute/type on construction, and `getChecked` is intended to enable more graceful error handling aside from an assert. There are a few problems with the current implementation of these methods:
* `verifyConstructionInvariants` requires an mlir::Location for emitting errors, which is prohibitively costly in the situations that would most likely use them, e.g. the parser.
This creates an unfortunate code duplication between the verifier code and the parser code, given that the parser operates on llvm::SMLoc and it is an undesirable overhead to pre-emptively convert from that to an mlir::Location.
* `getChecked` effectively requires duplicating the definition of the `get` method, creating a quite clunky workflow due to the subtle different in its signature.

This revision aims to talk the above problems by refactoring the implementation to use a callback for error emission. Using a callback allows for deferring the costly part of error emission until it is actually necessary.

Due to the necessary signature change in each instance of these methods, this revision also takes this opportunity to cleanup the definition of these methods by:
* restructuring the signature of `getChecked` such that it can be generated from the same code block as the `get` method.
* renaming `verifyConstructionInvariants` to `verify` to match the naming scheme of the rest of the compiler.

Differential Revision: https://reviews.llvm.org/D97100
The file was modifiedmlir/docs/Tutorials/DefiningAttributesAndTypes.md
The file was modifiedmlir/include/mlir-c/BuiltinAttributes.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
The file was modifiedmlir/include/mlir/TableGen/TypeDef.h
The file was modifiedmlir/lib/Dialect/Quant/IR/TypeParser.cpp
The file was modifiedmlir/lib/TableGen/TypeDef.cpp
The file was modifiedmlir/include/mlir/Dialect/Quant/QuantTypes.h
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRTypes.td
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncTypes.td
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.h
The file was modifiedmlir/tools/mlir-tblgen/TypeDefGen.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.h
The file was modifiedmlir/lib/CAPI/IR/BuiltinTypes.cpp
The file was modifiedmlir/lib/Parser/DialectSymbolParser.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVAttributes.cpp
The file was modifiedmlir/test/mlir-tblgen/typedefs.td
The file was modifiedmlir/lib/Dialect/Quant/Utils/FakeQuantSupport.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypeDefs.td
The file was modifiedmlir/lib/Dialect/Quant/IR/QuantTypes.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h
The file was modifiedmlir/lib/CAPI/IR/BuiltinAttributes.cpp
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.cpp
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was modifiedmlir/include/mlir-c/BuiltinTypes.h
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
Commit 389955c69a3b9f418e3f39694c94b4519322dd42 by smeenai
[lldb] add check for libcxx runtime

When enabling LLDB tests with `LLVM_ENABLE_RUNTIMES=libcxx` CMake will
fail with:

```
LLDB test suite requires libc++, but it is currently disabled.
```

The issue is that the targets in LLVM_ENABLE_RUNTIMES are configured
after the targets in LLVM_ENABLE_PROJECTS, so at this point the check
for the `cxx` target will fail. CMake will add a dependency for a target
that does not exist yet however, so by first checking for `libcxx` in
LLVM_ENABLE_RUNTIMES we ensure that the `cxx` target will be present at
build time.

Tested with:
```
% cmake -G Ninja \
    -C ~/local/llvm-project/lldb/cmake/caches/Apple-lldb-macOS.cmake \
    -DLLVM_ENABLE_PROJECTS="clang;lldb" -DLLVM_ENABLE_RUNTIMES="libcxx" \
    -DLIBCXX_INCLUDE_TESTS=NO ~/local/llvm-project/llvm
% ninja check-lldb
```

Reviewed By: smeenai, JDevlieghere

Differential Revision: https://reviews.llvm.org/D97227
The file was modifiedlldb/test/CMakeLists.txt
Commit 9f527086609ee52122c5495830979a0af0dbc121 by rahmanl
[obj2yaml,yaml2obj] Add NumBlocks to the BBAddrMapEntry yaml field.

As discussed in D95511, this allows us to encode invalid BBAddrMap
sections to be used in more rigorous testing.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D96831
The file was modifiedllvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 7424efd5ad57d18de65e1a5e572a04e1348a7e04 by jianzhouzh
[dfsan] Propagate origins at non-memory/phi/call instructions

This is a part of https://reviews.llvm.org/D95835.

Reviewed-by: morehouse

Differential Revision: https://reviews.llvm.org/D97200
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was addedllvm/test/Instrumentation/DataFlowSanitizer/origin_other_ops.ll
The file was addedllvm/test/Instrumentation/DataFlowSanitizer/origin_select.ll
Commit 034f5629256c810ecf4805911e3fe407e562f3b7 by rtenneti
Changes to mktime to handle invalid dates, overflow and underflow andcalculating the correct date and thenumber of seconds even if invalid datesare passed as arguments.

Added tests for invalid dates like the following
  Date 1970-01-01 00:00:-1 is treated as 1969-12-31 23:59:59 and seconds
  are returned for the modified date.

Tested the code by doing ninja check-libc (and cmake).

Reviewed By: sivachandra, rtenneti

Differential Revision: https://reviews.llvm.org/D96684
The file was addedlibc/src/time/time_utils.h
The file was modifiedlibc/src/time/mktime.cpp
The file was addedlibc/test/src/time/TmMatcher.h
The file was modifiedlibc/test/src/time/CMakeLists.txt
The file was modifiedlibc/test/src/time/mktime_test.cpp
The file was modifiedlibc/src/time/CMakeLists.txt
Commit 4125cabce1374209843393d1e9474efea58cbeaf by 18738953+ksyx
[GVN] Fix a typo in comment

NFC.

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

Reviewed By: fhahn
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
Commit ddd556f10e382e64003c98fa9308ce1860cc2ad6 by riddleriver
[mlir][pdl] Fix bug when ordering predicates

We should be ordering predicates with higher primary/secondary sums first, but we are currently ordering them last. This allows for predicates more frequently encountered to be checked first.

Differential Revision: https://reviews.llvm.org/D95715
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
The file was modifiedmlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
Commit 154cabe722de4d9837d49790e913d2b511f17d70 by riddleriver
[mlir][pdl][NFC] Extract the execution of each bytecode operation into its own function

This makes the implementation of each bytecode operation much easier to reason about, and lets the compiler decide which implementations are beneficial to inline into the main switch.

Differential Revision: https://reviews.llvm.org/D95716
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp
Commit 80bea4a0d58178e3077bc320282d4cdf07e9c1ca by rtenneti
[libc] [Obvious] Fix.
The file was modifiedlibc/src/time/time_utils.h
The file was modifiedlibc/src/time/mktime.cpp
Commit 871affc5e779b6004d8fe8071a3b1a353c5ca8a0 by kazu
[Analysis] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/CallGraphSCCPass.cpp
Commit 4ed47858ab7683729827af80c7b791c23249e627 by kazu
[llvm] Use llvm::drop_begin (NFC)
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 896d0e1a2a79caad35ede3385bbcfd7fe0702b43 by kazu
[Analysis] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/lib/Analysis/DivergenceAnalysis.cpp
The file was modifiedllvm/lib/Analysis/AliasSetTracker.cpp
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
Commit 468fa037b2a15a40f17329a995d058dda6049d28 by aeubanks
Only verify LazyCallGraph under expensive checks

These verify calls are causing a lot of slowdown on some files, up to 8x.
The LazyCallGraph infra has been tested a lot over the years, so I'm fairly confident that we don't always need to run the verifys.

These verifies took >90% of total time in one of the compilations I looked at.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D97225
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
Commit 481c62277d5669e15e6a0ec14240c5f5410ca954 by aqjune
[BuildLibCalls] Add noundef to allocator fns' size

This is a patch to explicitly mark the size parameter of allocator functions like malloc/realloc/... as noundef.

For C/C++: undef can be created from reading an uninitialized variable or padding.
Calling a function with uninitialized variable is already UB.
Calling malloc with padding value is.. something that's not expected. Padding bits may appear in a coerced aggregate, which doesn't apply to malloc's size.
Therefore, malloc's size can be marked as noundef.

For transformations that introduce malloc/realloc/..: I ran LLVM unit tests with an updated Alive2 semantics, and found no regression, so it seems okay.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D97045
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
Commit 881402ce62f7dbcf9704787b5d5d3ed691a30730 by sivachandra
[libc][NFC] Eliminate couple of dependencies on llvm/ADT/StringExtras.h.
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp
The file was modifiedlibc/utils/FPUtil/TestHelpers.cpp
Commit 99b0032ce0b8afa67a36da2b8c02cfcacdc561d1 by joker.eph
Move the MLIR integration tests as a subdirectory of test (NFC)

This does not change the behavior directly: the tests only run when
`-DMLIR_INCLUDE_INTEGRATION_TESTS=ON` is configured. However running
`ninja check-mlir` will not run all the tests within a single
lit invocation. The previous behavior would wait for all the integration
tests to complete before starting to run the first regular test. The
test results were also reported separately. This change is unifying all
of this and allow concurrent execution of the integration tests with
regular non-regression and unit-tests.

Differential Revision: https://reviews.llvm.org/D97241
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-flat-transpose-row.mlir
The file was addedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-broadcast.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ncdhw-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/lit.local.cfg
The file was removedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-contraction.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-ui4.mlir
The file was removedmlir/integration_test/Sparse/CPU/frostt-example.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-input-nhwc-filter-hwcf-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-maskedload.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-gather.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-i64.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
The file was addedmlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
The file was removedmlir/integration_test/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
The file was addedmlir/test/Integration/Dialect/LLVMIR/CPU/test-vector-reductions-int.mlir
The file was removedmlir/integration_test/CMakeLists.txt
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-broadcast.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-input-ncdhw-filter-dhwcf-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-compress.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-i64.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-insert-strided-slice.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-input-ndhwc-filter-dhwcf-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-transfer-write.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-ui4.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/AVX512/test-vp2intersect-i32.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-extract-slices.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-i4.mlir
The file was addedmlir/test/Integration/data/test.mtx
The file was addedmlir/test/Integration/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-si4.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-sparse-dot-matvec.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-call.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-call.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-maskedstore.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-shape-cast.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
The file was addedmlir/test/Integration/Dialect/Standard/CPU/test_subview.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-constant-mask.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-create-mask.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-create-mask.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-to-loops.mlir
The file was removedmlir/integration_test/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-input-ncdhw-filter-dhwcf-call.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-transfer-to-loops.mlir
The file was removedmlir/integration_test/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-print-int.mlir
The file was removedmlir/integration_test/Dialect/LLVMIR/CPU/X86/lit.local.cfg
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-input-nhwc-filter-hwcf-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-sparse-saxpy-jagged-matvec.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-flat-transpose-row.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-f64.mlir
The file was addedmlir/test/Integration/Dialect/Async/CPU/lit.local.cfg
The file was removedmlir/integration_test/Sparse/CPU/sparse_sum.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/AVX512/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-sparse-saxpy-jagged-matvec.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-nwc-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-maskedload.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-contraction.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-transpose.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nhwc-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-matrix-multiply-col.mlir
The file was addedmlir/test/Integration/Sparse/CPU/sparse_sampled_matmul.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-gather.mlir
The file was removedmlir/integration_test/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
The file was removedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-ncw-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-scatter.mlir
The file was removedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-int.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-tensor-e2e.mlir
The file was removedmlir/integration_test/Dialect/LLVMIR/CPU/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-f32.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-f32.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-compress.mlir
The file was addedmlir/test/Integration/Dialect/LLVMIR/CPU/X86/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-i64.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-extract-strided-slice.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-maskedstore.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-f32-reassoc.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-call.mlir
The file was removedmlir/integration_test/Sparse/CPU/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/LLVMIR/CPU/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-scatter.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-i64.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-i32.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ndhwc-call.mlir
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transpose.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-vector-distribute.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/rank-reducing-subview.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir
The file was removedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir
The file was addedmlir/test/Integration/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-fma.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-i32.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-i4.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-shape-cast.mlir
The file was addedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-input-nchw-filter-hwcf-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-shuffle.mlir
The file was removedmlir/integration_test/lit.cfg.py
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-matrix-multiply-row.mlir
The file was removedmlir/integration_test/data/test.tns
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-matmul.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-f32.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-vector-distribute.mlir
The file was addedmlir/test/Integration/Sparse/CPU/lit.local.cfg
The file was modifiedmlir/test/lit.cfg.py
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-flat-transpose-col.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-input-ncw-filter-wcf-call.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-input-nwc-filter-wcf-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-f64.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-elementwise.mlir
The file was modifiedmlir/CMakeLists.txt
The file was addedmlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-f64-reassoc.mlir
The file was addedmlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-input-ncw-filter-wcf-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-sparse-dot-matvec.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-insert-slices.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-input-ndhwc-filter-dhwcf-call.mlir
The file was removedmlir/integration_test/Sparse/CPU/sparse_sampled_matmul.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-matrix-multiply-row.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-print-int.mlir
The file was addedmlir/test/Integration/Sparse/CPU/matrix-market-example.mlir
The file was addedmlir/test/Integration/Sparse/CPU/frostt-example.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
The file was addedmlir/test/Integration/Sparse/CPU/sparse_sum.mlir
The file was addedmlir/test/Integration/data/test.tns
The file was removedmlir/integration_test/lit.site.cfg.py.in
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-extract-strided-slice.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-matrix-multiply-col.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-reductions-f32-reassoc.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-transfer-read.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-insert-slices.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-transfer-read-2d.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-ncw-call.mlir
The file was removedmlir/integration_test/Dialect/Standard/CPU/test_subview.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-f64-reassoc.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-input-nchw-filter-hwcf-call.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-reductions-si4.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-constant-mask.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/AVX512/lit.local.cfg
The file was removedmlir/integration_test/Dialect/Async/CPU/lit.local.cfg
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-subtensor-insert.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
The file was removedmlir/integration_test/Dialect/LLVMIR/CPU/X86/test-inline-asm.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-create-mask-v4i1.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read-2d.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-outerproduct-f32.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-shuffle.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ncdhw-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-extract-slices.mlir
The file was removedmlir/integration_test/data/test.mtx
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-expand.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-insert-strided-slice.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-fma.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir
The file was removedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-expand.mlir
The file was modifiedmlir/test/CMakeLists.txt
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-create-mask-v4i1.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-flat-transpose-col.mlir
The file was addedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-write.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-input-nwc-filter-wcf-call.mlir
The file was removedmlir/integration_test/Dialect/Vector/CPU/AVX512/test-vp2intersect-i32.mlir
The file was addedmlir/test/Integration/Dialect/Linalg/CPU/test-elementwise.mlir
Commit 5207151cf6527425f509db5a0f18fa97f678ff3e by anton.a.afanasyev
[SLP][Test] Add test for PR49081.ll
The file was addedllvm/test/Transforms/SLPVectorizer/X86/pr49081.ll
Commit 6e1affe71c79a1cb5ea9d805ff7baae5cba59c0e by Lang Hames
[docs][ORC] Fix section title and reference.
The file was modifiedllvm/docs/ORCv2.rst
Commit 18035991cdbbc24aba9ca4c7168cc0cf60d90c31 by i
[builtins] Replace __SOFT_FP__ with __SOFTFP__

Fix PR46294

Differential Revision: https://reviews.llvm.org/D82014
The file was modifiedcompiler-rt/lib/builtins/fixunssfdi.c
The file was modifiedcompiler-rt/lib/builtins/fixdfdi.c
The file was modifiedcompiler-rt/lib/builtins/floatdidf.c
The file was modifiedcompiler-rt/lib/builtins/floatundidf.c
The file was modifiedcompiler-rt/lib/builtins/fixsfdi.c
The file was modifiedcompiler-rt/lib/builtins/fixunsdfdi.c
Commit c61e511f38c8bbcf1b3a35cf1f63aa9f51b92679 by koraq
[NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage.

Seems line was accidentally left in
llvm-svn: 290924 86eebc5b658b5c2ccf2f4fbc16e8aee9880919a5

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D97211
The file was modifiedlibcxx/include/__bits
Commit 67e0d58de4d338add132838810db70218f1064d8 by kareem.ergawy
[MLIR][LinAlg] Start detensoring implementation.

This commit is the first baby step towards detensoring in
linalg-on-tensors.

Detensoring is the process through which a tensor value is convereted to one
or potentially more primitive value(s). During this process, operations with
such detensored operands are also converted to an equivalen form that works
on primitives.

The detensoring process is driven by linalg-on-tensor ops. In particular, a
linalg-on-tensor op is checked to see whether *all* its operands can be
detensored. If so, those operands are converted to thier primitive
counterparts and the linalg op is replaced by an equivalent op that takes
those new primitive values as operands.

This works towards handling github/google/iree#1159.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D96271
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was addedmlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was addedmlir/test/Dialect/Linalg/detensorized_0d.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
Commit b6876ddc82323ba1527acfd5004be39d594652ff by phosek
[CMake][profile] Don't use `TARGET lld` to avoid ordering issues

Depending on the order in which lld and compiler-rt projects are
processed by CMake, `TARGET lld` might evaluate to `TRUE` or `FALSE`
even though `lld-available` lit stanza is always set because lld is
being built. We check whether lld project is enabled instead which
is used by other compiler-rt tests.

The ideal solution here would be to use CMake generator expressions,
but those cannot be used for dependencies yet, see:
https://gitlab.kitware.com/cmake/cmake/-/issues/19467

Differential Revision: https://reviews.llvm.org/D97256
The file was modifiedcompiler-rt/test/profile/CMakeLists.txt
Commit 36ea1cac1a4226cc55866982104dc3de2cc194bf by jperier
[flang][NFC] Add source line to lowering TODO messages

- Add a fatal error handler that can print a message with source location
  before aborting.
- Update TODO macro to take an mlir location argument and to use the
  newly introduced fatal error handler.
- Introduce TODO_NOLOC for the few places where no source location is
  easily accessible.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D97190
The file was addedflang/include/flang/Optimizer/Support/FatalError.h
The file was modifiedflang/lib/Lower/OpenMP.cpp
The file was modifiedflang/lib/Lower/OpenACC.cpp
The file was modifiedflang/include/flang/Lower/Todo.h
Commit 28be9af0f8a412a1653200118326fa2b85fe2c81 by aqjune
[SimplifyCFG] Add tests for D97244 (NFC)
The file was modifiedllvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Commit edf2e967422abc89895fe5745a8c5d7d32a2a5e5 by aqjune
[SimplifyCFG] Minor tweaks to the added tests (NFC)
The file was modifiedllvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Commit 7195aaa5a8e219c4f19d4ccd27b629f41ecdf213 by craig.topper
[RISCV] Add test case for missed opportunity use bgez for the canonical form X > -1. NFC
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll
Commit 8f63cf5da3c098f5f16a1055d6e13d4bcf399a27 by Raphael Isemann
[lldb][NFC] Cleanup ValueObject construction code

Just code cleanup for ValueObject constructors:

* Use default member initializers where possible.
* Doxygenify the comments for membersa nd constructors where needed.
* Delete the default constructor which isn't defined.
* Initialize the bitfields via a utility struct instead of doing this in the
  different constructors.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D97199
The file was modifiedlldb/include/lldb/Core/ValueObject.h
The file was modifiedlldb/source/Core/ValueObjectSyntheticFilter.cpp
The file was modifiedlldb/source/Core/ValueObject.cpp
Commit 7c9c0a87c8aecbcebd9dfa8866f41b7926985457 by kadircet
[clang][DeclPrinter] Pass Context into StmtPrinter whenever possible

ASTContext were only passed to the StmtPrinter in some places, while it
is always available in DeclPrinter. The context is used by StmtPrinter to better
print statements in some cases, like printing constants as written.

Differential Revision: https://reviews.llvm.org/D97043
The file was modifiedclang/unittests/AST/DeclPrinterTest.cpp
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 72d5afa4acc3cb7fdeb6ead90cc8f446a48c1f9d by riddleriver
[mlir] Add a new debug action framework.

This revision adds the infrastructure for `Debug Actions`. This is a DEBUG only
API that allows for external entities to control various aspects of compiler
execution. This is conceptually similar to something like DebugCounters in LLVM, but at a lower level. This framework doesn't make any assumptions about how the higher level driver is controlling the execution, it merely provides a framework for connecting the two together. This means that on top of DebugCounter functionality, we could also provide more interesting drivers such as interactive execution. A high level overview of the workflow surrounding debug actions is
shown below:

*   Compiler developer defines an `action` that is taken by the a pass,
    transformation, utility that they are developing.
*   Depending on the needs, the developer dispatches various queries, pertaining
    to this action, to an `action manager` that will provide an answer as to
    what behavior the action should do.
*   An external entity registers an `action handler` with the action manager,
    and provides the logic to resolve queries on actions.

The exact definition of an `external entity` is left opaque, to allow for more
interesting handlers.

This framework was proposed here: https://llvm.discourse.group/t/rfc-debug-actions-in-mlir-debug-counters-for-the-modern-world

Differential Revision: https://reviews.llvm.org/D84986
The file was addedmlir/include/mlir/Support/DebugAction.h
The file was addedmlir/docs/DebugActions.md
The file was addedmlir/unittests/Support/DebugActionTest.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
The file was modifiedmlir/unittests/Support/CMakeLists.txt
Commit dc6a84fce617ab8367a84029d4ff3c698dc57dad by riddleriver
[mlir] Add support for DebugCounters using the new DebugAction infrastructure

DebugCounters allow for selectively enabling the execution of a debug action based upon a "counter". This counter is comprised of two components that are used in the control of execution of an action, a "skip" value and a "count" value. The "skip" value is used to skip a certain number of initial executions of a debug action. The "count" value is used to prevent a debug action from executing after it has executed for a set number of times (not including any executions that have been skipped). For example, a counter for a debug action with `skip=47` and `count=2`, would skip the first 47 executions, then execute twice, and finally prevent any further executions.

This is effectively the same as the DebugCounter infrastructure in LLVM, but using the DebugAction infrastructure in MLIR. We can't simply reuse the DebugCounter support already present in LLVM due to its heavy reliance on global constructors (which are not allowed in MLIR). The DebugAction infrastructure already nicely supports the debug counter use case, and promotes the separation of policy and mechanism design philosophy.

Differential Revision: https://reviews.llvm.org/D96395
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was addedmlir/include/mlir/Support/DebugCounter.h
The file was addedmlir/unittests/Support/DebugCounterTest.cpp
The file was modifiedmlir/lib/Support/CMakeLists.txt
The file was addedmlir/lib/Support/DebugCounter.cpp
The file was modifiedmlir/unittests/Support/CMakeLists.txt
The file was modifiedmlir/docs/DebugActions.md
Commit f8b9035aae4450b4c3c6c9e2a071ac06d520413a by chen3.liu
[X86] Support amx-int8 intrinsic.

Adding support for intrinsics of TDPBSUD/TDPBUSD/TDPBUUD.

Differential Revision: https://reviews.llvm.org/D97259
The file was modifiedclang/include/clang/Basic/BuiltinsX86_64.def
The file was modifiedclang/lib/Headers/amxintrin.h
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-tile-basic.ll
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedclang/test/CodeGen/X86/amx_api.c
The file was modifiedllvm/lib/Target/X86/X86LowerAMXType.cpp
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
Commit d77e3c6aec2916fdf7b8ab0ca08c550230244695 by Raphael Isemann
[lldb][NFC] Don't inherit from UserID in ValueObject

ValueObject inherits from UserID which is just a bad idea:

* The inheritance gives ValueObject some member functions that are at best
  misleading (such as `Clear()` which doesn't clear any value beside `id`).

* It allows passing ValueObject to the overloaded operators for UserID (such as
  `==` or `<<` which won't actually compare or print anything in the ValueObject).

* It exposes the `SetID` and `Clear` which both allow users to change the
  internal id value.

Similar to D91699 which did the same for Process

Reviewed By: #lldb, JDevlieghere

Differential Revision: https://reviews.llvm.org/D97205
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/include/lldb/Core/ValueObject.h
The file was modifiedlldb/source/DataFormatters/TypeSynthetic.cpp
Commit ebca13c665042d0aa1c1ffe064f100081045e818 by luismarques
[Sanitizer][NFC] Fix typo
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_size_class_map.h
Commit 16ede0956cb1f4b692dfa619ccfa6ab1de28e19b by mliska
Fix UBSAN in __ubsan::Value::getSIntValue

/home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.cpp:77:25: runtime error: left shift of 0x0000000000000000fffffffffffffffb by 96 places cannot be represented in type '__int128'
    #0 0x7ffff754edfe in __ubsan::Value::getSIntValue() const /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.cpp:77
    #1 0x7ffff7548719 in __ubsan::Value::isNegative() const /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.h:190
    #2 0x7ffff7542a34 in handleShiftOutOfBoundsImpl /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_handlers.cpp:338
    #3 0x7ffff75431b7 in __ubsan_handle_shift_out_of_bounds /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_handlers.cpp:370
    #4 0x40067f in main (/home/marxin/Programming/testcases/a.out+0x40067f)
    #5 0x7ffff72c8b24 in __libc_start_main (/lib64/libc.so.6+0x27b24)
    #6 0x4005bd in _start (/home/marxin/Programming/testcases/a.out+0x4005bd)

Differential Revision: https://reviews.llvm.org/D97263
The file was modifiedcompiler-rt/lib/ubsan/ubsan_value.cpp
Commit 03310c1e952d0bf7aa84b8ed06809aa7ea1deb9b by Raphael Isemann
[lldb][NFC] Give CompilerType's IsArrayType/IsVectorType/IsBlockPointerType out-parameters default values

We already do this for most functions that have out-parameters, so let's do
the same here and avoid all the `nullptr, nullptr, nullptr` in every call.
The file was modifiedlldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/include/lldb/Symbol/CompilerType.h
The file was modifiedlldb/source/DataFormatters/VectorType.cpp
The file was modifiedlldb/source/Symbol/CompilerType.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/LibCxxBitset.cpp
Commit 612d0ef1732f491ceec22249dc2dbf50df4353c0 by sven.vanhaastregt
[OpenCL] Move remaining defines to opencl-c-base.h

Move any remaining preprocessor defines from `opencl-c.h` to
`opencl-c-base.h`, such that they are shared with
`-fdeclare-opencl-builtins` too.

In particular, move:
- the `as_type` and `as_typen` definitions, and
- the `kernel_exec` and `__kernel_exec` definitions.

Also clang-format the changes.

Differential Revision: https://reviews.llvm.org/D96948
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/lib/Headers/opencl-c.h
Commit 1fff7c892452b26c17844c7b651ef4959c316c1a by frgossen
Fix unused variable
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp
Commit dd68f3cf2899c554cab7baf3ccdcd3f987d77736 by fraser
[RISCV] Support insertion of misaligned subvectors

This patch extends the support for RVV INSERT_SUBVECTOR to cover those
which don't align to a vector register boundary. Like the support for
EXTRACT_SUBVECTOR in D96959, it accomplishes this by extracting the
nearest register-sized subvector (a subregister operation), then sliding
the vector down with VSLIDEDOWN, inserting the subvector to the first
position, and sliding the vector back up again afterwards.

Unlike subvector extraction, for vectors that occupy less than a full
vector register we must preserve the untouched elements. We do this by
lowering to an LMUL=1 INSERT_SUBVECTOR using the above method and
lowering that to a VSLIDEUP with a zero offset. This uses a
tail-undisturbed policy and so has the effect of "sliding in" the
subvector elements while preserving the surrounding ones.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D96972
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 7dc98adbb0e274934410b78f0a3c45762326325c by wingo
Revert "[WebAssembly] call_indirect issues table number relocs"

This reverts commit 861dbe1a021e6439af837b72b219fb9c449a57ae.  It broke
emscripten -- see https://reviews.llvm.org/D90948#2578843.
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/multivalue.ll
The file was modifiedllvm/test/MC/WebAssembly/tail-call-encodings.s
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
The file was modifiedllvm/test/MC/WebAssembly/reloc-code.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
The file was removedllvm/test/MC/WebAssembly/call-indirect-relocs.s
The file was modifiedllvm/include/llvm/MC/MCSymbolWasm.h
The file was modifiedllvm/test/MC/WebAssembly/basic-assembly.s
The file was modifiedllvm/test/MC/WebAssembly/weak-alias.s
The file was modifiedllvm/test/CodeGen/WebAssembly/function-pointer64.ll
The file was modifiedllvm/test/MC/WebAssembly/function-alias.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/test/MC/WebAssembly/type-index.s
The file was modifiedlld/test/wasm/compress-relocs.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/test/MC/WebAssembly/reloc-pic.s
Commit ebb6583e02c46293987567b4e9835d10c9841a4d by david.green
[ARM] Add pre/post inc tests of various sizes. NFC
The file was addedllvm/test/CodeGen/ARM/store-postinc.ll
The file was addedllvm/test/CodeGen/ARM/store-preinc.ll
Commit bda83ba0d296303dff02d262cab73dc984cda3c1 by Raphael Isemann
[lldb][NFC] Clean up ValueObject comments

* Remove commented out code.
* Doxygenify comments that serve as documentation.
* Use the LLVM comment style where possible.
The file was modifiedlldb/include/lldb/Core/ValueObject.h
The file was modifiedlldb/include/lldb/Core/ValueObjectMemory.h
The file was modifiedlldb/include/lldb/Core/ValueObjectSyntheticFilter.h
The file was modifiedlldb/include/lldb/Core/ValueObjectDynamicValue.h
The file was modifiedlldb/include/lldb/Core/ValueObjectChild.h
The file was modifiedlldb/include/lldb/Core/ValueObjectConstResultImpl.h
The file was modifiedlldb/include/lldb/Core/ValueObjectCast.h
The file was modifiedlldb/include/lldb/Core/ValueObjectList.h
The file was modifiedlldb/include/lldb/Core/ValueObjectConstResult.h
The file was modifiedlldb/include/lldb/Core/ValueObjectVariable.h
Commit 875b3b2cdda105c01af9a1330b1cb6a3f1e1b822 by a.v.lapshin
[Support] Add reserve() method to the raw_ostream.

If resulting size of the output stream is already known,
then the space for stream data could be preliminary
allocated in some cases. f.e. raw_string_ostream could
preallocate the space for the target string(it allows
to avoid reallocations during writing into the stream).

Differential Revision: https://reviews.llvm.org/D91693
The file was modifiedllvm/include/llvm/Support/raw_ostream.h
The file was modifiedllvm/unittests/Support/raw_ostream_test.cpp
Commit bea2d5e47867687c8d2f95bd70ed9a77d19eeb6e by Raphael Isemann
[lldb][NFC] Remove unused ValueObject::LogValueObject functions

Those functions aren't called anywhere. For debugging purposes we usually
have Dump() methods (which already exist in some semi-functional form in
ValueObject).
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/include/lldb/Core/ValueObject.h
Commit 551ba727603cd6561af740fc3bc8ecfc5a126796 by nicolas.vasilache
[mlir] NFC - Use declarative assembly for scf::YieldOp
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
Commit 67a326098c7c32f3d6eeea7357d83eac4ff996be by llvm-dev
Fix Wdocumentation parameter warning. NFCI.
The file was modifiedclang/include/clang/AST/OpenMPClause.h
Commit 8cf14b8deca1a52d4788b34e854877e37d4f96e1 by nicolas.vasilache
[mlir][Linalg] Retire hoistViewAllocOps.

This transformation was only used for quick experimentation and is not general enough.
Retire it.

Differential Revision: https://reviews.llvm.org/D97266
The file was modifiedmlir/test/Dialect/Linalg/hoisting.mlir
The file was modifiedmlir/test/lib/Transforms/TestConvVectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
The file was modifiedmlir/test/lib/Transforms/TestLinalgHoisting.cpp
Commit 90355d6f10765d03af1bfcc1ab3d17e8cae330f1 by anastasia.stulova
[OpenCL][Docs] Change description for the OpenCL standard headers.

After updating the user interface in D96515, update the docs
reflecting the new approach.

Tags: #clang

Differential Revision: https://reviews.llvm.org/D96616
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/docs/OpenCLSupport.rst
Commit 53c4c2b9f7328a8b80ecfd1fc60387d0f910cc2f by kai.wang
[RISCV] vle1.v/vse1.v should be unmasked instructions.

vle1.v/vse1.v should be unmasked instructions. The vm encoding is 1 for
unmasked instructions.

Differential Revision: https://reviews.llvm.org/D97237
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoV.td
The file was modifiedllvm/test/MC/RISCV/rvv/load.s
The file was modifiedllvm/test/MC/RISCV/rvv/store.s
Commit 633e090528dbc9b6dd380771046af8463bbb5fe1 by flo
[DSE] Allow ptrs defined in the entry block in IsGuaranteedLoopInvariant.

The **IsGuaranteedLoopInvariant** function is making sure to check if the
incoming pointer is guaranteed to be loop invariant, therefore I think
the case where the pointer is defined in the entry block of a function
automatically guarantees the pointer to be loop invariant, as the entry
block of a function cannot have predecessors or be part of a loop.

I implemented this small patch and tested it using
**ninja check-llvm-unit** and **ninja check-llvm**. I added a contained test
file that shows the problem and used **opt -O3 -debug** on it to make sure
the case is not currently handled (in fact the debug log is showing that
the DSE pass is bailing out when testing if the killer store is able to
clobber the dead store).

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D96979
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was addedllvm/test/Transforms/DeadStoreElimination/MSSA/loop-invariant-entry-block.ll
Commit 6c78711f106fe01cd8c8c85a5c42953035453135 by n.james93
[clang-tidy] Install run-clang-tidy.py in bin/ as run-clang-tidy

The run-clang-tidy.py helper script is supposed to be used by the
user, hence it should be placed in the user's PATH. Some
distributions, like Gentoo [1], won't have it in PATH unless it is
installed in bin/.

Furthermore, installed scripts in PATH usually do not carry a filename
extension, since there is no need to know that this is a Python
script. For example Debian and Ubuntu already install this script as
'run-clang-tidy' [2] and hence build systems like Meson also look for
this name first [3]. Hence we install run-clang-tidy.py as
run-clang-tidy, as suggested by Sylvestre Ledru [4].

1: https://bugs.gentoo.org/753380
2: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/60aefb14171ab5c3867a0081844b507fc9f6e015/debian/clang-tidy-X.Y.links.in#L2
3: https://github.com/mesonbuild/meson/blob/b6dc4d5e5c6e838de0b52e62d982ba2547eb366d/mesonbuild/scripts/clangtidy.py#L44
4: https://reviews.llvm.org/D90972#2380640

Reviewed By: sylvestre.ledru, JonasToth

Differential Revision: https://reviews.llvm.org/D90972
The file was modifiedclang-tools-extra/clang-tidy/tool/CMakeLists.txt
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 64d06ed9c9e0389cd27545d2f6e20455a91d89b1 by tbaeder
[clang][parse][NFC] Remove dead ProhibitAttributes() call

GNU-style attribute in enum bodies are allowed (and used by several
tests), and this call to ProhibitAttributes() was dead code.

Differential Revision: https://reviews.llvm.org/D97271
The file was modifiedclang/lib/Parse/ParseDecl.cpp
Commit 5bf710b2a50055f8fb3c159f5805e74e041bceb1 by n.james93
[clang-tidy] Update checks list.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
Commit bd4b61efbdb487124c8bcc3027d628c8c3547c4f by david.green
[CostModel] Remove VF from IntrinsicCostAttributes

getIntrinsicInstrCost takes a IntrinsicCostAttributes holding various
parameters of the intrinsic being costed. It can either be called with a
scalar intrinsic (RetTy==Scalar, VF==1), with a vector instruction
(RetTy==Vector, VF==1) or from the vectorizer with a scalar type and
vector width (RetTy==Scalar, VF>1). A RetTy==Vector, VF>1 is considered
an error. Both of the vector modes are expected to be treated the same,
but because this is confusing many backends end up getting it wrong.

Instead of trying work with those two values separately this removes the
VF parameter, widening the RetTy/ArgTys by VF used called from the
vectorizer. This keeps things simpler, but does require some other
modifications to keep things consistent.

Most backends look like this will be an improvement (or were not using
getIntrinsicInstrCost). AMDGPU needed the most changes to keep the code
from c230965ccf36af5c88c working. ARM removed the fix in
dfac521da1b90db683, webassembly happens to get a fixup for an SLP cost
issue and both X86 and AArch64 seem to now be using better costs from
the vectorizer.

Differential Revision: https://reviews.llvm.org/D95291
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
Commit dd2dbf7ee2e5cdf4b794b09f8bb92e2a75e9b802 by david.green
[TTI] Change getOperandsScalarizationOverhead to take Type args

As a followup to D95291, getOperandsScalarizationOverhead was still
using a VF as a vector factor if the arguments were scalar, and would
assert on certain matrix intrinsics with differently sized vector
arguments. This patch removes the VF arg, instead passing the Types
through directly. This should allow it to more accurately compute the
cost without having to guess at which operands will be vectorized,
something difficult with more complex intrinsics.

This adjusts one SVE test as it is now calling the wrong intrinsic vs
veccall. Without invalid InstructCosts the cost of the scalarized
intrinsic is too low. This should get fixed when the cost of
scalarization is accounted for with scalable types.

Differential Revision: https://reviews.llvm.org/D96287
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was addedllvm/test/Analysis/CostModel/PowerPC/matrix.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit e1c3bf6afe09851537ff376ab20714dfd5f9649d by sjoerd.meijer
[ARM] do not consider sp as deprecated for ldm/stm

Early versions of the ARMv7 reference manuals considered the sp register
as a deprecated register for ldm/stm familiy of instructions. However,
later versions such as ARM DDI 0406C.d added a note to the Appendix:

D9.3 Use of the SP as a general-purpose register
Most ARM instructions, unlike Thumb instructions, provide exactly the
same access to the SP as to R0-R12. This means that it is possible to
use the SP as a general-purpose register.  Earlier issues of this manual
deprecated the use of SP in an ARM instruction, in any way that is
deprecated, not permitted, or not possible in the corresponding
Thumb instruction. However, user feedback indicates a number of cases
where these instructions are useful. Therefore, ARM no longer deprecates
these instruction uses.
Also Armv8 manuals no longer consider SP as deprecated register for ldm/
stm A32 instructions.

Furthermore, GNU as also does not print a deprecated warning when using
SP with those instructions.

Drop deprecation warning for pop/ldm/push/stm instructions.

Patch by: Stefan Agner.

Differential Revision: https://reviews.llvm.org/D82692
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
The file was modifiedllvm/test/MC/ARM/arm-load-store-multiple-deprecated.s
The file was modifiedllvm/test/CodeGen/ARM/deprecated-asm.s
Commit fdaa2d02591b10c96ca8705041dfc75fcbf97095 by jay.foad
[AMDGPU] Use divergent addresses for vector loads

Change some test cases to use divergent addresses for vector loads,
which should be the common case in real world code. Using uniform
addresses causes poor instruction selection for the surrounding
code which has to be fixed up post-register-allocation, and this causes
a lot of testsuite churn for a forthcoming patch to stop selecting
24-bit vector multiply instructions for uniform multiplies.

This shows up some problems in the idot tests where we fail to select
v_dot instructions because the patterns only match MUL_[UI]24 ISD nodes,
but the DAG contains i16 mul nodes instead.

Differential Revision: https://reviews.llvm.org/D97062
The file was modifiedllvm/test/CodeGen/AMDGPU/idot2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4u.ll
Commit 2315410f578c2c62c224a1665fe4597bef1b4029 by llvm-dev
[X86] Cleanup overflow test check prefixes. NFCI.

Tidy up the check prefixes to improve reuse.
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_uaddo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_usubo.ll
Commit 2f75363a9e138429d5c80ca0a541247a5bc70614 by mgorny
[lldb] [test] Un-XFAIL a test that no longer fail on FreeBSD
The file was modifiedlldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
Commit 6c06b0aa5a5534a370532c287cf35a96eeb2146e by mgorny
[lldb] [test] Un-XFAIL TestBuiltinTrap on FreeBSD/aarch64
The file was modifiedlldb/test/API/linux/builtin_trap/TestBuiltinTrap.py
Commit 2c54b293373ce22cd912ea50fece504b26f2bdc4 by 1.int32
[clang-tidy] Extending bugprone-signal-handler with POSIX functions.

An option is added to the check to select wich set of functions is
defined as asynchronous-safe functions.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D90851
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-signal-handler-posix.c
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-signal-handler-minimal.c
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-signal-handler.rst
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdlib.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/signal.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/system-other.h
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/unistd.h
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-signal-handler.c
Commit 1b1b30cf0f7d9619afb32e16f4a7c007da4ffccf by joe.ellis
[clang][SVE] Don't warn on vector to sizeless builtin implicit conversion

This commit prevents warnings from -Wconversion when a clang vector type
is implicitly converted to a sizeless builtin type -- for example, when
implicitly converting a fixed-predicate to a scalable predicate.

The code below:

     1    #include <arm_sve.h>
     2
     3    #define N __ARM_FEATURE_SVE_BITS
     4    #define FIXED_ATTR __attribute__((arm_sve_vector_bits (N)))
     5    typedef svbool_t fixed_svbool_t FIXED_ATTR;
     6
     7    inline fixed_svbool_t foo(fixed_svbool_t p) {
     8      return svnot_z(svptrue_b64(), p);
     9    }

would previously raise this warning:

    warning: implicit conversion turns vector to scalar: \
    'fixed_svbool_t' (vector of 8 'unsigned char' values) to 'svbool_t' \
    (aka '__SVBool_t') [-Wconversion]

Note that many cases of these implicit conversions were already
permitted because many functions inside arm_sve.h are spawned via
preprocessor macros, and the call to isInSystemMacro would cover us in
this case. This commit fixes the remaining cases.

Differential Revision: https://reviews.llvm.org/D97053
The file was modifiedclang/test/SemaCXX/attr-arm-sve-vector-bits.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit e96f9cca3b1b346cf9764c4a3b7417a46ef59f12 by n.james93
[clang-tidy] Remove IncludeInserter from MoveConstructorInit check.

This check registers an IncludeInserter, however the check itself doesn't actually emit any fixes or includes, so the inserter is redundant.

From what I can tell the fixes were removed in D26453(rL290051) but the inserter was left in, probably an oversight.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97243
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-move-constructor-init.rst
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h
Commit f97ea0d5b3f5e82a8d96ea57d68c12d22c2eab36 by martin
[libcxx] [test] Define _CRT_STDIO_ISO_WIDE_SPECIFIERS while building tests

This matches how libc++ itself is built. This avoids errors due to
mismatch if linking libc++ statically.

Differential Revision: https://reviews.llvm.org/D97169
The file was modifiedlibcxx/utils/libcxx/test/config.py

Summary

  1. Some builders.py cleaning. (details)
  2. NFC. Better names, more logs. (details)
  3. NFC. Changed getLntSchedulers() to follow the code style of the rest of the file. (details)
  4. And missing import log. (details)
  5. Added builders to build the release/* branches. (details)
  6. One GitHubStatusPush reporter is enough for our needs. (details)
  7. Have the buildbot email me when there is a failure on the sie-linux-builder builder. (details)
  8. Add flang debug new driver buildbot. (details)
  9. Add flang release buildbot. (details)
  10. Add flang release with assertions buildbot. (details)
  11. [zorg] Add buildbot for libcxx build on AIX (details)
  12. deployed new mlir-nvidia image (details)
  13. [clangd-ubuntu-clang] increased RAM (details)
  14. fixed typo in comment (details)
  15. [clangd-ubuntu-clang] improved startup error logging (details)
Commit dbb86b2e37119e09d96d410b9066764663e74f5f by gkistanova
Some builders.py cleaning.
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 8fcbe87507f19eb3149677941f3871c2f9fa214a by gkistanova
NFC. Better names, more logs.
The file was modifiedbuildbot/osuosl/master/config/schedulers.py
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 40fad5ed61e6190c6c42b8d199361153cc13a3d9 by gkistanova
NFC. Changed getLntSchedulers() to follow the code style of the rest of the file.
The file was modifiedbuildbot/osuosl/master/config/schedulers.py
Commit 715a15486bbe10f1b421ed629f002963982413ae by gkistanova
And missing import log.
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit a7c344aac55c844c0cac774dce06df783229151b by gkistanova
Added builders to build the release/* branches.
The file was modifiedbuildbot/osuosl/master/config/__init__.py
The file was addedbuildbot/osuosl/master/config/release_builders.py
The file was modifiedbuildbot/osuosl/master/master.cfg
The file was modifiedbuildbot/osuosl/master/config/status.py
The file was modifiedzorg/buildbot/changes/llvmgitpoller.py
The file was modifiedbuildbot/osuosl/master/config/schedulers.py
Commit c8a67928ed444d3b1111398665d578be68d53cc5 by gkistanova
One GitHubStatusPush reporter is enough for our needs.
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 84a9d7a9404c6afc2e9432681d4d5ae6d79734fa by douglas.yung
Have the buildbot email me when there is a failure on the sie-linux-builder builder.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D97180
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 16dde5b4a4344e703f4ed51f80126fd12535243f by stevan.radakovic
Add flang debug new driver buildbot.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D96859
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit c51fdf187b3a2a47d78f201665cc51c45be2c217 by stevan.radakovic
Add flang release buildbot.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D96857
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit 5f46a1d9280bc1ced2f35e6522c9be284802c4fb by stevan.radakovic
Add flang release with assertions buildbot.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D96858
The file was modifiedbuildbot/osuosl/master/config/workers.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit b656c613b72eabc1f0dec29df6d4e39a194c1b32 by Xiangling.Liao
[zorg] Add buildbot for libcxx build on AIX
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit 03210ece021604fc0f1c15cd35684056cf3203d1 by kuhnel
deployed new mlir-nvidia image
The file was modifiedbuildbot/google/docker/buildbot-mlir-nvidia/VERSION
The file was modifiedbuildbot/google/terraform/deployment-mlir-nvidia-production.yaml
Commit b7a5b46b65e71451e97d72a5eb331a1cc2f4a01f by kuhnel
[clangd-ubuntu-clang] increased RAM

This fixes the out of memory issues when building with TSAN enabled.
The file was modifiedbuildbot/google/terraform/main.tf
Commit c3af800b7ac0cf2ca57621924e29ce832db378ad by kuhnel
fixed typo in comment
The file was modifiedbuildbot/google/docker/buildbot-clangd-ubuntu-clang/run.sh
Commit 41846a7dad69794a2741e2bec02ddaa56be21a59 by kuhnel
[clangd-ubuntu-clang] improved startup error logging
The file was modifiedbuildbot/google/docker/buildbot-clangd-ubuntu-clang/VERSION
The file was modifiedbuildbot/google/docker/buildbot-clangd-ubuntu-clang/run.sh
The file was modifiedbuildbot/google/terraform/main.tf