Changes

Summary

  1. DWARFDie.cpp: Reduce indentation with early continue (details)
  2. DWARFDie:DWARFTypePrinter: Add common utility function for checking where parentheses are required (details)
  3. [RISCV] Optimize (add (shl x, c0), (shl y, c1)) with SH*ADD (details)
  4. llvm/cmake: fix a typo (details)
  5. [X86][Atom] Fix (U)COMISS/SD uops, latency and throughput (details)
  6. [mlir][emitc] Fix indent in CondBranchOp and block label (details)
  7. [ARM] Add VGETLANEu patterns for v4f16 and v8f16 (details)
  8. [InstCombine] add/adjust tests for min/max intrinsics; NFC (details)
  9. [X86] combineX86ShufflesRecursively(): call SimplifyMultipleUseDemandedVectorElts() on after finishing recursing (details)
  10. [NFC] combineX86ShufflesRecursively(): actually address nits for previous patch (details)
  11. [X86] lowerShuffleAsDecomposedShuffleMerge(): if both inputs are broadcastable/identities, canonicalize broadcasts as such (details)
  12. [X86][TLI] SimplifyDemandedVectorEltsForTargetNode(): don't break apart broadcasts from which not just the 0'th elt is demanded (details)
  13. [X86][Atom] Specific uops for all IMUL/IDIV instructions (details)
  14. llvm-dwarfdump: Refactor type pretty printing tests (details)
  15. [X86] Fold SHUFPS(shuffle(x),shuffle(y),mask) -> SHUFPS(x,y,mask') (details)
  16. [X86][Atom] Fix FP uops + port usage (details)
  17. DWARFDie: Improve type printing for function and array types - with qualifiers (cv/reference) and pointers to them (details)
  18. DWARFDie.cpp: Minor follow-up clang-format (details)
  19. [X86] Add test cases for pr51908. NFC (details)
  20. [X86] Remove Commutable flag from mpsadbw intrinsics. (details)
  21. llvm-dwarfdump: Pretty printing types including a space between const and parenthesized references/pointers to arrays (details)
  22. [DebugInfo][LSR] Emit shorter expressions from scev-based salvaging (details)
  23. [llvm] Use pop_back_val (NFC) (details)
  24. [X86] SimplifyDemandedBits - only narrow a broadcast source if we only have one use. (details)
  25. llvm-dwarfdump: Pretty print names qualified/with scopes (details)
  26. llvm-dwarfdump: Don't print even an empty string when a type is unprintable (details)
  27. llvm-dwarfdump: support for type printing "decltype(nullptr)" as "nullptr_t" (details)
  28. llvm-dwarfdump: pretty type printing: print fully qualified names in function type parameter types (details)
  29. [SCEV] Support negative values in signed/unsigned predicate reasoning (details)
  30. [libc] Add implementations of div, ldiv, lldiv and imaxdiv. (details)
  31. Revert "Revert "[IndVars] Replace PHIs if loop exits on 1st iteration"" (details)
  32. [NFC] Add assert and test showing that revert of D109596 wasn't justified (details)
  33. [libc][obvious] Make *abs and *div functions buildable in default mode. (details)
  34. [libc][obvious] Add inttypes.h and stdlib.h as deps to *div functions. (details)
  35. [lldb] Remove two #ifndef linux from Platform.cpp (details)
  36. [mlir][NFC] Add explicit "::mlir" namespace to tblgen generated code (details)
  37. [mlir] Fix bug in partial dialect conversion (details)
  38. [MLIR] Simplex::appendVariable: early return if count == 0 (details)
  39. [CMake] Add debuginfo-tests to LLVM_ALL_PROJECTS after D110016 (details)
  40. [CaptureTracking] Allow passing LI to PointerMayBeCapturedBefore (NFC). (details)
  41. [MLIR][Linalg] Make detensoring cost-model more flexible. (details)
  42. [lldb] [gdb-remote] Remove unused arg from GDBRemoteRegisterContext::ReadRegisterBytes() (details)
  43. [lldb] [gdb-remote] Recognize aarch64v type from gdbserver (details)
  44. Revert "[AArch64][SVE] Teach cost model that masked loads/stores are cheap" (details)
  45. [mlir] Fix integration tests failures introduced in D108505 (details)
  46. AArch64: use ldp/stp for 128-bit atomic load/store in v.84 onwards (details)
  47. [OpenCL] Supports optional writing to 3d images in C++ for OpenCL 2021 (details)
  48. Add myself as a code owner for SYCL support (details)
  49. [clang][NFC] Remove dead code (details)
  50. [NewPM] Make InlinerPass (aka 'inline') a parameterized pass (details)
  51. [GlobalISel] Improve elimination of dead instructions in legalizer (details)
  52. [lldb] [gdb-remote] Always send PID when detaching w/ multiprocess (details)
  53. [mlir][openacc] Make use of the second counter extension in DataOp translation (details)
  54. [MCA] InstructionTables::execute() - use const-ref iterator in for-range loop. NFCI. (details)
  55. [X86] X86TargetTransformInfo - remove unnecessary if-else after early exit. NFCI. (details)
  56. MachOObjectFile - checkOverlappingElement - use const-ref to avoid unnecessary copies. NFCI. (details)
  57. Fix CLANG_ENABLE_STATIC_ANALYZER=OFF building all analyzer source (details)
  58. pre-commit test for D109767 (details)
  59. [update_mir_test_checks.py] Use -NEXT FileCheck directories (details)
  60. [ARM] MVE reverse shuffles. (details)
  61. [Clang] [Fix] Clang build fails when build directory contains space character (details)
  62. [lldb] [test] Add unittest for DynamicRegisterInfo::Finalize() (details)
  63. [lldb] [DynamicRegisterInfo] Unset value_regs/invalidate_regs before Finalize() (details)
  64. Thread safety analysis: Drop special block handling (details)
  65. [JITLink] Adopt forEachRelocation() helper in ELF x86-64 backend (NFC) (details)
  66. [JITLink] Adopt forEachRelocation() helper in ELF RISCV backend (NFC) (details)
  67. [AMDGPU] Regenerate checks (details)
  68. [Analysis] Add support for vscale in computeKnownBitsFromOperator (details)
  69. [analyzer] Move docs of SmartPtr to correct subcategory (details)
  70. [mlir][linalg] Fusion on tensors. (details)
  71. [clangd] Bail-out when an empty compile flag is encountered (details)
  72. [OpenCL] Supports atomics in C++ for OpenCL 2021 (details)
  73. [X86] Add test to show the effect caused by D109607. NFC (details)
  74. [X86] Always check the size of SourceTy before getting the next type (details)
  75. [flang] Put intrinsic function table back into order (details)
  76. [SLP]Improve graph reordering. (details)
  77. [mlir][linalg] Fix typo (NFC). (details)
  78. [MLIR][SCF] Add for-to-while loop transformation pass (details)
  79. [mlir][linalg] Add IndexOp support to fusion on tensors. (details)
  80. [DSE] Add additional tests to cover review comments. (details)
  81. [lldb] Fix whitespace in CommandObjectTarget (NFC) (details)
  82. [lldb] Extract adding symbols for UUID/File/Frame (NFC) (details)
  83. [Verifier] Verify scoped noalias metadata (details)
  84. [ELF] Don't fall back to .text for e_entry (details)
  85. [RISCV] Add a pass to recognize VLS strided loads/store from gather/scatter. (details)
  86. [gn build] Port d85e347a28dc (details)
  87. [MCA] Fix a warning (details)
  88. [Verifier] Try to fix MSVC build (details)
  89. [ELF] Add --why-extract= to query why archive members/lazy object files are extracted (details)
  90. [lld] Remove timers.ll because inconsistent timers behavior causes the test to fail sometimes (details)
  91. Add use_default_shell_env = True to ctx.actions.run (details)
  92. Temporarily XFAIL MLIR test that fails the LLVM verifier after 8700f2bd3 (details)
  93. Revert "[MLIR][SCF] Add for-to-while loop transformation pass" (details)
  94. [NCF][OpenMP] Fix metadirective test on SystemZ (details)
  95. [lldb][crashlog] Avoid specifying arch for image when a UUID is present (details)
  96. [RISCV] Add test cases showing failure to use .vf vector operations when splat is in another basic block. NFC (details)
  97. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for FAdd/FSub/FMul/FDiv. (details)
  98. Eliminate _LIBCPP_EQUAL_DELETE in favor of `=delete`. (details)
  99. Revert code change of D63497 & D74399 for riscv64-*-linux GCC detection (details)
  100. Revert "[CMake] Add debuginfo-tests to LLVM_ALL_PROJECTS after D110016" (details)
  101. [mlir][Linalg] Add ConvolutionOpInterface. (details)
  102. Diagnose -Wunused-value based on CFG reachability (details)
  103. Fix bad merge the removed switch case (details)
  104. [OpenMP][host runtime] Fix indirect lock table race condition (details)
  105. [mlir][MemRef] Compute unused dimensions of a rank-reducing subviews using strides as well. (details)
  106. [IR] Add helper to convert offset to GEP indices (details)
  107. [gn build] Don't pass -Wl,-z,defs for sanitizer builds (details)
  108. [lldb][NFC] Remove outdated FIXME (details)
  109. [libc++] [LIBCXX-DEBUG-FIXME] Constexpr char_traits::copy mustn't compare unrelated pointers. (details)
  110. [libc++] [P0919] Some belated review on D87171. (details)
  111. [RISCV] Add test cases for missed opportunity to use vfmacc.vf. NFC (details)
  112. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for FMA. (details)
  113. [cmake] Put check from D110016 behind (default-on) flag (details)
  114. Revert "Fix CLANG_ENABLE_STATIC_ANALYZER=OFF building all analyzer source" (details)
  115. [DebugInfo] Add test for dumping DW_AT_defaulted (details)
  116. [RISCV] Add test cases for missed opportunities to use vand/vor/vxor.vx. NFC (details)
  117. [NFC] [hwasan] Separate outline and inline instrumentation. (details)
  118. [Polly] Partially fix scoped alias metadata (details)
  119. [OpenMP][NVPTX] Fix a warning that data argument not used by format string (details)
  120. Sema: relax va_start checking further for Windows AArch64 (details)
  121. [GlobalISel] Implement support for the "trap-func-name" attribute. (details)
  122. [AMDGPU][NFC] Correct typos in lib/Target/AMDGPU/AMDGPU*.cpp files. Test commit for new contributor. (details)
  123. [mlir][tosa] Remove the documentation requirement for elements of several binary elementwise ops to be of the same rank. (details)
  124. [clang] Fix a few comment typos to cycle bots (details)
  125. [mlir][tosa] Add several binary elementwise to the list of broadcastable ops. (details)
  126. [X86] Rename the X86WinAllocaExpander pass and related symbols to "DynAlloca". NFC. (details)
  127. Update MLIR generate-test-checks.py to add the notice from the source into the generated file (details)
  128. [mlir-tblgen] Add DagNode StaticMatcher. (details)
  129. [clang] Fix a few comment more typos to cycle bots (details)
  130. [clang] Fix a few more comment typos to cycle bots (details)
  131. [InstCombine] Eliminate vector reverse if all inputs/outputs to an instruction are reverses (details)
  132. [mlir][python] Forward _OperationBase _CAPIPtr to the Operation. (details)
  133. [mlir] Tighten verification of SparseElementsAttr (details)
  134. [mlir] Add value_begin/value_end methods to DenseElementsAttr (details)
  135. [mlir] Refactor ElementsAttr into an AttrInterface (details)
  136. [llvm] Use make_early_inc_range (NFC) (details)
  137. [NFC] Rename Context->CtxI in SCEV for uniformity reasons (details)
  138. [Polly] Don't generate inter-iteration noalias metadata. (details)
  139. [SimplifyCFG] Redirect switch cases that lead to UB into an unreachable block (details)
  140. [OpAsmParser] Add a parseCommaSeparatedList helper and beef up Delimeter. (details)
  141. BPF: make 32bit register spill with 64bit alignment (details)
  142. [SCEV] Generalize implication when signedness of FoundPred doesn't matter (details)
  143. [GlobalISel][Legalizer] Don't use eraseFromParentAndMarkDBGValuesForRemoval() for some artifacts. (details)
  144. [DSE][NFC] Rename Later->Killing, Earlier->Dead (details)
  145. [GlobalISel][Legalizer] Use ArtifactValueFinder first for unmerge combines before trying others. (details)
  146. [clangd] Deduplicate inlay hints (details)
  147. [MLIR] Add mergeLocalIds and mergeSymbolIds (details)
  148. [lldb] Speculative fix to TestGuiExpandThreadsTree (details)
  149. [MLIR][SCF] Add for-to-while loop transformation pass (details)
  150. [PowerPC] NFC: Remove unused tblgen template args (details)
  151. Add CMAKE_BUILD_TYPE to the list of BOOTSTRAP_DEFAULT_PASSTHROUGH variables (details)
  152. [flang][docs] Document plugin limitations (details)
  153. [MLIR] NFC. gpu.launch op argument const folder cleanup (details)
  154. [OpenCL] Test case for C++ for OpenCL 2021 in OpenCL C header test (details)
  155. [LowerConstantIntrinsics] Fix heap-use-after-free bug in worklist (details)
  156. [SCEV] Add some asserts on availability of arguments of isLoopEntryGuardedByCond (details)
  157. GlobalISel/Utils: Refactor constant splat match functions (details)
  158. [SCEV] Use isAvailableAtLoopEntry in the asserts (details)
  159. [AArch64] Regenerate test lines in sve-implicit-zero-filling.ll (details)
  160. [AMDGPU] Prefer v_fmac over v_fma only when no source modifiers are used (details)
  161. [AMDGPU] Prefer fmac over fma when selecting FMA_W_CHAIN (details)
  162. tsan: fix debug format strings (details)
  163. tsan: rearrange thread state callbacks (NFC) (details)
  164. tsan: simplify thread context setting (details)
  165. [CodeGen] SDDbgValue::getSDNodes() - use const-ref to avoid unnecessary copies. NFCI. (details)
  166. RewriteStatepointsForGC - Use const-ref iterator in for-range loops. NFCI. (details)
  167. [CodeGen] SelectionDAGBuilder - Use const-ref iterator in for-range loops. NFCI. (details)
  168. [InstCombine] foldConstantInsEltIntoShuffle - bail if we fail to find constant element (PR51824) (details)
  169. [AArch64] Improve schedule modelling on the Cortex-A55 (details)
  170. [VectorCombine] Add tests which require DT to use info from assumes. (details)
  171. [SystemZ]  Emit EXRL target instructions before text section is ended. (details)
  172. [llvm] Pass LLVM_CHECK_ENABLED_PROJECTS through in cross builds (details)
  173. [IR] Add the constructor of ShuffleVector for one-input-vector. (details)
  174. [AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics (details)
  175. [InstCombine] add tests for mask-shift with trunc; NFC (details)
  176. [NFC] Update the list of subprojects in docs. (details)
  177. [clang-offload-bundler][docs][NFC] Add archive unbundling documentation (details)
  178. [InstCombine] Improve TryToSinkInstruction with multiple uses (details)
  179. [OpenCL] Defines helper function for OpenCL default address space (details)
  180. [RISCV] Optimize (add (mul x, c0), c1) (details)
  181. [NFC] `goto fail` has failed us in the past... (details)
  182. [mlir][linalg] Assert tile loop nest invariants in fusion. (details)
  183. [mlir][Linalg] Revisit RAW dependence interference in comprehensive bufferize. (details)
  184. [mlir][Linalg] Revisit heuristic ordering of tensor.insert_slice in comprehensive bufferize. (details)
  185. [AArch64] Regenerate test lines in and-mask-removal.ll (details)
  186. [clang][NFC] Fix needless double-parenthisation (details)
  187. AMDGPU/GlobalISel: Restore run line erased in D109154 by mistake (details)
  188. [AMDGPU][MC][GFX7][GFX10] Corrected image_atomic_fcmpswap (details)
  189. [mlir][linalg] Add isPermutation helper (NFC). (details)
  190. [mlir][linalg] Simplify slice dim computation for fusion on tensors (NFC). (details)
  191. [GlobalISel] Support ConstantAsMetadata in IRTranslator (details)
  192. [SelectionDAG] Re-calculate scoped AA metadata when merging stores. (details)
  193. [ValueTracking,VectorCombine] Allow passing DT to computeConstantRange. (details)
  194. [sanitizer coverage] write the pc-table at the process exit (details)
  195. [InstCombine] move/add tests for trunc-of-lshr; NFC (details)
  196. [CodeGen] Remove redundant declaration getFileType (NFC) (details)
  197. [PowerPC] Fix signature of lxvp and stxvp builtins (details)
  198. [InstCombine] powi(x, y) * powi(x, z) -> powi(x, y + z) (details)
  199. Revert "Diagnose -Wunused-value based on CFG reachability" (details)
  200. [OpenMP][NFC] Add declare variant and metadirective to support page (details)
  201. [libc++][format] Adds parser std-format-spec. (details)
  202. [gn build] Port a04a6ce7726b (details)
  203. [lldb/win] Default to native PDB reader when LLVM_ENABLE_DIA_SDK=NO (details)
  204. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for and/or/xor. (details)
  205. [LV] Fix crash for reverse interleaved loads with gap under fold-tail. (details)
  206. [PowerPC] Add prefix load pattern for fpext to v2f64 (details)
  207. [OpenMP] Codegen aggregate for outlined function captures (details)
  208. [LSR] Make sure that Factor fits into Base type (details)
  209. [RISCV] Make some arrays of constants 'static const'. NFC (details)
  210. [AMDGPU] Correctly merge alias.scope and noalias metadata for memops (details)
  211. Teach InstCombine to eliminate malloc-realloc-free triplets. (details)
  212. [AMDGPU] Filtering out the inactive lanes bits when lowering copy to SCC (details)
  213. Print nullptr_t namespace qualified within std:: (details)
  214. [IR] Re-group AAMDNodes relevant interfaces. NFC. (details)
  215. DebugInfo: Rebuild decltype(nullptr) as 'std::nullptr_t' (details)
  216. Support value-typed references in iterator facade's operator->() (details)
  217. nullptr printing - update for a change to clang type printing that now uses "std::nullptr_t" (details)
  218. [MergeICmps] Don't reorder unmerged comparisons (details)
  219. [Bazel] Add support for targeting macOS arm64 (details)
  220. [clang] don't mark as Elidable CXXConstruct expressions used in NRVO (details)
  221. [MergeICmps] Remove unused NumMerged variable (details)
  222. [OpenMP][OMPD] Fix compile error when OMPD is not supported (details)
  223. [IR] Look through bitcast in hasFnAttribute() (details)
  224. [InstCombine] fold cast of right-shift if high bits are not demanded (details)
  225. [libc++] counting_semaphore should not be default-constructible. (details)
  226. Revert "[OpenMP] Codegen aggregate for outlined function captures" (details)
  227. MemoryBuiltins: update comment; NFC (details)
  228. [CodeGen] regenerate test checks; NFC (details)
  229. [PowerPC] Support for vector bool int128 on vector comparison builtins (details)
  230. [X86] Clear kill flags when rewriting SETCC uses in flag copy lowering. (details)
  231. Revert "[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering." (details)
  232. [clang] Make -Rpass imply -Rpass=.* (details)
  233. [OpenMP] Add thread ID function into new RTL (details)
  234. [LTO] Emit DebugLoc for dead function in optimization remarks (details)
  235. Recommit "[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering." (details)
  236. [mlir] Always create a list of alias scopes when emitting LLVM IR (details)
  237. [asan] Fixed a bug causing a crash when redzone optimization kicked in on X86 with -asan-optimize-callbacks flag on. (details)
  238. Make DiagnosticInfoResourceLimit's limit param required (details)
  239. [libc++] Surpress -Wunused-value warning in variant (details)
  240. [AArch64][SVE] Add patterns to generate ADR instruction (details)
  241. [compiler-rt] [windows] Add more assembly patterns for interception (details)
  242. [Sanitizer] Allow setting the report path to create directory (details)
  243. [libc++abi] Remove unnecessary atomic_support.h header from libc++abi (details)
  244. [SamplePGO] Add switch to honor zero count on block level as accurate (details)
  245. [libcxx][AIX] Remove locale fallbacks for old OS levels (details)
  246. [DialectAsmPrinter] Add missing 'printAttributeWithoutType' member. (details)
  247. [Sanitizer] Modify test to avoid bot timeouts (details)
  248. [RISCV][NFC] Deleted useless lines in clang tests. (details)
  249. [NFC] Fix typo. (details)
  250. DebugInfo: Unify some printing policy adjustments (details)
  251. DebugInfo: Don't suppress inline namespaces when printing template template parameter names (details)
  252. AMDGPU: Fix test relying on incompatible attributes (details)
  253. [libc++][test] Fix iterator assertion in span.cons/deduct.pass.cpp (details)
  254. [PowerPC] prepare for udpate form with non-const increment. (details)
  255. AMDGPU: Refactor getWavesPerEU to separate flat workgroup size query (details)
  256. [RISCV] add Half-precision test for clang (details)
  257. DebugInfo: Don't use preferred template names in debug info (details)
  258. [libc++] Add some missing _LIBCPP_HIDE_FROM_ABI markup (details)
  259. [RISCV][NFC] Fix clang test for vloxei/vluxei (details)
  260. [mlir][sparse] cleanup ABI issues in C interface with memrefs (details)
  261. [PowerPC] add testcase for chain commoning; nfc (details)
  262. tsan: don't call dlsym during exit (details)
  263. tsan: move errno spoiling reporting into a separate function (NFC) (details)
  264. tsan: enable sse4.2 in tests (details)
  265. [Polly] Add -polly-reschedule and -polly-postopts options. (details)
  266. tsan: reset destination range in Java heap move (details)
  267. tsan: uninline Enable/DisableIgnores (details)
  268. tsan: prepare for trace mapping removal (details)
  269. [lldb] Add --stack option to `target symbols add` command (details)
Commit d2373c04a7cbbc38221bbfb6120e5285c765785c by dblaikie
DWARFDie.cpp: Reduce indentation with early continue
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Commit ae0873483d9393d35bd5bdbfcb2bfb843c335cd5 by dblaikie
DWARFDie:DWARFTypePrinter: Add common utility function for checking where parentheses are required
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Commit dee5a8ca325f3c752534442233cb601910e918c4 by ben.shi
[RISCV] Optimize (add (shl x, c0), (shl y, c1)) with SH*ADD

Optimize (add (shl x, c0), (shl y, c1)) ->
         (SLLI (SH*ADD x, y), c1), if c0-c1 == 1/2/3.

Reviewed By: craig.topper, luismarques

Differential Revision: https://reviews.llvm.org/D108916
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
Commit b7ec8f3dcbcdf6d27902688c8eac0e6196061cb3 by sylvestre
llvm/cmake: fix a typo
The file was modifiedllvm/CMakeLists.txt
Commit e381d8b24329cae6408205f74d0d6d9eaa6b29cf by llvm-dev
[X86][Atom] Fix (U)COMISS/SD uops, latency and throughput

Both ports are required, for reg and mem variants - we can also use the WriteFComX class directly and remove the unnecessary InstRW overrides. Matches what Intel AoM / Agner / InstLatX64 report as well.
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
Commit 9de88fc0eac1bfc719dfd63a32b7eb069489407e by xndchn
[mlir][emitc] Fix indent in CondBranchOp and block label

1. Add missing indent in CondBranchOp
2. Remove indent in block label

Differential Revision: https://reviews.llvm.org/D109805
The file was modifiedmlir/lib/Target/Cpp/TranslateToCpp.cpp
Commit 1da52ef2943b67c0ec1ccd3b8e459d0e57e67a6d by david.green
[ARM] Add VGETLANEu patterns for v4f16 and v8f16

These were apparently missing, having no pattern that could convert a
VGETLANEu of a v4f16 to an i32. Added bf16 whilst here, following the
same code.
The file was modifiedllvm/lib/Target/ARM/ARMInstrNEON.td
The file was modifiedllvm/test/CodeGen/ARM/bf16-getlane-with-fp16.ll
The file was modifiedllvm/test/CodeGen/ARM/fp16-insert-extract.ll
Commit 9555d1edb0d16f135ae57695fc2da55deaabf082 by spatel
[InstCombine] add/adjust tests for min/max intrinsics; NFC

If we transform these, we have to propagate no-wrap/undef carefully.
The file was modifiedllvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Commit 1e72ca94e5796a744d0e1a8871c33b1b4edb0acb by lebedev.ri
[X86] combineX86ShufflesRecursively(): call SimplifyMultipleUseDemandedVectorElts() on after finishing recursing

This was suggested in https://reviews.llvm.org/D108382#inline-1039018,
and it avoids regressions in that patch.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D109065
The file was modifiedllvm/test/CodeGen/X86/vselect.ll
The file was modifiedllvm/test/CodeGen/X86/oddshuffles.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 0852313e47836152b00fb8b8fd62a7e12bf92abd by lebedev.ri
[NFC] combineX86ShufflesRecursively(): actually address nits for previous patch
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 07f1d8f0caa1516e0d97616adfea4aa94f7883a4 by lebedev.ri
[X86] lowerShuffleAsDecomposedShuffleMerge(): if both inputs are broadcastable/identities, canonicalize broadcasts as such

Split off from D108253.
Broadcast is simpler than any other shuffle we might produce
to do what we want to do here, so prefer it.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D108382
The file was modifiedllvm/test/CodeGen/X86/copy-low-subvec-elt-to-high-subvec-elt.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 5f2fe48d06c742872804da8b3d86596ed2bb9acb by lebedev.ri
[X86][TLI] SimplifyDemandedVectorEltsForTargetNode(): don't break apart broadcasts from which not just the 0'th elt is demanded

Apparently this has no test coverage before D108382,
but D108382 itself shows a few regressions that this fixes.

It doesn't seem worthwhile breaking apart broadcasts,
assuming we want the broadcasted value to be preset in several elements,
not just the 0'th one.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D108411
The file was modifiedllvm/test/CodeGen/X86/sse41.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/copy-low-subvec-elt-to-high-subvec-elt.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll
Commit cf8fac7d07307bc6679d60c3ad3e7a7792a2caa6 by llvm-dev
[X86][Atom] Specific uops for all IMUL/IDIV instructions

Based off a mixture of llvm-exegesis captures (PR36895) and Intel AoM / Agner / InstLatX64 reports.
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
Commit 2ca637c9769ff50e94ace3083075a97b50d147f0 by dblaikie
llvm-dwarfdump: Refactor type pretty printing tests

Move most type tests to a pre-generated assembly file to make it easier
to add more weird cases without having to hand craft more DWARF.

Move the novel array types that aren't reachable via clang-generated
DWARF to a separate file for easy maintenance.
The file was addedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types_handcrafted.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
Commit b7342e3137d8fa7c356a80c1ddecf1d410c27eef by llvm-dev
[X86] Fold SHUFPS(shuffle(x),shuffle(y),mask) -> SHUFPS(x,y,mask')

We can combine unary shuffles into either of SHUFPS's inputs and adjust the shuffle mask accordingly.

Unlike general shuffle combining, we can be more aggressive and handle multiuse cases as we're not going to accidentally create additional shuffles.
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll
The file was modifiedllvm/test/CodeGen/X86/vselect.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f855ef260148df0f08c73a70b9425a5215232874 by llvm-dev
[X86][Atom] Fix FP uops + port usage

Both ports are required in most cases. Update the uops counts + port usage based off the most recent llvm-exegesis captures (PR36895) and what Intel AoM / Agner / InstLatX64 reports as well.

Noticed while trying to improve fp costs for vectorization via the D103695 helper script.
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-ssse3.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s
Commit f09ca5c6461b604113b6e1adb825be2d92575aff by dblaikie
DWARFDie: Improve type printing for function and array types - with qualifiers (cv/reference) and pointers to them
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
Commit a51fb58c557c2cd217eddc8a2332b245350118cf by dblaikie
DWARFDie.cpp: Minor follow-up clang-format
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Commit 2bde3dcd32b3ce2c8855d13659c6708f4434a985 by craig.topper
[X86] Add test cases for pr51908. NFC
The file was modifiedllvm/test/CodeGen/X86/sse41-intrinsics-x86.ll
The file was modifiedllvm/test/CodeGen/X86/avx2-intrinsics-x86.ll
Commit 391fa371fdfbc5ea4d4a924aebb27cb77d483da4 by craig.topper
[X86] Remove Commutable flag from mpsadbw intrinsics.

Unlike psadbw, mpsadbw is not commutable because of how it operates
on blocks. We already marked as not commutable for MachineIR, but
had it commutable for the tablegened isel patterns.

Fixes PR51908.
The file was modifiedllvm/test/CodeGen/X86/avx2-intrinsics-x86.ll
The file was modifiedllvm/test/CodeGen/X86/sse41-intrinsics-x86.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
Commit 372e2c24b6e17bbff8fe6ed488cff5f7b7abd2b7 by dblaikie
llvm-dwarfdump: Pretty printing types including a space between const and parenthesized references/pointers to arrays
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Commit 5ba8020326a522c0dfa32f59a472fe20bee4908a by chris.jackson
[DebugInfo][LSR] Emit shorter expressions from scev-based salvaging

The scev-based salvaging for LSR can sometimes produce unnecessarily
verbose expressions. This patch adds logic to detect when the value to
be recovered and the induction variable differ by only a constant
offset. Then, the expression to derive the current iteration count can
be omitted from the dbg.value in favour of the offset.

Reviewed by: aprantl

Differential Revision: https://reviews.llvm.org/D109044
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
Commit 84b07c9b3aa79e073a97290bdd30d98b1941a536 by kazu
[llvm] Use pop_back_val (NFC)
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
The file was modifiedllvm/lib/Target/ARM/A15SDOptimizer.cpp
The file was modifiedllvm/lib/CodeGen/LiveVariables.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/lib/CodeGen/LoopTraversal.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/CodeGen/LiveRangeEdit.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
Commit 0e89ff8195e994e5051f19669e1044d47120ac06 by llvm-dev
[X86] SimplifyDemandedBits - only narrow a broadcast source if we only have one use.

Helps with the regression noted on D109065 - don't truncate a broadcast source if the source has multiple uses.
The file was modifiedllvm/test/CodeGen/X86/oddshuffles.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 5bfe5207ef283194a76616e5693a67a14c158ae3 by dblaikie
llvm-dwarfdump: Pretty print names qualified/with scopes
The file was modifiedllvm/test/DebugInfo/X86/addr-tu-to-non-tu.ll
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
Commit 11e0b79b056a5f1ba1feb81872aee67709f34834 by dblaikie
llvm-dwarfdump: Don't print even an empty string when a type is unprintable
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/verify_debug_info.s
Commit 606ea0dd2a7308d4af222ddcf0ae66c6267cb90d by dblaikie
llvm-dwarfdump: support for type printing "decltype(nullptr)" as "nullptr_t"

This should probably be rendered as "std::nullptr_t" but for now clang
uses the unqualified name (which is ambiguous with possible user defined
name in the global namespace), so match that here.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
Commit cb42bb355061235f1c4190c8a35e59e4cfb15163 by dblaikie
llvm-dwarfdump: pretty type printing: print fully qualified names in function type parameter types
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Commit def15c5fb6a117c1b6d8b2835f6760f814410582 by mkazantsev
[SCEV] Support negative values in signed/unsigned predicate reasoning

There is a piece of logic that uses the fact that signed and unsigned
versions of the same predicate are equivalent when both values are
non-negative. It's also true when both of them are negative.

Differential Revision: https://reviews.llvm.org/D109957
Reviewed By: nikic
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/negative_ranges.ll
Commit 74670e79b0a00224c04dfc6a446ea4439f4cfca4 by sivachandra
[libc] Add implementations of div, ldiv, lldiv and imaxdiv.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D109952
The file was modifiedlibc/src/__support/integer_operations.h
The file was addedlibc/test/src/stdlib/div_test.cpp
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/src/stdlib/lldiv.cpp
The file was addedlibc/src/stdlib/ldiv.cpp
The file was addedlibc/src/stdlib/lldiv.h
The file was modifiedlibc/config/linux/api.td
The file was addedlibc/src/inttypes/imaxdiv.cpp
The file was addedlibc/test/src/inttypes/imaxdiv_test.cpp
The file was addedlibc/test/src/stdlib/lldiv_test.cpp
The file was addedlibc/src/stdlib/ldiv.h
The file was addedlibc/test/src/stdlib/ldiv_test.cpp
The file was addedlibc/src/stdlib/div.h
The file was addedlibc/src/inttypes/imaxdiv.h
The file was addedlibc/src/stdlib/div.cpp
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/stdlib/CMakeLists.txt
The file was modifiedlibc/test/src/inttypes/CMakeLists.txt
The file was modifiedlibc/test/src/stdlib/CMakeLists.txt
The file was modifiedlibc/spec/stdc.td
The file was modifiedlibc/src/inttypes/CMakeLists.txt
The file was addedlibc/test/src/stdlib/DivTest.h
Commit 471217cff8e5c827f2ee52175a1c94584699cab2 by mkazantsev
Revert "Revert "[IndVars] Replace PHIs if loop exits on 1st iteration""

This reverts commit 6fec6552f54885ae06bf76b35f9f1173a0561a4c.

The patch was reverted on incorrect claim that this patch may break LCSSA form
when the loop is not in a simplify form. All IndVars' transform insure that
the loop is in simplify and LCSSA form, so if it wasn't broken before this
transform, it will also not be broken after it.
The file was modifiedllvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
Commit e9d34c54290e277e075aed33036fddae77b5f582 by mkazantsev
[NFC] Add assert and test showing that revert of D109596 wasn't justified

All transforms of IndVars have prerequisite requirement of LCSSA and LoopSimplify
form and rely on it. Added test that shows that this actually stands.
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 5252aa2981ba19417b3ea68b22e8be33d5623368 by sivachandra
[libc][obvious] Make *abs and *div functions buildable in default mode.
The file was modifiedlibc/src/stdlib/CMakeLists.txt
Commit f5b8f1247cd9d1b18b7b95f6f197d4d654597529 by sivachandra
[libc][obvious] Add inttypes.h and stdlib.h as deps to *div functions.
The file was modifiedlibc/src/inttypes/CMakeLists.txt
The file was modifiedlibc/src/stdlib/CMakeLists.txt
Commit 966922320f09b8bf6e4a69a32f344b3acec36434 by pavel
[lldb] Remove two #ifndef linux from Platform.cpp

These have been here since r215992, guarding the calls to HostInfo, but
their purpose unclear -- HostInfoLinux provides these functions and they
work fine.
The file was modifiedlldb/source/Target/Platform.cpp
Commit 9a2255dfa012ad0334eacb2d09da7aa4db249c51 by vlad.vinogradov
[mlir][NFC] Add explicit "::mlir" namespace to tblgen generated code

Reviewed By: lattner, ftynse

Differential Revision: https://reviews.llvm.org/D109223
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit ec03bbe8a74ae593d0ea5d8bf55c337e395873d1 by vlad.vinogradov
[mlir] Fix bug in partial dialect conversion

The discussion on forum:
https://llvm.discourse.group/t/bug-in-partial-dialect-conversion/4115

The `applyPartialConversion` didn't handle the operations, that were
marked as illegal inside dynamic legality callback.
Instead of reporting error, if such operation was not converted to legal set,
the method just added it to `unconvertedSet` in the same way as unknown operations.

This patch fixes that and handle dynamically illegal operations as well.

The patch includes 2 fixes for existing passes:

* `tensor-bufferize` - explicitly mark `std.return` as legal.
* `convert-parallel-loops-to-gpu` - ugly fix with marking visited operations
  to avoid recursive legality checks.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D108505
The file was modifiedmlir/include/mlir/Conversion/SCFToGPU/SCFToGPU.h
The file was modifiedmlir/test/Transforms/test-legalizer.mlir
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Transforms/test-legalizer-full.mlir
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
Commit 76cb876563d0e2a3c850b14ca68638be9f6124a0 by arjunpitchanathan
[MLIR] Simplex::appendVariable: early return if count == 0
The file was modifiedmlir/lib/Analysis/Presburger/Simplex.cpp
The file was modifiedmlir/unittests/Analysis/Presburger/SimplexTest.cpp
Commit 4b80f0125adc876c8ef325f1c0ace4af023f2264 by i
[CMake] Add debuginfo-tests to LLVM_ALL_PROJECTS after D110016
The file was modifiedllvm/CMakeLists.txt
Commit 7f6a4826ac49e4c7075f80930480045bf983483c by flo
[CaptureTracking] Allow passing LI to PointerMayBeCapturedBefore (NFC).

isPotentiallyReachable can use LoopInfo to return earlier. This patch
allows passing an optional LI to PointerMayBeCapturedBefore. Used in
D109844.

Reviewed By: nikic, asbirlea

Differential Revision: https://reviews.llvm.org/D109978
The file was modifiedllvm/include/llvm/Analysis/CaptureTracking.h
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
Commit bdcf4b9b9620afe24d17132027a7d12e2f1a598b by kareem.ergawy
[MLIR][Linalg] Make detensoring cost-model more flexible.

So far, the CF cost-model for detensoring was limited to discovering
pure CF structures. This means, if while discovering the CF component,
the cost-model found any op that is not detensorable, it gives up on
detensoring altogether. This patch makes it a bit more flexible by
cleaning-up the detensorable component from non-detensorable ops without
giving up entirely.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D109965
The file was removedmlir/test/Dialect/Linalg/detensorize_while_failure.mlir
The file was addedmlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
Commit 92904cc68fbc1d000387b30accc8b05b3fe95daa by mgorny
[lldb] [gdb-remote] Remove unused arg from GDBRemoteRegisterContext::ReadRegisterBytes()

Differential Revision: https://reviews.llvm.org/D110020
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
Commit f6e0edc23e6199bbb5fb4ef3b018b49a5b303183 by mgorny
[lldb] [gdb-remote] Recognize aarch64v type from gdbserver

Differential Revision: https://reviews.llvm.org/D109899
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Commit 92c9b28347c38cc15adf20223ed272abe8ec0227 by david.spickett
Revert "[AArch64][SVE] Teach cost model that masked loads/stores are cheap"

This reverts commit 734708e04f84b72f1ae7c8b35c002b8bf97dc064.

Due to build failures on the 2 stage SVE VLS bot.
https://lab.llvm.org/buildbot/#/builders/176/builds/908/steps/11/logs/stdio
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was removedllvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll
Commit 798e4bfbeda824551fa89a388969baa2abbc2411 by vlad.vinogradov
[mlir] Fix integration tests failures introduced in D108505
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
Commit 13aa102e07695297fd17f68913c343c95a7c56ad by Tim Northover
AArch64: use ldp/stp for 128-bit atomic load/store in v.84 onwards

v8.4 says that normal loads/stores of 128-bytes are single-copy atomic if
they're properly aligned (which all LLVM atomics are) so we no longer need to
do a full RMW operation to guarantee we got a clean read.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/v8.4-atomic-128.ll
The file was modifiedllvm/test/CodeGen/AArch64/atomic-ops-lse.ll
The file was addedllvm/test/CodeGen/AArch64/v8.4-atomic-128.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit ca3bebd8440f9f88f1457dad9c12933b73d9590f by Justas.Janickas
[OpenCL] Supports optional writing to 3d images in C++ for OpenCL 2021

Adds support for a feature macro __opencl_c_3d_image_writes in
C++ for OpenCL 2021 enabling a respective optional core feature
from OpenCL 3.0.

This change aims to achieve compatibility between C++ for OpenCL
2021 and OpenCL 3.0.

Differential Revision: https://reviews.llvm.org/D109328
The file was modifiedclang/test/SemaOpenCL/unsupported-image.cl
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit 15feaaa359c7245bb59ff0a2aa3b806682f44286 by alexey.bader
Add myself as a code owner for SYCL support
The file was modifiedclang/CODE_OWNERS.TXT
Commit eb3af1e77341e82249993a5a8a50779c48e1cb61 by wingo
[clang][NFC] Remove dead code

Remove code that has no effect in SemaType.cpp:processTypeAttrs.

Differential Revision: https://reviews.llvm.org/D108360
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit c8cb7f611fdf4d96c4d23a75aa48c93cca38646f by bjorn.a.pettersson
[NewPM] Make InlinerPass (aka 'inline') a parameterized pass

In default pipelines the ModuleInlinerWrapperPass is adding the
InlinerPass to the pipeline twice, once due to MandatoryFirst (passing
true in the ctor) and then a second time with false as argument.

To make it possible to bisect and reduce opt test cases for this
part of the pipeline we need to be able to choose between the two
different variants of the InlinerPass when running opt. This patch is
changing 'inline' to a CGSCC_PASS_WITH_PARAMS in the PassRegistry,
making it possible run opt with both -passes=cgscc(inline) and
-passes=cgscc(inline<only-mandatory>).

Reviewed By: aeubanks, mtrofin

Differential Revision: https://reviews.llvm.org/D109877
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Inliner.h
Commit e4c46ddd91eba5ec162225abc1e47aa3c6c13516 by petar.avramovic
[GlobalISel] Improve elimination of dead instructions in legalizer

Add eraseInstr(s) utility functions. Before deleting an instruction
collects its use instructions. After deletion deletes use instructions
that became trivially dead.
This patch clears all dead instructions in existing legalizer mir tests.

Differential Revision: https://reviews.llvm.org/D109154
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssube.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-usubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-bswap.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extload.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/legalizer/constants.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sadde.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uadde.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memcpyinline.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usube.mir
The file was modifiedllvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-uadde.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-anyext.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-unmerge-values.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/Legalizer.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-add.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memcpy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.dim.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memset.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/legalizer/trunc.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ssube.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-usube.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-saddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-merge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/legalize-ashr-scalar.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/legalizer/zextLoad_and_sextLoad.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/legalizer/zext_and_sext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mir
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/legalizer/bitwise.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/artifact-find-value.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ssubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-concat-vectors.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-sadde.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/legalize-lshr-scalar.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-phi-insertpt-decrement.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-uaddo.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ssubsat.mir
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/legalize-shl-scalar.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.s16.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-trunc.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def-s1025.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-saddsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-udiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memmove.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smulo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-extract.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
Commit b1099120ff963d0a0f1de12e3315b1ee4e4ed7e7 by mgorny
[lldb] [gdb-remote] Always send PID when detaching w/ multiprocess

Always send PID in the detach packet when multiprocess extensions are
enabled.  This is required by qemu's GDB server, as plain 'D' packet
results in an error and the emulated system is not resumed.

Differential Revision: https://reviews.llvm.org/D110033
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
Commit d6929aaa67c7996a69451e301970408362af909e by clementval
[mlir][openacc] Make use of the second counter extension in DataOp translation

Make use of runtime extension for the second reference counter used in
structured data region. This extension is implemented in D106510 and D106509.

Differential Revision: https://reviews.llvm.org/D106517
The file was modifiedmlir/test/Target/LLVMIR/openacc-llvm.mlir
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
Commit ea17b15f2dcdc77881cc0183dce4dea1aff9bffa by llvm-dev
[MCA] InstructionTables::execute() - use const-ref iterator in for-range loop. NFCI.

Avoid unnecessary copies, reported by MSVC static analyzer.
The file was modifiedllvm/lib/MCA/Stages/InstructionTables.cpp
Commit 4ab7c0d3fa068fb0ce39b9f75c0253d45a99745e by llvm-dev
[X86] X86TargetTransformInfo - remove unnecessary if-else after early exit. NFCI.

(style) Break the if-else chain as they all return.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 7fc12b822c5d1360780667af94c218733c3fc4e0 by llvm-dev
MachOObjectFile - checkOverlappingElement - use const-ref to avoid unnecessary copies. NFCI.

Reported by MSVC static analyzer.
The file was modifiedllvm/lib/Object/MachOObjectFile.cpp
Commit 6d7b3d6b3a8dbd62650b6c3dae1fe904a8ae9048 by Alexander.Richardson
Fix CLANG_ENABLE_STATIC_ANALYZER=OFF building all analyzer source

Since https://reviews.llvm.org/D87118, the StaticAnalyzer directory is
added unconditionally. In theory this should not cause the static analyzer
sources to be built unless they are referenced by another target. However,
the clang-cpp target (defined in clang/tools/clang-shlib) uses the
CLANG_STATIC_LIBS global property to determine which libraries need to
be included. To solve this issue, this patch avoids adding libraries to
that property if EXCLUDE_FROM_ALL is set.

In case something like this comes up again: `cmake --graphviz=targets.dot`
is quite useful to see why a target is included as part of `ninja all`.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D109611
The file was modifiedclang/cmake/modules/AddClang.cmake
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedclang/lib/StaticAnalyzer/CMakeLists.txt
Commit 7b68c0725d89ac9bd48b9b6a51d9cd0bc7146829 by Alexander.Richardson
pre-commit test for D109767

Differential Revision: https://reviews.llvm.org/D109765
The file was addedllvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-condbr.mir
The file was addedllvm/test/tools/UpdateTestChecks/update_mir_test_checks/lit.local.cfg
The file was addedllvm/test/tools/UpdateTestChecks/update_mir_test_checks/x86-condbr.test
The file was addedllvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-condbr.mir.expected
Commit 817e23d481be52e6e0fd779efce2beb105e8c7b6 by Alexander.Richardson
[update_mir_test_checks.py] Use -NEXT FileCheck directories

Previously the script emitted output using plain CHECK directives. This
can result in a test passing even if there are some instructions between
CHECK directives that should have been removed. It also makes debugging
tests that have the output in a different order more difficult since
FileCheck can match with a later line and then complain about the "wrong"
directive not being found.

This will cause quite large diffs when updating existing tests, but I'm not sure we need an opt-in flag here.

Depends on D109765 (pre-commit tests)

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D109767
The file was modifiedllvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-condbr.mir.expected
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/select-phi.mir
The file was modifiedllvm/utils/update_mir_test_checks.py
Commit 3f90df22f1b72932016102daf8e92e99252e5589 by david.green
[ARM] MVE reverse shuffles.

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

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

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

Clang build fails when build directory contains space character.

Error messages:

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

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

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

Reviewed By: aaron.ballman

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

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

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

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

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

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

Reviewed By: aaron.ballman

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

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

Reviewed By: StephenFan

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

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

Reviewed By: StephenFan

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

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

Tests added here:

  Transforms/InstCombine/icmp-vscale.ll

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

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

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

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

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

Reviewed By: nicolasvasilache, mravishankar

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

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

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

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

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

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

Reviewed By: Meinersbur

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed By: nicolasvasilache

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

Adds additional tests following comments from D109844.

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

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

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

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

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

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

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

Reviewed By: jhenderson, peter.smith

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

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

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

Reviewed By: frasercrmck

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

This patch fixes the warning

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

Note that Resource is declared as:

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

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

Some buildbots fail with:

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

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

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

Prior art:

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

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

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

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

It doesn't say the reference file.

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

---

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

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

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

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

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

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

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

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

Reviewed By: GMNGeoffrey

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

This reverts commit 644b55d57ec76a18916d30f921781b99795f6e10.

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

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

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

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

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

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

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

rdar://82679400

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

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

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

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

This partially reverts commits 1fc2a47f0b6c415312593e43489cf9ea2507d902 and 9816e726e747d72e0c5ac92aa20e652031a10448.

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

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

This reverts commit 4b80f0125adc876c8ef325f1c0ace4af023f2264.

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

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

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

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

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

Reviewed By: aaron.ballman

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

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

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

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

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

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

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

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

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

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

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

Reviewed By: thakis

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

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

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

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

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

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

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

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

This reverts commit 6d7b3d6b3a8dbd62650b6c3dae1fe904a8ae9048.
Breaks running cmake with `-DCLANG_ENABLE_STATIC_ANALYZER=OFF`
without turning off CLANG_TIDY_ENABLE_STATIC_ANALYZER.
See comments on https://reviews.llvm.org/D109611 for details.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedclang/lib/StaticAnalyzer/CMakeLists.txt
The file was modifiedclang/cmake/modules/AddClang.cmake
Commit fa822a2ee52f8243d29eb035d7002a9ab40788a0 by paul.robinson
[DebugInfo] Add test for dumping DW_AT_defaulted
The file was addedllvm/test/tools/llvm-dwarfdump/X86/DW_AT_defaulted.s
Commit c6e52b1e85c6d633bda0e268fed16487fea084d1 by craig.topper
[RISCV] Add test cases for missed opportunities to use vand/vor/vxor.vx. NFC

These are cases were the splat is in another basic block. CGP
needs to sink it to expose the opportunity to SelectionDAG.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Commit 16b5f4502c5b58c7f70afa8e1e1e33d170ba6089 by fmayer
[NFC] [hwasan] Separate outline and inline instrumentation.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D110067
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit 53720f74e4e32fe11a1688282f7d09dc1828b83a by nikita.ppv
[Polly] Partially fix scoped alias metadata

This partially addresses the verifier failures caused by D110026.
In particular, it does not fix the "second level" alias metadata.
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/create_arrays.ll
The file was modifiedpolly/test/Isl/CodeGen/OpenMP/alias-metadata.ll
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/different_types.ll
The file was modifiedpolly/test/Isl/CodeGen/partial_write_array.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_10.ll
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/codegen_address_space.ll
The file was modifiedpolly/test/Isl/CodeGen/OpenMP/new_multidim_access.ll
The file was modifiedpolly/test/Isl/CodeGen/non-affine-phi-node-expansion-2.ll
The file was modifiedpolly/test/Isl/CodeGen/stmt_split_no_dependence.ll
The file was modifiedpolly/test/CodeGen/stride_detection.ll
The file was modifiedpolly/test/Isl/CodeGen/phi_loop_carried_float.ll
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/generate-all.ll
The file was modifiedpolly/test/Isl/CodeGen/non_affine_float_compare.ll
The file was modifiedpolly/test/Isl/CodeGen/scev-backedgetaken.ll
The file was modifiedpolly/lib/CodeGen/IRBuilder.cpp
The file was modifiedpolly/test/Isl/CodeGen/getNumberOfIterations.ll
The file was modifiedpolly/test/Isl/CodeGen/annotated_alias_scopes.ll
The file was modifiedpolly/test/Isl/CodeGen/partial_write_full_write_that_appears_partial.ll
The file was modifiedpolly/test/Isl/CodeGen/partial_write_impossible_restriction.ll
The file was modifiedpolly/test/Isl/CodeGen/phi_loop_carried_float_escape.ll
The file was modifiedpolly/test/Isl/CodeGen/invariant_load_alias_metadata.ll
The file was modifiedpolly/test/Isl/CodeGen/invariant_loads_ignore_parameter_bounds.ll
The file was modifiedpolly/test/ScopInfo/int2ptr_ptr2int.ll
The file was modifiedpolly/test/ScopInfo/int2ptr_ptr2int_2.ll
The file was modifiedpolly/test/Isl/CodeGen/simple_vec_assign_scalar.ll
Commit 49e976c9343253956a7de93f1d982537f9c240ab by tianshilei1992
[OpenMP][NVPTX] Fix a warning that data argument not used by format string

Reviewed By: jhuber6, grokos

Differential Revision: https://reviews.llvm.org/D110104
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 96d3319d6f024b17ac725d9595548acc4787003c by Saleem Abdulrasool
Sema: relax va_start checking further for Windows AArch64

When building in C mode, the VC runtime assumes that it can use pointer
aliasing through `char *` for the parameter to `__va_start`.  Relax the
checks further.  In theory we could keep the tests strict for non-system
header code, but this takes the less strict approach as the additional
check doesn't particularly end up being too much more helpful for
correctness.  The C++ type system is a bit stricter and requires the
explicit cast which we continue to verify.
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/Sema/microsoft-varargs.c
Commit f9d69a0ab02567933302602238264a38468f9900 by Amara Emerson
[GlobalISel] Implement support for the "trap-func-name" attribute.

This attribute calls a function instead of emitting a trap instruction.

Differential Revision: https://reviews.llvm.org/D110098
The file was modifiedllvm/test/CodeGen/AArch64/debugtrap.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/CodeGen/AArch64/ubsantrap.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-trap.ll
Commit dc6e8dfdfe7efecfda318d43a06fae18b40eb498 by jacob.lambert
[AMDGPU][NFC] Correct typos in lib/Target/AMDGPU/AMDGPU*.cpp files. Test commit for new contributor.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUReplaceLDSUseWithPointer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp
Commit 4edf46f72a8f3bd9d60628d0c852e8ff91921673 by rob.suderman
[mlir][tosa] Remove the documentation requirement for elements of several binary elementwise ops to be of the same rank.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D110095
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Commit f11917057923bce7f9c04282b4a3b15ef0aad0d6 by thakis
[clang] Fix a few comment typos to cycle bots
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/lib/Format/MacroExpander.cpp
The file was modifiedclang/lib/Format/UnwrappedLineFormatter.cpp
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/lib/Format/WhitespaceManager.h
Commit 38ff7e11c04e760570e3cb517f8b78d554c65386 by rob.suderman
[mlir][tosa] Add several binary elementwise to the list of broadcastable ops.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D110096
The file was modifiedmlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
Commit 4ceea7740990f5b755a7bb911e92254dd5680921 by Amara Emerson
[X86] Rename the X86WinAllocaExpander pass and related symbols to "DynAlloca". NFC.

For x86 Darwin, we have a stack checking feature which re-uses some of this
machinery around stack probing on Windows. Renaming this to be more appropriate
for a generic feature.

Differential Revision: https://reviews.llvm.org/D109993
The file was addedllvm/lib/Target/X86/X86DynAllocaExpander.cpp
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was removedllvm/lib/Target/X86/X86WinAllocaExpander.cpp
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit 4e7c0a37c9c92baa655d244f5bfde91d52b138d0 by joker.eph
Update MLIR generate-test-checks.py to add the notice from the source into the generated file

Folks may not read the source of the tool and miss these instructions.

Differential Revision: https://reviews.llvm.org/D110082
The file was modifiedmlir/utils/generate-test-checks.py
Commit bb2506061b06e9786b5eb9c458f52f9ba7e52a73 by chiahungduan
[mlir-tblgen] Add DagNode StaticMatcher.

Some patterns may share the common DAG structures. Generate a static
function to do the match logic to reduce the binary size.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D105797
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was addedmlir/test/mlir-tblgen/rewriter-static-matcher.td
The file was modifiedmlir/include/mlir/TableGen/Pattern.h
The file was modifiedmlir/lib/TableGen/Pattern.cpp
Commit bde305baf631004b8d00081f11e62b33e1665e45 by thakis
[clang] Fix a few comment more typos to cycle bots
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/Sema/SemaCXXScopeSpec.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
Commit 60ab6861ed13e4f1e2729f8add6366a7be223d80 by thakis
[clang] Fix a few more comment typos to cycle bots
The file was modifiedclang/lib/AST/CommentBriefParser.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/AST/Interp/Function.h
The file was modifiedclang/lib/AST/Interp/Program.cpp
The file was modifiedclang/lib/AST/Interp/InterpState.h
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/ComparisonCategories.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/AST/Interp/InterpStack.h
The file was modifiedclang/lib/AST/Interp/Opcodes.td
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/lib/AST/Interp/Descriptor.h
Commit f417d9d821118ef330b263c4c7ad9d3cda30f406 by mnadeem
[InstCombine] Eliminate vector reverse if all inputs/outputs to an instruction are reverses

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

Change-Id: I1a10d2bc33acbe0ea353c6cb3d077851391fe73e
The file was addedllvm/test/Transforms/InstCombine/vector-reverse.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
Commit 1fb2e842a93ac862849f5081eb6fdf6f1447ef2a by stellaraccident
[mlir][python] Forward _OperationBase _CAPIPtr to the Operation.

* ODS generated operations extend _OperationBase and without this, cannot be marshalled to CAPI functions.
* No test case updates: this kind of interop is quite hard to verify with in-tree tests.

Differential Revision: https://reviews.llvm.org/D110030
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
Commit 4f21152af12b21ea8f04b322a29dc6ad9e79ef16 by riddleriver
[mlir] Tighten verification of SparseElementsAttr

SparseElementsAttr currently does not perform any verfication on construction, with the only verification existing within the parser. This revision moves the parser verification to SparseElementsAttr, and also adds additional verification for when a sparse index is not valid.

Differential Revision: https://reviews.llvm.org/D109189
The file was modifiedmlir/lib/Parser/Parser.h
The file was modifiedmlir/test/Dialect/Quant/convert-const.mlir
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/test/Target/LLVMIR/llvmir.mlir
The file was modifiedmlir/lib/Parser/TypeParser.cpp
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/test/IR/pretty-attributes.mlir
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.td
Commit 0cb5d7fc7fd3eeb40b6ecf9b34a497d46bcba6c6 by riddleriver
[mlir] Add value_begin/value_end methods to DenseElementsAttr

Currently DenseElementsAttr only exposes the ability to get the full range of values for a given type T, but there are many situations where we just want the beginning/end iterator. This revision adds proper value_begin/value_end methods for all of the supported T types, and also cleans up a bit of the interface.

Differential Revision: https://reviews.llvm.org/D104173
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was modifiedmlir/lib/CAPI/IR/BuiltinAttributes.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/unittests/TableGen/StructsGenTest.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRV.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h
The file was modifiedmlir/lib/Interfaces/InferTypeOpInterface.cpp
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/include/mlir/Dialect/CommonFolders.h
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.td
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
Commit d80d3a358fffce430c94c7e9c716a5641010e4d0 by riddleriver
[mlir] Refactor ElementsAttr into an AttrInterface

This revision refactors ElementsAttr into an Attribute Interface.
This enables a common interface with which to interact with
element attributes, without needing to modify the builtin
dialect. It also removes a majority (if not all?) of the need for
the current OpaqueElementsAttr, which was originally intended as
a way to opaquely represent data that was not representable by
the other builtin constructs.

The new ElementsAttr interface not only allows for users to
natively represent their data in the way that best suits them,
it also allows for efficient opaque access and iteration of the
underlying data. Attributes using the ElementsAttr interface
can directly expose support for interacting with the held
elements using any C++ data type they claim to support. For
example, DenseIntOrFpElementsAttr supports iteration using
various native C++ integer/float data types, as well as
APInt/APFloat, and more. ElementsAttr instances that refer to
DenseIntOrFpElementsAttr can use all of these data types for
iteration:

```c++
DenseIntOrFpElementsAttr intElementsAttr = ...;

ElementsAttr attr = intElementsAttr;
for (uint64_t value : attr.getValues<uint64_t>())
  ...;
for (APInt value : attr.getValues<APInt>())
  ...;
for (IntegerAttr value : attr.getValues<IntegerAttr>())
  ...;
```

ElementsAttr also supports failable range/iterator access,
allowing for selective code paths depending on data type
support:

```c++
ElementsAttr attr = ...;
if (auto range = attr.tryGetValues<uint64_t>()) {
  for (uint64_t value : *range)
    ...;
}
```

Differential Revision: https://reviews.llvm.org/D109190
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h
The file was addedmlir/include/mlir/IR/BuiltinAttributeInterfaces.td
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
The file was modifiedmlir/include/mlir/Support/InterfaceSupport.h
The file was modifiedmlir/test/lib/Dialect/Test/TestAttrDefs.td
The file was modifiedmlir/include/mlir/IR/CMakeLists.txt
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
The file was modifiedmlir/test/lib/IR/CMakeLists.txt
The file was addedmlir/lib/IR/BuiltinAttributeInterfaces.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/include/mlir/IR/BuiltinAttributeInterfaces.h
The file was modifiedmlir/lib/IR/CMakeLists.txt
The file was addedmlir/test/lib/IR/TestBuiltinAttributeInterfaces.cpp
The file was addedmlir/test/IR/elements-attr-interface.mlir
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.td
Commit 85b4b21c8bbad346d58a30154d2767c39cf3285a by kazu
[llvm] Use make_early_inc_range (NFC)
The file was modifiedllvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/X86/X86OptimizeLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
Commit a06db78fd99014993b62b99c305c7b374c1579fc by mkazantsev
[NFC] Rename Context->CtxI in SCEV for uniformity reasons
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit cad9f98a2ad98fecf663e9ce39502b8e43676fc9 by llvm-project
[Polly] Don't generate inter-iteration noalias metadata.

This metadata was intended to mark all accesses within an iteration to be pairwise non-aliasing, in this case because every memory of a base pointer is touched (read or write) at most once. This is typical for 'sweeps' over all data. The stated motivation from D30606 is to ensure that unrolled iterations are considered non-aliasing.

Rhe implemention had multiple issues:

* The structure of the noalias metadata was malformed. D110026 added check in the verifier for this metadata, and the tests were failing since then.

* This is not true for the outer loops of the BLIS matrix multiplication, where it was being inserted. Each element of A, B, C is accessed multiple times, as often as the loop not used as an index is iterating.

* Scopes were added to SecondLevelOtherAliasScopeList (used for the !noalias scop list) on-the-fly when another SCEV was seen. This meant that previously visited instructions would not be updated with alias scopes that are only seen later, missing out those SCEVs they should not be aliasing with.

* Since the !noalias scope list would ideally consists of all other SCEV for this base pointer, we might run quickly into scalability issues. Especially after unrolling there would probably at least once SCEV per instruction and unroll instance.

* The inter-iteration noalias base pointer was not removed after leaving the loop marked with it, effectively marking everything after it to noalias as well.

A solution I considered was to mark each instruction as non-aliasing with its own scope. The instruction itself would obviously alias itself, but such construction might also be considered invalid. Duplicating the instruction (e.g. due to speculation) would mark the instruction non-aliasing with its clone. I don't want to go into this territory, especially since the original motivation of determining unrolled instances as noalias based on SCEV is the what scev-aa does as well.

This effectively reverts D30606 and D35761.
The file was removedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_10.ll
The file was modifiedpolly/lib/CodeGen/IRBuilder.cpp
The file was modifiedpolly/include/polly/CodeGen/IRBuilder.h
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp
The file was modifiedpolly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
The file was modifiedpolly/lib/Transform/MatmulOptimizer.cpp
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
The file was modifiedpolly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
Commit 073b254cffeffdef36ffbee0c9afdc0da9cd6ac3 by mkazantsev
[SimplifyCFG] Redirect switch cases that lead to UB into an unreachable block

When following a case of a switch instruction is guaranteed to lead to
UB, we can safely break these edges and redirect those cases into a newly
created unreachable block. As result, CFG will become simpler and we can
remove some of Phi inputs to make further analyzes easier.

Patch by Dmitry Bakunevich!

Differential Revision: https://reviews.llvm.org/D109428
Reviewed By: lebedev.ri
The file was modifiedllvm/test/CodeGen/AArch64/arm64-ccmp.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/switch_ub.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 58abc8c34bde7021bbfa0a7bdfd2af9524cba263 by clattner
[OpAsmParser] Add a parseCommaSeparatedList helper and beef up Delimeter.

Lots of custom ops have hand-rolled comma-delimited parsing loops, as does
the MLIR parser itself.  Provides a standard interface for doing this that
is less error prone and less boilerplate.

While here, extend Delimiter to support <> and {} delimited sequences as
well (I have a use for <> in CIRCT specifically).

Differential Revision: https://reviews.llvm.org/D110122
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/Parser/AffineParser.cpp
The file was modifiedmlir/test/IR/invalid-affinemap.mlir
The file was modifiedmlir/lib/Parser/LocationParser.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/Parser/TypeParser.cpp
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/lib/Parser/Parser.h
The file was modifiedmlir/lib/Dialect/Async/IR/Async.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/test/IR/invalid.mlir
Commit ea72b0319d7b0f0c2fcf41d121afa5d031b319d5 by yhs
BPF: make 32bit register spill with 64bit alignment

In llvm, for non-alu32 mode, the stack alignment is 64bit so only one
64bit spill per 64bit slot. For alu32 mode, the stack alignment
is 32bit, so it is possible to have two 32bit spills per
64bit slot.

Currently, bpf kernel verifier does not preserve register states
for 32bit spills. That is, one 32bit register may hold a constant
value or a bounded range before spill. After reload from the
stack, the information is lost and sometimes this may cause
verifier failure. For 64bit register spill, the verifier
indeed tries to preserve the register state for reloading.

The current verifier can be modestly changed to handle one
32bit spill per 64bit stack slot with state-preserving reload.
Handling two 32bit spills per 64bit stack slot will require
substantial changes.

This patch changes stack alignment for alu32 to be 64bit.
This way, for any 64bit slot in alu32 mode, only one
32bit or 64bit register values can be saved. Together
with previous-mentioned verifier enhancement, 32bit
spill can be handled with state preserving.

Note that llvm stack slot coallescing
seems only doing adjacent packing which may leave some holes
in the stack. For example,
   stack slot 8   <== 8 bytes
   stack slot 4   <== 8 bytes with 4 byte hole
   stack slot 8   <== 8 bytes
   stack slot 4   <== 4 bytes

Differential Revision: https://reviews.llvm.org/D109073
The file was modifiedllvm/lib/Target/BPF/BPFRegisterInfo.td
The file was addedllvm/test/CodeGen/BPF/spill-alu32.ll
Commit 2c7d5fbc9ebf914f90acad8534289ea01e899ec8 by mkazantsev
[SCEV] Generalize implication when signedness of FoundPred doesn't matter

The implication logic for two values that are both negative or non-negative
says that it doesn't matter whether their predicate is signed and unsigned,
but only flips unsigned into signed for further inference. This patch adds
support for flipping a signed predicate into unsigned as well.

Differential Revision: https://reviews.llvm.org/D109959
Reviewed By: nikic
The file was modifiedllvm/test/Transforms/IndVarSimplify/negative_ranges.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 7091a7f781c9889f109b6be7b07822bfd91094dc by Amara Emerson
[GlobalISel][Legalizer] Don't use eraseFromParentAndMarkDBGValuesForRemoval() for some artifacts.

For artifacts excluding G_TRUNC/G_SEXT, which have IR counterparts, we don't
seem to have debug users of defs. However, in the legalizer we're always calling
MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval() which is expensive.
In some rare cases, this contributes significantly to unreasonably long compile
times when we have lots of artifact combiner activity.

To verify this, I added asserts to that function when it actually replaced a debug
use operand with undef for these artifacts. On CTMark with both -O0 and -Os and
debug info enabled, I didn't see a single case where it triggered.

In my measurements I saw around a 0.5% geomean compile-time improvement on -g -O0
for AArch64 with this change.

Differential Revision: https://reviews.llvm.org/D109750
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
Commit 129cf336041f0ed7454c0f6866401d2847dd3967 by ybrevnov
[DSE][NFC] Rename Later->Killing, Earlier->Dead

First (and biggest) change is to use "Killing/Dead" in place of "Later/Earlier" base for names in DSE. For example, [Maybe]DeadLoc - is a location killed by KillingI instruction. I believe such names are more descriptive and easy to understand than current ones.

Second, there are inconsistencies in naming where different names are used for the same thing. Fixed that too.

Third, reordered parameters of isPartialOverwrite, tryToMergePartialOverlappingStores, isOverwrite to make them consistent between each other. This greatly reduces potential mistakes.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D106947
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit cc65e08fe7e1402cd6549882879f50e5238e8178 by Amara Emerson
[GlobalISel][Legalizer] Use ArtifactValueFinder first for unmerge combines before trying others.

This is motivated by an pathological compile time issue during unmerge combining.

We should be able to use the AVF to do simplification. However AMDGPU
has a lot of codegen changes which I'm not sure how to evaluate.

Differential Revision: https://reviews.llvm.org/D109748
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
Commit d87d1aa07612116a5c2a660f678856d3bda94f46 by zeratul976
[clangd] Deduplicate inlay hints

Duplicates can sometimes appear due to e.g. explicit template
instantiations

Differential Revision: https://reviews.llvm.org/D110051
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
Commit 0d12c99191de5736a2a49e99121ed8059cb7afd3 by arjunpitchanathan
[MLIR] Add mergeLocalIds and mergeSymbolIds

This patch adds mergeLocalIds andmergeSymbolIds as public functions
for FlatAffineConstraints and FlatAffineValueConstraints respectively.

mergeLocalIds is also required to support divisions in intersection,
subtraction, equality checks, and complement for PresburgerSet.

This patch is part of a series of patches aimed at generalizing affine
dependence analysis.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D110045
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
Commit 791b6ebc86680168d634103b67a92a354c075cc4 by pavel
[lldb] Speculative fix to TestGuiExpandThreadsTree

This test relies on being able to unwind from an arbitrary place inside
libc. While I am not sure this is the cause of the observed flakyness,
it is known that we are not able to unwind correctly from some places in
(linux) libc.

This patch adds additional synchronization to ensure that the inferior
is in the main function (instead of pthread guts) when lldb tries to
unwind it. At the very least, it should make the test runs more
predictable/repeatable.
The file was modifiedlldb/test/API/commands/gui/expand-threads-tree/TestGuiExpandThreadsTree.py
The file was removedlldb/test/API/commands/gui/expand-threads-tree/main.c
The file was modifiedlldb/test/API/commands/gui/expand-threads-tree/Makefile
The file was addedlldb/test/API/commands/gui/expand-threads-tree/main.cpp
Commit 032cb1650fe62f9c93b0a0857e21597b2d11a69f by morten_bp
[MLIR][SCF] Add for-to-while loop transformation pass

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

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

Differential Revision: https://reviews.llvm.org/D108454
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.td
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.h
The file was addedmlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
The file was addedmlir/test/Dialect/SCF/for-loop-to-while-loop.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
Commit b23d22f7d546a525e6fb0e3f32f835c459ac2746 by cullen.rhodes
[PowerPC] NFC: Remove unused tblgen template args

Identified in D109359.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D109715
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrHTM.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrFormats.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
Commit eccd477ce312c54e317876ca714c661325f3e318 by sylvestre
Add CMAKE_BUILD_TYPE to the list of BOOTSTRAP_DEFAULT_PASSTHROUGH variables

When building clang in stage2, when -DCMAKE_BUILD_TYPE=RelWithDebInfo is set,
the developer can expect that the stage2 clang is built using the same mode.
Especially as the performances are much worst in debug mode.
(Principle of least astonishment)

Differential Revision: https://reviews.llvm.org/D53014
The file was modifiedclang/CMakeLists.txt
Commit 7e7484a816a53d557c3b2444d8e3daa60eabcc7b by andrzej.warzynski
[flang][docs] Document plugin limitations

This was extracted from the discussion on
https://reviews.llvm.org/D108283.

Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>

Differential Revision: https://reviews.llvm.org/D109871
The file was modifiedflang/docs/FlangDriver.md
Commit 5c77ed0330c47ad8fa4b229bceb6c33c76536961 by uday
[MLIR] NFC. gpu.launch op argument const folder cleanup

NFC updates to gpu.launch op argument const folder.

Differential Revision: https://reviews.llvm.org/D110136
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
Commit 57b8b5c114b6e595f8d9118807d741ef30518777 by Justas.Janickas
[OpenCL] Test case for C++ for OpenCL 2021 in OpenCL C header test

RUN line representing C++ for OpenCL 2021 added to the test. This
should have been done as part of earlier commit fb321c2ea274 but
was missed during rebasing.

Differential Revision: https://reviews.llvm.org/D109492
The file was modifiedclang/test/Headers/opencl-c-header.cl
Commit 7b4cc09b1424c7f53051f971347c00d5f27fbb4e by david.stenberg
[LowerConstantIntrinsics] Fix heap-use-after-free bug in worklist

This fixes PR51730, a heap-use-after-free bug in
replaceConditionalBranchesOnConstant().

With the attached reproducer we were left with a function looking
something like this after replaceAndRecursivelySimplify():

  [...]

  cont2.i:
    br i1 %.not1.i, label %handler.type_mismatch3.i, label %cont4.i

  handler.type_mismatch3.i:
    %3 = phi i1 [ %2, %cont2.thread.i ], [ false, %cont2.i ]
    unreachable

  cont4.i:
    unreachable

  [...]

with both the branch instruction and PHI node being in the worklist. As
a result of replacing the branch instruction with an unconditional
branch, the PHI node in %handler.type_mismatch3.i would be removed. This
then resulted in a heap-use-after-free bug due to accessing that removed
PHI node in the next worklist iteration.

This is solved by using a value handle worklist. I am a unsure if this
is the most idiomatic solution. Another solution could have been to
produce a worklist just containing the interesting branch instructions,
but I thought that it perhaps was a bit cleaner to keep all worklist
filtering in the loop that does the rewrites.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D109221
The file was modifiedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
The file was addedllvm/test/Transforms/LowerConstantIntrinsics/stale-worklist-phi.ll
Commit 4d5d72542839b11455a0c261b66a0426c1530d52 by mkazantsev
[SCEV] Add some asserts on availability of arguments of isLoopEntryGuardedByCond

The logic in howManyLessThans is fishy. It first checks invariance of
RHS, and then uses OrigRHS as argument for isLoopEntryGuardedByCond, which
is, strictly saying, a different thing. We are seeing a very rare intermittent
failure of availability checks, and it looks like this precondition is
sometimes broken. Before we can figure out what's going on, adding asserts
that all involved values that may possibly to to isLoopEntryGuardedByCond
are available at loop entry.

If either of these asserts fails (OrigRHS is the most likely suspect), it
means that the logic here is flawed.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 8bc71856681c235a3192813947308a19577c9236 by petar.avramovic
GlobalISel/Utils: Refactor constant splat match functions

Add generic helper function that matches constant splat. It has option to
match constant splat with undef (some elements can be undef but not all).
Add util function and matcher for G_FCONSTANT splat.

Differential Revision: https://reviews.llvm.org/D104410
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modifiedllvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
Commit cd166fb2ef9c8fde374cb5de9c57802536d9b79e by mkazantsev
[SCEV] Use isAvailableAtLoopEntry in the asserts

This is what is supposed to be there.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit e83629280f32102cd93a216490188922843af06c by david.green
[AArch64] Regenerate test lines in sve-implicit-zero-filling.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
Commit 86dcb592069f2d18a183fa1daa611029ae80ef4c by jay.foad
[AMDGPU] Prefer v_fmac over v_fma only when no source modifiers are used

v_fmac with source modifiers forces VOP3 encoding, but it is strictly
better to use the VOP3-only v_fma instead, because $dst and $src2 are
not tied so it gives the register allocator more freedom and avoids a
copy in some cases.

This is the same strategy we already use for v_mad vs v_mac and
v_fma_legacy vs v_fmac_legacy.

Differential Revision: https://reviews.llvm.org/D110070
The file was modifiedllvm/test/CodeGen/AMDGPU/frem.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fma.s32.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/strict_fma.f32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fmad-formation-fmul-distribute-denormal-mode.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/strict_fma.f16.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fdiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fma.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mad-mix.ll
Commit 598bebeaa645049d13f1d3d1c8b8b821bb97283f by jay.foad
[AMDGPU] Prefer fmac over fma when selecting FMA_W_CHAIN

FMA_W_CHAIN is used when lowering fdiv f32. Prefer to select it to fmac
if there are no source modifiers, just like we do for other mad/mac and
fma/fmac cases.

Differential Revision: https://reviews.llvm.org/D110074
The file was modifiedllvm/test/CodeGen/AMDGPU/fdiv.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/frem.ll
Commit 6fe35ef419391215e21e51b859f74e6b7b8819d4 by dvyukov
tsan: fix debug format strings

Some of the DPrintf's currently produce -Wformat warnings if enabled.
Fix these format strings.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D110131
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
Commit 908256b0ea3e3ba3b80dbe9c81fc68a1ee35ac33 by dvyukov
tsan: rearrange thread state callbacks (NFC)

Thread state functions are split into 2 parts:
tsan entry function (e.g. ThreadStart) and thread registry
state change callback (e.g. OnStart). Currently these
pairs of functions are located far from each other and
in reverse order. This makes it hard to read and follow the logic.
Reorder the code so that OnFoo directly follows ThreadFoo.
No other code changes.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D110132
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Commit 9d7b7350c9e00e2a43585328e875bec11c8c8c17 by dvyukov
tsan: simplify thread context setting

Currently we set thr->tctx after OnStarted callback
taking thread registry mutex again and searching for the context.
But OnStarted already runs under the thread registry mutex
and has access to the context, so set it in the OnStarted.
This makes code simpler and faster.

Depends on D110132.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D110133
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
Commit 0f83456cf5bfaa731f9d5aa2500a5f10dd9de1b7 by llvm-dev
[CodeGen] SDDbgValue::getSDNodes() - use const-ref to avoid unnecessary copies. NFCI.

Reported by MSVC static analyzer.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
Commit f5d23d36de87f0cef3117df657d4f1d9133749c0 by llvm-dev
RewriteStatepointsForGC - Use const-ref iterator in for-range loops. NFCI.

Avoid unnecessary copies, reported by MSVC static analyzer.
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Commit 20b58855e0cfc263d609e8bb59e692024ecb42aa by llvm-dev
[CodeGen] SelectionDAGBuilder - Use const-ref iterator in for-range loops. NFCI.

Avoid unnecessary copies, reported by MSVC static analyzer.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit fc8f1e4419d338a347bade7cfc76f73052f00739 by llvm-dev
[InstCombine] foldConstantInsEltIntoShuffle - bail if we fail to find constant element (PR51824)

If getAggregateElement() returns null for any element, early out as otherwise we will assert when creating a new constant vector

Fixes PR51824 + ; OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38057
The file was addedllvm/test/Transforms/InstCombine/pr51824.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Commit 9e4d72675f476386cf6555cd5a1014cdd8d9facb by nicholas.guy
[AArch64] Improve schedule modelling on the Cortex-A55

Enables the FuseAddress feature in the Cortex-A55 scheduling model

Differential Revision: https://reviews.llvm.org/D109323
The file was addedllvm/test/CodeGen/AArch64/a55-fuse-address.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
Commit ea27dd74972e95e513fefcf96067522364f4e3d7 by flo
[VectorCombine] Add tests which require DT to use info from assumes.
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll
Commit a48b43f9816aa3a3ccc9ca13e7767ccf70756729 by paulsson
[SystemZ]  Emit EXRL target instructions before text section is ended.

SystemZ adds the EXRL target instructions in the end of each file. This must
be done before debug info emission since that may end the text section, and
therefore this is now done in emitConstantPools() (instead of in
emitEndOfAsmFile).

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D109513
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was addedllvm/test/CodeGen/SystemZ/memset-06.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetStreamer.h
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
Commit e9ea03c62ccc1ed4e3ed4f20e37640cfdd76cbcf by thakis
[llvm] Pass LLVM_CHECK_ENABLED_PROJECTS through in cross builds
The file was modifiedllvm/cmake/modules/CrossCompile.cmake
Commit 043733d677310d6b0ac465b938e82733a9f4cfce by gusrb406
[IR] Add the constructor of ShuffleVector for one-input-vector.

One of the two inputs of the Shufflevector is often a placeholder.
Previously, there were cases where the placeholder was undef, and there were cases where it was poison.
I added these constructors to create a placeholder consistently.

Changing to use the newly added constructor will be written in a separate patch.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D110146
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit b8e7f5320825812fc4b597ee5df3dccc53fe78bb by dmitry.preobrazhensky
[AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics

Differential Revision: https://reviews.llvm.org/D109614
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_flat.s
Commit af1c5312d76000bf134d8b81cdb7343607c6ee64 by spatel
[InstCombine] add tests for mask-shift with trunc; NFC
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll
Commit 17a26f585127fde64fdf1b2393e90454e81f143c by diana.picus
[NFC] Update the list of subprojects in docs.

The updated list is based on the output of
cmake -G Ninja -S llvm -B build -DLLVM_ENABLE_PROJECTS='foo'.

Differential Revision: https://reviews.llvm.org/D110124
The file was modifiedREADME.md
The file was modifiedllvm/docs/GettingStarted.rst
Commit ee31ad0ab5f7d443b0bd582582a3524dcf7f13f0 by Saiyedul.Islam
[clang-offload-bundler][docs][NFC] Add archive unbundling documentation

Add documentation of unbundling of heterogeneous device archives to
create device specific archives, as introduced by D93525. Also, add
documentation for supported text file formats.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D110083
The file was modifiedclang/docs/ClangOffloadBundler.rst
Commit 69921f6f4558a2c5c8e48c5b12d83a65127bfecc by anna
[InstCombine] Improve TryToSinkInstruction with multiple uses

This patch allows sinking an instruction which can have multiple uses in a
single user. We were previously over-restrictive by looking for exactly one use,
rather than one user.

Also added an API for retrieving a unique undroppable user.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D109700
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
The file was modifiedllvm/test/Transforms/InstCombine/sink_instruction.ll
The file was modifiedllvm/include/llvm/IR/Value.h
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 32b994bca66641cdac8586f25315daf349921ebc by Justas.Janickas
[OpenCL] Defines helper function for OpenCL default address space

Helper function `getDefaultOpenCLPointeeAddrSpace()` introduced to
`ASTContext` class. It returns default OpenCL address space
depending on language version and enabled features. If generic
address space is supported, the helper function returns value
`LangAS::opencl_generic`. Otherwise, value `LangAS::opencl_private`
is returned. Code refactoring changes performed in several suitable
places.

Differential Revision: https://reviews.llvm.org/D109874
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit b3052013b43617defd777b1f3b4339540c4c07df by powerman1st
[RISCV] Optimize (add (mul x, c0), c1)

Optimize (add (mul x, c0), c1) -> (ADDI (MUL (ADDI, c1/c0), c0), c1%c0),
if c1/c0 and c1%c0 are simm12, while c1 is not.

Optimize (add (mul x, c0), c1) -> (MUL (ADDI, c1/c0), c0),
if c1%c0 is zero, and c1/c0 is simm12 while c1 is not.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D108607
The file was modifiedllvm/test/CodeGen/RISCV/addimm-mulimm.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 744ec74b305a5039dc74e2d043e1c136e06beac1 by chris.bieneman
[NFC] `goto fail` has failed us in the past...

This patch replaces reliance on `goto failure` pattern with
`llvm::scope_exit`.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D109865
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
Commit c8eed8f9a7e019382ab236c90ac1ee0f5d81c54f by gysit
[mlir][linalg] Assert tile loop nest invariants in fusion.

Assert the tile loop nest invariants are satisfied instead of failing silently.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110137
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit 0d2c54e851f12594b38f45e76ced03e3f5cc5443 by nicolas.vasilache
[mlir][Linalg] Revisit RAW dependence interference in comprehensive bufferize.

Previously, comprehensive bufferize would consider all aliasing reads and writes to
the result buffer and matching operand. This resulted in spurious dependences
being considered and resulted in too many unnecessary copies.

Instead, this revision revisits the gathering of read and write alias sets.
This results in fewer alloc and copies.
An exhaustive test cases is added that considers all possible permutations of
`matmul(extract_slice(fill), extract_slice(fill), ...)`.
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
The file was addedmlir/test/Dialect/Linalg/comprehensive-bufferize-analysis-2fill-extract-matmul-all-perms.mlir
Commit 101d017a643845b537687467e3f7c2a5d963df6e by nicolas.vasilache
[mlir][Linalg] Revisit heuristic ordering of tensor.insert_slice in comprehensive bufferize.

It was previously assumed that tensor.insert_slice should be bufferized first in a greedy fashion to avoid out-of-place bufferization of the large tensor. This heuristic does not hold upon further inspection.

This CL removes the special handling of such ops and adds a test that exhibits better behavior and appears in real use cases.

The only test adversely affected is an artificial test which results in a returned memref: this pattern is not allowed by comprehensive bufferization in real scenarios anyway and the offending test is deleted.

Differential Revision: https://reviews.llvm.org/D110072
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit a502294b2d9594e06be01fab344e937ddae22cd1 by david.green
[AArch64] Regenerate test lines in and-mask-removal.ll
The file was modifiedllvm/test/CodeGen/AArch64/and-mask-removal.ll
Commit 9ae4275557ca10f79af91ca99a2aa79d5dfd7ed3 by wingo
[clang][NFC] Fix needless double-parenthisation

Strip a layer of parentheses in TreeTransform::RebuildQualifiedType.

Differential Revision: https://reviews.llvm.org/D108359
The file was modifiedclang/lib/Sema/TreeTransform.h
Commit f3366983f0aa81f5fc5361392a6fcec05157b851 by petar.avramovic
AMDGPU/GlobalISel: Restore run line erased in D109154 by mistake
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
Commit 3500e7d2b0f1c3f508f384ba9223e879c103b0ab by dmitry.preobrazhensky
[AMDGPU][MC][GFX7][GFX10] Corrected image_atomic_fcmpswap

Differential Revision: https://reviews.llvm.org/D109616
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_mimg.s
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_mimg.txt
The file was modifiedllvm/test/MC/AMDGPU/gfx7_asm_mimg.s
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
Commit 9072f1b5f81347b36f0668e8cc10802fedbc6cfd by gysit
[mlir][linalg] Add isPermutation helper (NFC).

Add a helper method to check if an index vector contains a permutation of its indices. Additionally, refactor applyPermutationToVector to take int64_t.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110135
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit 8b5236def5a1adc55f649f125d2582254b80f699 by gysit
[mlir][linalg] Simplify slice dim computation for fusion on tensors (NFC).

Compute the tiled producer slice dimensions directly starting from the consumer not using the producer at all.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110147
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-on-tensors.mlir
Commit 624e4d087efdb2f26a9a618dd0e2da99782e6308 by Matthew.Arsenault
[GlobalISel] Support ConstantAsMetadata in IRTranslator

When using instructions which have a MetadataAsValue argument
(e.g. some target-specific intrinsics) MD canonicalization strips
internal MDNodes with a single ConstantAsMetadata child. That
prevented IRTranslator from the proper translation of such a calls.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-metadata.ll
Commit 5fb3ae525ffa7fc9e09e0c10de02ecc003c3adae by michael.hliao
[SelectionDAG] Re-calculate scoped AA metadata when merging stores.

Reviewed By: jeroen.dobbelaere

Differential Revision: https://reviews.llvm.org/D102821
The file was addedllvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
The file was modifiedllvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
The file was modifiedllvm/include/llvm/IR/Metadata.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 5131037ea96f9e2bc863557ba6d6dc63f46a94ab by flo
[ValueTracking,VectorCombine] Allow passing DT to computeConstantRange.

isValidAssumeForContext can provide better results with access to the
dominator tree in some cases. This patch adjusts computeConstantRange to
allow passing through a dominator tree.

The use VectorCombine is updated to pass through the DT to enable
additional scalarization.

Note that similar APIs like computeKnownBits already accept optional dominator
tree arguments.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D110175
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit 11c533e1ea38381726ed04ab65937a03fbfb3e19 by kcc
[sanitizer coverage] write the pc-table at the process exit

The current code writes the pc-table at the process startup,
which may happen before the common_flags() are initialized.
Move writing to the process end.
This is consistent with how we write the counters and avoids the problem with the uninitalized flags.
Add prints if verbosity>=1.

Reviewed By: kostik

Differential Revision: https://reviews.llvm.org/D110119
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter_default_impl.cpp
Commit 08ef71ca92d9bd474ac4bbb5109e9ced19c77f0e by spatel
[InstCombine] move/add tests for trunc-of-lshr; NFC

Planning to reframe a proposed transform in terms of
demanded bits as suggested in D110170.
The new tests end with an 'or'.
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll
The file was addedllvm/test/Transforms/InstCombine/trunc-demand.ll
Commit 54229cd9e44f70de09ffa0c55ad35317c521adc0 by kazu
[CodeGen] Remove redundant declaration getFileType (NFC)
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
Commit 57939309501c33b264b777e04186c7747ebc3de1 by quinn.pham
[PowerPC] Fix signature of lxvp and stxvp builtins

This patch changes the signature of the load and store vector pair
builtins to match their documentation. The type of the `signed long long`
argument is changed to `signed long`. This patch also changes existing testcases
to match the signature change.

Reviewed By: lei, Conanap

Differential Revision: https://reviews.llvm.org/D109996
The file was modifiedclang/test/CodeGen/builtins-ppc-pair-mma.c
The file was modifiedclang/test/Sema/ppc-pair-mma-types.c
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
Commit c0fdfc9af2338fa84f1b65dda8f1649c0ec1ebf1 by Dávid Bolvanský
[InstCombine] powi(x, y) * powi(x, z) -> powi(x, y + z)

We already have pow(x, y) * pow(x, z) -> pow(x, y + z) transformation, but we are missing same transformation for powi (power is integer).

Requires reassoc.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D109954
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/powi.ll
Commit 73a8bcd78921d38130fc42c90fd75d47b05b063d by aaron
Revert "Diagnose -Wunused-value based on CFG reachability"

This reverts commit 63e0d038fc20c894a3d541effa1bc2b1fdea37b9.

It causes test failures:

http://lab.llvm.org:8011/#/builders/119/builds/5612
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8835548361443044001/+/u/clang/test/stdout
The file was modifiedclang/test/CXX/basic/basic.link/p8.cpp
The file was modifiedclang/test/Sema/sizeless-1.c
The file was modifiedclang/test/Parser/objc-try-catch-1.m
The file was modifiedclang/test/SemaCXX/warn-unused-value.cpp
The file was modifiedclang/test/SemaCXX/warn-comma-operator.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/Sema/const-eval.c
The file was modifiedclang/test/Sema/vla-2.c
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
The file was modifiedclang/test/Sema/warn-type-safety.c
The file was modifiedclang/test/SemaCXX/overloaded-operator.cpp
The file was modifiedclang/test/Sema/switch-1.c
The file was modifiedclang/test/SemaCXX/vector.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/CXX/drs/dr14xx.cpp
The file was modifiedclang/test/SemaCXX/matrix-type-operators.cpp
The file was modifiedclang/test/SemaCXX/builtin-constant-p.cpp
The file was modifiedclang/test/Parser/cxx-ambig-decl-expr.cpp
The file was modifiedclang/test/Parser/objcxx11-attributes.mm
The file was modifiedclang/test/SemaTemplate/derived.cpp
The file was modifiedclang/test/Parser/cxx0x-ambig.cpp
The file was modifiedclang/test/Parser/cxx1z-init-statement.cpp
The file was modifiedclang/test/Sema/exprs.c
The file was modifiedclang/test/SemaCXX/expression-traits.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/Analysis/dead-stores.c
The file was modifiedclang/test/CodeCompletion/pragma-macro-token-caching.c
The file was modifiedclang/test/Sema/i-c-e.c
The file was modifiedclang/test/CXX/drs/dr7xx.cpp
The file was modifiedclang/test/CXX/drs/dr20xx.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/Sema/warn-unused-value.c
The file was modifiedclang/test/SemaTemplate/lambda-capture-pack.cpp
The file was modifiedclang/test/SemaCXX/attr-annotate.cpp
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang/test/Frontend/fixed_point_crash.c
The file was modifiedclang/test/PCH/cxx-explicit-specifier.cpp
The file was modifiedclang/test/SemaCXX/constant-expression.cpp
The file was modifiedclang/test/Parser/objc-messaging-1.m
Commit 8c68bd480f3d8a5bf6087f47837d320f9d6dba2d by cchen
[OpenMP][NFC] Add declare variant and metadirective to support page
The file was modifiedclang/docs/OpenMPSupport.rst
Commit a04a6ce7726b51c4f503c8de899362bee40d4e04 by koraq
[libc++][format] Adds parser std-format-spec.

This implements the generic std.format.spec framework for all types.

The Unicode support will be added in a separate patch.

Implements parts of:
- P0645 Text Formatting

Completes:
- LWG-3242 std::format: missing rules for arg-id in width and precision
- P1892 Extended locale-specific presentation specifiers for std::format

Reviewed By: #libc, ldionne, vitaut

Differential Revision: https://reviews.llvm.org/D103368
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_integral.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/concepts_precision.h
The file was modifiedlibcxx/docs/Status/Cxx20Papers.csv
The file was modifiedlibcxx/include/format
The file was modifiedlibcxx/include/__format/formatter.h
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/test_exception.h
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_string.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/include/__format/parser_std_format_spec.h
The file was modifiedlibcxx/docs/Status/Cxx20Issues.csv
Commit a3bb4f145599c7c4147fd60ea15cb09cd68e50d9 by llvmgnsyncbot
[gn build] Port a04a6ce7726b
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 908c1154421287c6ffa0ef06ef5225a8fd0b06a7 by thakis
[lldb/win] Default to native PDB reader when LLVM_ENABLE_DIA_SDK=NO

Trying to use the DIA SDK reader only to fail with "DIA SDK wasn't enabled"
isn't very useful. The native PDB reader is missing some stuff, but it's still
better than nothing.

Reduces number of lldb-check-shell test failures with LLVM_ENABLE_DIA_SDK=NO
from 27 to 15.

Differential Revision: https://reviews.llvm.org/D110172
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
Commit aeb63d464f30db5e32da1449a650eec8c85d95bd by craig.topper
[RISCV] Teach RISCVTargetLowering::shouldSinkOperands to sink splats for and/or/xor.

This requires a minor change to CodeGenPrepare to ensure that
shouldSinkOperands will be called for And.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D110106
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit ab6a69dfea64d362dca300c3926733b9a599ad2c by ayal.zaks
[LV] Fix crash for reverse interleaved loads with gap under fold-tail.

This patch fixes the crash found by PR51614:
whenever doing tail folding, interleave groups must be considered under mask.

Another fix D108900 follows for targets that support masked loads and stores:
when *deciding* to vectorize with masked interleave groups, check if the access
is reverse - which is currently not supported; rather than (only) asserting when
computing cost and generating code.

Differential Revision: https://reviews.llvm.org/D108891
The file was addedllvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 2af57b6099e1750c375cfc1321d1a5ef0a65c085 by amy.kwan1
[PowerPC] Add prefix load pattern for fpext to v2f64

This patch adds a prefixed load pattern involving v2f32 fpext v2f64, where we
are dealing with a value with an offset that fits into a 34-bit signed immediate.
A reduced test case is also added to patch that tests the pattern, in which the
pattern is tested in the big endian CHECKs of the newly added test.

Differential Revision: https://reviews.llvm.org/D109887
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/CodeGen/PowerPC/reduce_scalarization.ll
Commit 1d66649adf28d48ae1731516d87fb899426e3349 by georgakoudis1
[OpenMP] Codegen aggregate for outlined function captures

Parallel regions are outlined as functions with capture variables explicitly generated as distinct parameters in the function's argument list. That complicates the fork_call interface in the OpenMP runtime: (1) the fork_call is variadic since there is a variable number of arguments to forward to the outlined function, (2) wrapping/unwrapping arguments happens in the OpenMP runtime, which is sub-optimal, has been a source of ABI bugs, and has a hardcoded limit (16) in the number of arguments, (3)  forwarded arguments must cast to pointer types, which complicates debugging. This patch avoids those issues by aggregating captured arguments in a struct to pass to the fork_call.

Reviewed By: jdoerfert, jhuber6

Differential Revision: https://reviews.llvm.org/D102107
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_variant_construct_codegen_1.c
The file was modifiedclang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/reduction_compound_op.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_codegen_global_capture.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/single_private_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_target_codegen_globalization.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/vla_crash.c
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/test/OpenMP/metadirective_device_kind_codegen.c
The file was modifiedclang/test/CodeGenCXX/observe-noexcept.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/OpenMP/sections_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/single_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/debug-info-complex-byval.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_if_codegen_PR51349.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/taskgroup_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen_UDR.cpp
The file was modifiedclang/test/OpenMP/nvptx_allocate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_private_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_lastprivate_conditional.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_aligned_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/tile_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/cancellation_point_codegen.cpp
The file was removedopenmp/libomptarget/deviceRTLs/common/generated_microtask_cases.gen
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/unroll_codegen_parallel_for_factor.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedclang/test/OpenMP/task_if_codegen.cpp
The file was modifiedclang/test/OpenMP/metadirective_device_kind_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_codegen.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
The file was removedopenmp/libomptarget/utils/generate_microtask_cases.py
The file was modifiedclang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_03.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/debug-info-openmp-array.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/openmp_win_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/single_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedclang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/metadirective_implementation_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
The file was modifiedclang/test/OpenMP/parallel_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
Commit 78b51c7a2cb6994c1baf4349d61266f36f0c45c5 by dmalyutin
[LSR] Make sure that Factor fits into Base type

Fixes pr42770

Differential Revision: https://reviews.llvm.org/D108772
The file was addedllvm/test/Transforms/LoopStrengthReduce/scaling-factor-incompat-type.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/pr42770.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit 7c975665b47cb91227c5ec0cd902aaf4a7529b58 by craig.topper
[RISCV] Make some arrays of constants 'static const'. NFC

This helps the compiler generate better code.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit cbdf624bb82b57dc9372353459cb04e615418697 by brendon.cahoon
[AMDGPU] Correctly merge alias.scope and noalias metadata for memops

When adding alias.scope and noalias metadata to a memcpy function,
the alias.scope and noalias metadata from the operands are merged.
The rule for merging alias.scope is to take the intersection of
the domains and the union of the scopes within those domains.
The rule for merging noalias is to take the intersection.

The bug is that AMDGPULowerModuleLDS was using concatenation for
both alias.scope and noalias. For example, when f1 and f2 are added
to the LDS structure and there is a memcpy(f2, f1, sizeof(f1)).
Then, concatenation creates noalias metadata for the memcpy that
includes both {f1, f2}. That means that the memcpy is assumed
not to alias a prior load of f2, which enables the optimizer to
remove a load of f2 that occurs after mempcy.

The function MDNode::getmostGenericAliasScope defines the semantics
for alias.scope. There is a function, combineMetadata in Local.cpp,
that uses intersect for noalias.

Differential Revision: https://reviews.llvm.org/D110049
The file was addedllvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
Commit b5fbbdd2025fb04dc8ee1fc892d6575a9a3e2bcd by resistor
Teach InstCombine to eliminate malloc-realloc-free triplets.

Reviewed By: majnemer

Differential Revision: https://reviews.llvm.org/D109988
The file was addedllvm/test/Transforms/InstCombine/alloc-realloc-free.ll
The file was addedllvm/test/Transforms/InstCombine/realloc-free.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 1a33294652b24eff17a1f222f1f11f4986cdce5a by Alexander Timofeev
[AMDGPU] Filtering out the inactive lanes bits when lowering copy to SCC

Normally, given that the DA results are kept consistent over the selection DAG, uniform comparisons get selected to S_CMP_* but divergent to V_CMP_*.  Sometimes, for the sake of efficiency,  SSA subgraphs may be converted to VALU to avoid repeatedly copying data back and forth. Hence we have to be able to sustain the correctness passing the i1 from VALU to SALU context and vice versa.

VALU operations only process the active lanes of the VGPR and ignore inactive ones.
Active lanes correspond to 1 bit in the EXEC mask register.
SALU represents i1 as just one bit but VALU as 64bits: 0/1 and 0/(0xffffffffffffffff & EXEC) respectively.
SALU uses one-bit conditional flag SCC but VALU - VCC that is a pair of 32-bit SGPRs

To expose SCC to the VALU context we need to convert the one-bit boolean value to the appropriate 64bit.
To return back to the SALU context we need to do the opposite.

To correctly convert 64bit VALU boolean to either 0 or 1 we need to filter out the bits corresponding to the inactive lanes.

Reviewed By: piotr

Differential Revision: https://reviews.llvm.org/D109900
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was addedllvm/test/CodeGen/AMDGPU/copy_to_scc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
Commit 131e8786640a49daf533b7ead4d3b5b82e0aea2a by dblaikie
Print nullptr_t namespace qualified within std::

This improves diagnostic (& important to me, DWARF) accuracy - otherwise
there could be ambiguities between "std::nullptr_t" and some user-defined
type that's /actually/ "nullptr_t" defined in the global namespace.

Differential Revision: https://reviews.llvm.org/D110044
The file was modifiedclang/test/SemaCXX/nullability.cpp
The file was modifiedclang/test/CXX/drs/dr15xx.cpp
The file was modifiedclang/test/OpenMP/task_depend_messages.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/Sema/builtins-arm64-mte.c
The file was modifiedclang/test/SemaCXX/nullptr.cpp
The file was modifiedclang/test/SemaTemplate/friend.cpp
The file was modifiedclang/test/Analysis/plist-diagnostics-template-record.cpp
The file was modifiedclang/test/AST/ast-dump-recovery.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-template.cpp
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/test/SemaTemplate/deduction-guide.cpp
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp
The file was modifiedclang/test/CXX/drs/dr6xx.cpp
The file was modifiedclang/test/SemaTemplate/deduction.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-noexcept-expression.cpp
The file was modifiedclang/test/Sema/format-strings-pedantic.c
The file was modifiedclang/test/OpenMP/task_affinity_messages.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-explicit-bool.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-local-class.cpp
Commit 2d1ffad01074cdfa6e986c526167b600cf71eb41 by michael.hliao
[IR] Re-group AAMDNodes relevant interfaces. NFC.
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
The file was modifiedllvm/lib/IR/Metadata.cpp
Commit 49c519a84856d018578ed2af625b114771f666e4 by dblaikie
DebugInfo: Rebuild decltype(nullptr) as 'std::nullptr_t'

Now that Clang's been changed to render nullptr types/template
parameters as 'std::nullptr_t' do the same thing down here.

(Clang commit: 131e8786640a49daf533b7ead4d3b5b82e0aea2a )
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/prettyprint_types.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Commit 9149ae09bd1ef2934e2bc7bcaeffbb055739f074 by csigg
Support value-typed references in iterator facade's operator->()

Add a PointerProxy similar to the existing iterator_facade_base::ReferenceProxy and return it from the arrow operator. This prevents iterator facades with a reference type that is not a true reference to take the address of a temporary.

Forward the reference type of the mapped_iterator to the iterator adaptor which in turn forwards it to the iterator facade. This fixes mlir::op_iterator::operator->() to take the address of a temporary.

Make some polishing changes to op_iterator and op_filter_iterator.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D109490
The file was modifiedllvm/include/llvm/ADT/iterator.h
The file was modifiedmlir/include/mlir/IR/TypeUtilities.h
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/include/mlir/IR/TypeRange.h
The file was modifiedmlir/include/mlir/IR/BlockSupport.h
The file was modifiedmlir/include/mlir/IR/UseDefLists.h
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.h
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit 40e971a21052a8638933037615e3c681e193f3fc by dblaikie
nullptr printing - update for a change to clang type printing that now uses "std::nullptr_t"
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp
Commit f2fa6ad0476b318fdba46f09a2d59187228431ee by nikita.ppv
[MergeICmps] Don't reorder unmerged comparisons

MergeICmps will currently sort (by offset) all comparisons in a chain,
including those that do not get merged. This is problematic in two ways:

* We may end up moving the original first block into the middle of
   the chain, in which case the "extra work" instructions will also
   be in the middle of the chain, resulting in invalid IR
   (reported in https://reviews.llvm.org/D108782#3005583).
* Reordering branches is generally not legal, because it may
   introduce branch on poison, which is UB (PR51845). The merging
   done by MergeICmps is legal as long as we assume that memcmp()
   works on frozen memory, but the reordering of unmerged comparisons
   is definitely incorrect (without inserting freeze instructions),
   so we should avoid it.

There are easier ways to fix the first issue, but I figured it was
worthwhile to do this properly to also fix the second one. What we
now do is to restore the original relative order of (potentially
merged) comparisons.

I took the liberty of dropping the MERGEICMPS_DOT_ON functionality,
because it would be more awkward to implement now (as the before and
after representation is different) and it doesn't seem terribly
useful nowadays.

Differential Revision: https://reviews.llvm.org/D110024
The file was addedllvm/test/Transforms/MergeICmps/X86/entry-block-shuffled-2.ll
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp
The file was modifiedllvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
Commit 33e1713a00a5291e5de658d0eb0aebdbf1d3aa03 by gcmn
[Bazel] Add support for targeting macOS arm64

In attempting to build JAX on Apple Silicon, we discovered an issue with
the bazel configuration in llvm-project-overlay. This patch fixes the
logic, at least when building JAX. More context is included on the
following GitHub issue: https://github.com/google/jax/issues/5501

Differential Revision: https://reviews.llvm.org/D109839
The file was modifiedutils/bazel/llvm-project-overlay/llvm/config.bzl
Commit d9308aa39b236064a680ca57178af3c731e13e49 by mizvekov
[clang] don't mark as Elidable CXXConstruct expressions used in NRVO

See PR51862.

The consumers of the Elidable flag in CXXConstructExpr assume that
an elidable construction just goes through a single copy/move construction,
so that the source object is immediately passed as an argument and is the same
type as the parameter itself.

With the implementation of P2266 and after some adjustments to the
implementation of P1825, we started (correctly, as per standard)
allowing more cases where the copy initialization goes through
user defined conversions.

With this patch we stop using this flag in NRVO contexts, to preserve code
that relies on that assumption.
This causes no known functional changes, we just stop firing some asserts
in a cople of included test cases.

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D109800
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was addedclang/test/CodeGenCXX/copy-elision.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/lib/Sema/SemaObjCProperty.cpp
The file was modifiedclang/include/clang/Sema/Initialization.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/CodeGen/nrvo-tracking.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
Commit e4a1af37249d93f265bbdb052af0a687ffccaf02 by nikita.ppv
[MergeICmps] Remove unused NumMerged variable
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp
Commit 248342b7c72916ce95fce91fbf6c40ea5417860c by mnadeem
[OpenMP][OMPD] Fix compile error when OMPD is not supported

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

Change-Id: I9d39dacfab5b7fbab37ee4b4d960d51e0892b24d
The file was modifiedopenmp/runtime/CMakeLists.txt
Commit 43d6991c2a4cc2ac374e68c029634f2b59ffdfdf by nikita.ppv
[IR] Look through bitcast in hasFnAttribute()

A logic incompleteness may lead MemorySSA to be too conservative
in its results. Specifically, when dealing with a call of kind
`call i32 bitcast (i1 (i1)* @test to i32 (i32)*)(i32 %1)`, where
the function `test` is declared with readonly attribute, the
bitcast is not looked through, obscuring function attributes. Hence,
some methods of CallBase (e.g., doesNotReadMemory) could provide
suboptimal results.

Differential Revision: https://reviews.llvm.org/D109888
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
The file was addedllvm/test/Analysis/MemorySSA/call-bitcast.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
Commit 2f6b07316f560a1f6d225919019dff2e5d6346e5 by spatel
[InstCombine] fold cast of right-shift if high bits are not demanded

(masked) trunc (lshr X, C) --> (masked) lshr (trunc X), C

Narrowing the shift should be better for analysis and can lead
to follow-on transforms as shown.

Attempt at a general proof in Alive2:
https://alive2.llvm.org/ce/z/tRnnSF

Here are a couple of the specific tests:
https://alive2.llvm.org/ce/z/bCnTp-
https://alive2.llvm.org/ce/z/TfaHnb

Differential Revision: https://reviews.llvm.org/D110170
The file was modifiedllvm/test/Transforms/InstCombine/trunc-demand.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Commit c9af0e61fa85842ce280ddab8ab491de38a7ae5b by arthur.j.odwyer
[libc++] counting_semaphore should not be default-constructible.

Neither the current C++2b draft, nor any revision of [p1135],
nor libstdc++, claims that `counting_semaphore` should be
default-constructible. I think this was just a copy-paste issue
somehow.

Also, `explicit` was missing from the constructor.

Also, `constexpr` remains missing; but that's probably more of a
technical limitation, since apparently there are some platforms
where we don't (can't??) use the atomic implementation and
have to rely on pthreads, which obviously isn't constexpr.

Differential Revision: https://reviews.llvm.org/D110042
The file was modifiedlibcxx/test/std/thread/thread.semaphore/binary.pass.cpp
The file was addedlibcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
The file was modifiedlibcxx/include/semaphore
The file was modifiedlibcxx/test/std/thread/thread.semaphore/max.pass.cpp
Commit ac90dfc43a0133f97e5a7501ec91a0a8bb6042cc by georgakoudis1
Revert "[OpenMP] Codegen aggregate for outlined function captures"

This reverts commit 1d66649adf28d48ae1731516d87fb899426e3349.

Revert to fix AMG GPU issue.
The file was modifiedclang/test/OpenMP/task_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/vla_crash.c
The file was modifiedclang/test/OpenMP/unroll_codegen_parallel_for_factor.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/single_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/openmp_win_codegen.cpp
The file was modifiedclang/test/OpenMP/target_codegen_global_capture.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_allocate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_codegen.cpp
The file was addedopenmp/libomptarget/utils/generate_microtask_cases.py
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/debug-info-openmp-array.cpp
The file was modifiedclang/test/OpenMP/for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/reduction_compound_op.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
The file was modifiedclang/test/OpenMP/teams_private_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_target_codegen_globalization.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_if_codegen_PR51349.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/tile_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
The file was addedopenmp/libomptarget/deviceRTLs/common/generated_microtask_cases.gen
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/metadirective_device_kind_codegen.c
The file was modifiedclang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_lastprivate_conditional.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_codegen.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/OpenMP/debug-info-complex-byval.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/declare_variant_construct_codegen_1.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/cancellation_point_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/single_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_sections_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/single_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_codegen_UDR.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_aligned_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/taskgroup_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/observe-noexcept.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp
The file was modifiedclang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/metadirective_device_kind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c
The file was modifiedclang/test/OpenMP/distribute_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
The file was modifiedclang/test/OpenMP/target_map_codegen_03.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/sections_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/metadirective_implementation_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_private_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
Commit cd5f582c3dd747ab97b57df37642b0dffba398ee by George Burgess IV
MemoryBuiltins: update comment; NFC

This comment references behavior that was removed in
ccae43a247b0791f78ea89b9cb7e59fa70f5000d, which is a commit from 5 years
ago. It seems safe to assume that that behavior won't be coming back
soon. If it does, we can readd this part of the comment :)
The file was modifiedllvm/lib/Analysis/MemoryBuiltins.cpp
Commit 52832cd917af00e2b9c6a9d1476ba79754dcabff by spatel
[CodeGen] regenerate test checks; NFC

This broke with 2f6b07316f56 because it wrongly runs the entire LLVM optimizer.
The file was modifiedclang/test/CodeGen/aapcs-bitfield.c
Commit b93359ea3fe59ea0c652f5e61ee68231e2fb60c4 by albionapc
[PowerPC] Support for vector bool int128 on vector comparison builtins

This patch implements support for the type vector bool int128
for arguments on vector comparison builtins listed below,
which would otherwise crash due to ambiguity.

The following builtins are added:

vec_all_eq (vector bool __int128, vector bool __int128)
vec_all_ne (vector bool __int128, vector bool __int128)
vec_any_eq (vector bool __int128, vector bool __int128)
vec_any_ne (vector bool __int128, vector bool __int128)
vec_cmpne(vector bool __int128 a, vector bool __int128 b)
vec_cmpeq(vector bool __int128 a, vector bool __int128 b)

Differential revision: https://reviews.llvm.org/D110084
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedclang/lib/Headers/altivec.h
Commit 7550f146ff75667d6e1828d64438dcc23b77f036 by craig.topper
[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering.

When we rewrite the setcc we replace set old setcc output register
with the new CondReg. But since CondReg can be shared by other
replacements, we don't know if the kill flags for the old register
are valid for CondReg. So be conservative and remove them.

The test case has a SETCCr and a SETCCm on the same condition so
they end up sharing the same CondReg. The SETCCr had one use with
a kill flag. This kill flag isn't valid after the replacement because
CondReg needs a live range extending to the later SETCCm replacment.

Fixes PR51908.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D110046
The file was addedllvm/test/CodeGen/X86/pr51908.mir
The file was modifiedllvm/lib/Target/X86/X86FlagsCopyLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/flags-copy-lowering.mir
Commit 51a82e051e7cd25f0b60d5106400243bcf87233f by craig.topper
Revert "[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering."

This reverts commit 7550f146ff75667d6e1828d64438dcc23b77f036.

I botched the bug number.
The file was modifiedllvm/lib/Target/X86/X86FlagsCopyLowering.cpp
The file was removedllvm/test/CodeGen/X86/pr51908.mir
The file was modifiedllvm/test/CodeGen/X86/flags-copy-lowering.mir
Commit e1ed02181ffcfea7de952d252a5e25953c822251 by aeubanks
[clang] Make -Rpass imply -Rpass=.*

Previously with -Rpass (and friends) we'd have remarks "enabled", but
without an actual regex.

As seen in the test change to line numbers, this can give us better
diagnostics by properly enabling NeedLocTracking with -Rpass.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D110201
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Frontend/optimization-remark-analysis.c
The file was modifiedclang/test/Frontend/optimization-remark.c
Commit e95731cca7ecf5be22ea67a273cb19ba2c14d54c by jhuber6
[OpenMP] Add thread ID function into new RTL

The new device runtime library currently lacks the
`kmpc_get_hardware_thread_id_in_block` function which is currently used
when doing the SPMDzation optimization. This call would be introduced
through the optimization and then cause a linking error because it was
not present. This patch adds support for this runtime call.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D110195
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Mapping.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Interface.h
Commit 32ab405717ecb92041d8f753a1ccd0e5dd874cb7 by tejohnson
[LTO] Emit DebugLoc for dead function in optimization remarks

Currently, the dead functions information getting from optimizations remarks does not contain debug location, but knowing where these dead functions locate could be useful for debugging or for detecting dead code.

Cause in `LTO::addRegularLTO()` we use `BitcodeModule::getLazyModule()` to read the bitcode module, when we pass Function F to `ore::NV()`, F is not materialized, so `F->getSubprogram()` returns nullptr, and there is no debug location information of dead functions in optimizations remarks.

This patch call `F->materialize()` before we pass Function F to `ore::NV()`, then debug location information will be emitted for dead functions in optimization remarks.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D109737
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/test/LTO/Resolution/X86/dead-strip-fulllto.ll
The file was modifiedllvm/include/llvm/LTO/LTO.h
Commit b81e26c7f470ee324095f7adfbe0384974db4375 by craig.topper
Recommit "[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering."

This time with the right bug number.

When we rewrite the setcc we replace set old setcc output register
with the new CondReg. But since CondReg can be shared by other
replacements, we don't know if the kill flags for the old register
are valid for CondReg. So be conservative and remove them.

The test case has a SETCCr and a SETCCm on the same condition so
they end up sharing the same CondReg. The SETCCr had one use with
a kill flag. This kill flag isn't valid after the replacement because
CondReg needs a live range extending to the later SETCCm replacment.

Fixes PR51903.
The file was modifiedllvm/lib/Target/X86/X86FlagsCopyLowering.cpp
The file was addedllvm/test/CodeGen/X86/pr51903.mir
The file was modifiedllvm/test/CodeGen/X86/flags-copy-lowering.mir
Commit bdaf038266c28a67bce83491dafd6752e53d4e33 by zinenko
[mlir] Always create a list of alias scopes when emitting LLVM IR

Previously, the translation to LLVM IR would emit IR that directly uses
a scope metadata node in case only one scope was in use in alias.scopes
or noalias metadata. It should always be a list of scopes. The verifier
change in 8700f2bd36bb9b7d7075ed4dac0aef92b9489237 enforced this and
broke the test. Fix the translation to always create a list of scopes
using a new metadata node, update and reenable the respective test.

Fixes PR51919.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D110140
The file was modifiedmlir/test/Target/LLVMIR/llvmir.mlir
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Commit 26499995799516c361afc3f2481f50272ac3c2ea by kstoimenov
[asan] Fixed a bug causing a crash when redzone optimization kicked in on X86 with -asan-optimize-callbacks flag on.

This change adds the ASan intrinsic to the list whihc are setting hasCopyImplyingStackAdjustment.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D110012
The file was modifiedllvm/test/CodeGen/X86/asan-check-memaccess-add.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/asan-check-memaccess-or.ll
Commit e42234383e2c0a7472413cd8047889f6ad4afc88 by aeubanks
Make DiagnosticInfoResourceLimit's limit param required

And always print it.

This makes some LLVM diagnostics match up better with Clang's diagnostics.

Updated some AMDGPU uses of DiagnosticInfoResourceLimit and now we print
better diagnostics for those.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D110204
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/PrologEpilogInserter.cpp
The file was modifiedclang/test/Misc/backend-stack-frame-diagnostics-fallback.cpp
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-size-overflow.ll
The file was modifiedclang/test/Misc/backend-resource-limit-diagnostics.cl
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h
Commit 45c0ebe00efbc09750a808f1e95377b9ea1744c4 by Yuanfang Chen
[libc++] Surpress -Wunused-value warning in variant

The idiom helps with parameter unpacking so the return value is not
important. Make it explicit.
The file was modifiedlibcxx/include/variant
Commit 645b8f5365de49cbced4286f86e4a149c56600d3 by mnadeem
[AArch64][SVE] Add patterns to generate ADR instruction

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

Change-Id: I9d2928688b80b804a16f52928e2057749ec2c0b2
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-gep.ll
The file was addedllvm/test/CodeGen/AArch64/sve-adr.ll
Commit 22ea0cea595e1b44b46c520243f2292bc4e3d943 by rnk
[compiler-rt] [windows] Add more assembly patterns for interception

To intercept the functions in Win11's ntdll.dll, we need to use the trampoline
technique because there are bytes other than 0x90 or 0xcc in the gaps between
exported functions.  This patch adds more patterns that appear in ntdll's
functions.

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

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D109941
The file was modifiedcompiler-rt/lib/interception/interception_win.cpp
The file was modifiedcompiler-rt/lib/interception/tests/interception_win_test.cpp
Commit 56dec4be9bd321a8fc0f19df00a8d63fc44813f5 by tejohnson
[Sanitizer] Allow setting the report path to create directory

When setting the report path, recursively create the directory as
needed. This brings the profile path support for memprof on par with
normal PGO. The code was largely cloned from __llvm_profile_recursive_mkdir
in compiler-rt/lib/profile/InstrProfilingUtil.c.

Differential Revision: https://reviews.llvm.org/D109794
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_win.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_file.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_file.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
Commit f8b1cc36578608f2f840d7ea8b0aa9b28fdaa492 by Louis Dionne
[libc++abi] Remove unnecessary atomic_support.h header from libc++abi

The file was a duplicate of atomic_support.h in libc++. Since we now
require the libc++ sources in order to build libc++abi, it's OK to
remove this duplication.

Thanks to @chandlerc for noticing this.

Differential Revision: https://reviews.llvm.org/D110103
The file was modifiedlibcxx/src/include/atomic_support.h
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedlibcxxabi/src/cxa_guard_impl.h
The file was removedlibcxxabi/src/include/atomic_support.h
The file was modifiedlibcxxabi/src/stdlib_stdexcept.cpp
The file was modifiedlibcxxabi/src/cxa_handlers.cpp
The file was modifiedlibcxxabi/src/cxa_default_handlers.cpp
The file was modifiedlibcxxabi/src/cxa_exception.cpp
Commit 5f187f0afaad33013ba03454c4749d99b1362534 by aktoon
[SamplePGO] Add switch to honor zero count on block level as accurate

Add a new LLVM switch `-profile-sample-block-accurate` to trust zero block counts for branches. Currently we leave out such zero counts when annotating branch weight metadata, which would lead to weights being considered as unknown.

Differential Revision: https://reviews.llvm.org/D110117
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 7a320b279d076cb0736caed2a222b1d3367b003d by daltenty
[libcxx][AIX] Remove locale fallbacks for old OS levels

These routines were add years ago during initial porting attempts to AIX and are mostly build hacks for routines which we're missing at the time, but are available now on recent AIX OS levels.

Thus builds on modern AIX OS levels no longer need these and they cause problems if you try to build the library with a generic triple (i.e. powerpc-ibm-aix) as we'll pull them in and encounter duplicate definitions from the OS.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D110183
The file was modifiedlibcxx/include/CMakeLists.txt
The file was removedlibcxx/include/__support/ibm/locale_mgmt_aix.h
The file was modifiedlibcxx/include/__support/ibm/xlocale.h
Commit da93829b441525fd82a23c710290328907dde756 by clattner
[DialectAsmPrinter] Add missing 'printAttributeWithoutType' member.

DialectAsmParser has a `parseAttribute` member that takes a
contextual type, but DialectAsmPrinter doesn't have the corresponding
member to take advantage of it.  As such, custom attribute
implementations can't really use it.  This adds the obvious missing
method which fills this hole.

Differential Revision: https://reviews.llvm.org/D110211
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/include/mlir/IR/DialectImplementation.h
Commit 7acd1807dd6899441cff9e1246155379971352fb by tejohnson
[Sanitizer] Modify test to avoid bot timeouts

Change the mutex type to one that initializes on construction and
hopefully avoid what appear to be deadlock failures in the new test
on a couple bots, e.g.:

https://green.lab.llvm.org/green/job/clang-stage1-RA/24140/testReport/SanitizerCommon-Unit/__Sanitizer-x86_64-Test/SanitizerCommon_ReportFile/
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
Commit a83eda591c1032e24100f9bf551db9bc7a303f97 by shaoce
[RISCV][NFC] Deleted useless lines in clang tests.
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamomin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsif.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfclass.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredosum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnclip.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsll.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoswap.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmxnor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbf.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vpopc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfirst.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmclr.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vzext.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnot.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslidedown.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsof.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vundefined.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vnsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsetvlmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmset.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vreinterpret.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmslt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vasub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/viota.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmseq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredxor.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vaadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslideup.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vid.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsrl.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsbc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssra.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrem.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vamomax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmadc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmand.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
Commit d9aff62560e100df2285c5e6d2401ad0cbefa93d by shaoce
[NFC] Fix typo.
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
Commit d31dfc30115705332034a81b6b2ab904ca1cf029 by dblaikie
DebugInfo: Unify some printing policy adjustments
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit db6f1e8a8857ccaa339304131373f3150528e812 by dblaikie
DebugInfo: Don't suppress inline namespaces when printing template template parameter names
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-template.cpp
Commit 4c2ee571482e066c0a524bd393a4c61aeaecff8a by Matthew.Arsenault
AMDGPU: Fix test relying on incompatible attributes

This combination of amdgpu-waves-per-eu and
amdgpu-flat-work-group-size cannot be satisfied at the same time, so
this was using the default.
The file was modifiedllvm/test/CodeGen/AMDGPU/large-work-group-promote-alloca.ll
Commit bc4a23811b021f4e5369162ed84f88a0240a81e2 by joeloser93
[libc++][test] Fix iterator assertion in span.cons/deduct.pass.cpp

Two tests in span.cons/deduct.pass.cpp accidentally check whether the
iterator range from member begin and member end are equivalent to the
ones from free begin and free end. This is obviously true and not
intended. Correct the intent by comparing the size/data from the span
with the source input.

While in the neighborhood, add test for const int arr[N], remove extraneous
type aliases, unused <type_traits> header, and the
disable_missing_braces_warning.h include.

Reviewed By: Quuxplusone, ldionne, #libc

Differential Revision: https://reviews.llvm.org/D109668
The file was modifiedlibcxx/test/std/containers/views/span.cons/deduct.pass.cpp
Commit ffa9fa9ed232f35c0b0dcd4ab48fc565cf8a2f42 by czhengsz
[PowerPC] prepare for udpate form with non-const increment.

This is a follow-up of D105872. Now we are able to prepare for update
form with non-const increment.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D106032
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/loop-instr-prep-non-const-increasement.ll
The file was modifiedllvm/test/CodeGen/PowerPC/lsr-profitable-chain.ll
Commit ec55dcedcec1cdf95d020307067bc871cb2b70e4 by Matthew.Arsenault
AMDGPU: Refactor getWavesPerEU to separate flat workgroup size query

Add an overload to pass the flat workgroup range in separately. This
will allow the attributor to use the assumed value for
amdgpu-flat-workgroup-sizes when inferring amdgpu-waves-per-eu.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
Commit e247fed23b9220e59ec5438d4c2013c0bf7f3fe9 by shaoce
[RISCV] add Half-precision test for clang

and deleted useless lines.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D109799
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfclass.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfabs.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfneg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslidedown.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vcompress.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vreinterpret.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmv.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vslideup.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredosum.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vlmul.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmacc.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vssseg.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsac.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vundefined.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c
Commit 2ff049b12ee3fb60581835a28bf9d0acc1723f23 by dblaikie
DebugInfo: Don't use preferred template names in debug info

Using the preferred name creates a mismatch between the textual name of
a type and the DWARF tags describing the parameters as well as possible
inconsistency between DWARF producers (like Clang and GCC, or
older/newer Clang versions, etc).
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/include/clang/AST/PrettyPrinter.h
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-template.cpp
Commit 84d07f4dfea3cd6673a828998e229dda2b081934 by Louis Dionne
[libc++] Add some missing _LIBCPP_HIDE_FROM_ABI markup

Also, as a fly-by fix, use `inline` directly to define inline variables
(all compilers support it).

Differential Revision: https://reviews.llvm.org/D110208
The file was modifiedlibcxx/include/__compare/common_comparison_category.h
The file was modifiedlibcxx/include/__compare/ordering.h
Commit 1d8bbafed202cfae5ce31bea36072490f3d07960 by shaoce
[RISCV][NFC] Fix clang test for vloxei/vluxei
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vloxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vluxei.c
Commit 128a9e1cb480188fc68aaedbcaf92d8ee74a92c7 by ajcbik
[mlir][sparse] cleanup ABI issues in C interface with memrefs

This change adds automatic wrapper functoins with emit_c_interface
to all methods in the sparse support library that deal with MEMREFs.
The wrappers will take care of passing MEMREFs by value internally
and by pointer externally, thereby avoiding ABI issues across platforms.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D110219
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Commit 957514eb9e712d9f0ea5c7afb2294c05da0c5e2d by czhengsz
[PowerPC] add testcase for chain commoning; nfc
The file was addedllvm/test/CodeGen/PowerPC/common-chain.ll
Commit 20ee72d4ccb17c6f32641c690fa129475427ae45 by dvyukov
tsan: don't call dlsym during exit

dlsym calls into dynamic linker which calls malloc and other things.
It's problematic to do it during the actual exit, because
it can happen from a singal handler or from within the runtime
after we reported the first bug, etc.
See https://github.com/google/sanitizers/issues/1440 for an example
(captured in the added test).
Initialize the callbacks during startup instead.

Depends on D110159.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D110166
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
The file was addedcompiler-rt/test/tsan/signal_exit.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
Commit cf93f7677de3cde9a1166d23eafddd27536c8b25 by dvyukov
tsan: move errno spoiling reporting into a separate function (NFC)

CallUserSignalHandler function is quite large and complex.
Move errno spoiling reporting into a separate function.
No logical changes.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D110159
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 41f8ef3e3183145a49366bb4cc639dd13664d0c6 by dvyukov
tsan: enable sse4.2 in tests

Pass -msse4.2 flag to the tests the same way we do for the runtime.
Layout of some structs in the runtime headers depends on the flag
(TSAN_VECTORIZE), so we need it to be consistent across the runtime
and tests.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D110192
The file was modifiedcompiler-rt/lib/tsan/tests/CMakeLists.txt
Commit ced20c6672970ee416147b0fc8f2fb6e733acbc5 by llvm-project
[Polly] Add -polly-reschedule and -polly-postopts options.

This command line options allow to off parts of the schedule tree optimization pipeline.
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
Commit db2f870fe3dcecc43c874ef571757d5aeac0569c by dvyukov
tsan: reset destination range in Java heap move

Switch Java heap move to the new scheme required for the new tsan runtime.
Instead of copying the shadow we reset the destination range.
The new v3 trace contains addresses of accesses, so we cannot simply copy the shadow.
This can lead to false negatives, but cannot lead to false positives.

Depends on D110159.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D110190
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/test/tsan/java_move_overlap_race.cpp
The file was modifiedcompiler-rt/test/tsan/java_race_move.cpp
Commit 82e593cf900d10e9968fcecdcb51e922a553c2de by dvyukov
tsan: uninline Enable/DisableIgnores

ScopedInterceptor::Enable/DisableIgnores is only used for some special cases.
Unline them from the common interceptor handling.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D110157
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors.h
Commit 4986959eb2140a58f7bcce4b616483549a68e0a2 by dvyukov
tsan: prepare for trace mapping removal

Don't test for presence of the trace mapping,
it will be removed soon.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D110194
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
Commit 47f79c6057764e0c83016269ae2359f8c5c8d135 by Jonas Devlieghere
[lldb] Add --stack option to `target symbols add` command

Currently you can ask the target symbols add command to locate the debug
symbols for the current frame. This patch add an options to do that for
the whole call stack.

Differential revision: https://reviews.llvm.org/D110011
The file was addedlldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp