SuccessChanges

Summary

  1. flang-aarch64-ubuntu-clang: Refine the set-up for `-WError` (details)
  2. flang-aarch64-ubuntu-clang-build: increase the number of parellel jobs (details)
  3. clang-x86-ninja-win10: added LLVM_LIT_TOOLS_DIR (details)
Commit 90d5e81834d17236e3b22b67de09e94e50dcd501 by andrzej.warzynski
flang-aarch64-ubuntu-clang: Refine the set-up for `-WError`

As this builder is primiarly used for testing Flang, use -WError only
when building Flang (as opposed to all of LLVM).

Differential Revision: https://reviews.llvm.org/D88811
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit bd6fa0d220a99c6a54ade4d1f031bbb7b84f1527 by andrzej.warzynski
flang-aarch64-ubuntu-clang-build: increase the number of parellel jobs

This worker has been a bit too slow. Increase the number of parallel
jobs to speed the builds up.

Differential Revision: https://reviews.llvm.org/D88874
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
Commit 6bff6ac2dd4e5edb7f436890357ba692b8905346 by kuhnel
clang-x86-ninja-win10: added LLVM_LIT_TOOLS_DIR
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [asan] Stop instrumenting user-defined ELF sections (details)
  2. [lldb] [Process/NetBSD] Fix reading FIP/FDP registers (details)
  3. [lldb] [Process/NetBSD] Fix crash on unsupported i386 regs (details)
  4. [lldb] [test/Register] Add read/write tests for x87 regs (details)
  5. [clang][NFC] Change a mention of `objc_static_protocol` to `non_runtime` (details)
  6. Revert "[Driver] Move detectLibcxxIncludePath to ToolChain" (details)
  7. [AArch64] Match the windows canonical callee saved register order (details)
  8. [AArch64] Allow pairing lr with other GPRs for WinCFI (details)
  9. [AArch64] Prefer prologues with sp adjustments merged into stp/ldp for WinCFI, if optimizing for size (details)
  10. [LV] Add another test case with unsinkable first-order recurrences. (details)
  11. [NFC][PhaseOrdering] Add a test showing new inttoptr casts after SROA due to InstCombine (PR47592) (details)
  12. [NFC][InstCombine] Autogenerate a few tests being affected by an upcoming patch (details)
  13. [VPlan] Properly update users when updating operands. (details)
  14. [lldb] [test/Register] Mark new FP reg tests XFAIL on Windows (details)
  15. [MC] Assert that MCRegUnitIterator operates over MCRegisters (details)
  16. [Object][MachO] Refactor MachOUniversalWriter (details)
  17. Add indented raw_ostream class (details)
  18. [X86] Add X86ISD opcodes for the Key Locker AESENC*KL and AESDEC*KL instructions (details)
  19. [RFC] Factor out repetitive cmake patterns for llvm-style projects (details)
  20. [X86] Remove X86ISD::MWAITX_DAG. Just match the intrinsic to the custom inserter pseudo instruction during isel. (details)
  21. [X86] Move ENCODEKEY128/256 handling from lowering to selection. (details)
  22. [X86] Add memory operand to AESENC/AESDEC Key Locker instructions. (details)
  23. [X86] LOADIWKEY, ENCODEKEY128 and ENCODEKEY256 clobber EFLAGS. (details)
  24. [lldb] [test/Register] Mark new FP reg tests XFAIL on Darwin (details)
  25. [RISCV][ASAN] unwind fixup (details)
  26. [OldPM] Pass manager: run SROA after (simple) loop unrolling (details)
  27. [RISCV][ASAN] support code for architecture-specific parts of asan (details)
  28. [CodeGen] Improve likelihood branch weights (details)
  29. [RISCV][ASAN] instrumentation pass now uses proper shadow offset (details)
  30. [X86][SSE] isTargetShuffleEquivalent - ensure shuffle inputs are the correct size. (details)
  31. [MemCpyOpt] Add additional call slot tests (NFC) (details)
  32. [SDAG] fold x * 0.0 at node creation time (details)
  33. [PowerPC] Add builtins for xvtdiv(dp|sp) and xvtsqrt(dp|sp). (details)
  34. [NFC][clang][codegen] Autogenerate a few ARM SVE tests that are being affected by an upcoming patch (details)
  35. [VPlan] Account for removed users in replaceAllUsesWith. (details)
  36. [VPlan] Add VPRecipeBase::toVPUser helper (NFC). (details)
  37. [X86] Consolidate wide Key Locker intrinsics into the same header as the other Key Locker intrinsics. (details)
  38. [X86] Synchronize the loadiwkey builtin operand order with gcc version. (details)
  39. [X86] Synchronize the encodekey builtins with gcc. Don't assume void* is 16 byte aligned. (details)
  40. [X86] Sync AESENC/DEC Key Locker builtins with gcc. (details)
  41. [gn build] Port 6c6cd5f8a97 (details)
  42. [SDA] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off builds (details)
  43. [X86] Remove an accidentally added file. NFC. (details)
  44. [MemCpyOpt] Don't use array allocas in tests (NFC) (details)
  45. Implement callee/caller type checking for llvm.call (details)
  46. [MemCpyOpt] Add tests for call slot optimization with GEPs (NFC) (details)
  47. llvm-dwarfdump: Skip tombstoned address ranges (details)
  48. [NFC][SCEV] Add a test with some patterns where we could treat inttoptr/ptrtoint as semi-transparent (details)
  49. [Coroutines][NewPM] Fix coroutine tests under new pass manager (details)
  50. Revert "[RFC] Factor out repetitive cmake patterns for llvm-style projects" (details)
  51. [X86] Remove usesCustomInserter from MWAITX_SAVE_EBX and MWAITX_SAVE_RBX. NFC (details)
  52. [X86] Correct the implicit defs/uses for the MWAITX pseudo instructions. (details)
  53. [DomTree] findNearestCommonDominator: assert the nodes are in tree (details)
  54. llvm-dwarfdump: Dump address forms in their encoded length rather than always in 64 bits (details)
  55. [NFCI] Remove unnecessary trailing undef in RuntimeLibcalls.def (details)
  56. [NewPM] collapsing nested pass mangers of the same type (details)
  57. llvm-dwarfdump: Print addresses in debug_line to the parsed address size (details)
  58. [X86] Remove MWAITX_SAVE_EBX pseudo instruction. Always save/restore the full %rbx register even in gnux32. (details)
  59. llvm-dwarfdump: Add support for DW_RLE_startx_endx (details)
  60. [HIP] Add option --gpu-instrument-lib= (details)
  61. Revert "[HIP] Add option --gpu-instrument-lib=" (details)
  62. Recommit "[HIP] Add option --gpu-instrument-lib=" (details)
  63. [HIP] Fix default output file for -E (details)
  64. [HIP] Fix -fgpu-allow-device-init option (details)
  65. llvm-dwarfdump: Don't try to parse rnglist tables when dumping CUs (details)
  66. [X86] MWAITX_SAVE_RBX should not have EBX as an implicit use. (details)
  67. [lldb] [test/Register] Attempt to fix x86-fp-read.test on Darwin (details)
  68. [llvm] Rename DwarfFile to DWARFFile to fix ODR violation (NFC) (details)
  69. [RISCV][ASAN] mark asan as supported for RISCV64 and enable tests (details)
  70. [DebugInfo] Improve dbg preservation in LSR. (details)
  71. [AST][RecoveryExpr] Popagate the error-bit from a VarDecl's initializer to DeclRefExpr. (details)
  72. [TableGen][GlobalISel] add handling of nested *_SUBREG (details)
  73. [AMDGPU] Split R600 and GCN bfe patterns (details)
  74. [AMDGPU] Make bfe patterns divergence-aware (details)
  75. Promote transpose from linalg to standard dialect (details)
  76. [VE] Support register and frame-index pair correctly (details)
  77. [mlir] Fix SubViewOp doc in .td (details)
  78. [AMDGPU] Use tablegen for argument indices (details)
  79. Reland "[lldb] Don't send invalid region addresses to lldb server" (details)
  80. [AST][RecoveryExpr] Fix a crash on undeduced type. (details)
  81. [clangd] Remove unused using-decls in TypeHierarchyTests, NFC. (details)
  82. [TableGen] Added a function for identification of unsupported opcodes. (details)
  83. [AMDGPU][RegAlloc][SplitKit] Pre-commit test for D88821 (details)
  84. [ASTImporter][AST] Fix structural equivalency crash on dependent FieldDecl (details)
  85. [ValueTracking] canCreateUndefOrPoison - use APInt to check bounds instead of getZExtValue(). (details)
  86. [LV] Regenerate test. NFC (details)
  87. [clangd] Add isKeyword function. (details)
  88. [Parser] ParseMicrosoftAsmStatement - Replace bit '|' operator with logical '||' operator. (PR47071) (details)
  89. [VPlan] Clean up uses/operands on VPBB deletion. (details)
  90. [mlir][Linalg] Canonicalize TensorCastOp away when it feeds a LinalgOp. (details)
  91. [ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV (details)
  92. [SystemZ] Add support for .insn directives for vector instructions. (details)
  93. [OpenMP][Tests] NFC: fix flaky test failure caused by rare scheduling (details)
  94. [OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload (details)
  95. Revert SVML support for sqrt (details)
  96. [docs] Revise loop terminology reference. (details)
  97. [mlir] Split alloc-like op LLVM lowerings into base and separate derived classes. (details)
  98. [libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi" (details)
  99. [X86] isTargetShuffleEquivalent - merge duplicate array accesses. NFCI. (details)
  100. [InstCombine] Add or(shl(v,and(x,bw-1)),lshr(v,bw-and(x,bw-1))) funnel shift tests (details)
  101. [InstCombine] Extend 'shift with constants' vector tests (details)
  102. [SVE] Lower fixed length VECREDUCE_AND operation (details)
  103. Revert "[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload" (details)
  104. [flang] Introduce DiagnosticConsumer classes in libflangFrontend (details)
  105. Add definition for static constexpr member (NFC) (details)
  106. [mlir][Linalg] Remove unused variable. NFCI. (details)
  107. Revert "[DebugInfo] Improve dbg preservation in LSR." (details)
  108. [InstCombine] canEvaluateShifted - remove dead (and never used code). NFC. (details)
  109. [SelectionDAG] Don't remove unused negated constant immediately (details)
  110. [llvm-objcopy][MachO] Add support for universal binaries (details)
  111. Revert "[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV" (details)
  112. [InstCombine] FoldShiftByConstant - use m_Specific. NFCI. (details)
  113. [GlobalISel] Fix CSEMIRBuilder silently allowing use-before-def. (details)
  114. [llvm-objcopy][MachO] Add missing std::move. (details)
  115. [SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-store.ll (details)
  116. docs: add documentation describing API Notes (details)
  117. [NFC][regalloc] Model weight normalization as a virtual (details)
  118. [clangd] Describe non-handling of most IWYU pragmas. NFC (details)
  119. [InstCombine] Add test for PR47730 (details)
  120. [InstCombine] Handle GEP inbounds in select op replacement (PR47730) (details)
  121. [gcov] Fix non-determinism (DenseMap iteration order) of checksum computation (details)
  122. [lldb/test] Catch invalid calls to expect() (details)
  123. [CodeGen][MachineSched] Fixup function name typo. NFC (details)
  124. [NFC][GCOV] Fix build: there's `llvm::stable_partition()` wrapper (details)
  125. [CUDA] Don't call __cudaRegisterVariable on C++17 inline variables (details)
  126. [LLD] [COFF] Fix parsing version numbers with leading zeros (details)
  127. [LLD] [COFF] Add a private option for setting the os version separately from subsystem version (details)
  128. [LLD] [MinGW] Simplify handling of os/subsystem version (details)
  129. [LLD] [MinGW] Support setting the subsystem version via the subsystem argument (details)
  130. [flang] Make binary->decimal conversion buffer sizes accurate (details)
  131. [libc++] Fix several debug mode tests (details)
  132. [SLC] Optimize mempcpy_chk to mempcpy (details)
  133. Revert "[SLC] Optimize mempcpy_chk to mempcpy" (details)
  134. [libc++] NFC: Remove unused <iostream> include in atomic.cpp (details)
  135. [libc++] NFC: Rename variant helpers to avoid name clashes (details)
  136. [libc++] Use __has_include instead of complex logic in thread.cpp (details)
  137. [RISCV] Use the extensions in the canonical order (NFC) (details)
  138. [RISCV] Add SiFive cores to the CPU option (details)
  139. [flang] Correct kP scaling on F output (details)
  140. [InstCombine] Revert rL226781 "Teach InstCombine to canonicalize loads which are only ever stored to always use a legal integer type if one is available." (PR47592) (details)
  141. [MLIR][SPIRV] Extend _reference_of to support SpecConstantCompositeOp. (details)
  142. [SVE] Add legalisation tests to sve-fixed-length-int-reduce.ll (details)
  143. Revert "Outline non returning functions unless a longjmp" (details)
  144. Cleanup CodeGen/CallingConvLower.cpp (details)
  145. [SelectionDAG] Make sure FMF are propagated when getSetcc canonicalizes FP constants to RHS. (details)
  146. [X86] Remove X86ISD::LCMPXCHG8_SAVE_EBX_DAG and LCMPXCHG8B_SAVE_EBX pseudo instruction (details)
  147. [libcxx][dsl] Fix mutable default argument warning (details)
  148. [OpenMP][Archer][Tests] NFC: fix spurious test failure (details)
  149. Show register names in DWARF unwind info. (details)
  150. Fix raciness in the StopHook check for "has the target run". (details)
  151. [libc++] Improve tests for std::quoted (details)
  152. [NFC][regalloc] Separate iteration from AllocationOrder (details)
  153. [RISCV] Fix broken test (details)
  154. Fix reordering of instructions during VirtRegRewriter unbundling (details)
  155. [AMDGPU] SIInsertSkips: Refactor early exit block creation (details)
  156. [MLInliner] Factor out logging (details)
  157. [NewPM] Set -enable-npm-optnone to true by default (details)
  158. Make OpenMP tests less brittle in the face of changes in constant (details)
  159. [c++17] Implement P0145R3 during constant evaluation. (details)
  160. [dotest] Simplify logic to find the Python path (details)
  161. [GVN LoadPRE] Extend the scope of optimization by using context to prove safety of speculation (details)
  162. [AttributeFuncs] Consider `align` in `typeIncompatible` (details)
  163. [AttributeFuncs] Consider `noundef` in `typeIncompatible` (details)
  164. [JITLink][ELF] Handle BSS sections, improve some error messages. (details)
  165. [AttributeFuncs][FIX] Update new tests (D87304) after sret changes (details)
  166. Revert "[SCEV] Prove implicaitons via AddRec start" (details)
  167. [AttributeFuncs][FIX] Update new tests (D87304, D87306) after sret changes (details)
  168. [AST][RecoveryExpr] Support dependent binary operator in C for error recovery. (details)
  169. [SVE][CodeGen] Fix DAGCombiner::ForwardStoreValueToDirectLoad for scalable vectors (details)
  170. [lldb] Symlink the Clang resource directory to the LLDB build directory in standalone builds (details)
  171. [LLDB] Add QEMU testing environment setup guide for SVE testing (details)
  172. [flang][NFC] Remove redundant `;` (details)
  173. [mlir][Linalg] Reintroduced missing verification check (details)
  174. [clangd] Fix an inconsistent ReasonToReject enum usage, NFC. (details)
  175. [MLIR][SPIRVToLLVM] Conversion for composite extract and insert (details)
  176. [AMDGPU] Fix gcc warnings (details)
  177. [clangd] Verify the diagnostic code in include-fixer diagnostic tests, NFC. (details)
  178. [llvm-readobj/elf][test] - Stop using precompiled binaries in mips-got.test (details)
  179. [VPlan] Add vplan native path vectorization test case for inner loop reduction (details)
  180. Revert "[llvm-objcopy][MachO] Add missing std::move." (details)
  181. Revert "[llvm-objcopy][MachO] Add support for universal binaries" (details)
  182. [mlir] Add file to implement bufferization for shape ops. (details)
  183. [OpenMP][RTL] Remove dead code (details)
  184. [SVE] Lower fixed length vector floating point rounding operations. (details)
  185. [SVE] Lower fixed length vector fneg and fsqrt operations. (details)
  186. [clangd] Add `score` extension to workspace/symbol response. (details)
  187. [AArch64] Correct parameter type for unsigned Neon scalar shift intrinsics (details)
  188. [libcxx][lit] Add support for custom ssh/scp flags in ssh.py (details)
  189. [Statepoints] Change statepoint machine instr format to better suit VReg lowering. (details)
  190. [llvm-objcopy][MachO] Add support for universal binaries (details)
  191. [clang-tidy] Remove obsolete checker google-runtime-references (details)
  192. [gn build] Port d6c9dc3c17e (details)
  193. [llvm-objcopy][NFC] fix style issues reported by clang-format. (details)
  194. [InstCombine] FoldShiftByConstant - remove unnecessary cast<>. NFC. (details)
  195. [InstCombine] FoldShiftByConstant - use PatternMatch for logicalshift(trunc(shift(x,c1)),c2) fold. NFCI. (details)
  196. [lldb] [Platform] Move common ::DebugProcess() to PlatformPOSIX (details)
  197. [SystemZAsmParser] Treat VR128 separately in ParseDirectiveInsn(). (details)
  198. Convert diagnostics about multi-character literals from extension to warning (details)
  199. [mlir][Linalg] Extend buffer allocation to support Linalg init tensors (details)
  200. [AMDGPU][MC] Added detection of unsupported instructions (details)
  201. [ARM] Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV (details)
  202. [clangd] Add basic keyword-name-validation in rename. (details)
  203. [InstCombine] FoldShiftByConstant - consistently use ConstantExpr in logicalshift(trunc(shift(x,c1)),c2) fold. NFCI. (details)
  204. [InstCombine] canRewriteGEPAsOffset - don't dereference a dyn_cast<>. NFCI. (details)
  205. Revert "[c++17] Implement P0145R3 during constant evaluation." (details)
  206. Silence -Wunused-variable in NDEBUG mode (details)
  207. Add ability to turn off -fpch-instantiate-templates in clang-cl (details)
  208. [Attributor][NFC] Ignore benign uses in AAMemoryBehaviorFloating (details)
  209. [Attributor][FIX] Dead return values are not `noundef` (details)
  210. [Attributor][FIX] Move assertion to make it not trivially fail (details)
  211. [test][NewPM] Make dead-uses.ll work under NPM (details)
  212. [test][InstCombine][NewPM] Fix InstCombine tests under NPM (details)
  213. [BPF][NewPM] Make BPFTargetMachine properly adjust NPM optimizer pipeline (details)
  214. [HIP] Restructure hip headers to add cmath (details)
  215. [gn build] Port aa2b593f149 (details)
  216. [SimplifyLibCalls] Optimize mempcpy_chk to mempcpy (details)
  217. [HIP] NFC Add comments to cmath functions (details)
  218. [X86] .code16: temporarily set Mode32Bit when matching an instruction with the data32 prefix (details)
  219. [libc++] Allow retries in two flaky tests (details)
  220. [APIntTest] Extend extractBits to check 'lshr+trunc' pattern for each case as well. (details)
  221. [flang] Track CHARACTER length better in TypeAndShape (details)
  222. [libc++] Check _LIBCPP_USE_CLOCK_GETTIME before using clock_gettime (details)
  223. [MemCpyOpt] Add separate statistic for call slot optimization (NFC) (details)
  224. [MemCpyOpt] Check for throwing calls during call slot optimization (details)
  225. [MemCpyOpt] Use dereferenceable pointer helper (details)
  226. [AMDGPU] Remove SIInstrInfo::calculateLDSSpillAddress (details)
  227. [X86][SSE] combineX86ShuffleChain add 'CanonicalizeShuffleInput' helper. NFCI. (details)
  228. [SystemZ][z/OS] Set default alignment rules for z/OS target (details)
  229. [AMDGPU] Create isGFX9Plus utility function (details)
  230. [mlir][vector] Fold extractOp coming from broadcastOp (details)
  231. [AMDGPU] Emit correct kernel descriptor on big-endian hosts (details)
  232. [mlir][spirv] Fix extended insts deserialization generation (details)
  233. [mlir][Linalg] Implement tiling on tensors (details)
  234. [SystemZ][z/OS] Set default alignment rules for z/OS target (details)
  235. [NFC][flang] Add the header file Todo.h. This file is being upstreamed to satisfy dependencies and enable continued progress on lowering of OpenMP, OpenACC, etc. (details)
  236. [AMDGPU] Fix remaining kernel descriptor test (details)
  237. [mlir][spirv] Add Vector to SPIR-V conversion pass (details)
  238. [NFC][MC] Type uses of MCRegUnitIterator as MCRegister (details)
  239. [c++17] Implement P0145R3 during constant evaluation. (details)
  240. [libc++] Add a script to setup CI on macOS nodes (details)
  241. Revert [lit] Support running tests on Windows without GnuWin32 (details)
  242. Remove unneeded "allow-unregistered-dialect" from shape-type-conversion.mlir test (NFC) (details)
  243. [mlir] [sparse] convenience runtime support to read Matrix Market format (details)
  244. [libc++] Add assert to check bounds in `constexpr string_view::operator[]` (details)
  245. [CMake] Track TSan's dependency on C++ headers (details)
  246. Replace shadow space zero-out by madvise at mmap (details)
  247. docs: Emphasize ArrayRef over SmallVectorImpl (details)
  248. [RuntimeDyld][COFF] Report fatal error on error, rather than emiting diagnostic. (details)
  249. Fix out-of-tree clang build due to sysexits change (details)
  250. Relax FuseTensorReshapeOpAsproducer identity mapping constraint (details)
  251. [gn build] manually port 5e4409f308177 (details)
  252. [lldb] Change the xcrun (fallback) logic in GetXcodeSDK (details)
  253. [Attributor] Give up early on AANoReturn::initialize (details)
  254. [Attributor] Ignore read accesses to constant memory (details)
  255. [Attributor] Use smarter way to determine alignment of GEPs (details)
  256. [flang][openacc] Fix device_num and device_type clauses for init directive (details)
  257. [CodeGen][TailDuplicator] Don't duplicate blocks with INLINEASM_BR (details)
  258. [PowerPC] add more builtins for PPCTargetLowering::getTgtMemIntrinsic (details)
  259. [PowerPC] implement target hook getTgtMemIntrinsic (details)
  260. [MachineInstr] exclude call instruction in mayAlias (details)
  261. Reapply "[OpenMP][FIX] Verify compatible types for declare variant calls" D88384 (details)
  262. [Test] Add test showing that we can avoid inserting trunc/zext (details)
  263. BPF: avoid duplicated globals for CORE relocations (details)
  264. [SROA] rewritePartition()/findCommonType(): if uses have conflicting type, try getTypePartition() before falling back to largest integral use type (PR47592) (details)
  265. [lldb] Format unix signal table (NFC) (details)
  266. [NFC] Use getZero instead of getConstant(0) (details)
  267. [Support][unittests] Enforce alignment in ConvertUTFTest (details)
  268. [AST][RecoveryExpr] Support dependent conditional operators in C for error recovery. (details)
  269. [clang] Use isCompoundAssignmentOp to simplify the code, NFC. (details)
  270. [clangd] Don't set the Underlying bit on targets of UsingDecls. (details)
  271. [mlir][NFC] Style cleanup in comments (details)
  272. [Test] Add one more test where we can avoid creating trunc (details)
  273. [SDag] SimplifyDemandedBits: simplify to FP constant if all bits known (details)
  274. [LAA] Add test for PR47751, which currently uses wrong bounds. (details)
  275. [ARM] Regenerate vldlane tests (details)
  276. [InstCombine] Tweak funnel by constant tests for better shl/lshr commutation coverage (details)
  277. [AMDGPU] Implement hardware bug workaround for image instructions (details)
  278. InstCombine: Negator: don't rely on complexity sorting already being performed (PR47752) (details)
  279. [LLD] [MinGW] Move an option definitions to alphabetical order, wrap a line. NFC. (details)
  280. [mlir] Add support for diagnostics in C API. (details)
  281. [libc++] Make sure __clear_and_shrink() maintains string invariants (details)
  282. [libc++] Add a CMake option to control whether the debug mode is supported (details)
  283. [lldb/docs] Clarify python/swig version incompatibility (details)
  284. [lldb] Check for and use ptsname_r if available (details)
  285. [libc++] Use the existing CMake caches when running build bots (details)
  286. [AMDGPU][MC] Improved diagnostics for instructions with missing features (details)
  287. [llvm-readelf] - Implement --addrsig option. (details)
  288. [obj2yaml] - Rename `Group` to `GroupSection`. NFC. (details)
  289. [mlir] fix the types used during the generation of the kernel param array (details)
  290. [ADT] function_ref's constructor is unavailable if the argument is not callable. (details)
  291. [gn build] (manually) port ce1365f8f7e (details)
  292. Revert "[ADT] function_ref's constructor is unavailable if the argument is not callable." (details)
  293. [AMDGPU] Use @LINE for error checking in gfx10.3 assembler tests (details)
  294. [SVE] Lower fixed length VECREDUCE_OR operation (details)
  295. [AMDGPU] Support disassembly for AMDGPU kernel descriptors (details)
  296. [clangd] Fix argument type (bool->float). (details)
  297. Introduce subtraction for FlatAffineConstraints (details)
  298. [SystemZ][z/OS] Add test of zero length bitfield type size larger than target zero length bitfield boundary (details)
  299. BPF: add AdjustOpt IR pass to generate verifier friendly codes (details)
  300. [gn build] Port ddf1864ace4 (details)
  301. [Tests] Precommit test showing gap around load forwarding of vectors in instcombine (details)
  302. [NFC][InstCombine] Autogenerate a few tests being affected by upcoming patch (details)
  303. [MemCpyOpt] Add additional callslot test cases (NFC) (details)
  304. [clang-format][NFC] Store FormatToken::Type as an enum instead of bitfield (details)
  305. [clang-format][tests] Fix MacroExpander lexer not parsing C++ keywords (details)
  306. Reapply [ADT] function_ref's constructor is unavailable if the argument is not callable. (details)
  307. [json] Provide a means to delegate writing a value to another API (details)
  308. [WebAssembly] Rename Emscripten EH functions (details)
  309. [mlir][CAPI] Attribute set/remove on operations. (details)
  310. [NFC] Add contributors names to CREDITS.TXT (details)
  311. [llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics. (details)
  312. [clangd] Disambiguate overloads of std::move for header insertion. (details)
  313. Rename the VECREDUCE_STRICT_{FADD,FMUL} SDNodes to VECREDUCE_SEQ_{FADD,FMUL}. (details)
  314. [AMDGPU] Use default zero flag operands in flat scratch (details)
  315. [LAA] Use DL to get element size for bound computation. (details)
  316. [test][MC] Use %python in llvm/test/MC/COFF/bigobj.py (details)
  317. [AMDGPU] Add tied operand to d16 scratch loads (details)
  318. [mlir] Fix build after 322d0afd875df66b36e4810a2b95c20a8f22ab9b due to change in intrinsic overloads. (details)
  319. [CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI. (details)
  320. Fix Wdocumentation warnings due to case mismatch. NFCI. (details)
  321. Fix MSVC "not all control paths return a value" warning. NFCI. (details)
  322. Add a clarifying a comment on CastInst::isNoopCast (details)
  323. [clangd] Add a NewName optional parameter to clangdServer::prepareRename. (details)
  324. Add REQUIRES: x86-registered-target to test as it was failing on build bots without x86. (details)
  325. Remove D80713.diff added in 528057c19755ad842052fba3a42dcbf7deafc6de (details)
  326. [InstCombine] Add checks for and(logicalshift(zext(x),undef),y) cases (details)
  327. [SVE] Add legalisation tests to sve-fixed-length-fp-reduce.ll (details)
  328. [BasicBlockSections] Make sure that the labels for address-taken blocks are emitted after switching the seciton. (details)
  329. [NFC][MLInliner] Getters should return by reference (details)
  330. Add validity assert on entry to CastInst::isNoopCast [NFC] (details)
  331. [mlir] [sparse] Rename getSparseMatrix to getMatrix (details)
  332. Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM. (details)
  333. [NPM] Port strip nonlinetable debuginfo pass to the new pass manager (details)
  334. Port StripGCRelocates pass to NPM (details)
  335. [flang] Semantic checks for bad usage of whole assumed-size arrays (details)
  336. [NFC][regalloc] Use MCRegister instead of unsigned in InterferenceCache (details)
  337. [M680x0] Add google/benchmark's CycleTimer support for M68K (details)
  338. Fix a macOS build break caused by 3dfb94986170. (details)
  339. [libc++] Remove unused includes of Availability.h (details)
  340. [flang][msvc] Avoid dependence on long double (details)
  341. [sanitizer] Skip stack symbolization when not required for print format (details)
  342. Add test for disabling Dead Virtual Function Elimination (details)
  343. [X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel (details)
  344. [ImplicitNullChecks] Support complex addressing mode (details)
  345. [libcxx] Use runtime rather then compile-time glibc version check (details)
  346. [IRMover] Avoid materializing global value that belongs to not-yet-linked module (details)
  347. Remove unused variables (details)
  348. [X86] Move findDeadCallerSavedReg() into X86RegisterInfo (details)
  349. [X86] Fix bug in -mlvi-cfi that may clobber a live register (details)
  350. BPF: fix incorrect DAG2DAG load optimization (details)
  351. Revert "[Support][unittests] Enforce alignment in ConvertUTFTest" (details)
  352. [NewPM] Use PassInstrumentation for -verify-each (details)
  353. Return "[SCEV] Prove implicaitons via AddRec start" (details)
  354. Update documentation and implementation of stage3 build (details)
  355. [LLD] [ELF] Fix up a comment regarding the --wrap option. NFC. (details)
  356. [LLD] Ignore ELF tests when ld.lld defaults to MinGW (details)
  357. [ARM] Replace llvm.experimental.vector.reduce.smax with llvm.vector.reduce.smax. NFC (details)
  358. [LV] Collect dead induction truncates (details)
  359. [clangd] Fix a typo, NFC. (details)
  360. [AST][RecoveryExpr] Support dependent cast-expr in C for error-recovery. (details)
  361. [AMDGPU] Add test with redundant copies to temporary stack slot produced by expandUnalignedLoad (details)
  362. [AMDGPU] Prefer SplitVectorLoad/Store over expandUnalignedLoad/Store (details)
  363. [mlir] Added strides check to rank reducing subview verification (details)
  364. [cmake] Fix cmake warning in standalone compiler-rt builds. (details)
  365. [llvm-readobj] Add --coff-tls-directory flag to print TLS Directory & test. (details)
  366. [Test] Add test showing that we fail to eliminate implied exit conditions (details)
  367. [llvm-readobj][test] - Improve testing in hash-table.test (details)
  368. Import llvm::StringSwitch into mlir namespace. (details)
  369. [InstCombine] canNarrowShiftAmt - replace custom Constant matching with m_SpecificInt_ICMP (details)
  370. [mlir] Add basic support for dynamic tensor results in TensorToBuffers.cpp. (details)
  371. [InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896) (details)
  372. [llvm-objdump] Ensure we consistently use the llvm::stable_sort wrappers. (details)
  373. AArch64: treat MC expressions as 2s complement arithmetic. (details)
  374. [AMDGPU][MC][GFX1030] Disabled v_mac_f32 (details)
  375. [DebugInfo] Improve dbg preservation in LSR. (details)
  376. [Driver] Add output file to properties of Command (details)
  377. [clangd] Add a missing include-fixer test for incomplete_type, NFC. (details)
  378. [InstCombine] matchFunnelShift - support non-uniform constant vector shift amounts (PR46895) (details)
  379. [OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload (details)
  380. [AMDGPU] Use isLegalMUBUFImmOffset more (details)
  381. [mlir][spirv] Add OpenCL extended ops: exp, fabs, s_abs (details)
  382. [mlir][Linalg] Add TensorsToBuffers support for Constant ops. (details)
  383. [llvm-readobj] - Fix possible crashes related to dumping gnu hash symbols. (details)
  384. [clangd] New CC Ranking Model to fix bad inference due to overflow. (details)
  385. [AIX] add new option -mignore-xcoff-visibility (details)
  386. [mlir] Rank reducing subview conversion to LLVM (details)
Commit 66e493f81e8e27b4a498a6dac54d404c2333fa5e by mgorny
[asan] Stop instrumenting user-defined ELF sections

Do not instrument user-defined ELF sections (whose names resemble valid
C identifiers).  They may have special use semantics and modifying them
may break programs.  This is e.g. the case with NetBSD __link_set API
that expects these sections to store consecutive array elements.

Differential Revision: https://reviews.llvm.org/D76665
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was addedllvm/test/Instrumentation/AddressSanitizer/do-not-instrument-netbsd-link_set.ll
The file was addedllvm/test/Instrumentation/AddressSanitizer/instrument-section-invalid-c-ident.ll
Commit 80b108f404fc9e88889df7247f6ae9697083cbda by mgorny
[lldb] [Process/NetBSD] Fix reading FIP/FDP registers

Fix reading FIP/FDP registers to correctly return segment and offset
parts.  On amd64, this roughly matches the Linux behavior of splitting
the 64-bit FIP/FDP into two halves, and putting the higher 32 bits
into f*seg and lower into f*off.  Well, actually we use only 16 bits
of higher half but the CPUs do not seem to handle more than that anyway.

Differential Revision: https://reviews.llvm.org/D88681
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
Commit 9821632056dce9e2150bab9c0fbd9b2c7da64258 by mgorny
[lldb] [Process/NetBSD] Fix crash on unsupported i386 regs

Multiple fixes related to bugs discovered while debugging a crash
when reading all registers on i386.

The underlying problem was that GetSetForNativeRegNum() did not account
for MPX registers on i386, and since it only compared against upper
bounds of each known register set, the MPX registers were classified
into the wrong set and therefore considered supported.  However, they
were not expected in RegNumX86ToX86_64() and caused the assertion
to fail.

This includes:

- adding (unused) i386 → x86_64 translations for MPX registers
- fixing GetSetForNativeRegNum() to check both lower and upper bound
  for register sets, to avoid wrongly classifying unhandled register
  sets
- adding missing range check for MPX registers on i386
- renaming k_last_mpxr to k_last_mpxr_i386 for consistency
- replacing return-assertions with llvm_unreachable() and adding more
  checks for unexpected parameters

Differential Revision: https://reviews.llvm.org/D88682
The file was modifiedlldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
Commit 381bdc75ee2ca2fb9784ffb2f6b90accd8eab3b6 by mgorny
[lldb] [test/Register] Add read/write tests for x87 regs

Add a partial read/write tests for x87 FPU registers.  This includes
reading and writing ST registers, control registers and floating-point
exception data registers (fop, fip, fdp).

The tests assume the current (roughly incorrect) behavior of reporting
the 'abridged' 8-bit ftag state as 16-bit ftag.  They also assume Linux
plugin behavior of reporting fip/fdp split into halves as (fiseg, fioff)
and (foseg, fooff).

Differential Revision: https://reviews.llvm.org/D88583
The file was addedlldb/test/Shell/Register/x86-fp-read.test
The file was addedlldb/test/Shell/Register/Inputs/x86-fp-read.cpp
The file was addedlldb/test/Shell/Register/x86-fp-write.test
The file was addedlldb/test/Shell/Register/Inputs/x86-fp-write.cpp
The file was addedlldb/test/Shell/Register/x86-64-fp-write.test
Commit fcb0ab59335be185e05258c905ef57da9e7f3324 by nathan
[clang][NFC] Change a mention of `objc_static_protocol` to `non_runtime`
The file was modifiedclang/include/clang/AST/DeclObjC.h
Commit ba60dc0aa75e86165e260b2c08afafd1c394e95a by thakis
Revert "[Driver] Move detectLibcxxIncludePath to ToolChain"

This reverts commit e25bf2592060e7751f8b14522c97081ce2047175.
Breaks tests on Windows, see comments on https://reviews.llvm.org/D88452
The file was removedclang/test/Driver/Inputs/basic_fuchsia_tree/include/c++/v1/.keep
The file was modifiedclang/include/clang/Driver/ToolChain.h
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
Commit 3780a4e568ac763567cc6987372e04f9e3c68ff9 by martin
[AArch64] Match the windows canonical callee saved register order

On windows, the callee saved registers in a canonical prologue are
ordered starting from a lower register number at a lower stack
address (with the possible gap for aligning the stack at the top);
this is the opposite order that llvm normally produces.

To achieve this, reverse the order of the registers in the
assignCalleeSavedSpillSlots callback, to get the stack objects
laid out by PrologEpilogInserter in the right order, and adjust
computeCalleeSaveRegisterPairs to lay them out from the bottom up.

This allows generated prologs more often to match the format that
allows the unwind info to be written as packed info.

Differential Revision: https://reviews.llvm.org/D88677
The file was modifiedllvm/test/CodeGen/AArch64/wineh-frame1.mir
The file was modifiedllvm/test/CodeGen/AArch64/win64_vararg.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh-frame4.mir
The file was modifiedllvm/test/CodeGen/AArch64/wineh-frame2.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/wineh-try-catch-realign.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh-frame0.mir
The file was modifiedllvm/test/CodeGen/AArch64/sponentry.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh_shrinkwrap.mir
The file was modifiedllvm/test/CodeGen/AArch64/wineh-frame5.mir
The file was modifiedllvm/test/CodeGen/AArch64/wineh-frame3.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was addedllvm/test/CodeGen/AArch64/wineh-frame-scavenge.mir
The file was modifiedllvm/test/CodeGen/AArch64/seh-finally.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh-try-catch.ll
Commit 890af2f003c83349ff5917d80023b8b796f76489 by martin
[AArch64] Allow pairing lr with other GPRs for WinCFI

This saves one instruction per prologue/epilogue for any function with
an odd number of callee-saved GPRs, but more importantly, allows such
functions to match the packed unwind format.

Differential Revision: https://reviews.llvm.org/D88699
The file was addedllvm/test/CodeGen/AArch64/wineh-save-lrpair3.mir
The file was addedllvm/test/CodeGen/AArch64/wineh-save-lrpair1.mir
The file was modifiedllvm/test/CodeGen/AArch64/win64_vararg.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/wineh-save-lrpair2.mir
Commit 7d07405761aec8434a0cdb1c5644823a394f7def by martin
[AArch64] Prefer prologues with sp adjustments merged into stp/ldp for WinCFI, if optimizing for size

This makes the prologue match the windows canonical layout, for
cases without a frame pointer.

This can potentially be a slower (a longer dependency chain of the
sp register, and potentially one arithmetic operation more on some
cores), but gives notable size improvements.

The previous two commits shrinks a 166 KB xdata section by 49 KB,
and if the change from this commit is enabled, it shrinks the xdata
section by another 25 KB.

In total, since the start of the recent arm64 unwind info cleanups
and optimizations (since before commit 37ef743cbf3), the xdata+pdata
sections of the same test DLL has shrunk from 407 KB in total
originally, to 163 KB now.

Differential Revision: https://reviews.llvm.org/D88701
The file was addedllvm/test/CodeGen/AArch64/wineh-frame-predecrement.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit ef72591de971ee22dd47a949583fd1be38ba0d1b by flo
[LV] Add another test case with unsinkable first-order recurrences.
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
Commit 1038ce4b6bf11c9615e60b503bdb253a000a6d90 by lebedev.ri
[NFC][PhaseOrdering] Add a test showing new inttoptr casts after SROA due to InstCombine (PR47592)

We could either try to make SROA more picky to the new type
and/or prevent InstCombine from creating the original problem (converting load-stores to operate on ints),
and/or make InstCombine recover the situation by cleaning up all that cruft.
The file was addedllvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
Commit cd20c26622287f29f96bf8012d5aa0bd9774c7bc by lebedev.ri
[NFC][InstCombine] Autogenerate a few tests being affected by an upcoming patch
The file was modifiedllvm/test/Transforms/InstCombine/atomic.ll
The file was modifiedllvm/test/Transforms/InstCombine/loadstore-metadata.ll
The file was modifiedllvm/test/Transforms/InstCombine/non-integral-pointers.ll
Commit 82dcd383c422f03c2b399af5b94701365cdf1afa by flo
[VPlan] Properly update users when updating operands.

When updating operands of a VPUser, we also have to adjust the list of
users for the new and old VPValues. This is required once we start
transitioning recipes to become VPValues.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Commit 508ac0ec13c1c56029fd2390a2e14c1b2ea84b73 by mgorny
[lldb] [test/Register] Mark new FP reg tests XFAIL on Windows
The file was modifiedlldb/test/Shell/Register/x86-fp-write.test
The file was modifiedlldb/test/Shell/Register/x86-fp-read.test
The file was modifiedlldb/test/Shell/Register/x86-64-fp-write.test
Commit 0a3523299dec61f2e6eb2a28fdecd25360e8b6d8 by mtrofin
[MC] Assert that MCRegUnitIterator operates over MCRegisters

The signature of the ctor expects a MCRegister, but currently any
unsigned value can be converted to a MCRegister.

This patch checks that indeed the provided value is a physical register
only. We want to eventually stop implicitly converting unsigned or
Register to MCRegister (which is incorrect). The next step after this
patch is changing uses of MCRegUnitIterator to explicitly cast Register
or unsigned values to MCRegister. To that end, this patch also
introduces 2 APIs that make that conversion checked and explicit.

Differential Revision: https://reviews.llvm.org/D88705
The file was modifiedllvm/include/llvm/CodeGen/Register.h
The file was modifiedllvm/include/llvm/MC/MCRegister.h
The file was modifiedllvm/include/llvm/MC/MCRegisterInfo.h
Commit d20c602aad7cc7d116df3bf8c17c533ef361ee61 by alexshap
[Object][MachO] Refactor MachOUniversalWriter

This diff refactors writeUniversalBinary and adds writeUniversalBinaryToBuffer.
This is a preparation for adding support for universal binaries to llvm-objcopy.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D88372
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
Commit 9b851527d53345c4a5d56a909dfa1ca7f59a0c11 by jpienaar
Add indented raw_ostream class

Class simplifies keeping track of the indentation while emitting. For every new line the current indentation is simply prefixed (if not at start of line, then it just emits as normal). Add a simple Region helper that makes it easy to have the C++ scope match the emitted scope.

Use this in op doc generator and rewrite generator.

This reverts revert commit be185b6a7355fdfeb1c31df2e1272366fe58b01f addresses shared lib failure by fixing up cmake files.

Differential Revision: https://reviews.llvm.org/D84107
The file was modifiedmlir/lib/Support/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was addedmlir/lib/Support/IndentedOstream.cpp
The file was addedmlir/include/mlir/Support/IndentedOstream.h
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was addedmlir/unittests/Support/CMakeLists.txt
The file was addedmlir/unittests/Support/IndentedOstreamTest.cpp
Commit adccc0bfa301005367d6b89a3aacc07ef0166e64 by craig.topper
[X86] Add X86ISD opcodes for the Key Locker AESENC*KL and AESDEC*KL instructions

Instead of emitting MachineSDNodes during lowering, emit X86ISD
opcodes. These opcodes will either be selected by tablegen
patterns or custom selection code.

Emitting MachineSDNodes during lowering is uncommon so this makes
things more consistent. It also allows selectAddr to be called to
perform address matching during instruction selection.

I had trouble getting tablegen to accept XMM0-XMM7 as results in
an isel pattern for the WIDE instructions so I had to use custom
instruction selection.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrKL.td
The file was modifiedllvm/test/CodeGen/X86/keylocker-intrinsics.ll
Commit e9b87f43bde8b5f0d8a79c5884fdce639b12e0ca by stephen.neuendorffer
[RFC] Factor out repetitive cmake patterns for llvm-style projects

New projects (particularly out of tree) have a tendency to hijack the existing
llvm configuration options and build targets (add_llvm_library,
add_llvm_tool).  This can lead to some confusion.

1) When querying a configuration variable, do we care about how LLVM was
configured, or how these options were configured for the out of tree project?
2) LLVM has lots of defaults, which are easy to miss
(e.g. LLVM_BUILD_TOOLS=ON).  These options all need to be duplicated in the
CMakeLists.txt for the project.

In addition, with LLVM Incubators coming online, we need better ways for these
incubators to do things the "LLVM way" without alot of futzing.  Ideally, this
would happen in a way that eases importing into the LLVM monorepo when
projects mature.

This patch creates some generic infrastructure in llvm/cmake/modules and
refactors MLIR to use this infrastructure.  This should expand to include
add_xxx_library, which is by far the most complicated bit of building a
project correctly, since it has to deal with lots of shared library
configuration bits.  (MLIR currently hijacks the LLVM infrastructure for
building libMLIR.so, so this needs to get refactored anyway.)

Differential Revision: https://reviews.llvm.org/D85140
The file was modifiedmlir/CMakeLists.txt
The file was addedllvm/cmake/modules/LLVMProjectTargets.cmake
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/test/Examples/standalone/test.toy
The file was modifiedmlir/examples/standalone/standalone-opt/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt
The file was modifiedmlir/examples/standalone/standalone-translate/CMakeLists.txt
The file was modifiedmlir/examples/toy/CMakeLists.txt
The file was addedllvm/cmake/modules/LLVMProjectOptions.cmake
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-translate/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was modifiedmlir/tools/mlir-vulkan-runner/CMakeLists.txt
The file was modifiedmlir/examples/standalone/CMakeLists.txt
The file was modifiedmlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-reduce/CMakeLists.txt
The file was modifiedmlir/tools/mlir-rocm-runner/CMakeLists.txt
Commit 7f3da488852b157e456333cc40048526409d4592 by craig.topper
[X86] Remove X86ISD::MWAITX_DAG. Just match the intrinsic to the custom inserter pseudo instruction during isel.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/test/tools/llvm-mca/X86/Generic/resources-mwaitx.s
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver2/resources-mwaitx.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-mwaitx.s
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 39fc4a0b0af69772ee360b5f729b1ec453217793 by craig.topper
[X86] Move ENCODEKEY128/256 handling from lowering to selection.

We should avoid emitting MachineSDNodes from lowering.

We can use the the implicit def handling in InstrEmitter to avoid
manually copying from each xmm result register. We only need to
manually emit the copies for the implicit uses.
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit a7e45ea30d4c9c3f66f44f0e69e31eac3a22db42 by craig.topper
[X86] Add memory operand to AESENC/AESDEC Key Locker instructions.

This removes FIXMEs from selectAddr.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/test/CodeGen/X86/keylocker-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86InstrKL.td
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Commit ae2e51597f6e9478b7ccbdf1cf633540d7d1e8b3 by craig.topper
[X86] LOADIWKEY, ENCODEKEY128 and ENCODEKEY256 clobber EFLAGS.
The file was modifiedllvm/lib/Target/X86/X86InstrKL.td
Commit 0f08a1a5b162dcd2caf1b76827b917ca69e3e48d by Jonas Devlieghere
[lldb] [test/Register] Mark new FP reg tests XFAIL on Darwin

This is failing on GreenDragon:
http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/24066/
The file was modifiedlldb/test/Shell/Register/x86-fp-read.test
The file was modifiedlldb/test/Shell/Register/x86-64-fp-write.test
Commit 51beb0c80dc45d45efada5cd6e3a13c9fef0805c by kupokupokupopo
[RISCV][ASAN] unwind fixup

[8/11] patch series to port ASAN for riscv64

Depends On D87577

Reviewed By: eugenis, vitalybuka

Differential Revision: https://reviews.llvm.org/D87579
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp
Commit 03bd5198b6f7d9f49d72e6516d813a206f3b6d0d by lebedev.ri
[OldPM] Pass manager: run SROA after (simple) loop unrolling

I have stumbled into this pretty accidentally, when rewriting
some spaghetti-like code into something more structured,
which involved using some `std::array<>`s. And to my surprise,
the `alloca`s remained, causing about `+160%` perf regression.

https://llvm-compile-time-tracker.com/compare.php?from=bb6f4d32aac3eecb51909f4facc625219307ee68&to=d563e66f40f9d4d145cb2050e41cb961e2b37785&stat=instructions
suggests that this has geomean compile-time cost of `+0.08%`.

Note that D68593 / cecc0d27ad58c0aed8ef9ed99bbf691e137a0f26
already did this chage for NewPM, but left OldPM in a pessimized state.

This fixes [[ https://bugs.llvm.org/show_bug.cgi?id=40011 | PR40011 ]], [[ https://bugs.llvm.org/show_bug.cgi?id=42794 | PR42794 ]] and probably some other reports.

Reviewed By: nikic, xbolva00

Differential Revision: https://reviews.llvm.org/D87972
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/SROA-after-loop-unrolling.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedclang/test/Misc/loop-opt-setup.c
The file was modifiedclang/test/CodeGenCXX/union-tbaa2.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
Commit 7ce4dfb4dd2ca431f17b62ef563cc3b2737c677e by kupokupokupopo
[RISCV][ASAN] support code for architecture-specific parts of asan

[9/11] patch series to port ASAN for riscv64

Depends On D87579

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D87580
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/asan/asan_shadow_setup.cpp
Commit 1113fbf44c2250621548e278d2a1e11ab2b2d63d by koraq
[CodeGen] Improve likelihood branch weights

Bruno De Fraine discovered some issues with D85091. The branch weights
generated for `logical not` and `ternary conditional` were wrong. The
`logical and` and `logical or` differed from the code generated of
`__builtin_predict`.

Adjusted the generated code for the likelihood to match
`__builtin_predict`. The patch is based on Bruno's suggestions.

Differential Revision: https://reviews.llvm.org/D88363
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was addedclang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
Commit a566f0525a692e6e696add6f369edab979d6f300 by kupokupokupopo
[RISCV][ASAN] instrumentation pass now uses proper shadow offset

[10/11] patch series to port ASAN for riscv64

Depends On D87580

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87581
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit e4e5c42896df5ed61a98926ea42f5b1ab734e1c4 by llvm-dev
[X86][SSE] isTargetShuffleEquivalent - ensure shuffle inputs are the correct size.

Preliminary patch for the next stage of PR45974 - we don't want to be creating 'padded' vectors on-the-fly at all in combineX86ShufflesRecursively, and only pad the source inputs if we have a definite match inside combineX86ShuffleChain.

This means that the inputs to combineX86ShuffleChain might soon be smaller than the final root value type, so we should ensure that isTargetShuffleEquivalent only matches with the inputs if they are the correct size.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 2c48dd7c3ac5f8a0287d1fc7455d45d755d664aa by nikita.ppv
[MemCpyOpt] Add additional call slot tests (NFC)

The case of a destination read between call and memcpy was not
covered anywhere (but is handled correctly).

However, a potentially throwing call between the call and the
memcpy appears to be miscompiled.
The file was addedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit 2ccbf3dbd5bac9d4fea8b67404b4c6b006d4adbe by spatel
[SDAG] fold x * 0.0 at node creation time

In the motivating case from https://llvm.org/PR47517
we create a node that does not get constant folded
before getNegatedExpression is attempted from some
other node, and we crash.

By moving the fold into SelectionDAG::simplifyFPBinop(),
we get the constant fold sooner and avoid the problem.
The file was modifiedllvm/test/CodeGen/X86/fmul-combines.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/ARM/softfp-constant-comparison.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit e3475f5b91c8dc3142b90b2bb4a1884d6e8d8c2c by esme.yi
[PowerPC] Add builtins for xvtdiv(dp|sp) and xvtsqrt(dp|sp).

Summary: This patch implements the builtins for xvtdivdp, xvtdivsp, xvtsqrtdp, xvtsqrtsp.
The instructions correspond to the following builtins:
int vec_test_swdiv(vector double v1, vector double v2);
int vec_test_swdivs(vector float v1, vector float v2);
int vec_test_swsqrt(vector double v1);
int vec_test_swsqrts(vector float v1);
This patch depends on D88274, which fixes the bug in copying from CRRC to GPRC/G8RC.

Reviewed By: steven.zhang, amyk

Differential Revision: https://reviews.llvm.org/D88278
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/test/CodeGen/PowerPC/vsx_builtins.ll
The file was modifiedclang/test/CodeGen/builtins-ppc-vsx.c
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
Commit aaae13d0c29ec2a20f93e6adb9d9b5c2656d2af6 by lebedev.ri
[NFC][clang][codegen] Autogenerate a few ARM SVE tests that are being affected by an upcoming patch
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-call.c
Commit f5fe7abe8a8c8150b7b305bae963b429f15ea217 by flo
[VPlan] Account for removed users in replaceAllUsesWith.

Make sure we do not iterate using an invalid iterator.

Another small fix/step towards traversing the def-use chains in VPlan.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Commit 357bbaab666b212c5bfb65df80e76aace5367eff by flo
[VPlan] Add VPRecipeBase::toVPUser helper (NFC).

This adds a helper to convert a VPRecipeBase pointer to a VPUser, for
recipes that inherit from VPUser. Once VPRecipeBase directly inherits
from VPUser this helper can be removed.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
Commit 6c6cd5f8a9750865800ce26bdeacd84533335db3 by craig.topper
[X86] Consolidate wide Key Locker intrinsics into the same header as the other Key Locker intrinsics.
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was modifiedclang/lib/Headers/immintrin.h
The file was removedclang/lib/Headers/keylocker_wide_intrin.h
The file was modifiedclang/lib/Headers/keylockerintrin.h
Commit 28595cbbeb2cc75584410b8b974f67ec99a853f2 by craig.topper
[X86] Synchronize the loadiwkey builtin operand order with gcc version.
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was modifiedllvm/lib/Target/X86/X86InstrKL.td
The file was modifiedllvm/test/CodeGen/X86/keylocker-intrinsics.ll
The file was modifiedclang/lib/Headers/keylockerintrin.h
Commit 230c57b0bd8321085a5e0339baf37b509d5c76f6 by craig.topper
[X86] Synchronize the encodekey builtins with gcc. Don't assume void* is 16 byte aligned.

We were taking multiple pointer arguments in the builtin.
gcc accepts a single void*.

The cast from void* to _m128i* caused the IR generation to assume
the pointer was aligned.

Instead make the builtin take a single void*, emit i8* GEPs to
adjust then cast to <2 x i64>* and perform a store with align of 1.
The file was modifiedclang/lib/Headers/keylockerintrin.h
The file was addedllvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
The file was modifiedclang/test/CodeGen/X86/keylocker.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
Commit a02b449bb1556fe0f17b86eaa69f6bcda945d123 by craig.topper
[X86] Sync AESENC/DEC Key Locker builtins with gcc.

For the wide builtins, pass a single input and output pointer to
the builtins. Emit the GEPs and input loads from CGBuiltin.
The file was modifiedclang/lib/Headers/keylockerintrin.h
The file was modifiedllvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/X86/keylocker.c
Commit 955b926b0b37ee3f56d32a90702cea9878eb9c78 by llvmgnsyncbot
[gn build] Port 6c6cd5f8a97
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit c36d441b6b64e412a975adb1401657870588563c by i
[SDA] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off builds
The file was modifiedllvm/lib/Analysis/SyncDependenceAnalysis.cpp
Commit b4288f278a254e597295001f7e544b680b54e61a by martin
[X86] Remove an accidentally added file. NFC.

This file seems to have been accidentally added as part of commit
413577a8790407d75ba834fa5668c2632fe1851e.
The file was removedllvm/lib/Target/X86/X86InstrInfo.td.rej
Commit 22664a325167086260aa2d1ff629686020f2b27d by nikita.ppv
[MemCpyOpt] Don't use array allocas in tests (NFC)

Apparently querying dereferenceability of array allocations is
being intentionally penalized (https://reviews.llvm.org/D41398),
so avoid using them in tests.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit f05173d0bfc268530afd9fb9622caf7f1db5f8d6 by joker.eph
Implement callee/caller type checking for llvm.call

This aligns the behavior with the standard call as well as the LLVM verifier.

Reviewed By: ftynse, dcaballe

Differential Revision: https://reviews.llvm.org/D88362
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
Commit 8aaa73134954b5e5ad51631665fd188f38ded75e by nikita.ppv
[MemCpyOpt] Add tests for call slot optimization with GEPs (NFC)
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit 8036cf7f5402ea7fc8564a9a2beae512c324bf3d by dblaikie
llvm-dwarfdump: Skip tombstoned address ranges

Make the dumper & API a bit more informative by using the new tombstone
addresses to filter out or otherwise render more explicitly dead code
ranges.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/tombstone.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit 80ac6da98e8fb88ed68308acc8e8689420a54f90 by lebedev.ri
[NFC][SCEV] Add a test with some patterns where we could treat inttoptr/ptrtoint as semi-transparent
The file was addedllvm/test/Analysis/ScalarEvolution/semi-transparent-inttoptr-ptrtoint-casts.ll
Commit 37010d4ddf477d3cc60792a92918af5f2f6e42c3 by aeubanks
[Coroutines][NewPM] Fix coroutine tests under new pass manager

Some new function parameter attributes are derived under NPM.

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D88760
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon-value.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-swifterror.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
Commit b0dce6b37f15f487064223f7e3e6a5701a9d7bff by stephen.neuendorffer
Revert "[RFC] Factor out repetitive cmake patterns for llvm-style projects"

This reverts commit e9b87f43bde8b5f0d8a79c5884fdce639b12e0ca.

There are issues with macros generating macros without an obvious simple fix
so I'm going to revert this and try something different.
The file was modifiedmlir/tools/mlir-translate/CMakeLists.txt
The file was removedllvm/cmake/modules/LLVMProjectTargets.cmake
The file was modifiedmlir/tools/mlir-reduce/CMakeLists.txt
The file was removedllvm/cmake/modules/LLVMProjectOptions.cmake
The file was modifiedmlir/tools/mlir-linalg-ods-gen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-rocm-runner/CMakeLists.txt
The file was modifiedmlir/examples/toy/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was modifiedmlir/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/test/Examples/standalone/test.toy
The file was modifiedmlir/examples/standalone/CMakeLists.txt
The file was modifiedmlir/tools/mlir-vulkan-runner/CMakeLists.txt
The file was modifiedmlir/examples/standalone/standalone-opt/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
The file was modifiedmlir/examples/standalone/standalone-translate/CMakeLists.txt
Commit 0db97234cf490e464c82f2191fef2d8a163106fb by craig.topper
[X86] Remove usesCustomInserter from MWAITX_SAVE_EBX and MWAITX_SAVE_RBX. NFC

These are now emitted by a CustomInserter rather than using a custom
inserter themselves.
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
Commit 952dfd76c6696207cc290c4f6f15d5dea5cca795 by craig.topper
[X86] Correct the implicit defs/uses for the MWAITX pseudo instructions.

MWAITX doesn't touch EFLAGS so no pseudos should def EFLAGS.

The SAVE_EBX/RBX pseudos only needs to def the EBX register that
the expansion overwrites. The EAX and ECX registers are only read.

The pseudo emitted during isel that is used by the custom inserter
shouldn't have any implicit defs or uses since everything is in
vregs.
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
Commit 1065f3439bad59323f16e7c8ee568c7d94dcd952 by i
[DomTree] findNearestCommonDominator: assert the nodes are in tree

i.e. they cannot be unreachable from the entry (which usually indicate usage errors).
This change allows the removal of some nullptr checks.

Reviewed By: kuhar

Differential Revision: https://reviews.llvm.org/D88758
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
Commit ea83e0b17ecf5dc0cf228afb334aa72ce9b5aec1 by dblaikie
llvm-dwarfdump: Dump address forms in their encoded length rather than always in 64 bits

Few places did this already - refactor them all into a common helper.
The file was modifiedllvm/test/DebugInfo/X86/debug-loc-offset.mir
The file was modifiedllvm/test/MC/ARM/dwarf-asm-single-section.s
The file was modifiedllvm/test/MC/WebAssembly/dwarfdump.ll
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp
The file was modifiedllvm/test/MC/ARM/dwarf-asm-nonstandard-section.s
The file was modifiedllvm/test/MC/MachO/gen-dwarf.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
The file was modifiedllvm/test/DebugInfo/MIR/ARM/subregister-full-piece.mir
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
The file was modifiedllvm/test/DebugInfo/Mips/dbg-call-site-low-pc.ll
The file was modifiedllvm/test/DebugInfo/X86/debug_addr.ll
The file was modifiedllvm/test/DebugInfo/MIR/Hexagon/bundled-call-pr44001.mir
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/test/MC/WebAssembly/debug-localvar.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/gnu_call_site.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
The file was modifiedllvm/test/MC/ARM/dwarf-asm-multiple-sections-dwarf-2.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/tombstone.s
Commit 83cc498c38d2e4baaf3a233ae73fc49e24ac8898 by Yuanfang Chen
[NFCI] Remove unnecessary trailing undef in RuntimeLibcalls.def

All uses of the file undef the macro already.
The file was modifiedllvm/include/llvm/IR/RuntimeLibcalls.def
Commit 2c94d88e076990a7b533578a392a150d4b9b0fa8 by Yuanfang Chen
[NewPM] collapsing nested pass mangers of the same type

This is one of the reason for extra invalidations in D84959. In
practice, I don't think we have use cases needing this. This simplifies
the pipeline a bit and prune corner cases when considering
invalidations.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D85676
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/include/llvm/IR/PassManager.h
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/test/Other/pass-pipeline-parsing.ll
The file was modifiedllvm/test/Other/new-pass-manager.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
Commit 628a319475dceac307add6953df028ec372e7f4e by dblaikie
llvm-dwarfdump: Print addresses in debug_line to the parsed address size
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/tombstone.s
Commit 4b38ceb0ebd7ed5fe1d5cbaf981060227515fb6e by craig.topper
[X86] Remove MWAITX_SAVE_EBX pseudo instruction. Always save/restore the full %rbx register even in gnux32.

ebx/rbx only needs to be saved when 64-bit registers are supported
anyway. It should be fine to save/restore the whole rbx register
even in gnux32 where the base is technically just ebx.

This matches what we do for cmpxchg16b where rbx is saved/restored
regardless of gnux32.
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
Commit 92c45e4ee2511399484e8af26b66ba37ad0ed8e7 by dblaikie
llvm-dwarfdump: Add support for DW_RLE_startx_endx
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/tombstone.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
Commit 64f7790e7d2309b5d38949921a256acf8068e659 by Yaxun.Liu
[HIP] Add option --gpu-instrument-lib=

Add an option --gpu-instrument-lib= to allow users to specify
an instrument device library. This is for supporting -finstrument
in device code for debugging/profiling tools.

Differential Revision: https://reviews.llvm.org/D88557
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/Inputs/hip_multiple_inputs/instrument.bc
The file was modifiedclang/test/Driver/hip-device-libs.hip
Commit fef0ebbc0b39167656bd11283e3084b000b309dd by Yaxun.Liu
Revert "[HIP] Add option --gpu-instrument-lib="

This reverts commit 64f7790e7d2309b5d38949921a256acf8068e659 due
to regression in hip-device-libs.hip.
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedclang/test/Driver/Inputs/hip_multiple_inputs/instrument.bc
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-device-libs.hip
Commit 9756a402f297d0030689aaade3651785b7496649 by Yaxun.Liu
Recommit "[HIP] Add option --gpu-instrument-lib="

recommit 64f7790e7d2309b5d38949921a256acf8068e659 after
fixing hip-device-libs.hip.
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was addedclang/test/Driver/Inputs/hip_multiple_inputs/instrument.bc
The file was modifiedclang/test/Driver/hip-device-libs.hip
The file was modifiedclang/include/clang/Driver/Options.td
Commit 5b551b79d3bba5a8a282bf5f72c7baaccf925870 by Yaxun.Liu
[HIP] Fix default output file for -E

By convention the default output file for -E is "-" (stdout).
This is expected by tools like ccache, which uses output
of -E to determine if a file and its dependence has changed.

Currently clang does not use stdout as default output file for -E
for HIP, which causes ccache not working.

This patch fixes that.

Differential Revision: https://reviews.llvm.org/D88730
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/test/Driver/hip-output-file-name.hip
Commit e372c1d7624e2402a5f91a640780fb32649922b6 by Yaxun.Liu
[HIP] Fix -fgpu-allow-device-init option

The option needs to be passed to both host and device compilation.

Differential Revision: https://reviews.llvm.org/D88550
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-options.hip
Commit 6d0be74af5555f7bc56ac72cbd98ff270fd1291b by dblaikie
llvm-dwarfdump: Don't try to parse rnglist tables when dumping CUs

It's not possible to do this in complete generality - a CU using a
sec_offset DW_AT_ranges has no way of knowing where its rnglists
contribution starts, so should not attempt to parse any full rnglist
table/header to do so. And even using FORM_rnglistx there's no need to
parse the header - the offset can be computed using the CU's DWARF
format (32 or 64) to compute offset entry sizes, and then the list
parsed at that offset without ever trying to find a rnglist contribution
header immediately prior to the rnglists_base.
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/tombstone.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s
Commit b18026114ab1410d531559ad6d9f1b445b98a35f by craig.topper
[X86] MWAITX_SAVE_RBX should not have EBX as an implicit use.

RBX was copied to a virtual register before this instruction
was created. And the EBX input for the final MWAITX is still
in a virtual register. So EBX isn't read by this pseudo.
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
Commit e8beb6988bab71ee4917288f07674b4982736109 by Jonas Devlieghere
[lldb] [test/Register] Attempt to fix x86-fp-read.test on Darwin

Darwin seems to use stmmN instead of stN. Use a regex to accept both.

Also try to actually clear st(7).

Differential revision: https://reviews.llvm.org/D88795
The file was modifiedlldb/test/Shell/Register/x86-fp-read.test
The file was modifiedlldb/test/Shell/Register/Inputs/x86-fp-read.cpp
Commit a58b20e5a4fb64404cb62d2bb6a5e6dc40d22784 by Jonas Devlieghere
[llvm] Rename DwarfFile to DWARFFile to fix ODR violation (NFC)

Rename the DwarfFile class in DWARFLinker to DWARFFile. This is
consistent with the other DWARF classes and avoids a ODR violation with
the DwarfFile class in AsmPrinter.
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/include/llvm/DWARFLinker/DWARFLinker.h
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.h
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
Commit cf4aa68388025a731236bc6dbe113ffdfe14c6c2 by kupokupokupopo
[RISCV][ASAN] mark asan as supported for RISCV64 and enable tests

[11/11] patch series to port ASAN for riscv64

These changes allow using ASAN on RISCV64 architecture.
The majority of existing tests are passing. With few exceptions (see below).
Tests we run on qemu and on "HiFive Unleashed" board.

Tests run:

```
Asan-riscv64-inline-Test  - pass
Asan-riscv64-inline-Noinst-Test  - pass
Asan-riscv64-calls-Noinst-Test  - pass
Asan-riscv64-calls-Test  - pass
```

Lit tests:

```
RISCV64LinuxConfig (282 supported, few failures)
RISCV64LinuxDynamicConfig (289 supported, few failures)
```

Lit failures:

```
TestCases/malloc_context_size.cpp - asan works, but backtrace misses some calls
TestCases/Linux/malloc_delete_mismatch.cpp - asan works, but backtrace misses some calls
TestCases/Linux/static_tls.cpp - "Can't guess glibc version" (under debugging)
TestCases/asan_and_llvm_coverage_test.cpp - missing libclang_rt.profile-riscv64.a
```

These failures are under debugging currently and shall be addressed in a
subsequent commits.

Depends On D87581

Reviewed By: eugenis, vitalybuka

Differential Revision: https://reviews.llvm.org/D87582
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/vfork.cpp
The file was modifiedcompiler-rt/lib/asan/scripts/asan_symbolize.py
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/asan/tests/asan_test.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/ptrace.cpp
The file was modifiedcompiler-rt/test/asan/CMakeLists.txt
Commit a3caf7f6102dc863425f9714b099af58397f0cd2 by markus.lavin
[DebugInfo] Improve dbg preservation in LSR.

Use SCEV to salvage additional @llvm.dbg.value that have turned into
referencing undef after transformation (and traditional
salvageDebugInfo). Before transformation compute SCEV for each
@llvm.dbg.value in the loop body and store it (along side its current
DIExpression). After transformation update those @llvm.dbg.value now
referencing undef by comparing its stored SCEV to the SCEV of the
current loop-header PHI-nodes. Allow match with offset by inserting
compensation code in the DIExpression.

Fixes : PR38815

Differential Revision: https://reviews.llvm.org/D87494
The file was addedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
Commit 3423d5c9da812b0076d1cf14e96ce453e35257b6 by hokein.wu
[AST][RecoveryExpr] Popagate the error-bit from a VarDecl's initializer to DeclRefExpr.

The error-bit was missing, if a DeclRefExpr (which refers to a VarDecl
with a contains-errors initializer).

It could cause different violations in clang -- the DeclRefExpr is value-dependent,
but not contains-errors, `ABC<DeclRefExpr>` could produce a non-error
and non-dependent type in non-template context, which will lead to
crashes in constexpr evaluation.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D86048
The file was modifiedclang/test/Sema/invalid-member.cpp
The file was modifiedclang/lib/AST/ComputeDependence.cpp
Commit 64b879ae2a8a4a4e541404c19d96d18c4aed810e by mikael.holmen
[TableGen][GlobalISel] add handling of nested *_SUBREG

When nesting INSERT_SUBREG and EXTRACT_SUBREG, GlobalISelEmitter would
fail to find the register class of the nested node. This patch fixes
that for registers with subregs.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D88487
The file was addedllvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
Commit 0d5989bb24934802a9e6fcca63848a57a91efcc8 by jay.foad
[AMDGPU] Split R600 and GCN bfe patterns

This is in preparation for making the GCN patterns divergence-aware.
NFC.

Differential Revision: https://reviews.llvm.org/D88579
The file was modifiedllvm/lib/Target/AMDGPU/EvergreenInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
Commit 16778b19f2c2756a9e0dd04636fb2c269f684917 by jay.foad
[AMDGPU] Make bfe patterns divergence-aware

This tends to increase code size but more importantly it reduces vgpr
usage, and could avoid costly readfirstlanes if the result needs to be
in an sgpr.

Differential Revision: https://reviews.llvm.org/D88580
The file was modifiedllvm/test/CodeGen/AMDGPU/bfe-patterns.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ubfe.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
Commit 6e2b267d1c85ce0de0e91eb446831607896a0f2b by benny.kra
Promote transpose from linalg to standard dialect

While affine maps are part of the builtin memref type, there is very
limited support for manipulating them in the standard dialect. Add
transpose to the set of ops to complement the existing view/subview ops.
This is a metadata transformation that encodes the transpose into the
strides of a memref.

I'm planning to use this when lowering operations on strided memrefs,
using the transpose to remove the stride without adding a dependency on
linalg dialect.

Differential Revision: https://reviews.llvm.org/D88651
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/standard.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/docs/Dialects/Linalg.md
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir
Commit 5b5e78a43124c0ced813f378195b36098f716c8f by jam
[VE] Support register and frame-index pair correctly

Support register and frame-index pair correctly as operands of
generic load/store instrucitons, e.g. LD1BZXrri, STLrri, and etc.
Add regression tests also.

Differential Revision: https://reviews.llvm.org/D88779
The file was modifiedllvm/lib/Target/VE/VEISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/VE/loadrri.ll
Commit d52211e384773ae06aabf476c78f16d2976660b0 by ntv
[mlir] Fix SubViewOp doc in .td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 6a089ce0e40abbe4e0f26f05540e3caa60d98a29 by sebastian.neubauer
[AMDGPU] Use tablegen for argument indices

Use tablegen generic tables to get the index of image intrinsic
arguments.
Before, the computation of which image intrinsic argument is at which
index was scattered in a few places, tablegen, the SDag instruction
selection and GlobalISel. This patch changes that, so only tablegen
contains code to compute indices and the ImageDimIntrinsicInfo table
provides these information.

Differential Revision: https://reviews.llvm.org/D86270
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
Commit 71cf97e95b8c888367284d1d12925f79b38034eb by david.spickett
Reland "[lldb] Don't send invalid region addresses to lldb server"

This reverts commit c65627a1fe3be7521fc232d633bb6df577f55269.

The test immediately after the new invalid symbol test was
failing on Windows. This was because when we called
VirtualQueryEx to get the region info for 0x0,
even if it succeeded we would call GetLastError.

Which must have picked up the last error that was set while
trying to lookup "not_an_address". Which happened to be 2.
("The system cannot find the file specified.")

To fix this only call GetLastError when we know VirtualQueryEx
has failed. (when it returns 0, which we were also checking for anyway)

Also convert memory region to an early return style
to make the logic clearer.

Reviewed By: labath, stella.stamenova

Differential Revision: https://reviews.llvm.org/D88229
The file was modifiedlldb/test/API/functionalities/memory-region/TestMemoryRegion.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
Commit 7f05fe1aeeb005b552c6a3093b61659e7b578b14 by hokein.wu
[AST][RecoveryExpr] Fix a crash on undeduced type.

We should not capture the type if the function return type is undeduced.

Reviewed By: adamcz

Differential Revision: https://reviews.llvm.org/D87350
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/test/AST/ast-dump-recovery.cpp
The file was modifiedclang/test/SemaCXX/recovery-expr-type.cpp
Commit 96c8a17c800b2370f6d43fe67559ca10d5e44196 by hokein.wu
[clangd] Remove unused using-decls in TypeHierarchyTests, NFC.
The file was modifiedclang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
Commit e70e7d1019ca8562b614a67c26995da42c0336ad by dmitry.preobrazhensky
[TableGen] Added a function for identification of unsupported opcodes.

This change implements generation of a function which may be used by a backend to check if a given instruction is supported for a specific subtarget.

Reviewers: sdesmalen

Differential Revision: https://reviews.llvm.org/D88214
The file was modifiedllvm/utils/TableGen/AsmMatcherEmitter.cpp
Commit 707c3d4d4210f5386a79ef7a7e771f36bc7ad9ef by carl.ritson
[AMDGPU][RegAlloc][SplitKit] Pre-commit test for D88821
The file was modifiedllvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
Commit 007dd12d546814977519b33ca38b1cc8b31fee26 by gabor.marton
[ASTImporter][AST] Fix structural equivalency crash on dependent FieldDecl

Differential Revision: https://reviews.llvm.org/D88665
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
The file was modifiedclang/unittests/AST/StructuralEquivalenceTest.cpp
The file was modifiedclang/test/ASTMerge/struct/test.c
Commit 2cd7b0e1305a71f4f9d89f25b140da641f2693f4 by llvm-dev
[ValueTracking] canCreateUndefOrPoison - use APInt to check bounds instead of getZExtValue().

Fixes OSS Fuzz #26135
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
Commit ff86acbb79c49128a93f074e44d4c75b68a2b88b by david.green
[LV] Regenerate test. NFC

This just reruns the update script to add the new
[[LOOP0:!llvm.loop !.*]] checks to remove them from
other diffs.
The file was modifiedllvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/if-pred-stores.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr35432.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
Commit 1425c72236766ad9107d86cb645ee8c6a3ee0eb1 by hokein.wu
[clangd] Add isKeyword function.

This will be used in rename for doing basic name validation.

Differential Revision: https://reviews.llvm.org/D88810
The file was modifiedclang-tools-extra/clangd/SourceCode.cpp
The file was modifiedclang-tools-extra/clangd/SourceCode.h
The file was modifiedclang-tools-extra/clangd/unittests/SourceCodeTests.cpp
Commit 7a932f4f4ccbc0c4294c6911d404f74529f3259b by llvm-dev
[Parser] ParseMicrosoftAsmStatement - Replace bit '|' operator with logical '||' operator. (PR47071)

Fixes static analysis warning.
The file was modifiedclang/lib/Parse/ParseStmtAsm.cpp
Commit 348d85a6c7950a5f14ee6c8741380b5876d99afd by flo
[VPlan] Clean up uses/operands on VPBB deletion.

Update the code responsible for deleting VPBBs and recipes to properly
update users and release operands.

This is another preparation for D84680 & following patches towards
enabling modeling def-use chains in VPlan.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Commit 346b9d17720a0ccd920cd02b81811a4d2ddc67d6 by nicolas.vasilache
[mlir][Linalg] Canonicalize TensorCastOp away when it feeds a LinalgOp.

This canonicalization is the counterpart of MemRefCastOp -> LinalgOp but on tensors.

This is needed to properly canonicalize post linalg tiling on tensors.

Differential Revision: https://reviews.llvm.org/D88729
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
Commit 2573cf3c3d42c943cb91b6e85b803f7671260185 by samuel.tebbs
[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV

    This folds a select_cc or select(set_cc) of a max or min vector reduction with a scalar value into a VMAXV or VMINV.

    Differential Revision: https://reviews.llvm.org/D87836
The file was addedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit 34b61d6cd58aea88d44fef9fa4f409f2e324a4d4 by paulsson
[SystemZ] Add support for .insn directives for vector instructions.

Support VRI, VRR, VRS, VRV, VRX, VSI instruction formats with the .insn
directive.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D88357
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was addedllvm/test/MC/SystemZ/directive-insn-vector.s
Commit 34b34e90fc3299debfda4add0e277f59b0a699da by protze
[OpenMP][Tests] NFC: fix flaky test failure caused by rare scheduling

The worker thread can start execution of the task before creation of the second task
Fixes the spurious failure reported in https://reviews.llvm.org/D61657
The file was modifiedopenmp/runtime/test/ompt/tasks/task_memory.c
Commit eaf73293cb6b8d45dd85ffced57aea7ad4177754 by jhuber6
[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload

Summary:
This patch adds an error to Clang that detects if OpenMP offloading is
used between two architectures with incompatible pointer sizes. This
ensures that the data mapping can be done correctly and solves an issue
in code generation generating the wrong size pointer. This patch adds a
new lit substitution, %omp_powerpc_triple that, if the system is 32-bit or
64-bit, sets the powerpc triple accordingly. This was required to fix
some OpenMP tests that automatically populated the target architecture.

Reviewers: jdoerfert

Subscribers: cfe-commits guansong sstefan1 yaxunl delcypher

Tags: OpenMP clang LLVM

Differential Revision: https://reviews.llvm.org/D88594
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was addedclang/test/OpenMP/target_incompatible_architecture_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
Commit 89e8a8b223b2e20bb63e930ddb78cb80a3ed45a2 by aktoon
Revert SVML support for sqrt

As was brought up in D87169 by @craig.topper we shouldn't map llvm.sqrt to svml since there is a faster native instruction.
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_sqrt_p&expand=5824,5823,5356,5823,5825,5365,5356

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88620
The file was modifiedllvm/include/llvm/Analysis/VecFuncs.def
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls.ll
Commit c3f12dd6069ebfc913953a4a29e9db5dd4749160 by llvm-project
[docs] Revise loop terminology reference.

Motivated by D88183, this seeks to clarify the current loop nomenclature with added illustrations, examples for possibly unexpected situations (infinite loops not part of the "parent" loop, logical loops sharing the same header, ...), and clarification on what other sources may consider a loop. The current document also has multiple errors that are fixed here.

Some selected errors:
* Loops a defined as strongly-connected components. A component a partition of all nodes, i.e. a subloop can never be a component. That is, the document as it currently is only covers top-level loops, even it also uses the term SCC for subloops.
* "a block can be the header of two separate loops at the same time" (it is considered a single loop by LoopInfo)
* "execute before some interesting event happens" (some interesting event is not well-defined)

Reviewed By: baziotis, Whitney

Differential Revision: https://reviews.llvm.org/D88408
The file was addedllvm/docs/loop-guard.svg
The file was addedllvm/docs/loop-separate.svg
The file was modifiedllvm/docs/LangRef.rst
The file was addedllvm/docs/loop-single.svg
The file was addedllvm/docs/loop-nonmaximal.svg
The file was addedllvm/docs/loop-nested.svg
The file was addedllvm/docs/loop-merge.svg
The file was modifiedllvm/docs/LoopTerminology.rst
The file was addedllvm/docs/loop-irreducible.svg
The file was addedllvm/docs/loop-terminology.svg
Commit 665371d0b29910d7fba618a707d6b732e2037ee2 by csigg
[mlir] Split alloc-like op LLVM lowerings into base and separate derived classes.

The previous code did the lowering to alloca, malloc, and aligned_malloc
in a single class with different code paths that are somewhat difficult to
follow.

This change moves the common code to a base class and has a separte
derived class per lowering target that contains the specifics.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D88696
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit d5a6da84a3462d41be003f4e5d4d1d2e0364ce9d by Louis Dionne
[libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi"

This reverts commit c7d4aa711a. I am still investigating the issue,
but it looks like that commit has an interaction with ld64 that causes
new/delete weak re-exports not to work properly anymore. This is weird
because this commit did not touch the exports of new/delete -- I am
still investigating.
The file was addedlibcxx/lib/weak.exp
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was removedlibcxxabi/lib/weak.exp
Commit 0ac210e5801ac8f80305613aac3f9a89ba0cc83d by llvm-dev
[X86] isTargetShuffleEquivalent - merge duplicate array accesses. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 2efd9fd699ed59df2927074f318edac99533e402 by llvm-dev
[InstCombine] Add or(shl(v,and(x,bw-1)),lshr(v,bw-and(x,bw-1))) funnel shift tests

If we know the shift amount is less than the bitwidth we should be able to convert this to a funnel shift
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit 5ba084c42fdc80a51fc49c27f5f3ecf153953114 by llvm-dev
[InstCombine] Extend 'shift with constants' vector tests

Added missing test coverage for shl(add(and(lshr(x,c1),c2),y),c1) -> add(and(x,c2<<c1),shl(y,c1)) combine

Rename tests as 'foo' and 'bar' isn't very extensible

Added vector tests with undefs and nonuniform constants
The file was modifiedllvm/test/Transforms/InstCombine/pr19420.ll
Commit 9642ded8ba64590aca2720e4c124368d8e98cc8d by mcinally
[SVE] Lower fixed length VECREDUCE_AND operation

Differential Revision: https://reviews.llvm.org/D88707
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 1dce692de1896412693f25a3afb4818883a611e7 by jhuber6
Revert "[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload"

Reverting because detecting architecture size doesn't work on all
platforms.

This reverts commit eaf73293cb6b8d45dd85ffced57aea7ad4177754.
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was removedclang/test/OpenMP/target_incompatible_architecture_messages.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
Commit 8d51d37e0628bde3eb5a3200507ba7135dfc2751 by andrzej.warzynski
[flang] Introduce DiagnosticConsumer classes in libflangFrontend

Currently Flang uses TextDiagnostic, TextDiagnosticPrinter &
TestDiagnosticBuffer classes from Clang (more specifically, from
libclangFrontend). This patch introduces simplified equivalents of these
classes in Flang (i.e. it removes the dependency on libclangFrontend).

Flang only needs these diagnostics classes for the compiler driver
diagnostics. This is unlike in Clang in which similar diagnostic classes
are used for e.g. Lexing/Parsing/Sema diagnostics. For this reason, the
implementations introduced here are relatively basic. We can extend them
in the future if this is required.

This patch also enhances how the diagnostics are printed. In particular,
this is the diagnostic that you'd get _before_  the changes introduced here
(no text formatting):

```
$ bin/flang-new
error: no input files
```

This is the diagnostic that you get _after_ the changes introduced here
(in terminals that support it, the text is formatted - bold + red):

```
$ bin/flang-new
flang-new: error: no input files
```

Tests are updated accordingly and options related to enabling/disabling
color diagnostics are flagged as supported by Flang.

Reviewed By: sameeranjoshi, CarolineConcatto

Differential Revision: https://reviews.llvm.org/D87774
The file was modifiedflang/test/Flang-Driver/driver-error-cc1.c
The file was modifiedflang/lib/Frontend/CompilerInstance.cpp
The file was modifiedflang/tools/flang-driver/driver.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedflang/lib/Frontend/TextDiagnosticBuffer.cpp
The file was addedflang/include/flang/Frontend/TextDiagnosticPrinter.h
The file was modifiedflang/unittests/Frontend/CompilerInstanceTest.cpp
The file was modifiedflang/test/Flang-Driver/driver-help.f90
The file was addedflang/lib/Frontend/TextDiagnosticPrinter.cpp
The file was modifiedflang/test/Flang-Driver/driver-error-cc1.cpp
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/test/Flang-Driver/missing-input.f90
The file was modifiedflang/tools/flang-driver/fc1_main.cpp
The file was modifiedflang/include/flang/Frontend/CompilerInvocation.h
The file was modifiedflang/test/Flang-Driver/driver-version.f90
The file was addedflang/include/flang/Frontend/TextDiagnostic.h
The file was addedflang/include/flang/Frontend/TextDiagnosticBuffer.h
The file was addedflang/lib/Frontend/TextDiagnostic.cpp
The file was modifiedflang/lib/Frontend/CMakeLists.txt
Commit afd729edee4ca0dc63771448926ab5d346161511 by joker.eph
Add definition for static constexpr member (NFC)

Fix the build for some toolchain and config.
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit 6bcaf6ff69e978cb7ecf10a16f9ba75e14ba19c2 by benny.kra
[mlir][Linalg] Remove unused variable. NFCI.
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
Commit 9d630297700b94cc9c0118c65115c496c782302b by nikita.ppv
Revert "[DebugInfo] Improve dbg preservation in LSR."

This reverts commit a3caf7f6102dc863425f9714b099af58397f0cd2.

The ReleaseLTO-g test-suite configuration has been failing
to build since this commit, because clang segfaults while
building 7zip.
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was removedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
Commit 4ce61144cb49b48817f0215820173005c8d7d816 by llvm-dev
[InstCombine] canEvaluateShifted - remove dead (and never used code). NFC.

This was already #if'd out when it was added back in 2010 at rG18d7fc8fc6767 and has never been touched since.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit b326d4ff946d2061a566a3fcce9f33b484759fe0 by qiucofan
[SelectionDAG] Don't remove unused negated constant immediately

This reverts partial of a2fb5446 (actually, 2508ef01) about removing
negated FP constant immediately if it has no uses. However, as discussed
in bug 47517, there're cases when NegX is folded into constant from
other places while NegY is removed by that line of code and NegX is
equal to NegY. In these cases, NegX is deleted before used and crash
happens. So revert the code and add necessary test case.
The file was modifiedllvm/test/CodeGen/X86/pr47517.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 32c8435ef70031d7bd3dce48e41bdce65747e123 by alexshap
[llvm-objcopy][MachO] Add support for universal binaries

This diff adds support for universal binaries to llvm-objcopy.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D88400
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/strip-all.test
The file was addedllvm/tools/llvm-objcopy/llvm-objcopy.h
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was addedllvm/test/tools/llvm-objcopy/MachO/universal-object.test
Commit c9f5cdd4531e2836f47ceb28b80fd7f418645d96 by Amara Emerson
Revert "[ARM]Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV"

This reverts commit 2573cf3c3d42c943cb91b6e85b803f7671260185.

These seem to break some lit tests.
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was removedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit 8fb4645321765124aa89c8e798a989eae38739ce by llvm-dev
[InstCombine] FoldShiftByConstant - use m_Specific. NFCI.

Use m_Specific instead of m_Value followed by an equality check - we already do this for the similar folds above, it looks like an oversight in rG2b459fe7e1e where the original pattern match code looked a little different.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit c2bce848ecae0e17883e7cc4b8054c1e12ef1f98 by Amara Emerson
[GlobalISel] Fix CSEMIRBuilder silently allowing use-before-def.

If a CSEMIRBuilder query hits the instruction at the current insert point,
move insert point ahead one so that subsequent uses of the builder don't end up with
uses before defs.

This fix also shows that AMDGPU was also affected by this bug often, but got away
with it because it was using a G_IMPLICIT_DEF before the use.

Differential Revision: https://reviews.llvm.org/D88605
The file was modifiedllvm/unittests/CodeGen/GlobalISel/CSETest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
Commit 6e25586990b93e2c9eaaa4f473b6720ccd646c46 by alexshap
[llvm-objcopy][MachO] Add missing std::move.

This change fixes the build issue introduced by 32c8435ef7
(detected by the buildbot fuchsia-x86_64-linux).

Test plan: make check-all
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit fa0293081d62295140f8518cc7127473d6856cda by david.sherwood
[SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-store.ll

I have fixed up a number of warnings resulting from TypeSize -> uint64_t
casts and calling getVectorNumElements() on scalable vector types. I
think most of the changes are fairly trivial except for those in
DAGTypeLegalizer::SplitVecRes_MSTORE I've tried to ensure we create
the MachineMemoryOperands in a sensible way for scalable vectors.

I have added a CHECK line to the following test:

CodeGen/AArch64/sve-split-store.ll

that ensures no new warnings are added.

Differential Revision: https://reviews.llvm.org/D86928
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-split-store.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 85d506400081e121ef876a4c66fb337b050dcae6 by Saleem Abdulrasool
docs: add documentation describing API Notes

API Notes are a feature which allows annotation of headers by an
auxiliary file that contains metadata for declarations pertaining to the
associated module.  This enables adding attributes to declarations
without requiring modification of the headers, enabling finer grained
control for library headers for consumers without having to modify
external headers.

Differential Revision: https://reviews.llvm.org/D88446
Reviewed By: Richard Smith, Marcel Hlopko
The file was addedclang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit_private.apinotes
The file was addedclang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit.apinotes
The file was addedclang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit.h
The file was addedclang/docs/APINotes.rst
The file was addedclang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKitExplicitNullability.h
Commit 82ebbcfb059ba755ce4ae7711a27205fbe443990 by mtrofin
[NFC][regalloc] Model weight normalization as a virtual

Continuing from D88499, we can now model the normalization function as a
virtual member of VirtRegAuxInfo. Note that the default
(normalizeSpillWeight) is also used stand-alone in RAGreedy.

Differential Revision: https://reviews.llvm.org/D88713
The file was modifiedllvm/lib/CodeGen/RegAllocPBQP.cpp
The file was modifiedllvm/include/llvm/CodeGen/CalcSpillWeights.h
Commit 95262ee2be75daffd05e9a8a985ca2c8e34c9af7 by sam.mccall
[clangd] Describe non-handling of most IWYU pragmas. NFC

Differential Revision: https://reviews.llvm.org/D88822
The file was modifiedclang-tools-extra/clangd/index/CanonicalIncludes.h
Commit 0f8e4a5ed0e556af82592f7cae4a6082ab238da3 by nikita.ppv
[InstCombine] Add test for PR47730
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit 3641d375f6747237b1b55a25a55e9028d8a67a02 by nikita.ppv
[InstCombine] Handle GEP inbounds in select op replacement (PR47730)

When retrying the "simplify with operand replaced" select
optimization without poison flags, also handle inbounds on GEPs.

Of course, this particular example would also be safe to transform
while keeping inbounds, but the underlying machinery does not
know this (yet).
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit e338f8fe69b869afd8adf53919bd578aaf14fb2f by i
[gcov] Fix non-determinism (DenseMap iteration order) of checksum computation

... by using MapVector. The issue was caused by 63182c2ac0b643a60d397274e8a31166fc7243fa.

Also use stable_partition instead of partition to get stable results
across different STL implementations.
The file was modifiedllvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
Commit 010d7a388b146cafaf4bc0b28b952d5852d62b6a by davelee.com
[lldb/test] Catch invalid calls to expect()

Add preconditions to `TestBase.expect()` that catch semantically invalid calls
that happen to succeed anyway. This also fixes the broken callsites caught by
these checks.

This prevents the following incorrect calls:

1. `self.expect("lldb command", "some substr")`
2. `self.expect("lldb command", "assert message", "some substr")`

Differential Revision: https://reviews.llvm.org/D88792
The file was modifiedlldb/test/API/assert_messages_test/TestAssertMessages.py
The file was modifiedlldb/test/API/commands/frame/diagnose/complicated-expression/TestComplicatedExpression.py
The file was modifiedlldb/test/API/driver/batch_mode/TestBatchMode.py
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
The file was modifiedlldb/test/API/commands/frame/diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
The file was modifiedlldb/test/API/lang/cpp/constructors/TestCppConstructors.py
The file was modifiedlldb/test/API/commands/frame/diagnose/local-variable/TestLocalVariable.py
The file was modifiedlldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
The file was modifiedlldb/test/API/commands/frame/diagnose/dereference-this/TestDiagnoseDereferenceThis.py
The file was modifiedlldb/test/API/types/TestRecursiveTypes.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/cmtime/TestDataFormatterCMTime.py
The file was modifiedlldb/test/API/commands/frame/diagnose/inheritance/TestDiagnoseInheritance.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/test/API/commands/frame/diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
The file was modifiedlldb/test/API/commands/settings/TestSettings.py
The file was modifiedlldb/test/API/commands/frame/diagnose/bad-reference/TestBadReference.py
Commit db80cc397e7ec4aeefc7322e6a240651506e15a6 by jonathan_roelofs
[CodeGen][MachineSched] Fixup function name typo. NFC
The file was modifiedllvm/lib/CodeGen/MachineScheduler.cpp
Commit 59127de2435b54c6b1621f5b3e7fabc3e79ff248 by lebedev.ri
[NFC][GCOV] Fix build: there's `llvm::stable_partition()` wrapper
The file was modifiedllvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
Commit a2cc8833683dd124cf2ee96f6d17f7f835da1fc8 by i
[CUDA] Don't call __cudaRegisterVariable on C++17 inline variables

D17779: host-side shadow variables of external declarations of device-side
global variables have internal linkage and are referenced by
`__cuda_register_globals`.

nvcc from CUDA 11 does not allow `__device__ inline` or `__device__ constexpr`
(C++17 inline variables) but clang has incorrectly supported them for a while:

```
error: A __device__ variable cannot be marked constexpr
error: An inline __device__/__constant__/__managed__ variable must have internal linkage when the program is compiled in whole program mode (-rdc=false)
```

If such a variable (which has a comdat group) is discarded (a copy from another
translation unit is prevailing and selected), accessing the variable from
outside the section group (`__cuda_register_globals`) is a violation of the ELF
specification and will be rejected by linkers:

> A symbol table entry with STB_LOCAL binding that is defined relative to one of a group's sections, and that is contained in a symbol table section that is not part of the group, must be discarded if the group members are discarded. References to this symbol table entry from outside the group are not allowed.

As a workaround, don't register such inline variables for now.
(If we register the variables in all TUs, we will keep multiple instances of the shadow and break the C++ semantics for inline variables).
We should reject such variables in Sema but our internal users need some time to migrate.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D88786
The file was modifiedclang/test/CodeGenCUDA/device-stub.cu
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 19e86336efa75456469a2a3491fc58e65af6bd0a by martin
[LLD] [COFF] Fix parsing version numbers with leading zeros

Parse the components as decimal, instead of decuding the base from
the string. This avoids ambiguity if the second number contains leading
zeros, which previously were parsed as indicating an octal number.

MS link.exe doesn't support hexadecimal numbers in the version numbers,
neither in /version nor in /subsystem.

Differential Revision: https://reviews.llvm.org/D88801
The file was modifiedlld/test/COFF/subsystem.test
The file was modifiedlld/test/COFF/version.test
The file was modifiedlld/COFF/DriverUtils.cpp
Commit 45c4c54003641f2bb225eaf305c07906451d6096 by martin
[LLD] [COFF] Add a private option for setting the os version separately from subsystem version

The MinGW driver has separate options for OS and subsystem version.
Having this available in lld-link allows the MinGW driver to both match
GNU ld better and simplifies the code for merging two (potentially
mismatching) arguments into one.

Differential Revision: https://reviews.llvm.org/D88802
The file was modifiedlld/COFF/Config.h
The file was modifiedlld/COFF/DriverUtils.cpp
The file was modifiedlld/COFF/Driver.h
The file was modifiedlld/test/COFF/subsystem.test
The file was modifiedlld/COFF/Writer.cpp
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/COFF/Options.td
Commit bc8f3b424c7785754c1de8a2f5a1e2c16a997143 by martin
[LLD] [MinGW] Simplify handling of os/subsystem version

As they can be set independently after D88802, we can get rid of a bit
of extra code - simplifying the logic here before adding more
complication to it later.

Differential Revision: https://reviews.llvm.org/D88803
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/COFF/Config.h
The file was modifiedlld/test/MinGW/driver.test
Commit 61e2f9fa2e514c053c571228639ccdb5d21fadd4 by martin
[LLD] [MinGW] Support setting the subsystem version via the subsystem argument

If a version is specified both with --{major,minor}-subsystem-version and
with --subsystem <name>:<version>, the one specified last (that actually
sets a version) takes precedance in GNU ld; thus doing the same here.

Differential Revision: https://reviews.llvm.org/D88804
The file was modifiedlld/test/MinGW/driver.test
The file was modifiedlld/MinGW/Driver.cpp
Commit 07cb4c013c43721565530f3be077c947804da8a6 by pklausler
[flang] Make binary->decimal conversion buffer sizes accurate

The binary values that produce the most significant decimal
digits in an exact conversion are those with the least normal
biased exponent (1) and all fractional bits set, not the
least-valued subnormals.  So the binary->decimal conversion
buffer sizes were a little short, and could cause a overrun crash.

Differential revision: https://reviews.llvm.org/D88688
The file was modifiedflang/include/flang/Common/real.h
Commit a506a66bd90cb15885833012fb2c2b7873bff541 by Louis Dionne
[libc++] Fix several debug mode tests

These tests were only being run when _LIBCPP_DEBUG was defined, which
isn't the case by default when we run the test suite. In other words,
all these debug mode tests were never being run. This commit makes sure
they are run, and in some cases, extracts them into a file under test/libcxx
to separate them from the Standard tests.

Differential Revision: https://reviews.llvm.org/D88836
The file was removedlibcxx/test/std/containers/unord/unord.multiset/erase_iter_iter_db2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db1.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db4.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.access/db_front.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cback.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.access/db_cback.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_char_db1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_rvalue.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cindex.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db4.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/db_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.access/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_pop_back_db1.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db3.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/db_local_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/unord.set.swap/db_swap_1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_rvalue.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/erase_iter_iter_db3.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_move.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_rvalue.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_iter_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/db_iterators_8.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/db_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db3.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db4.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db1.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.access/db_cfront.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_6.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_const_lvalue.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_7.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db4.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/pop_back_empty.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/bucket.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db3.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db4.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/insert_hint_const_lvalue.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/erase_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/db_move.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db3.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/db_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.access/db_index.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.access/db_front.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_const_lvalue.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db3.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/db_local_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.access/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_5.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/db_move.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/unord.multiset.swap/db_swap_1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/unord.set.swap/db_swap_1.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/db_insert_hint_const_lvalue.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.access/db_cindex.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db3.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_4.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink_db1.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.access/db_cfront.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_3.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/db_bucket.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.access/db_index.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_size_char_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_front.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/db_iterators_8.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/erase_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.swap/db_swap_1.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.access/db_cindex.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_8.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/erase_iter_iter_db4.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.access/db_cback.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/erase_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.set/db_iterators_7.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/db_move.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db1.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_back.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db1.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_2.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/erase_iter_iter_db1.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db2.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db3.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cfront.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_8.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.multiset/erase_iter_iter_db3.pass.cpp
The file was addedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
The file was removedlibcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_index.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
Commit 3f1fd59de3002e3d5a4eca98cd49c45755ab0110 by Dávid Bolvanský
[SLC] Optimize mempcpy_chk to mempcpy

As reported in PR46735:

void* f(void *d, const void *s, size_t l)
{
    return __builtin___mempcpy_chk(d, s, l, __builtin_object_size(d, 0));
}

This can be optimized to `return mempcpy(d, s, l);`.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D86019
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
The file was modifiedllvm/include/llvm/Transforms/Utils/BuildLibCalls.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modifiedllvm/test/Transforms/InstCombine/fortify-folding.ll
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit a4bae56ab8e9474c2bdb2640243ae7ea6a3e0619 by Dávid Bolvanský
Revert "[SLC] Optimize mempcpy_chk to mempcpy"

This reverts commit 3f1fd59de3002e3d5a4eca98cd49c45755ab0110.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BuildLibCalls.h
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
The file was modifiedllvm/test/Transforms/InstCombine/fortify-folding.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
Commit 32a2209b5c72571a2448bf0ffe88e96eb91b4784 by Louis Dionne
[libc++] NFC: Remove unused <iostream> include in atomic.cpp
The file was modifiedlibcxx/src/atomic.cpp
Commit fe7245b772d5bca4a5f6cc055b18c45cc8b46902 by Louis Dionne
[libc++] NFC: Rename variant helpers to avoid name clashes

Some system headers define __constructor and __destructor macros (for
Clang attributes constructor and destructor). While this is badly
behaved, it is easy for libc++ to work around this issue.
The file was modifiedlibcxx/include/variant
Commit 477a68760b24f07a45253fb41e89368328b3a4a8 by Louis Dionne
[libc++] Use __has_include instead of complex logic in thread.cpp

We might end up including more headers than strictly necessary this way,
but it's much simpler and it makes it easier to port thread.cpp to systems
not handled by the existing conditionals.
The file was modifiedlibcxx/src/thread.cpp
Commit ed88d962953c52c76d568d90fe2d5546ea6ab543 by ebahapo
[RISCV] Use the extensions in the canonical order (NFC)

Fix a mistake in the ordering.
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
Commit 5d6d8a2769b3a91fd65b125c2cda64ea27a894bf by ebahapo
[RISCV] Add SiFive cores to the CPU option

Add the SiFive cores E76 and U74 using the SiFive 7 series microarchitecture.

Differential Revision: https://reviews.llvm.org/D88759
The file was modifiedllvm/include/llvm/Support/RISCVTargetParser.def
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedclang/test/Driver/riscv-cpus.c
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
Commit 567462b48eba1c2d286ce97117994463f4535d2e by pklausler
[flang] Correct kP scaling on F output

The sign of the scaling factor was misinterpreted for output
as meaning what it does for input.  To be correct, they
should cancel each other out.

print '(1P,F4.3)', 1. ! printed 0.1 but should print 10.0

Differential revision: https://reviews.llvm.org/D88610
The file was modifiedflang/runtime/edit-output.cpp
The file was modifiedflang/unittests/Runtime/hello.cpp
Commit e00f189d392dd9bf95f6a98f05f2d341d06cd65c by lebedev.ri
[InstCombine] Revert rL226781 "Teach InstCombine to canonicalize loads which are only ever stored to always use a legal integer type if one is available." (PR47592)

(it was introduced in https://lists.llvm.org/pipermail/llvm-dev/2015-January/080956.html)

This canonicalization seems dubious.

Most importantly, while it does not create `inttoptr` casts by itself,
it may cause them to appear later, see e.g. D88788.

I think it's pretty obvious that it is an undesirable outcome,
by now we've established that seemingly no-op `inttoptr`/`ptrtoint` casts
are not no-op, and are no longer eager to look past them.
Which e.g. means that given
```
%a = load i32
%b = inttoptr %a
%c = inttoptr %a
```
we likely won't be able to tell that `%b` and `%c` is the same thing.

As we can see in D88789 / D88788 / D88806 / D75505,
we can't really teach SCEV about this (not without the https://bugs.llvm.org/show_bug.cgi?id=47592 at least)
And we can't recover the situation post-inlining in instcombine.

So it really does look like this fold is actively breaking
otherwise-good IR, in a way that is not recoverable.
And that means, this fold isn't helpful in exposing the passes
that are otherwise unaware of these patterns it produces.

Thusly, i propose to simply not perform such a canonicalization.
The original motivational RFC does not state what larger problem
that canonicalization was trying to solve, so i'm not sure
how this plays out in the larger picture.

On vanilla llvm test-suite + RawSpeed, this results in
increase of asm instructions and final object size by ~+0.05%
decreases final count of bitcasts by -4.79% (-28990),
ptrtoint casts by -15.41% (-3423),
and of inttoptr casts by -25.59% (-6919, *sic*).
Overall, there's -0.04% less IR blocks, -0.39% instructions.

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

Differential Revision: https://reviews.llvm.org/D88789
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
The file was modifiedllvm/test/Transforms/InstCombine/non-integral-pointers.ll
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/test/Transforms/InstCombine/load.ll
The file was modifiedllvm/test/Transforms/InstCombine/loadstore-metadata.ll
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-call.c
The file was modifiedclang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
The file was modifiedllvm/test/Transforms/InstCombine/atomic.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
Commit 1b31b50d384b5f25221ac268ef781d26f5beacc1 by antiagainst
[MLIR][SPIRV] Extend _reference_of to support SpecConstantCompositeOp.

Adds support for SPIR-V composite speciailization constants to spv._reference_of.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D88732
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/spec-constant.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/structure-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
Commit 6bec45e2558566e10be71280a3e2c1b144f1b236 by mcinally
[SVE] Add legalisation tests to sve-fixed-length-int-reduce.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
Commit 9afb1c566e8cb396da495e2fbbbc53e1814cc3a1 by Vedant Kumar
Revert "Outline non returning functions unless a longjmp"

This reverts commit 20797989ea190f2ef22d13c5a7a0535fe9afa58b.

This patch (https://reviews.llvm.org/D69257) cannot complete a stage2
build due to the change:

```
CI->getCalledFunction()->getName().contains("longjmp")
```

There are several concrete issues here:

  - The callee may not be a function, so `getCalledFunction` can assert.
  - The called value may not have a name, so `getName` can assert.
  - There's no distinction made between "my_longjmp_test_helper" and the
    actual longjmp libcall.

At a higher level, there's a serious layering problem here. The
splitting pass makes policy decisions in a general way (e.g. based on
attributes or profile data). Special-casing certain names breaks the
layering. It subverts the work of library maintainers (who may now need
to opt-out of unexpected optimization behavior for any affected
functions) and can lead to inconsistent optimization behavior (as not
all llvm passes special-case ".*longjmp.*" in the same way).

The patch may need significant revision to address these issues.

But the immediate issue is that this crashes while compiling llvm's unit
tests in a stage2 build (due to the `getName` problem).
The file was removedllvm/test/Transforms/HotColdSplit/longjmp-nosplit.ll
The file was modifiedllvm/lib/Transforms/IPO/HotColdSplitting.cpp
The file was removedllvm/test/Transforms/HotColdSplit/longjmp-split.ll
The file was removedllvm/test/Transforms/HotColdSplit/sjlj-nosplit.ll
The file was removedllvm/test/Transforms/HotColdSplit/sjlj-split.ll
The file was removedllvm/test/Transforms/HotColdSplit/split-assert-fail.ll
Commit 27e1cc6f391b57c9e20344c8a6d77a57f697eb87 by i
Cleanup CodeGen/CallingConvLower.cpp

Patch by pi1024e (email unavailable)

Differential Revision: https://reviews.llvm.org/D82593
The file was modifiedllvm/lib/CodeGen/CallingConvLower.cpp
Commit 1127662c6dc2a276839c75a42238b11a3ad00f32 by craig.topper
[SelectionDAG] Make sure FMF are propagated when getSetcc canonicalizes FP constants to RHS.

getNode handling for ISD:SETCC calls FoldSETCC which can canonicalize
FP constants to the RHS. When this happens we should create the node
with the FMF that was requested. By using FlagInserter when can ensure
any calls to getNode/getSetcc during canonicalization will also get the flags.

Differential Revision: https://reviews.llvm.org/D88063
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fmf-propagation.ll
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 4da4e7cb2092c80ccb5c6c7e013b0f103c14d3e0 by craig.topper
[X86] Remove X86ISD::LCMPXCHG8_SAVE_EBX_DAG and LCMPXCHG8B_SAVE_EBX pseudo instruction

This and its friend X86ISD::LCMPXCHG8_SAVE_RBX_DAG are used if we need to avoid clobbering the frame pointer in EBX/RBX. EBX/RBX are only used a frame pointer in 64-bit mode. In 64-bit mode we don't use CMPXCHG8B since we have a GR64 cmpxchg available. So we don't need special handling for LCMPXCHG8B.

Split from D88808

Differential Revision: https://reviews.llvm.org/D88853
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
Commit e426ae2bd5e04ca57f36bfb64a5a466a6797cea1 by Alexander.Richardson
[libcxx][dsl] Fix mutable default argument warning

This is flagged by PyCharm and can cause subtle bugs. While changing this
also re-sort the imports and add missing ones.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D88816
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
Commit 69f87400a85e13482c535365bb19272a15d054b9 by protze
[OpenMP][Archer][Tests] NFC: fix spurious test failure

The test disables suppression and therefore sometimes triggers a know false
positive in the openmp runtime. The test should only verify that the env
var is handles as expected.
The file was modifiedopenmp/tools/archer/tests/lit.cfg
The file was modifiedopenmp/tools/archer/tests/parallel/parallel-nosuppression.c
Commit a4b842e29411da2d08fed0e99918a7cf089bb84d by gclayton
Show register names in DWARF unwind info.

Register context information was already being passed into the DWARFDebugFrame code that dumps unwind information but it wasn't being used. This change adds the ability to dump registers names of a valid MC register context was passed in and if it knows about the register. Updated the tests to use the newly returned register names.

Differential Revision: https://reviews.llvm.org/D88767
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
The file was modifiedllvm/test/MC/Mips/eh-frame.s
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
The file was modifiedllvm/test/DebugInfo/RISCV/eh-frame.s
The file was modifiedllvm/test/MC/ELF/cfi-restore-extended.s
The file was modifiedllvm/test/MC/X86/i386-darwin-frame-register.ll
Commit be66987e2047636d9ed9d2a4d88b762d59ae88f2 by jingham
Fix raciness in the StopHook check for "has the target run".

This was looking at the privateState, but it's possible that
the actual process has started up and then stopped again by the
time we get to the check, which would lead us to get out of running
the stop hooks too early.

Instead we need to track the intention of the stop hooks directly.

Differential Revision: https://reviews.llvm.org/D88753
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/source/Target/Target.cpp
Commit 2ea8fec2cd566be77c9412aacb8e546bd0c36612 by Louis Dionne
[libc++] Improve tests for std::quoted

Instead of using ad-hoc mechanisms to disable the tests in C++ < 14, use
UNSUPPORTED markup.
The file was addedlibcxx/test/std/input.output/iostream.format/quoted.manip/quoted_char.verify.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/quoted.manip/quoted_traits.compile.fail.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/quoted.manip/quoted_char.compile.fail.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/quoted.manip/quoted_traits.verify.cpp
Commit b268e24d4349d586334dd6f47aa99b2196b1046e by mtrofin
[NFC][regalloc] Separate iteration from AllocationOrder

This separates the two concerns - encapsulation of traversal order; and
iteration.

Differential Revision: https://reviews.llvm.org/D88256
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/lib/CodeGen/AllocationOrder.h
The file was modifiedllvm/lib/CodeGen/RegAllocBasic.cpp
The file was modifiedllvm/unittests/CodeGen/AllocationOrderTest.cpp
Commit a48d480e1f7ebc5d5f93507fe1f519496621e259 by ebahapo
[RISCV] Fix broken test

Fix test for the SiFive E76 core.

This patch fixes the issue introduced by the commit 5d6d8a2769.
The file was modifiedllvm/include/llvm/Support/RISCVTargetParser.def
The file was modifiedclang/test/Driver/riscv-cpus.c
Commit ea9d6392f4a375b5183be02ac93eb3a75c169360 by carl.ritson
Fix reordering of instructions during VirtRegRewriter unbundling

When unbundling COPY bundles in VirtRegRewriter the start of the
bundle is not correctly referenced in the unbundling loop.

The effect of this is that unbundled instructions are sometimes
inserted out-of-order, particular in cases where multiple
reordering have been applied to avoid clobbering dependencies.
The resulting instruction sequence clobbers dependencies.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D88821
The file was modifiedllvm/test/CodeGen/AMDGPU/splitkit-copy-bundle.mir
The file was modifiedllvm/lib/CodeGen/VirtRegMap.cpp
Commit c3e07a0018ec74216d662e0596584d2c846a1063 by carl.ritson
[AMDGPU] SIInsertSkips: Refactor early exit block creation

Refactor exit block creation to a single call ensureEarlyExitBlock.
Add support for generating an early exit block which clears the
exec mask, but only add this instruction when required.
These changes are to facilitate adding more forms of early
termination for PS shaders in the near future.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D88775
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
Commit 36bb1fb1fe624012332d1f2788625ee4625f29db by mtrofin
[MLInliner] Factor out logging

Factored out the logging facility, to allow its reuse outside the
inliner.

Differential Revision: https://reviews.llvm.org/D88770
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h
The file was modifiedllvm/test/Transforms/Inline/ML/development-training-log.ll
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit d4e08c95e500bc813b24b146be29f17e7c08fa2a by aeubanks
[NewPM] Set -enable-npm-optnone to true by default

This makes the NPM skip not required passes on functions marked optnone.

If this causes a pass that should be required but has not been marked
required to be skipped, add
`static bool isRequired() { return true; }`
to the pass class. AlwaysInlinerPass is an example.

clang/test/CodeGen/O0-no-skipped-passes.c is useful for checking that
no passes are skipped under -O0.

The -enable-npm-optnone option will be removed once this has been stable
for long enough without issues.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D87869
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit ebf6fd633ef83b747bac721aafc3677d2c47aef1 by richard
Make OpenMP tests less brittle in the face of changes in constant
evaluation diagnostics.
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_ordered_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_safelen_messages.cpp
The file was modifiedclang/test/OpenMP/for_ordered_clause.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_simdlen_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_collapse_messages.cpp
Commit ded79be63555f4e5bfdb0db27ef22b71fe568474 by richard
[c++17] Implement P0145R3 during constant evaluation.

Ensure that we evaluate assignment and compound-assignment
right-to-left, and array subscripting left-to-right.

Fixes PR47724.
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1z.cpp
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit f22496a9f4cabb97e735314b62731fedb2e01e50 by Jonas Devlieghere
[dotest] Simplify logic to find the Python path

Simplify the logic of parsing the lldb -P output to find the python
path. This removes the special handling for the LLDB.framework case and
instead of pattern matching known errors focus on finding a directory
path that contains an __init__.py.

Differential revision: https://reviews.llvm.org/D88840
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit b9888980132e5511e85d4172a46e02475957298b by serguei.katkov
[GVN LoadPRE] Extend the scope of optimization by using context to prove safety of speculation

Use context to prove that load can be safely executed at a point where load is being hoisted.

Postpone the decision about safety of speculative load execution till the moment we know
where we hoist load and check safety at that context.

Reviewers: nikic, fhahn, mkazantsev, lebedev.ri, efriedma, reames
Reviewed By: reames, mkazantsev
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D88725
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/test/Transforms/GVN/loadpre-context.ll
Commit 2a078c3072043541ee0595aea6c8d7909f94c6f9 by johannes
[AttributeFuncs] Consider `align` in `typeIncompatible`

Alignment attributes need to be dropped for non-pointer values.
This also introduces a check into the verifier to ensure you don't use
`align` on anything but a pointer. Test needed to be adjusted
accordingly.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87304
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll.bc
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedllvm/test/Transforms/DeadArgElim/returned.ll
The file was addedllvm/test/Verifier/align.ll
The file was modifiedllvm/test/Verifier/byref.ll
Commit ef48436e62732e61cea5dde9b35b63b3ce8126f7 by johannes
[AttributeFuncs] Consider `noundef` in `typeIncompatible`

Drop `noundef` for return values that are replaced by void and make it
illegal to put `noundef` on a void value.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87306
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/test/Transforms/DeadArgElim/returned.ll
The file was modifiedllvm/test/Verifier/align.ll
The file was addedllvm/test/Verifier/noundef.ll
Commit 01baeda7ca6645f5d8455733b110c89203a61ccf by Lang Hames
[JITLink][ELF] Handle BSS sections, improve some error messages.

This patch enables basic BSS section handling, and improves a couple of error
messages in the ELF section parsing code.

Patch by Christian Schafmeister. Thanks Christian!

Differential Revision: https://reviews.llvm.org/D88867
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
Commit 848342b333e76ff1db04d10097470fc454d4a8b7 by johannes
[AttributeFuncs][FIX] Update new tests (D87304) after sret changes
The file was modifiedllvm/test/Verifier/align.ll
Commit bbb0ee6e34db1d8e00367ea03ee1972d1131d1e0 by mkazantsev
Revert "[SCEV] Prove implicaitons via AddRec start"

This reverts commit 69acdfe075fa8eb18781f88f4d0cd1ea40fa6e48.

Need to investigate reported miscompiles.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
Commit ee599bf2a9fe6d79777dbe1912daf2a34cbc14e1 by johannes
[AttributeFuncs][FIX] Update new tests (D87304, D87306) after sret changes

Hopefully the last of these, apologies for the noise.
The file was modifiedllvm/test/Verifier/align.ll
The file was modifiedllvm/test/Verifier/noundef.ll
Commit 70d9dc867417ac63fe280ab145776f75a9487f0f by hokein.wu
[AST][RecoveryExpr] Support dependent binary operator in C for error recovery.

see the whole context in:  https://reviews.llvm.org/D85025

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84226
The file was addedclang/test/Sema/error-dependence.c
The file was modifiedclang/test/AST/ast-dump-recovery.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit 4ed47d50ea819fc3cf7341e86e947fef920743df by david.sherwood
[SVE][CodeGen] Fix DAGCombiner::ForwardStoreValueToDirectLoad for scalable vectors

In DAGCombiner::ForwardStoreValueToDirectLoad I have fixed up some
implicit casts from TypeSize -> uint64_t and replaced calls to
getVectorNumElements() with getVectorElementCount(). There are some
simple cases of forwarding that we can definitely support for
scalable vectors, i.e. when the store and load are both scalable
vectors and have the same size. I have added tests for the new
code paths here:

  CodeGen/AArch64/sve-forward-st-to-ld.ll

Differential Revision: https://reviews.llvm.org/D87098
The file was addedllvm/test/CodeGen/AArch64/sve-forward-st-to-ld.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit ce4d15fe142eb0e0ed7c998a73b13e7bee45d99e by Raphael Isemann
[lldb] Symlink the Clang resource directory to the LLDB build directory in standalone builds

When doing a standalone build (i.e., building just LLDB against an existing
LLVM/Clang installation), LLDB is currently unable to find any Clang resource
directory that contains all the builtin headers we need to parse real source
code. This causes several tests that actually parse source code on disk within
the expression parser to fail (most notably nearly all the import-std-module
tests).

The reason why LLDB can't find the resource directory is that we search based on
the path of the LLDB shared library path. We assumed that the Clang resource
directory is in the same prefix and has the same relative path to the LLDB
shared library (e.g., `../clang/10.0.0/include`). However for a standalone build
where the existing Clang can be anywhere on the disk, so we can't just rely on
the hardcoded relative paths to the LLDB shared library.

It seems we can either solve this by copying the resource directory to the LLDB
installation, symlinking it there or we pass the path to the Clang installation
to the code that is trying to find the resource directory. When building the
LLDB framework we currently copy the resource directory over to the framework
folder (this is why the import-std-module are not failing on the Green Dragon
standalone bot).

This patch symlinks the resource directory of Clang into the LLDB build
directory. The reason for that is simply that this is only needed when running
LLDB from the build directory. Once LLDB and Clang/LLVM are installed the
already existing logic can find the Clang resource directory by searching
relative to the LLDB shared library.

Reviewed By: kastiglione, JDevlieghere

Differential Revision: https://reviews.llvm.org/D88581
The file was modifiedlldb/source/API/CMakeLists.txt
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit 3dffec03b0f68be8d77b0545a0eef795a6662cd3 by omair.javaid
[LLDB] Add QEMU testing environment setup guide for SVE testing

This patch adds a HowTo document to lldb docs which gives instruction for
setting up a virtual environment based on QEMU emulator for LLDB testing.

Instruction in this document are tested on Arm and AArch64 targets but
can easily be duplicated for other targets supported by QEMU.

This helps test LLDB in absence for modern AArch64 features not released
in publicly available hardware till date.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D82064
The file was addedlldb/scripts/lldb-test-qemu/run-qemu.sh
The file was addedlldb/scripts/lldb-test-qemu/setup.sh
The file was modifiedlldb/docs/index.rst
The file was modifiedlldb/docs/resources/test.rst
The file was addedlldb/docs/use/qemu-testing.rst
The file was addedlldb/scripts/lldb-test-qemu/rootfs.sh
Commit 25692b7765e2364896a0136f5b54dde3de2dd563 by andrzej.warzynski
[flang][NFC] Remove redundant `;`

Sadly this has been causing gcc-10 builds to fail.
The file was modifiedflang/include/flang/Frontend/TextDiagnosticPrinter.h
Commit 4a8c70c3194aeeb286b4bea1666168f710cbe04f by nicolas.vasilache
[mlir][Linalg] Reintroduced missing verification check

A verification check on the number of indexing maps seems to have dropped inadvertently. Also update the relevant roundtrip tests.
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
Commit 77d3b14458dd2aaafa20e6172a893cf0abab6453 by hokein.wu
[clangd] Fix an inconsistent ReasonToReject enum usage, NFC.
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit b81bedf7146ad5a163e9f1d7283c83ffa4e2043f by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion for composite extract and insert

A pattern to convert `spv.CompositeInsert` and `spv.CompositeExtract`.
In LLVM, there are 2 ops that correspond to each instruction depending
on the container type. If the container type is a vector type, then
the result of conversion is `llvm.insertelement` or `llvm.extractelement`.
If the container type is an aggregate type (i.e. struct, array), the
result of conversion is `llvm.insertvalue` or `llvm.extractvalue`.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D88205
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
Commit 9fc535f987b4fff62ec659d965b8ba1d371977fe by sebastian.neubauer
[AMDGPU] Fix gcc warnings

uint8_t types are implicitly promoted to int, leading to a
unsigned-signed comparison.

Thanks for the heads-up @uabelho.

Differential Revision: https://reviews.llvm.org/D88876
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit 48a82c42457b47936d8e1f4b2af6a1f3cbb6e992 by hokein.wu
[clangd] Verify the diagnostic code in include-fixer diagnostic tests, NFC.

Make it easier to spot which diagnostics in the include-fixer list are tested.

Differential Revision: https://reviews.llvm.org/D88828
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Commit f1ceaa200f9364ff6ca66a930872b19d99e5a339 by grimar
[llvm-readobj/elf][test] - Stop using precompiled binaries in mips-got.test

This removed 2 last precompiled binaries from the mips-got.test.
YAML descriptions are used instead.

Differential revision: https://reviews.llvm.org/D88565
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/got-static.exe.mips
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/got-empty.exe.mipsel
Commit cef0de5eb59dde6369645d37883f393354c99acd by flo
[VPlan] Add vplan native path vectorization test case for inner loop reduction

Regarding this bug I posted earlier: https://bugs.llvm.org/show_bug.cgi?id=47035

After reading through LLVM source code and getting familiar with VPlan I was able to vectorize the code using by enabling VPlan native path. After talking with @fhahn he suggested that I contribute this as a test case. So here it is. I tried to follow the available guides how to do this best I could. I modified IR code by hand to have more clear variable names instead of numbers.

One thing what I'd like to get input from someone is that is current CHECK lines sufficient enough to verify that the inner loop has been vectorized properly?

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87564
The file was addedllvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
Commit 8ed7946a7d94f9d23b7f33356a1903d481daa5a0 by gribozavr
Revert "[llvm-objcopy][MachO] Add missing std::move."

This reverts commit 6e25586990b93e2c9eaaa4f473b6720ccd646c46. It depends
on 32c8435ef70031d7bd3dce48e41bdce65747e123, which I'm reverting due to
ASan failures. Details in https://reviews.llvm.org/D88400.
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit 80f66ac0d544d2d9d3108033148d60bb4760b319 by gribozavr
Revert "[llvm-objcopy][MachO] Add support for universal binaries"

This reverts commit 32c8435ef70031d7bd3dce48e41bdce65747e123. It fails
ASan, details in https://reviews.llvm.org/D88400.
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/strip-all.test
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was removedllvm/test/tools/llvm-objcopy/MachO/universal-object.test
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was removedllvm/tools/llvm-objcopy/llvm-objcopy.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
Commit fe2bd543f5e82bc14ef37dc5ec2228812098cf7a by tpopp
[mlir] Add file to implement bufferization for shape ops.

This adds a shape-bufferize pass and implements the pattern for
shape.assuming.

Differential Revision: https://reviews.llvm.org/D88083
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Shape/Transforms/ShapeTypeConversion.cpp
The file was addedmlir/test/Dialect/Shape/shape-type-conversion.mlir
Commit 3a12ff0dac5ab4f0e1f446abe66b451c1df8dac1 by Pushpinder.Singh
[OpenMP][RTL] Remove dead code

RequiresDataSharing was always 0, resulting dead code in device runtime library.

Reviewed By: jdoerfert, JonChesterfield

Differential Revision: https://reviews.llvm.org/D88829
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/amdgcn_target_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedclang/test/OpenMP/nvptx_force_full_runtime_SPMD_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedclang/test/OpenMP/nvptx_SPMD_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_simd_codegen.cpp
Commit 8bb702a8ad30205d46818c1e3b1260c19222ba9b by paul.walker
[SVE] Lower fixed length vector floating point rounding operations.

Adds lowering for:
  llvm.ceil
  llvm.floor
  llvm.nearbyint
  llvm.rint
  llvm.round
  llvm.trunc

Differential Revision: https://reviews.llvm.org/D88671
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-rounding.ll
Commit 27f3d51b4ef9bf4dc9cfeed88f66fcfc7ee99ee9 by paul.walker
[SVE] Lower fixed length vector fneg and fsqrt operations.

Also updates sve-fp.ll to use fneg directly.

Differential Revision: https://reviews.llvm.org/D88683
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-arith.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 3cb1220709fa556d4d29ce0e25fd30a16895ae24 by sam.mccall
[clangd] Add `score` extension to workspace/symbol response.

The protocol doesn't really incorporate ranking.
As with code completion, most clients respect what the server sends, but
VSCode re-ranks items, with predictable results.
See https://github.com/clangd/vscode-clangd/issues/81

There's no filterText field so we may be unable to construct a good workaround.
But expose the score so we may be able to do this on the client in future.

Differential Revision: https://reviews.llvm.org/D88844
The file was modifiedclang-tools-extra/clangd/FindSymbols.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/test/symbols.test
Commit f0a78bdfdc6d56b25e0081884580b3960a3c2429 by david.spickett
[AArch64] Correct parameter type for unsigned Neon scalar shift intrinsics

In the following intrinsics the shift amount
(parameter 2) should be signed.

vqshlb_u8 vqshlh_u16  vqshls_u32  vqshld_u64
vqrshlb_u8 vqrshlh_u16 vqrshls_u32 vqrshld_u64
vshld_u64
vrshld_u64

See https://developer.arm.com/documentation/ihi0073/latest

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D88013
The file was modifiedclang/test/CodeGen/aarch64-neon-intrinsics.c
The file was modifiedclang/include/clang/Basic/arm_neon.td
Commit 04f908b9f0d637fc5ba3dd32437ffdf89623b1d8 by Alexander.Richardson
[libcxx][lit] Add support for custom ssh/scp flags in ssh.py

In our CHERI Jenkins CI we need to pass `-F <custom_config_file>` to each
ssh/scp command to set various arguments such as the localhost port, usage
of controlmaster, etc. to speed up connections to our emulated QEMU systems.

For our specific use-case I could have also added a single --ssh-config-file
argument that can be used for both the scp and ssh commands, but being able
to pass arbitrary extra flags for both commands seems more flexible.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D84097
The file was modifiedlibcxx/utils/ssh.py
Commit c08d48fc2d7cced7b86043854c235394e87c4506 by dantrushin
[Statepoints] Change statepoint machine instr format to better suit VReg lowering.

Current Statepoint MI format is this:

   STATEPOINT
   <id>, <num patch bytes >, <num call arguments>, <call target>,
   [call arguments...],
   <StackMaps::ConstantOp>, <calling convention>,
   <StackMaps::ConstantOp>, <statepoint flags>,
   <StackMaps::ConstantOp>, <num deopt args>, [deopt args...],
   <gc base/derived pairs...> <gc allocas...>

Note that GC pointers are listed in pairs <base,derived>.
This causes base pointers to appear many times (at least twice) in
instruction, which is bad for us when VReg lowering is ON.
The problem is that machine operand tiedness is 1-1 relation, so
it might look like this:

  %vr2 = STATEPOINT ... %vr1, %vr1(tied-def0)

Since only one instance of %vr1 is tied, that may lead to incorrect
codegen (see PR46917 for more details), so we have to always spill
base pointers. This mostly defeats new VReg lowering scheme.

This patch changes statepoint instruction format so that every
gc pointer appears only once in operand list. That way they all can
be tied. Additional set of operands is added to preserve base-derived
relation required to build stackmap.
New statepoint has following format:

  STATEPOINT
  <id>, <num patch bytes>, <num call arguments>, <call target>,
  [call arguments...],
  <StackMaps::ConstantOp>, <calling convention>,
  <StackMaps::ConstantOp>, <statepoint flags>,
  <StackMaps::ConstantOp>, <num deopt args>, [deopt args...],
  <StackMaps::ConstantOp>, <num gc pointers>, [gc pointers...],
  <StackMaps::ConstantOp>, <num gc allocas>,  [gc allocas...]
  <StackMaps::ConstantOp>, <num entries in gc map>, [base/derived indices...]

Changes are:
  - every gc pointer is listed only once in a flat length-prefixed list;
  - alloca list is prefixed with its length too;
  - following alloca list is length-prefixed list of base-derived
    indices of pointers from gc pointer list. Note that indices are
    logical (number of pointer), not absolute (index of machine operand).

Differential Revision: https://reviews.llvm.org/D87154
The file was modifiedllvm/include/llvm/CodeGen/StackMaps.h
The file was modifiedllvm/test/CodeGen/X86/statepoint-stack-usage.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was modifiedllvm/lib/CodeGen/StackMaps.cpp
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.mir
The file was modifiedllvm/test/CodeGen/X86/statepoint-vector.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg-details.ll
Commit 315970de1d7140fa689dbbe7482620f134e5d021 by alexshap
[llvm-objcopy][MachO] Add support for universal binaries

This diff adds support for universal binaries to llvm-objcopy.
This is a recommit of 32c8435ef70031 with the asan issue fixed.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D88400
The file was addedllvm/tools/llvm-objcopy/llvm-objcopy.h
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/universal-object.test
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/strip-all.test
Commit d6c9dc3c17e444e007758c01507bb5280532c9f8 by adam.balogh
[clang-tidy] Remove obsolete checker google-runtime-references

The rules which is the base of this checker is removed from the
//Google C++ Style Guide// in May:
[[ https://github.com/google/styleguide/pull/553 | Update C++ styleguide ]].
Now this checker became obsolete.

Differential Revision: https://reviews.llvm.org/D88831
The file was removedclang-tools-extra/clang-tidy/google/NonConstReferences.cpp
The file was removedclang-tools-extra/test/clang-tidy/checkers/google-runtime-references.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/CMakeLists.txt
The file was removedclang-tools-extra/clang-tidy/google/NonConstReferences.h
The file was removedclang-tools-extra/docs/clang-tidy/checks/google-runtime-references.rst
The file was modifiedclang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 95429b88a469ee6537f15c82aec9f83e699b8b02 by llvmgnsyncbot
[gn build] Port d6c9dc3c17e
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/google/BUILD.gn
Commit 7bbb65b0a431554ee74b875aec77d40f5c387596 by a.v.lapshin
[llvm-objcopy][NFC] fix style issues reported by clang-format.
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/COFF/Object.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.h
Commit 0b402e985e41e8c01768a0d026adbc25c2274744 by llvm-dev
[InstCombine] FoldShiftByConstant - remove unnecessary cast<>. NFC.

Op1 is already a Constant*
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 21100f885d5bab4105ed2630b480b03d466f3da9 by llvm-dev
[InstCombine] FoldShiftByConstant - use PatternMatch for logicalshift(trunc(shift(x,c1)),c2) fold. NFCI.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit a825eaa90e2419e3e9ae64ec047440ce98e7bacb by mgorny
[lldb] [Platform] Move common ::DebugProcess() to PlatformPOSIX

Move common ::DebugProcess() implementation shared by Linux and NetBSD
(and to be shared by FreeBSD shortly) into PlatformPOSIX, and move
the old base implementation used only by Darwin to PlatformDarwin.

Differential Revision: https://reviews.llvm.org/D88852
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.h
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
The file was modifiedlldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h
The file was modifiedlldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
Commit 5588dbce73be2c86bf1701b2ebbce47239130296 by paulsson
[SystemZAsmParser] Treat VR128 separately in ParseDirectiveInsn().

This patch makes the parser
  - reject higher vector registers (>=16) in operands where they should not
    be accepted.
  - accept higher integers (>=16) in vector register operands.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D88888
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/test/MC/SystemZ/regs-bad.s
The file was modifiedllvm/test/MC/SystemZ/directive-insn-vector.s
Commit 8fa45e1fd527269140c4e2a1652fef5500da16fd by aaron
Convert diagnostics about multi-character literals from extension to warning

This addresses PR46797.
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
The file was modifiedclang/test/Lexer/constants.c
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was addedclang/test/Lexer/multi-char-constants.c
Commit d8ee28b96ee77a466aea5e9ca9c6ed57b2194b4d by nicolas.vasilache
[mlir][Linalg] Extend buffer allocation to support Linalg init tensors

This revision adds init_tensors support to buffer allocation for Linalg on tensors.
Currently makes the assumption that the init_tensors fold onto the first output tensors.

This assumption is not currently enforced or cast in stone and requires experimenting with tiling linalg on tensors for ops **without reductions**.

Still this allows progress towards the end-to-end goal.
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was modifiedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was modifiedmlir/test/lib/Transforms/TestBufferPlacement.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit e2452f57faa916866a99126d2337bd82a9e0a06d by dmitry.preobrazhensky
[AMDGPU][MC] Added detection of unsupported instructions

Implemented identification of unsupported instructions; improved errors reporting.

See bug 42590.

Reviewers: rampitec

Differential Revision: https://reviews.llvm.org/D88211
The file was modifiedllvm/test/MC/AMDGPU/wave32.s
The file was modifiedllvm/test/MC/AMDGPU/ds.s
The file was modifiedllvm/test/MC/AMDGPU/gfx1011_err.s
The file was addedllvm/test/MC/AMDGPU/gfx9_unsupported.s
The file was addedllvm/test/MC/AMDGPU/gfx8_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/flat.s
The file was modifiedllvm/test/MC/AMDGPU/sopk.s
The file was addedllvm/test/MC/AMDGPU/gfx10_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/sop1.s
The file was modifiedllvm/test/MC/AMDGPU/vop_sdwa.s
The file was modifiedllvm/test/MC/AMDGPU/out-of-range-registers.s
The file was modifiedllvm/test/MC/AMDGPU/dpp-err.s
The file was modifiedllvm/test/MC/AMDGPU/vop_dpp.s
The file was modifiedllvm/test/MC/AMDGPU/mai-err.s
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/test/MC/AMDGPU/smem.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-errs.s
The file was modifiedllvm/test/MC/AMDGPU/xdl-insts-err.s
The file was modifiedllvm/test/MC/AMDGPU/fma-mix.s
The file was modifiedllvm/test/MC/AMDGPU/literals.s
The file was modifiedllvm/test/MC/AMDGPU/mad-mix.s
The file was modifiedllvm/test/MC/AMDGPU/mubuf.s
The file was modifiedllvm/test/MC/AMDGPU/vop2.s
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was addedllvm/test/MC/AMDGPU/gfx7_unsupported.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-gfx9.s
The file was modifiedllvm/test/MC/AMDGPU/vop3.s
The file was modifiedllvm/test/MC/AMDGPU/mubuf-gfx9.s
The file was modifiedllvm/test/MC/AMDGPU/invalid-instructions-spellcheck.s
The file was modifiedllvm/test/MC/AMDGPU/sopp.s
The file was modifiedllvm/test/MC/AMDGPU/flat-scratch-instructions.s
The file was modifiedllvm/test/MC/AMDGPU/vop1-gfx9-err.s
The file was modifiedllvm/test/MC/AMDGPU/sopc.s
The file was modifiedllvm/test/MC/AMDGPU/flat-global.s
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_err.s
Commit 68e002e1819f1598fc6815226a353ad2f04cd509 by samuel.tebbs
[ARM] Fold select_cc(vecreduce_[u|s][min|max], x) into VMINV or VMAXV

    This folds a select_cc or select(set_cc) of a max or min vector reduction with a scalar value into a VMAXV or VMINV.

    Differential Revision: https://reviews.llvm.org/D87836
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was addedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv.ll
Commit 8a3cbb1535a92dcc0ac3bd8fc64216a465b8506a by hokein.wu
[clangd] Add basic keyword-name-validation in rename.

Differential Revision: https://reviews.llvm.org/D88875
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
Commit 75d33a3a97c6f6e65ef5139a4a12508716842601 by llvm-dev
[InstCombine] FoldShiftByConstant - consistently use ConstantExpr in logicalshift(trunc(shift(x,c1)),c2) fold. NFCI.

This still only gets used for scalar types but now always uses ConstantExpr in preparation for vector support - it was using APInt methods in some places.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 17b9a91ec274a527e734321701d2791368f146c9 by llvm-dev
[InstCombine] canRewriteGEPAsOffset - don't dereference a dyn_cast<>. NFCI.

We know V is a IntToPtrInst or PtrToIntInst type so we know its a CastInst - so use cast<> directly.

Prevents clang static analyzer warning that we could deference a null pointer.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 37c74dfe72ecf4e7def22702c5a944682a7865df by gribozavr
Revert "[c++17] Implement P0145R3 during constant evaluation."

This reverts commit ded79be63555f4e5bfdb0db27ef22b71fe568474. It causes
a crash (I sent the crash reproducer directly to the author).
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1z.cpp
Commit b3876ef49093b17555ae058eb87bb9c70a525c49 by gribozavr
Silence -Wunused-variable in NDEBUG mode
The file was modifiedllvm/lib/CodeGen/StackMaps.cpp
Commit 66e4f07198761bbb4dcd55235024c1081ed15c75 by hans
Add ability to turn off -fpch-instantiate-templates in clang-cl

A lot of our code building with clang-cl.exe using Clang 11 was failing with
the following 2 type of errors:

1. explicit specialization of 'foo' after instantiation
2. no matching function for call to 'bar'

Note that we also use -fdelayed-template-parsing in our builds.

I tried pretty hard to get a small repro for these failures, but couldn't. So
there is some subtle edge case in the -fpch-instantiate-templates feature
introduced by this change: https://reviews.llvm.org/D69585

When I tried turning this off using -fno-pch-instantiate-templates, builds
would silently fail with the same error without any indication that
-fno-pch-instantiate-templates was being ignored by the compiler. Then I
realized this "no" option wasn't actually working when I ran Clang under a
debugger.

Differential revision: https://reviews.llvm.org/D88680
The file was addedclang/test/Driver/pch-instantiate-templates.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit 957094e31b058f1b0a4bd3c76912f7d8b5b294b7 by johannes
[Attributor][NFC] Ignore benign uses in AAMemoryBehaviorFloating

In AAMemoryBehaviorFloating we used to track benign uses in a SetVector.
With this change we look through benign uses eagerly to reduce the
number of elements (=Uses) we look at during an update.

The test does actually not fail prior to this commit but I already wrote
it so I kept it.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
Commit 04f6951397cfbb892b99027bd3c0e4e0382f5458 by johannes
[Attributor][FIX] Dead return values are not `noundef`

When we assume a return value is dead we might still visit return
instructions via `Attributor::checkForAllReturnedValuesAndReturnInsts(..)`.
When we do so the "returned value" is potentially simplified to `undef`
as it is the assumed "returned value". This is a problem if there was a
preexisting `noundef` attribute that will only be removed as we manifest
the `undef` return value. We should not use this combination to derive
`unreachable` though. Two test cases fixed.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/depgraph.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
Commit 4a7a988442dfa40309b34746218c07ebf758b378 by johannes
[Attributor][FIX] Move assertion to make it not trivially fail

The idea of this assertion was to check the simplified value before we
assign it, not after, which caused this to trivially fail all the time.
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 61d4b342d15a82d5e841d9e72a52d77eaa5b5097 by aeubanks
[test][NewPM] Make dead-uses.ll work under NPM

This one is weird...

globals-aa needs to be already computed at licm, or else a function pass
can't run a module analysis and won't have access to globals-aa.
But the globals-aa result is impacted by instcombine in a way that
affects what the test is expecting. If globals-aa is computed before
instcombine, it is cached and globals-aa used in licm won't contain the
necessary info provided by instcombine.
Another catch is that if we don't invalidate AAManager, it will use the
cached AAManager that instcombine requested, which may not contain
globals-aa. So we have to invalidate<aa> so that licm can recompute
an AAManager with the globals-aa created by the require<globals-aa>.

This is essentially the problem described in https://reviews.llvm.org/D84259.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D88118
The file was modifiedllvm/test/Analysis/GlobalsModRef/dead-uses.ll
Commit 8df17b4dc12292cd7adc9c46a5bd75b8db26d49e by aeubanks
[test][InstCombine][NewPM] Fix InstCombine tests under NPM

Some of these depended on analyses being present that aren't provided
automatically in NPM.

early_dce_clobbers_callgraph.ll was previously inlining a noinline function?

cast-call-combine.ll relied on the legacy always-inline pass being a
CGSCC pass and getting rerun.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D88187
The file was modifiedllvm/test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll
The file was modifiedllvm/test/Transforms/InstCombine/infinite-loop-postdom.ll
The file was modifiedllvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
The file was modifiedllvm/test/Transforms/InstCombine/cast-call-combine.ll
The file was modifiedllvm/test/Transforms/InstCombine/fputs-opt-size.ll
Commit 40251fee00840b98d927c2c138e45e812bc3468b by aeubanks
[BPF][NewPM] Make BPFTargetMachine properly adjust NPM optimizer pipeline

This involves porting BPFAbstractMemberAccess and BPFPreserveDIType to
NPM, then adding them BPFTargetMachine::registerPassBuilderCallbacks
(the NPM equivalent of adjustPassManager()).

Reviewed By: yonghong-song, asbirlea

Differential Revision: https://reviews.llvm.org/D88855
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.h
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was modifiedllvm/lib/Target/BPF/BPFPreserveDIType.cpp
The file was modifiedllvm/test/CodeGen/BPF/CORE/store-addr.ll
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Commit aa2b593f1495a972a4a592952760ec9d5f7c01f1 by enye.shi
[HIP] Restructure hip headers to add cmath

Separate __clang_hip_math.h header into __clang_hip_cmath.h
and __clang_hip_math.h. Improve the math function definition,
and add missing definitions or declarations. Add missing
overloads.

Reviewed By: tra, JonChesterfield

Differential Review: https://reviews.llvm.org/D88837
The file was modifiedclang/lib/Headers/__clang_hip_libdevice_declares.h
The file was modifiedclang/lib/Headers/__clang_hip_runtime_wrapper.h
The file was addedclang/lib/Headers/__clang_hip_cmath.h
The file was modifiedclang/lib/Headers/__clang_hip_math.h
The file was modifiedclang/lib/Headers/CMakeLists.txt
Commit 260892dff06666957f727310ca78d79789c3a04f by llvmgnsyncbot
[gn build] Port aa2b593f149
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 86429c4eaf22b68d31428a708e6579faf9e4f61a by Dávid Bolvanský
[SimplifyLibCalls] Optimize mempcpy_chk to mempcpy
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/Transforms/InstCombine/fortify-folding.ll
The file was modifiedllvm/unittests/Analysis/TargetLibraryInfoTest.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BuildLibCalls.h
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
Commit 8d2a0c115e245e86bba4ea1c70e6d34b552031a9 by enye.shi
[HIP] NFC Add comments to cmath functions

Add missing comments to cmath functions.

Differential Revision: https://reviews.llvm.org/D88837
The file was modifiedclang/lib/Headers/__clang_hip_cmath.h
Commit 43c7dc52f12973b306910a161bcf150d70d33504 by i
[X86] .code16: temporarily set Mode32Bit when matching an instruction with the data32 prefix

PR47632

This allows MC to match `data32 ...` as one instruction instead of two (data32 without insn + insn).

The compatibility with GNU as improves: `data32 ljmp` will be matched as ljmpl.
`data32 lgdt 4(%eax)` will be matched as `lgdtl` (prefixes: 0x67 0x66, instead
of 0x66 0x67).

GNU as supports many other `data32 *w` as `*l`. We currently just hard code
`data32 callw` and `data32 ljmpw`.  Generalizing the suffix replacement is
tricky and requires a think about the "bwlq" appending suffix rules in MatchAndEmitATTInstruction.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88772
The file was modifiedllvm/test/MC/X86/data-prefix-fail.s
The file was modifiedllvm/test/MC/X86/x86-16.s
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit 281de8f3613683f805bfa6a202b4d740edf83d27 by Louis Dionne
[libc++] Allow retries in two flaky tests
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
Commit 3cb8347c94a0d8ae1295fa4ae686443f49bc18e8 by llvm-dev
[APIntTest] Extend extractBits to check 'lshr+trunc' pattern for each case as well.

Noticed while triaging PR47731 that we don't have great coverage for such patterns.
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
Commit 53bf28b80cf9fec53c807922b19e0af2832dfeba by pklausler
[flang] Track CHARACTER length better in TypeAndShape

CHARACTER length expressions were not always being
captured or computed as part of procedure "characteristics",
leading to test failures due to an inability to compute
memory size expressions accurately.

Differential revision: https://reviews.llvm.org/D88689
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Semantics/check-call.cpp
Commit f78bb4d84eee55c5d3bb1f3322c1e346e3388572 by Louis Dionne
[libc++] Check _LIBCPP_USE_CLOCK_GETTIME before using clock_gettime

The clock_gettime function is available when _POSIX_TIMERS is defined.
We check for this and set _LIBCPP_USE_CLOCK_GETTIME accordingly since
59b3102739c. But check for _LIBCPP_USE_CLOCK_GETTIME was removed in
babd3aefc91. As a result, code is now trying to use clock_gettime even
on platforms where it is not available and it is causing build failure
with newlib.

This patch restores the checks to fix this.

Differential Revision: https://reviews.llvm.org/D88825
The file was modifiedlibcxx/src/chrono.cpp
Commit 80cde02e85df3f1903f0a04ccccaf0f84c2854d1 by nikita.ppv
[MemCpyOpt] Add separate statistic for call slot optimization (NFC)
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit 6b441ca523cd6be9475106408a60989ad1f5ae55 by nikita.ppv
[MemCpyOpt] Check for throwing calls during call slot optimization

When performing call slot optimization for a non-local destination,
we need to check whether there may be throwing calls between the
call and the copy. Otherwise, the early write to the destination
may be observable by the caller.

This was already done for call slot optimization of load/store,
but not for memcpys. For the sake of clarity, I'm moving this check
into the common optimization function, even if that does need an
additional instruction scan for the load/store case.

As efriedma pointed out, this check is not sufficient due to
potential accesses from another thread. This case is left as a TODO.

Differential Revision: https://reviews.llvm.org/D88799
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Commit 616f5450480214d40dd69a5f5f0f10b41bd4b3e2 by nikita.ppv
[MemCpyOpt] Use dereferenceable pointer helper

The call slot optimization has some home-grown code for checking
whether the destination is dereferenceable. Replace this with the
generic isDereferenceableAndAlignedPointer() helper.

I'm not checking alignment here, because that is currently handled
separately and may be an enforced alignment for allocas. The clean
way of integrating that part would probably be to accept a callback
in isDereferenceableAndAlignedPointer() for the actual isAligned check,
which would then have a chance to use an enforced alignment instead.

This allows the destination to be a GEP (among other things), though
the two open TODOs may prevent it from working in practice.

Differential Revision: https://reviews.llvm.org/D88805
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit b4264210f2b24b8fb40247f34decd4e14174559e by sebastian.neubauer
[AMDGPU] Remove SIInstrInfo::calculateLDSSpillAddress

This function does not seem to be used anymore.

Differential Revision: https://reviews.llvm.org/D88904
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
Commit 6c7d713cf5d9bb188f1e73452a256386f0288bf7 by llvm-dev
[X86][SSE] combineX86ShuffleChain add 'CanonicalizeShuffleInput' helper. NFCI.

As part of PR45974, we're getting closer to not creating 'padded' vectors on-the-fly in combineX86ShufflesRecursively, and only pad the source inputs if we have a definite match inside combineX86ShuffleChain.

At the moment combineX86ShuffleChain just has to bitcast an input to the correct shuffle type, but eventually we'll need to pad them as well. So, move the bitcast into a 'CanonicalizeShuffleInput helper for now, making the diff for future padding support a lot smaller.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c781dc74a8b282eb4c6f3aa48982c5de898611a2 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default alignment rules for z/OS target

Set the default alignment control variables for z/OS target and add test case for alignment rules on z/OS.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D88845
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was addedclang/test/CodeGen/zos-alignment.c
Commit acce6b6082684d601e0375818260226259d96b7a by Stanislav.Mekhanoshin
[AMDGPU] Create isGFX9Plus utility function

Introduce a utility function to make it more
convenient to write code that is the same on
the GFX9 and GFX10 subtargets.

Use isGFX9Plus in the AsmParser for AMDGPU.

Authored By: Joe_Nash

Differential Revision: https://reviews.llvm.org/D88908
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Commit 92e83afe44fbfd81ffd428bb41b7f760eee712f9 by thomasraoux
[mlir][vector] Fold extractOp coming from broadcastOp

Combine ExtractOp with scalar result with BroadcastOp source. This is useful to
be able to incrementally convert degenerated vector of one element into scalar.

Differential Revision: https://reviews.llvm.org/D88751
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
Commit e4a9e4ef554a90637c53d4f10326c262df69b76c by scott.linder
[AMDGPU] Emit correct kernel descriptor on big-endian hosts

Previously we wrote multi-byte values out as-is from host memory. Use
the `emitIntN` helpers in `MCStreamer` to produce a valid descriptor
irrespective of the host endianness.

Reviewed By: arsenm, rochauha

Differential Revision: https://reviews.llvm.org/D88858
The file was modifiedllvm/test/MC/AMDGPU/hsa-sgpr-init-bug-v3.s
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/test/MC/AMDGPU/hsa-v3.s
Commit c9f1c50fc092fa99ba3f527a7401205a59a73c45 by antiagainst
[mlir][spirv] Fix extended insts deserialization generation

This change replaces container used for storing temporary
strings for generated code to std::list.
SmallVector may reallocate internal data, which will invalidate
references when more than one extended instruction set is
generated.

Reviewed By: mravishankar, antiagainst

Differential Revision: https://reviews.llvm.org/D88626
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Commit a3adcba645eec31b42ad0a1f727975c5c9c236f0 by nicolas.vasilache
[mlir][Linalg] Implement tiling on tensors

This revision implements tiling on tensors as described in:
https://llvm.discourse.group/t/an-update-on-linalg-on-tensors/1878/4

Differential revision: https://reviews.llvm.org/D88733
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was addedmlir/test/Dialect/Linalg/tile-tensors.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Commit 43cd0a98d1b1cbbbab38591badbe11a995844cf7 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default alignment rules for z/OS target

Update RUN line to fix lit failure

Differential Revision: https://reviews.llvm.org/D88845
The file was modifiedclang/test/CodeGen/zos-alignment.c
Commit 0f8294072fbc75cc4f6d0e1c3e16f9849aae3771 by eschweitz
[NFC][flang] Add the header file Todo.h. This file is being upstreamed to satisfy dependencies and enable continued progress on lowering of OpenMP, OpenACC, etc.

Differential Revision: https://reviews.llvm.org/D88909
The file was addedflang/include/flang/Lower/Todo.h
Commit bf5c1d92d92ef8cee2adbfa17ecca20a8f65dc0e by scott.linder
[AMDGPU] Fix remaining kernel descriptor test

Follow up on e4a9e4ef554a to fix a test I missed in the original patch.
Committed as obvious.
The file was modifiedllvm/test/MC/AMDGPU/hsa-gfx10-v3.s
Commit 6e557bc40507cbc5e331179b26f7ae5fe9624294 by thomasraoux
[mlir][spirv] Add Vector to SPIR-V conversion pass

Add conversion pass for Vector dialect to SPIR-V dialect and add some simple
conversion pattern for vector.broadcast, vector.insert, vector.extract.

Differential Revision: https://reviews.llvm.org/D88761
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/include/mlir/Conversion/VectorToSPIRV/ConvertVectorToSPIRV.h
The file was addedmlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/VectorToSPIRV/ConvertVectorToSPIRVPass.h
The file was addedmlir/test/Conversion/VectorToSPIRV/simple.mlir
Commit d85b845cb2550216b2a05c5dee451f423a4e4946 by mtrofin
[NFC][MC] Type uses of MCRegUnitIterator as MCRegister

This is one of many subsequent similar changes. Note that we're ok with
the parameter being typed as MCPhysReg, as MCPhysReg -> MCRegister is a
correct conversion; Register -> MCRegister assumes the former is indeed
physical, so we stop relying on the implicit conversion and use the
explicit, value-asserting asMCReg().

Differential Revision: https://reviews.llvm.org/D88862
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervals.h
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modifiedllvm/lib/CodeGen/BreakFalseDeps.cpp
The file was modifiedllvm/lib/CodeGen/EarlyIfConversion.cpp
Commit 00d3e6c1b4d0b7879afc6002b721111b49ecf755 by richard
[c++17] Implement P0145R3 during constant evaluation.

Ensure that we evaluate assignment and compound-assignment
right-to-left, and array subscripting left-to-right.

Fixes PR47724.

This is a re-commit of ded79be, reverted in 37c74df, with a fix and test
for the crasher bug previously introduced.
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1z.cpp
Commit 370b7887e5af413e06cb0bdb23f502ca7a56280d by Louis Dionne
[libc++] Add a script to setup CI on macOS nodes
The file was addedlibcxx/utils/ci/macos-ci-setup
Commit d3d790fc9827301a49c7bbab3c1eb22da48085c6 by alexandre.ganea
Revert [lit] Support running tests on Windows without GnuWin32

This reverts b3418cb4eb1456c41606f4621dcfa362fe54183c and d12ae042e17b27ebc8d2b5ae3d8dd5f88384d093

This breaks some external bots, see discussion in https://reviews.llvm.org/D84380

In the meanwhile, please use `cmake -DLLVM_LIT_TOOLS_DIR="C:/Program Files/Git/usr/bin"` or add it to %PATH%.
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit 5a305f81bfc3cb71f1f77f15d08dd62b32865e8a by joker.eph
Remove unneeded "allow-unregistered-dialect" from shape-type-conversion.mlir test (NFC)
The file was modifiedmlir/test/Dialect/Shape/shape-type-conversion.mlir
Commit c6c67f643dcff142b26a53059e63e5369e6d8d89 by ajcbik
[mlir] [sparse] convenience runtime support to read Matrix Market format

Setting up input data for benchmarks and integration tests can be tedious in
pure MLIR. With more sparse tensor work planned, this convenience library
simplifies reading sparse matrices in the popular Matrix Market Exchange
Format (see https://math.nist.gov/MatrixMarket). Note that this library
is *not* part of core MLIR. It is merely intended as a convenience library
for benchmarking and integration testing.

Reviewed By: penpornk

Differential Revision: https://reviews.llvm.org/D88856
The file was addedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir
The file was modifiedmlir/lib/ExecutionEngine/CMakeLists.txt
The file was modifiedmlir/integration_test/CMakeLists.txt
The file was addedmlir/lib/ExecutionEngine/SparseUtils.cpp
The file was addedmlir/integration_test/Sparse/CPU/lit.local.cfg
The file was addedmlir/integration_test/data/test.mtx
Commit 9eff07a746a9e6a9b105c12b5e28073360fa8065 by Louis Dionne
[libc++] Add assert to check bounds in `constexpr string_view::operator[]`

Differential Revision: https://reviews.llvm.org/D88864
The file was modifiedlibcxx/include/string_view
Commit 4540d6624838af2b190dfb33802528eb4bfb3fb8 by phosek
[CMake] Track TSan's dependency on C++ headers

TSan relies on C++ headers, so when libc++ is being built as part of
the runtimes build, include an explicit dependency on cxx-headers which
is the same approach that's already used for other sanitizers.

Differential Revision: https://reviews.llvm.org/D88912
The file was modifiedcompiler-rt/cmake/Modules/AddCompilerRT.cmake
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
Commit 4d1d8ae7100ec3c7e1709addb7b3ec6f9ad0b44f by jianzhouzh
Replace shadow space zero-out by madvise at mmap

After D88686, munmap uses MADV_DONTNEED to ensure zero-out before the
next access. Because the entire shadow space is created by MAP_PRIVATE
and MAP_ANONYMOUS, the first access is also on zero-filled values.

So it is fine to not zero-out data, but use madvise(MADV_DONTNEED) at
mmap. This reduces runtime
overhead.

Reviewed-by: morehouse

Differential Revision: https://reviews.llvm.org/D88755
The file was removedcompiler-rt/test/dfsan/munmap_release_shadow.c
The file was addedcompiler-rt/test/dfsan/release_shadow_space.c
The file was modifiedcompiler-rt/lib/dfsan/dfsan_interceptors.cpp
Commit 7193f727988360acb7037b42851f0a6fae29af9b by Duncan P. N. Exon Smith
docs: Emphasize ArrayRef over SmallVectorImpl

The section on SmallVector has a note about preferring SmallVectorImpl
for APIs but doesn't mention ArrayRef. Although ArrayRef is discussed
elsewhere, let's re-emphasize here.

Differential Revision: https://reviews.llvm.org/D49881
The file was modifiedllvm/docs/ProgrammersManual.rst
Commit b45b5166f8f91e601ebd7bc73bb6800155c4c9bc by Lang Hames
[RuntimeDyld][COFF] Report fatal error on error, rather than emiting diagnostic.

Report a fatal error if an IMAGE_REL_AMD64_ADDR32NB cannot be applied due to an
out-of-range target. Previously we emitted a diagnostic to llvm::errs and
continued.

Patch by Dale Martin. Thanks Dale!
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
Commit 5e4409f30817798377689ef6c229f1c82815e6e8 by Matthew.Arsenault
Fix out-of-tree clang build due to sysexits change

The sysexists change broke clang building out of tree against llvm.

https://reviews.llvm.org/D88467
The file was modifiedllvm/include/llvm/Support/ExitCodes.h
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
Commit 7060920bd1f70b778105703a5c95066658ed5886 by ataei
Relax FuseTensorReshapeOpAsproducer identity mapping constraint

Differential Revision: https://reviews.llvm.org/D88869
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
Commit dfa70a483aad438cad826c414a5d710bab6ecf49 by thakis
[gn build] manually port 5e4409f308177
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Commit e3b0414b0ea305396a1fcfb2821ad643b0731880 by Jonas Devlieghere
[lldb] Change the xcrun (fallback) logic in GetXcodeSDK

This changes the logic in GetXcodeSDK to find an SDK with xcrun. The
code now executes the following steps:

1. If DEVELOPER_DIR is set in the environment, it invokes xcrun with
    the given developer dir. If this fails we stop and don't fall back.
2. If the shlib dir is set and exists,it invokes xcrun with the
    developer dir corresponding to the shlib dir. If this fails we fall
    back to 3.
3. We run xcrun without a developer dir.

The new behavior introduced in this patch is that we fall back to
running xcrun without a developer dir if running it based on the shlib
dir failed.

A situation where this matters is when you're running lldb from an Xcode
that has no SDKs and that is not xcode-selected. Based on lldb's shlib
dir pointing into this Xcode installation, it will do an xcrun with the
developer set to the Xcode without any SDKs which will fail. With this
patch, when that happens, we'll fall back to trying the xcode-selected
Xcode by running xcrun without a developer dir.

Differential revision: https://reviews.llvm.org/D88866
The file was modifiedlldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Commit 3f540c05dfe90f5c0378614e3a4ada06b967227e by johannes
[Attributor] Give up early on AANoReturn::initialize

If the function is not assumed `noreturn` we should not wait for an
update to mark the call site as "may-return".

This has two kinds of consequences:
  - We have less iterations in many tests.
  - We have less deductions based on "known information" (since we ask
    earlier, point 1, and therefore assumed information is not "known"
    yet).
The latter is an artifact that we might want to tackle properly at some
point but which is not easily fixable right now.
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/internalize.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll
The file was modifiedllvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
The file was modifiedllvm/test/Transforms/Attributor/alwaysinline.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/returned.ll
Commit c4cfe7a43512c8fadb2aa207f6d914858e2cc50e by johannes
[Attributor] Ignore read accesses to constant memory

The old function attribute deduction pass ignores reads of constant
memory and we need to copy this behavior to replace the pass completely.
First step are constant globals. TBAA can also describe constant
accesses and there are other possibilities. We might want to consider
asking the alias analyses that are available but for now this is simpler
and cheaper.
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
Commit 7993d61177c8c6e9aa238e57a684c6cd3db3b571 by johannes
[Attributor] Use smarter way to determine alignment of GEPs

Use same logic existing in other places to deal with base case GEPs.

Add the original Attributor talk example.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
Commit 2f40e20613758b3e11a15494c09f4b6973673d6b by clementval
[flang][openacc] Fix device_num and device_type clauses for init directive

This patch fix the device_num and device_type clauses used in the init clause. device_num was not
spelled correctly in the parser and was to restrictive with scalarIntConstantExpr instead of scalarIntExpr.
device_type is now taking a list of ScalarIntExpr.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88571
The file was modifiedflang/lib/Parser/openacc-parsers.cpp
The file was modifiedflang/test/Semantics/acc-clause-validity.f90
The file was modifiedllvm/include/llvm/Frontend/OpenACC/ACC.td
Commit d2c61d2bf9bd1efad49acba2f2751112522686aa by isanbard
[CodeGen][TailDuplicator] Don't duplicate blocks with INLINEASM_BR

Tail duplication of a block with an INLINEASM_BR may result in a PHI
node on the indirect branch. This is okay, but it also introduces a copy
for that PHI node *after* the INLINEASM_BR, which is not okay.

See: https://github.com/ClangBuiltLinux/linux/issues/1125

Differential Revision: https://reviews.llvm.org/D88823
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was addedllvm/test/CodeGen/X86/tail-dup-asm-goto.ll
Commit 0492dd91c49ca38bb45d5294f2a6711e3d40b16f by czhengsz
[PowerPC] add more builtins for PPCTargetLowering::getTgtMemIntrinsic

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D88374
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit f05608707c641423a4cd4d5923a44cda153ebbcb by czhengsz
[PowerPC] implement target hook getTgtMemIntrinsic

This patch can make pass recognize Powerpc related memory intrinsics.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D88373
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was addedllvm/test/Transforms/LoopStrengthReduce/Power/memory-intrinsic.ll
Commit ed46e84c7aaffd847656ac559acb06089096ec33 by czhengsz
[MachineInstr] exclude call instruction in mayAlias

we now get noAlias result for a call instruction and other
load/store/call instructions if we query mayAlias.
This is not right as call instruction is not with mayloadorstore,
but it may alter the memory.

This patch fixes this wrong alias query.

Differential Revision: https://reviews.llvm.org/D87490
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
Commit 5a3f6bfe8a71b94728597aee12a4c36949d5f6af by johannes
Reapply "[OpenMP][FIX] Verify compatible types for declare variant calls" D88384

This reapplies D88384 with the minor modification that an assertion was
changed to a regular conditional and graceful exit from
ASTContext::mergeTypes.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit 0c009e092e29a3dff16c5c0522979341fab3be62 by mkazantsev
[Test] Add test showing that we can avoid inserting trunc/zext
The file was modifiedllvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll
Commit edd71db38b0c2292e6a36fb789a3ec3cbde6a023 by yhs
BPF: avoid duplicated globals for CORE relocations

This patch fixed two issues related with relocation globals.
In LLVM, if a global, e.g. with name "g", is created and
conflict with another global with the same name, LLVM will
rename the global, e.g., with a new name "g.2". Since
relocation global name has special meaning, we do not want
llvm to change it, so internally we have logic to check
whether duplication happens or not. If happens, just reuse
the previous global.

The first bug is related to non-btf-id relocation
(BPFAbstractMemberAccess.cpp). Commit 54d9f743c8b0
("BPF: move AbstractMemberAccess and PreserveDIType passes
to EP_EarlyAsPossible") changed ModulePass to FunctionPass,
i.e., handling each function at a time. But still just
one BPFAbstractMemberAccess object is created so module
level de-duplication still possible. Commit 40251fee0084
("[BPF][NewPM] Make BPFTargetMachine properly adjust NPM optimizer
pipeline") made a change to create a BPFAbstractMemberAccess
object per function so module level de-duplication is not
possible any more without going through all module globals.
This patch simply changed the map which holds reloc globals
as class static, so it will be available to all
BPFAbstractMemberAccess objects for different functions.

The second bug is related to btf-id relocation
(BPFPreserveDIType.cpp). Before Commit 54d9f743c8b0, the pass
is a ModulePass, so we have a local variable, incremented for
each instance, and works fine. But after Commit 54d9f743c8b0,
the pass becomes a FunctionPass. Local variable won't work
properly since different functions will start with the same
initial value. Fix the issue by change the local count variable
as static, so it will be truely unique across the whole module
compilation.

Differential Revision: https://reviews.llvm.org/D88942
The file was addedllvm/test/CodeGen/BPF/CORE/field-reloc-duplicate.ll
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was modifiedllvm/lib/Target/BPF/BPFPreserveDIType.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/btf-id-duplicate.ll
Commit 7fa503ef4aaddc1c31dd36d970aa6609383e1718 by lebedev.ri
[SROA] rewritePartition()/findCommonType(): if uses have conflicting type, try getTypePartition() before falling back to largest integral use type (PR47592)

And another step towards transformss not introducing inttoptr and/or
ptrtoint casts that weren't there already.

In this case, when load/store uses have conflicting types,
instead of falling back to the iN, we can try to use allocated sub-type.
As disscussed, this isn't the best idea overall (we shouldn't rely on
allocated type), but it works fine as a temporary measure.

I've measured, and @ `-O3` as of vanilla llvm test-suite + RawSpeed,
this results in +0.05% more bitcasts, -5.51% less inttoptr
and -1.05% less ptrtoint (at the end of middle-end opt pipeline)

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

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D88788
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/test/DebugInfo/ARM/sroa-complex.ll
The file was modifiedllvm/test/Transforms/SROA/preserve-nonnull.ll
The file was modifiedllvm/test/Transforms/SROA/ppcf128-no-fold.ll
Commit 0fcacefd160494280dc040f4f055db6df695ac12 by Jonas Devlieghere
[lldb] Format unix signal table (NFC)

Restore unix signal table to its original glory and mark it as not to be
clang-formatted.
The file was modifiedlldb/source/Target/UnixSignals.cpp
Commit fba42aea438cc4c93233a10703e83f45035ffa64 by mkazantsev
[NFC] Use getZero instead of getConstant(0)
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 53b3873cf428fd78f1d92504cc20adf11181ead7 by ro
[Support][unittests] Enforce alignment in ConvertUTFTest

`LLVM-Unit :: Support/./SupportTests/ConvertUTFTest.ConvertUTF16LittleEndianToUTF8String`
`FAIL`s on Solaris/sparcv9:

In `llvm/lib/Support/ConvertUTFWrapper.cpp` (`convertUTF16ToUTF8String`)
the `SrcBytes` arg is reinterpreted/accessed as `UTF16` (`unsigned short`,
which requires 2-byte alignment on strict-alignment targets like Sparc)
without anything guaranteeing the alignment, so the access yields a
`SIGBUS`.

This patch avoids this by enforcing the required alignment in the callers.

Tested on `sparcv9-sun-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D88824
The file was modifiedllvm/lib/Support/ConvertUTFWrapper.cpp
The file was modifiedllvm/unittests/Support/ConvertUTFTest.cpp
Commit 334ec6f807fa65e09571fa42a0c3be0eb39e7c0f by hokein.wu
[AST][RecoveryExpr] Support dependent conditional operators in C for error recovery.

suppress spurious "typecheck_cond_expect_scalar" diagnostic.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84322
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/AST/ast-dump-recovery.c
The file was modifiedclang/test/Sema/error-dependence.c
Commit 31dc90801746e12d6ae1f967f455cf43a5bbb039 by hokein.wu
[clang] Use isCompoundAssignmentOp to simplify the code, NFC.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit f24649b77d856157c64841457dcc4f70530d607c by hokein.wu
[clangd] Don't set the Underlying bit on targets of UsingDecls.

With this patch, we don't treat `using ns::X` as a first-class declaration like `using Z = ns::Y`, reference to X that goes through this using-decl is considered a direct reference (without the Underlying bit).

Fix the workaround in https://reviews.llvm.org/D87225 and https://reviews.llvm.org/D74054.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D88472
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.h
Commit 872d72eeeb7eeea05e5812967faf9801fdbe48c4 by tpopp
[mlir][NFC] Style cleanup in comments
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Shape/Transforms/ShapeTypeConversion.cpp
Commit 85a6f8fc9600164021a56126216ce3c6ef805458 by mkazantsev
[Test] Add one more test where we can avoid creating trunc
The file was modifiedllvm/test/Transforms/IndVarSimplify/widen-loop-comp.ll
Commit 1aa8e6a51a0eb378ae7b2f1934946fc25f298905 by jay.foad
[SDag] SimplifyDemandedBits: simplify to FP constant if all bits known

We were already doing this for integer constants. This patch implements
the same thing for floating point constants.

Differential Revision: https://reviews.llvm.org/D88570
The file was modifiedllvm/test/CodeGen/ARM/fcopysign.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-round.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining.ll
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/uint_to_fp-2.ll
The file was modifiedllvm/test/CodeGen/X86/combine-bextr.ll
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-inttofp.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-cast.ll
The file was modifiedllvm/test/CodeGen/X86/scalar-int-to-fp.ll
The file was modifiedllvm/test/CodeGen/X86/copysign-constant-magnitude.ll
Commit 20cfd5fa3362c71d0184639decf5c2acb743e4e6 by flo
[LAA] Add test for PR47751, which currently uses wrong bounds.
The file was addedllvm/test/Transforms/LoopVectorize/runtime-check-pointer-element-type.ll
Commit 6625892d7c5db5bacbd6f89a7ea6acf7641f9705 by llvm-dev
[ARM] Regenerate vldlane tests

To help make the diffs in D88569 clearer
The file was modifiedllvm/test/CodeGen/ARM/vldlane.ll
Commit dce03e3059f06ca28d3c9f6fc83839933e16e0e2 by llvm-dev
[InstCombine] Tweak funnel by constant tests for better shl/lshr commutation coverage
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit f71f5f39f670075f7b653b1e1a6bd24e5c8f099e by rodrigo.dominguez
[AMDGPU] Implement hardware bug workaround for image instructions

Summary:
This implements a workaround for a hardware bug in gfx8 and gfx9,
where register usage is not estimated correctly for image_store and
image_gather4 instructions when D16 is used.

Change-Id: I4e30744da6796acac53a9b5ad37ac1c2035c8899

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81172
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.d16.dim.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.store.2d.d16.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
Commit fed0f890e5698a7a408acaf0aa23319e918f6a2a by lebedev.ri
InstCombine: Negator: don't rely on complexity sorting already being performed (PR47752)

In some cases, we can negate instruction if only one of it's operands
negates. Previously, we assumed that constants would have been
canonicalized to RHS already, but that isn't guaranteed to happen,
because of InstCombine worklist visitation order,
as the added test (previously-hanging) shows.

So if we only need to negate a single operand,
we should ensure ourselves that we try constant operand first.
Do that by re-doing the complexity sorting ourselves,
when we actually care about it.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47752
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
Commit 6e6a5acf005681d6b6815c0618d0d263ef8397fa by martin
[LLD] [MinGW] Move an option definitions to alphabetical order, wrap a line. NFC.
The file was modifiedlld/MinGW/Options.td
Commit 7b5dfb400a67f03122b43cd5d59b8b1ef6d00147 by zinenko
[mlir] Add support for diagnostics in C API.

Add basic support for registering diagnostic handlers with the context
(actually, the diagnostic engine contained in the context) and processing
diagnostic messages from the C API.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D88736
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir-c/Support.h
The file was addedmlir/include/mlir/CAPI/Diagnostics.h
The file was addedmlir/include/mlir-c/Diagnostics.h
The file was modifiedmlir/include/mlir/CAPI/Support.h
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
The file was addedmlir/lib/CAPI/IR/Diagnostics.cpp
Commit 602c193e2aeb19f5d2e48075281601a2386e8758 by Louis Dionne
[libc++] Make sure __clear_and_shrink() maintains string invariants

__clear_and_shrink() was added in D41976, and a test was added alongside
it to make sure that the string invariants were maintained. However, it
appears that the test never ran under UBSan before, which would have
highlighted the fact that it doesn't actually maintain the string
invariants.

Differential Revision: https://reviews.llvm.org/D88849
The file was modifiedlibcxx/include/string
Commit ce1365f8f7e3d8297d74afafe7cbbda442a25c50 by Louis Dionne
[libc++] Add a CMake option to control whether the debug mode is supported

Some libc++ builds may want to disable support for the debug mode,
for example to reduce code size or because the current implementation
of the debug mode requires a global map. This commit adds the
LIBCXX_ENABLE_DEBUG_MODE CMake option and ties it into the test
suite.

It also adds a CI job to test this configuration going forward.

Differential Revision: https://reviews.llvm.org/D88923
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/unord.multiset.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_char_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_index.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cback.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_6.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db2.pass.cpp
The file was addedlibcxx/cmake/caches/Generic-nodebug.cmake
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cfront.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cindex.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/advance.debug1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_5.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/db_string_view.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_move.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/array/array.zero/db_indexing.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
The file was modifiedlibcxx/test/CMakeLists.txt
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/debug_abort.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cindex.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/array/array.zero/db_front.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_back.pass.cpp
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/test/libcxx/debug/debug_helper_test.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cfront.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_front.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/pop_back_empty.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_front.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_pop_back_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_move.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_bucket.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/configs/legacy.cfg.in
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_size_char_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/futures/futures.promise/set_exception.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_string.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_index.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/macos-backdeployment.sh
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/debug_register.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/cmake/caches/Apple.cmake
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cback.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/unord.set.swap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_move.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_3.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/next.debug1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/array/array.zero/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_move.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/prev.debug1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db4.pass.cpp
Commit 029290f1a6231507b82981d56c0a0d2b02d508e0 by pavel
[lldb/docs] Clarify python/swig version incompatibility

The problematic combo is a debug python>=3.7 && swig<4.0.

Differential Revision: https://reviews.llvm.org/D88906
The file was modifiedlldb/docs/resources/build.rst
Commit 3dfb94986170c57d9b3f5f2cba039a2eab5e6f13 by pavel
[lldb] Check for and use ptsname_r if available

ptsname is not thread-safe. ptsname_r is available on most (but not all)
systems -- use it preferentially.

In the patch I also improve the thread-safety of the ptsname fallback
path by wrapping it in a mutex. This should guarantee the safety of a
typical ptsname implementation using a single static buffer, as long as
all callers go through this function.

I also remove the error arguments, as the only way this function can
fail is if the "primary" fd is not valid. This is a programmer error as
this requirement is documented, and all callers ensure that is the case.

Differential Revision: https://reviews.llvm.org/D88728
The file was modifiedlldb/source/Host/common/ProcessLaunchInfo.cpp
The file was modifiedlldb/include/lldb/Host/PseudoTerminal.h
The file was modifiedlldb/source/Host/common/PseudoTerminal.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
The file was modifiedlldb/include/lldb/Host/Config.h.cmake
The file was modifiedlldb/cmake/modules/LLDBGenerateConfig.cmake
The file was modifiedlldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
Commit 62d4ee5b7a8b07001fce320b0d18d5a61593cc96 by Louis Dionne
[libc++] Use the existing CMake caches when running build bots
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
Commit 4a7e7620d6c64b9421f939f72e25c28563683eb7 by dmitry.preobrazhensky
[AMDGPU][MC] Improved diagnostics for instructions with missing features

Reviewers: rampitec

Differential Revision: https://reviews.llvm.org/D88887
The file was modifiedllvm/test/MC/AMDGPU/buf-fmt-d16-unpacked.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-gfx9.s
The file was modifiedllvm/test/MC/AMDGPU/smem.s
The file was modifiedllvm/test/MC/AMDGPU/literals.s
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/MC/AMDGPU/mtbuf.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-literal.s
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_dpp8.s
The file was modifiedllvm/test/MC/AMDGPU/add-sub-no-carry.s
The file was modifiedllvm/test/MC/AMDGPU/vop2.s
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_all.s
The file was modifiedllvm/test/MC/AMDGPU/smrd.s
The file was modifiedllvm/test/MC/AMDGPU/vop_sdwa.s
The file was modifiedllvm/test/MC/AMDGPU/wave32.s
The file was modifiedllvm/test/MC/AMDGPU/mubuf.s
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_dpp16.s
The file was modifiedllvm/test/MC/AMDGPU/buf-fmt-d16-packed.s
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/test/MC/AMDGPU/lds_direct-err.s
Commit 55a60af237809308cf4731ec291cab32ea8c732a by grimar
[llvm-readelf] - Implement --addrsig option.

We have `--addrsig` implemented for `llvm-readobj`.
Usually it is convenient to use a single tool for dumping,
so it seems we might want to implement `--addrsig` for `llvm-readelf` too.

I've selected a simple output format which is a bit similar to one,
used for dumping of the symbol table. It looks like:

```
Address-significant symbols section '.llvm_addrsig' contains 2 entries:
   Num: Name
     1: foo
     2: bar
```

Differential revision: https://reviews.llvm.org/D88835
The file was modifiedllvm/test/tools/llvm-readobj/ELF/demangle.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/addrsig.test
Commit 82311766d993f730506cb82471d7349a380a5df7 by grimar
[obj2yaml] - Rename `Group` to `GroupSection`. NFC.

The `Group` class represents a group section and it is
named inconsistently with other sections which all has
the "Section" suffix. It is sometimes confusing,
this patch addresses the issue.

Differential revision: https://reviews.llvm.org/D88892
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
Commit 149dc94c1d52c5f78e2aadb57a72dd437fe55aa1 by tobias.gysi
[mlir] fix the types used during the generation of the kernel param array

The patch fixes the types used to access the elements of the kernel parameter structure from a pointer to the structure to a pointer to the actual parameter type.

Reviewed By: csigg

Differential Revision: https://reviews.llvm.org/D88959
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
Commit 4cae6228d129d4c4dfb156c043977bb6b5690031 by sam.mccall
[ADT] function_ref's constructor is unavailable if the argument is not callable.

This allows overload sets containing function_ref arguments to work correctly
Otherwise they're ambiguous as anything "could be" converted to a function_ref.

This matches proposed std::function_ref, absl::function_ref, etc.

Differential Revision: https://reviews.llvm.org/D88901
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/unittests/ADT/FunctionRefTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/lib/AsmParser/LLParser.h
Commit fbce456fad35efa857b9dea2cff3a938835de44d by thakis
[gn build] (manually) port ce1365f8f7e
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
The file was modifiedlibcxx/src/CMakeLists.txt
Commit 281703e67ffaee8e26efef86e0df3e145477f4cb by sam.mccall
Revert "[ADT] function_ref's constructor is unavailable if the argument is not callable."

This reverts commit 4cae6228d129d4c4dfb156c043977bb6b5690031.

Breaks GCC build:
http://lab.llvm.org:8011/#/builders/8/builds/33/steps/6/logs/stdio
The file was modifiedllvm/unittests/ADT/FunctionRefTest.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit fc819b6925611b6c564daf6752af2e88ce12f5c0 by jay.foad
[AMDGPU] Use @LINE for error checking in gfx10.3 assembler tests
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
Commit 333b2ab60b61afb342a8d271477849fb445a26af by mcinally
[SVE] Lower fixed length VECREDUCE_OR operation

Differential Revision: https://reviews.llvm.org/D88847
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 528057c19755ad842052fba3a42dcbf7deafc6de by RonakNilesh.Chauhan
[AMDGPU] Support disassembly for AMDGPU kernel descriptors

Decode AMDGPU Kernel descriptors as assembler directives.

Reviewed By: scott.linder, jhenderson, kzhuravl

Differential Revision: https://reviews.llvm.org/D80713
The file was modifiedllvm/include/llvm/Support/AMDHSAKernelDescriptor.h
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
The file was addedD80713.diff
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
The file was modifiedllvm/test/CodeGen/AMDGPU/nop-data.ll
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-failure.s
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
The file was addedllvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
Commit bcd8422d75069624dc2daf7e5ff4b4f6cbcd6b71 by adamcz
[clangd] Fix argument type (bool->float).

The default value is 1.3f, but it was cast to true, which is not a good
base for code completion score.

Differential Revision: https://reviews.llvm.org/D88970
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit 63dead2096cd6a2190ba11071938b937be8bf159 by zinenko
Introduce subtraction for FlatAffineConstraints

Subtraction is a foundational arithmetic operation that is often used when computing, for example, data transfer sets or cache hits. Since the result of subtraction need not be a convex polytope, a new class `PresburgerSet` is introduced to represent unions of convex polytopes.

Reviewed By: ftynse, bondhugula

Differential Revision: https://reviews.llvm.org/D87068
The file was modifiedmlir/include/mlir/Analysis/Presburger/Simplex.h
The file was modifiedmlir/lib/Analysis/Presburger/Simplex.cpp
The file was addedmlir/unittests/Analysis/PresburgerSetTest.cpp
The file was modifiedmlir/unittests/Analysis/CMakeLists.txt
The file was modifiedmlir/lib/Analysis/Presburger/CMakeLists.txt
The file was addedmlir/lib/Analysis/PresburgerSet.cpp
The file was modifiedmlir/unittests/Analysis/AffineStructuresTest.cpp
The file was addedmlir/include/mlir/Analysis/PresburgerSet.h
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/unittests/Analysis/Presburger/CMakeLists.txt
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
Commit 9908ee5670596db4fdc2bd7ea7c3071c0e02a784 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Add test of zero length bitfield type size larger than target zero length bitfield boundary

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88963
The file was modifiedclang/test/CodeGen/zos-alignment.c
Commit ddf1864ace484035e3cde5e83b3a31ac81e059c6 by yhs
BPF: add AdjustOpt IR pass to generate verifier friendly codes

Add an IR phase right before main module optimization.
This is to modify IR to restrict certain downward optimizations
in order to generate verifier friendly code.
  > prevent certain instcombine optimizations, handling both
    in-block/cross-block instcombines.
  > avoid speculative code motion if the variable used in
    condition is also used in the later blocks.

Internally, a bpf IR builtin
  result = __builtin_bpf_passthrough(seq_num, result)
is used to enforce ordering. This builtin is only used
during target independent IR optimizations and it will
be removed at the beginning of target dependent IR
optimizations.

For example, removing the following workaround,
  --- a/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c
  +++ b/tools/testing/selftests/bpf/progs/test_sysctl_loop1.c
  @@ -47,7 +47,7 @@ int sysctl_tcp_mem(struct bpf_sysctl *ctx)
          /* a workaround to prevent compiler from generating
           * codes verifier cannot handle yet.
           */
  -       volatile int ret;
  +       int ret;
this patch is able to generate code which passed the verifier.

To disable optimization, users need to use "opt" command like below:
  clang -target bpf -O2 -S -emit-llvm -Xclang -disable-llvm-passes test.c
  // disable icmp serialization
  opt -O2 -bpf-disable-serialize-icmp test.ll | llvm-dis > t.ll
  // disable avoid-speculation
  opt -O2 -bpf-disable-avoid-speculation test.ll | llvm-dis > t.ll
  llc t.ll

Differential Revision: https://reviews.llvm.org/D85570
The file was addedllvm/test/CodeGen/BPF/adjust-opt-speculative1.ll
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was addedllvm/test/CodeGen/BPF/adjust-opt-speculative2.ll
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was addedllvm/test/CodeGen/BPF/adjust-opt-icmp1.ll
The file was addedllvm/test/CodeGen/BPF/adjust-opt-icmp2.ll
The file was modifiedllvm/lib/Target/BPF/CMakeLists.txt
The file was addedllvm/lib/Target/BPF/BPFAdjustOpt.cpp
Commit d6af25e07c35a11bf6231151fe23a17337e8488f by llvmgnsyncbot
[gn build] Port ddf1864ace4
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Commit 14d5ee63e3c3c625d5432db8c7fd6a2bdd7e6809 by listmail
[Tests] Precommit test showing gap around load forwarding of vectors in instcombine
The file was modifiedllvm/test/Transforms/InstCombine/load.ll
Commit bef27e50b9a2dd272a0c48e5237daeab50f77c7a by lebedev.ri
[NFC][InstCombine] Autogenerate a few tests being affected by upcoming patch
The file was modifiedllvm/test/Transforms/InstCombine/intptr1.ll
The file was modifiedllvm/test/Transforms/InstCombine/PR30597.ll
The file was modifiedllvm/test/Transforms/InstCombine/load-bitcast32.ll
The file was modifiedllvm/test/Transforms/InstCombine/memset_chk-1.ll
Commit 7a01fc5abe4cb7b87ddd214b885426a3079636e9 by nikita.ppv
[MemCpyOpt] Add additional callslot test cases (NFC)

For cases where the destination is captured.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit 0a3c82e85b73e51e830b57844b2f5b98cb59afd1 by Alexander.Richardson
[clang-format][NFC] Store FormatToken::Type as an enum instead of bitfield

This improves the debugging experience since LLDB will print the enumerator
name instead of a decimal number. This changes TokenType to have uint8_t
as the underlying type and moves it after the remaining bitfields to avoid
increasing the size of FormatToken.

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D87006
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
Commit ff6e4441b93953efb2c52995e79e211a49ffac06 by Alexander.Richardson
[clang-format][tests] Fix MacroExpander lexer not parsing C++ keywords

While debugging a different clang-format failure, I tried to reuse the
MacroExpander lexer, but was surprised to see that it marks all C++
keywords (e.g. const, decltype) as being of type identifier. After stepping
through the ::format() code, I noticed that the difference between these
two is that the identifier table was not being initialized based on the
FormatStyle, so only basic tokens such as tok::semi, tok::plus, etc. were
being handled.

Reviewed By: klimek

Differential Revision: https://reviews.llvm.org/D88952
The file was modifiedclang/unittests/Format/TestLexer.h
The file was modifiedclang/unittests/Format/MacroExpanderTest.cpp
Commit b953a01b2cd04263c878292c609686647be396ad by sam.mccall
Reapply [ADT] function_ref's constructor is unavailable if the argument is not callable.

This reverts commit 281703e67ffaee8e26efef86e0df3e145477f4cb.

GCC 5.4 bugs are worked around by avoiding use of variable templates.

Differential Revision: https://reviews.llvm.org/D88977
The file was modifiedllvm/unittests/ADT/FunctionRefTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 91a98ec11e2e001d01c47286bc1721046beeae62 by sam.mccall
[json] Provide a means to delegate writing a value to another API

(Based on D87170 by dsanders)

I recently had need to call out to an external API to emit a JSON object as part
of one an LLVM tool was emitting. However, our JSON support didn't provide a way
to delegate part of the JSON output to that API.

Add rawValueBegin() and rawValueEnd() to maintain and check the internal state
while something else is writing to the stream. It's the users responsibility to
ensure that the resulting JSON output is still valid.

Differential Revision: https://reviews.llvm.org/D88902
The file was modifiedllvm/unittests/Support/JSONTest.cpp
The file was modifiedllvm/include/llvm/Support/JSON.h
The file was modifiedllvm/lib/Support/JSON.cpp
Commit 3bba91f64eef15956f589fa446c265a714cc7893 by aheejin
[WebAssembly] Rename Emscripten EH functions

Renaming for some Emscripten EH functions has so far been done in
wasm-emscripten-finalize tool in Binaryen. But recently we decided to
make a compilation/linking path that does not rely on
wasm-emscripten-finalize for modifications, so here we move that
functionality to LLVM.

Invoke wrappers are generated in LowerEmscriptenEHSjLj pass, but final
wasm types are not available in the IR pass, we need to rename them at
the end of the pipeline.

This patch also removes uses of `emscripten_longjmp_jmpbuf` in
LowerEmscriptenEHSjLj pass, replacing that with `emscripten_longjmp`.
`emscripten_longjmp_jmpbuf` is lowered to `emscripten_longjmp`, but
previously we generated calls to `emscripten_longjmp_jmpbuf` in
LowerEmscriptenEHSjLj pass because it takes `jmp_buf*` instead of `i32`.
But we were able use `ptrtoint` to make it use `emscripten_longjmp`
directly here.

Addresses:
https://github.com/WebAssembly/binaryen/issues/3043
https://github.com/WebAssembly/binaryen/issues/3081

Companions:
https://github.com/WebAssembly/binaryen/pull/3191
https://github.com/emscripten-core/emscripten/pull/12399

Reviewed By: dschuff, tlively, sbc100

Differential Revision: https://reviews.llvm.org/D88697
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj-sret.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
The file was addedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/function-bitcasts.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
Commit 4aa217160e5f06a96c6effc4950c3b402374de58 by stellaraccident
[mlir][CAPI] Attribute set/remove on operations.

* New functions: mlirOperationSetAttributeByName, mlirOperationRemoveAttributeByName
* Also adds some *IsNull checks and standardizes the rest to use "static inline" form, which makes them all non-opaque and not part of the ABI (which is desirable).
* Changes needed to resolve TODOs in npcomp PyTorch capture.

Differential Revision: https://reviews.llvm.org/D88946
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir-c/IR.h
Commit 19bc894da12a9229b3e8cfb11a0281786f07ab6c by fanbo.meng
[NFC] Add contributors names to CREDITS.TXT
The file was modifiedllvm/CREDITS.TXT
Commit 322d0afd875df66b36e4810a2b95c20a8f22ab9b by Amara Emerson
[llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics.

This change renames the intrinsics to not have "experimental" in the name.

The autoupgrader will handle legacy intrinsics.

Relevant ML thread: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140729.html

Differential Revision: https://reviews.llvm.org/D88787
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-smax.ll
The file was modifiedllvm/test/Bitcode/upgrade-vecreduce-intrinsics.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-predselect.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-bit.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smin.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr42674.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-operand-liveout.mir
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction.ll
The file was modifiedllvm/test/CodeGen/Generic/expand-experimental-reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-2.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
The file was modifiedllvm/test/Transforms/InstCombine/vector-reductions.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-umin.ll
The file was modifiedllvm/test/Assembler/invalid-vecreduce.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmin.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mul.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmin-legalization-soft-float.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-or.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
The file was modifiedllvm/test/Bitcode/upgrade-vecreduce-intrinsics.ll.bc
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions-vpt-liveout.mir
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul-fast.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fadd.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-fmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-add.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-strict.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/no-vpsel-liveout.mir
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fadd-legalization-strict.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
The file was modifiedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-int.mlir
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-fmin.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-liveout-lsr-shift.mir
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umin.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
The file was modifiedllvm/lib/CodeGen/ExpandReductions.cpp
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-addv.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-smin.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/predicated-liveout.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd-fast.ll
The file was modifiedllvm/test/CodeGen/X86/pr45378.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-and.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-opcode-liveout.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmax-legalization-soft-float.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-xor.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/reduction-small-size.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr35432.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-add.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction_unrolled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpsel-1.mir
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-mul.ll
The file was addedllvm/test/Instrumentation/MemorySanitizer/reduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-reduce.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-add.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-soft-float.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-smin.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reassociated-loads.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tp-multiple-vpst.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reverse_extract_elements.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fmul.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umin.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedllvm/test/CodeGen/AArch64/neon-dot-product.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/scheduling.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/add_reduce.mir
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredicated-max.mir
The file was modifiedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-mul.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR35628_1.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-umax.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-propagate-sd-flags.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-fadd.ll
The file was removedllvm/test/Instrumentation/MemorySanitizer/experimental-reduce.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fadd-legalization-soft-float.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-smax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vaddv.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-bool.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/invariant-qreg.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
Commit 69daa368cad34c3cff7e170d2a32652ce31ca9e5 by sam.mccall
[clangd] Disambiguate overloads of std::move for header insertion.

Up until now, we relied on matching the filename.
This depends on unstable details of libstdc++ and doesn't work well on other
stdlibs. Also we'd like to remove it (see D88204).

Differential Revision: https://reviews.llvm.org/D88885
The file was modifiedclang-tools-extra/clangd/index/CanonicalIncludes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.h
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
Commit e72cfd938f21bd194a2d2f45a4f8ee7d94d33bf8 by Amara Emerson
Rename the VECREDUCE_STRICT_{FADD,FMUL} SDNodes to VECREDUCE_SEQ_{FADD,FMUL}.

The STRICT was causing unnecessary confusion. I think SEQ is a more accurate
name for what they actually do, and the other obvious option of "ORDERED"
has the issue of already having a meaning in FP contexts.

Differential Revision: https://reviews.llvm.org/D88791
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Commit 7361ce73efcfba8ac12b7dc1f57a6291ea961c41 by Stanislav.Mekhanoshin
[AMDGPU] Use default zero flag operands in flat scratch

This is no-op so far because we do not select these yet.

Differential Revision: https://reviews.llvm.org/D88920
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit a73166a45204378f6f8b4a6ff2d962f0ff56d51e by flo
[LAA] Use DL to get element size for bound computation.

Currently LAA uses getScalarSizeInBits to compute the size of an element
when computing the end bound of an access.

This does not work as expected for pointers to pointers, because
getScalarSizeInBits will return 0 for pointer types.

By using DataLayout to get the size of the element we can also correctly
handle pointer element types.

Note the changes to the existing test, which seems to also use the wrong
offset for the end.

Fixes PR47751.

Reviewed By: anemet

Differential Revision: https://reviews.llvm.org/D88953
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr23997.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/runtime-check-pointer-element-type.ll
Commit dd2f79ed4422860ea9507e17cc33f1262d09db50 by hubert.reinterpretcast
[test][MC] Use %python in llvm/test/MC/COFF/bigobj.py

... instead of the one on the $PATH.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88986
The file was modifiedllvm/test/MC/COFF/bigobj.py
Commit 45014ce36f28698bb0e84ecad3a3ea7da4f476ad by Stanislav.Mekhanoshin
[AMDGPU] Add tied operand to d16 scratch loads

This is still no-op because there is no selection for these
opcodes.

Differential Revision: https://reviews.llvm.org/D88927
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit c1247f0e74bff00ab9a896a8132318916f3e84a7 by Amara Emerson
[mlir] Fix build after 322d0afd875df66b36e4810a2b95c20a8f22ab9b due to change in intrinsic overloads.

I'd forgottent to run the mlir tests after removing the scalar input overload
on the fadd/fmul reductions. This is a quick fix for the mlir bot.
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
Commit 42d91438ad27fda6df9499ae2a99b569fc6e2f75 by llvm-dev
[CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI.

Add some missing CHECK-LABEL lines.

Remove leading '@' so it'll be possible to match against c and c++ builds in a future patch.
The file was modifiedclang/test/CodeGen/X86/sse-builtins-constrained-cmp.c
The file was modifiedclang/test/CodeGen/X86/avx-builtins-constrained-cmp.c
The file was modifiedclang/test/CodeGen/X86/avx-builtins.c
The file was modifiedclang/test/CodeGen/X86/avx-shuffle-builtins.c
The file was modifiedclang/test/CodeGen/X86/sse-builtins.c
The file was modifiedclang/test/CodeGen/X86/sse2-builtins.c
Commit e9af30c31e5f1e0430c0f3b25453891410a34191 by llvm-dev
Fix Wdocumentation warnings due to case mismatch. NFCI.
The file was modifiedllvm/include/llvm/CodeGen/CalcSpillWeights.h
Commit 03280055154d09940a72d77f11c76dc7a741ba32 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFCI.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
Commit 42ffba051894a66cf6d7b9a357e765a392d983ed by listmail
Add a clarifying a comment on CastInst::isNoopCast

I made exactly the mistake described, so document the precondition.  It would be better to have an assert, but there is (currently) no "castIsValid" with purely type arguments.
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 9c09e2055ee4d4e3b26e393ab460635825a79538 by hokein.wu
[clangd] Add a NewName optional parameter to clangdServer::prepareRename.

If the NewName is provided, prepareRename would perform a name
validation.

The motivation is to allow our internal embeder implement the customized
"canRenameInto" functionality on top of prepareRename.

Differential Revision: https://reviews.llvm.org/D88881
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
Commit ea274be72be1cbc37075412dbc455ef245ac0a75 by douglas.yung
Add REQUIRES: x86-registered-target to test as it was failing on build bots without x86.

This should fix the failure on http://lab.llvm.org:8011/#/builders/91/builds/30
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Commit a85e43e99676811a25f495169ee9fc9f11815a17 by RonakNilesh.Chauhan
Remove D80713.diff added in 528057c19755ad842052fba3a42dcbf7deafc6de

The diff file was added by mistake.
The file was removedD80713.diff
Commit fe0197e194a64f950602fb50736b6648a9e5b2a9 by llvm-dev
[InstCombine] Add checks for and(logicalshift(zext(x),undef),y) cases

Prep work before some cleanup in narrowMaskedBinOp
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll
Commit 365ef499d6005d5842d5e87f9dafe63c2508c881 by mcinally
[SVE] Add legalisation tests to sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
Commit 34cd06a9b3bddaa7a989c606bbf1327ee651711c by rahmanl
[BasicBlockSections] Make sure that the labels for address-taken blocks are emitted after switching the seciton.

Currently, AsmPrinter code is organized in a way in which the labels of address-taken blocks are emitted in the previous section, which makes the relocation incorrect.
This patch reorganizes the code to switch to the basic block section before handling address-taken blocks.

Reviewed By: snehasish, MaskRay

Differential Revision: https://reviews.llvm.org/D88517
The file was addedllvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit ac2018da616c0080785c4bc16307d98c5ebbffe7 by mtrofin
[NFC][MLInliner] Getters should return by reference
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit ef8b4e4fcd687f66ef0271d1257075f1f53dd34b by listmail
Add validity assert on entry to CastInst::isNoopCast [NFC]

This required some minor code reorganization to have a version of castIsValid which worked purely in terms of types.
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/lib/IR/Instructions.cpp
Commit 4065a0d98f675595cdf568bae9bbd872de51fcba by ajcbik
[mlir] [sparse] Rename getSparseMatrix to getMatrix

Rationale:
More consistent with the other names. Also forward looking to reading
in other kinds of matrices. Also fixes lint issue on hard-coded %llu.

Reviewed By: penpornk

Differential Revision: https://reviews.llvm.org/D89005
The file was modifiedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
Commit 40a24541029357543ae47664a68a44710e6fee84 by gclayton
Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM.

This should fix any build bots that avoid compiling some architectures into llvm after https://reviews.llvm.org/D88767.

Differential Revision: https://reviews.llvm.org/D88940
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Commit da48fe1732fcd87005ca22745f930b97ab93f365 by rnk
[NPM] Port strip nonlinetable debuginfo pass to the new pass manager

Fixes a few tests in llvm/test/Transforms/Utils.

Differential Revision: https://reviews.llvm.org/D88762
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils.h
The file was modifiedllvm/test/Transforms/Util/strip-nonlinetable-debuginfo-cus.ll
Commit 940d7aaea958fb343c7a72de89157aed2dc548de by rnk
Port StripGCRelocates pass to NPM

Fixes one test under NPM

Differential Revision: https://reviews.llvm.org/D88766
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/Utils/StripGCRelocates.cpp
The file was addedllvm/include/llvm/Transforms/Utils/StripGCRelocates.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/Util/strip-gc-relocates.ll
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
Commit 88afb6e86774c7d2ffe9385714e7810ea50636d2 by pklausler
[flang] Semantic checks for bad usage of whole assumed-size arrays

The semantics pass currently checks for several constraints
that apply to the use of whole assumed-size arrays in various
contexts, but C1002 wasn't really implemented.  This patch
implements C1002 by disallowing the use of whole assumed-size
arrays in expressions and variables unless specifically
allowed by the context.  This centralizes the error reporting,
which has been improved with a link to the array's declaration.

Differential revision: https://reviews.llvm.org/D88691
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/io03.f90
The file was modifiedflang/lib/Semantics/assignment.cpp
The file was modifiedflang/lib/Semantics/check-io.cpp
The file was modifiedflang/test/Semantics/assign04.f90
Commit 297655c123b3ae612f681e936f97818f2a899de6 by mtrofin
[NFC][regalloc] Use MCRegister instead of unsigned in InterferenceCache

Also changed users of APIs.

Differential Revision: https://reviews.llvm.org/D88930
The file was modifiedllvm/lib/CodeGen/InterferenceCache.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/lib/CodeGen/InterferenceCache.h
Commit bd5fe7b010ea0d6c4b1e5e3740085f5eabf7def6 by minyihh
[M680x0] Add google/benchmark's CycleTimer support for M68K

This is a cherrypick of the upstream fix commit ffe1342 onto
`llvm/utils/benchmark` and `libcxx/utils/google-benchmark`.
This adds CycleTimer implementation for M680x0, which simply
uses `gettimeofday` same as MIPS.

Differential Review: https://reviews.llvm.org/D88868
The file was modifiedlibcxx/utils/google-benchmark/AUTHORS
The file was modifiedllvm/utils/benchmark/README.LLVM
The file was modifiedllvm/utils/benchmark/AUTHORS
The file was modifiedlibcxx/utils/google-benchmark/CONTRIBUTORS
The file was modifiedllvm/utils/benchmark/src/cycleclock.h
The file was modifiedlibcxx/utils/google-benchmark/README.LLVM
The file was modifiedllvm/utils/benchmark/CONTRIBUTORS
The file was modifiedlibcxx/utils/google-benchmark/src/cycleclock.h
Commit 81b11c91070f3a969b64b2c2e6011b02450fa75f by jingham
Fix a macOS build break caused by 3dfb94986170.
The file was modifiedlldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
Commit 8da0df3d6dcc0dd42740be60b0da4ec201190904 by Louis Dionne
[libc++] Remove unused includes of Availability.h

Since ebaf1d5e2b, the macros defined in <Availability.h> are not used
anymore.
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/include/locale
Commit d56fdc8e95df3431b67d33fe4b03a08406897339 by pklausler
[flang][msvc] Avoid dependence on long double

MSVC does not support a distinct 80-bit extended precision
"long double" type.  Rework the I/O runtime to avoid using
native C/C++ type names.  Centralize the mappings between
the KIND= type parameters of REAL and their binary precisions
in the common real.h header file, and use KIND type parameter
values rather than binary precisions for clarity where
appropriate.

This patch, if successful, should obviate the need for
Differential review D88511.

(This patch anticipates a successful review of D88688, which
fixes the function that maps each kind of real to its maximum
number of significant decimal digits.)

Differential revision: https://reviews.llvm.org/D88752
The file was modifiedflang/include/flang/Decimal/binary-floating-point.h
The file was modifiedflang/runtime/edit-input.cpp
The file was modifiedflang/runtime/edit-input.h
The file was modifiedflang/include/flang/Common/real.h
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/runtime/descriptor-io.h
The file was modifiedflang/runtime/edit-output.h
The file was modifiedflang/runtime/edit-output.cpp
Commit 4d5b1de40eccc7ffcfb859cef407e5f30bee77f8 by tejohnson
[sanitizer] Skip stack symbolization when not required for print format

Adds a check to avoid symbolization when printing stack traces if the
stack_trace_format flag does not need it. While there is a symbolize
flag that can be turned off to skip some of the symbolization,
SymbolizePC() still unconditionally looks up the module name and offset.
Avoid invoking SymbolizePC() at all if not needed.

This is an efficiency improvement when dumping all stack traces as part
of the memory profiler in D87120, for large stripped apps where we want
to symbolize as a post pass.

Differential Revision: https://reviews.llvm.org/D88361
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
The file was modifiedcompiler-rt/lib/hwasan/hwasan_report.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
Commit c10248829357fd90030ba091e01b6c253e5848f1 by d.c.ddcc
Add test for disabling Dead Virtual Function Elimination

Differential Revision: https://reviews.llvm.org/D88349
The file was modifiedclang/test/CodeGenCXX/virtual-function-elimination.cpp
Commit 68e1a8d20795802077987529e1268c184d749564 by craig.topper
[X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel

We need to use LCMPXCHG16B_SAVE_RBX if RBX/EBX is being used as
the frame pointer. We previously checked for this during type
legalization, but that's too early to know for sure if the base
pointer is needed.

This patch adds a new pseudo instruction to emit from isel that
uses a virtual register for the RBX input. Then we use the custom
inserter hook to emit LCMPXCHG16B if RBX isn't needed as a base
pointer or LCMPXCHG16B_SAVE_RBX if it is.

Fixes PR42064.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D88808
The file was addedllvm/test/CodeGen/X86/pr42064.ll
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 35cb45c533fb76dcfc9f44b4e8bbd5d8a855ed2a by anna
[ImplicitNullChecks] Support complex addressing mode

The pass is updated to handle loads through complex addressing mode,
specifically, when we have a scaled register and a scale.
It requires two API updates in TII which have been implemented for X86.

See added IR and MIR testcases.

Tests-Run: make check
Reviewed-By: reames, danstrushin
Differential Revision: https://reviews.llvm.org/D87148
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check-negative.ll
The file was modifiedllvm/test/CodeGen/X86/implicit-null-checks.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check.ll
Commit 80ef4126b100fd3c9823b20ac641fe76c4d5a11f by phosek
[libcxx] Use runtime rather then compile-time glibc version check

glibc supports versioning, so it's possible to build against older
version and run against newer version. This is sometimes relied on
in practice, e.g. in Fuchsia build we build against older sysroot
(equivalent to Ubuntu Trusty) to cover the broadest possible range
of host systems, but that doesn't necessarily match the system that
binary is going to run on which may have newer version, in which case
the compile test used in curr_symbol is going to fail. Using runtime
check is more reliable. This is a follow up to D56702 which addressed
one instance, this patch addresses all of the remaining ones.

Differential Revision: https://reviews.llvm.org/D88188
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/support/platform_support.h
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
Commit d9881e6e27bc7fa882742b13d43bb6d491dfc1ea by Yuanfang Chen
[IRMover] Avoid materializing global value that belongs to not-yet-linked module

We saw the same assertion failure mentioned here
https://bugs.llvm.org/show_bug.cgi?id=42063 in our internal tests.

The failure happens in the same circumstance as D47898 and D66814 where
uniqueing of DICompositeTypes causes `Mapper::mapValue` to be called on
GlobalValues(`G`) from a not-yet-linked module(`M`). The following type-mapping for
`G` may not complete correctly (fail to unique types etc.  depending on the
the complexity of the types) because IRLinker::computeTypeMapping is not done for `M`
in this path.

D47898 and D66814 fixed some type-mapping issue after Mapper::mapValue
is called on `G`. However, it seems it did not handle some complex cases. I
think we should delay linking globals like `G` until its owing module is
linked. In this way, we could save unnecessary type mapping and prune
these corner cases. It is also supposed to reduce the total number of structs
ending up in the combined module.

D47898 is reverted (its test is kept) because it regresses the test case here.
D66814 could also be reverted (the `check-all` looks good). But it looks reasonable
anyway, so I thought I should keep it.

Also tested the patch with clang self-host regularLTO/ThinLTO build, things look
good as well.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D87001
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug4_0.ll
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug4_1.ll
The file was addedllvm/test/LTO/X86/type-mapping-bug4.ll
The file was modifiedllvm/lib/Linker/IRMover.cpp
Commit 93db4a8ce6261dc36e233f5e0b60cfbb3ea1bd8f by gcmn
Remove unused variables

These are unused since
https://reviews.llvm.org/rG35cb45c533fb76dcfc9f44b4e8bbd5d8a855ed2a
causing `-Wunused` warnings.

Differential Revision: https://reviews.llvm.org/D89022
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
Commit dc3dba7dbdab207a8e55171860d3caa712aa5dfc by craig.topper
[X86] Move findDeadCallerSavedReg() into X86RegisterInfo

The findDeadCallerSavedReg() function has utility outside of X86FrameLowering.cpp

Differential Revision: https://reviews.llvm.org/D88924
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
Commit ad4313fc833d2a1b5ae4b3ffe92366ba61a1232c by craig.topper
[X86] Fix bug in -mlvi-cfi that may clobber a live register

Fix for this bug: https://bugs.llvm.org/show_bug.cgi?id=47740

The fix uses the existing findDeadCallerSavedReg() function instead of a hacky heuristic to find a scratch register to clobber.

Differential Revision: https://reviews.llvm.org/D88925
The file was modifiedllvm/test/CodeGen/X86/lvi-hardening-ret.ll
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
Commit 31611721686760fe59c91a84b025e4dee94d1662 by yhs
BPF: fix incorrect DAG2DAG load optimization

Currently, bpf backend Instruction section DAG2DAG phase has
an optimization to replace loading constant struct memeber
or array element with direct values. The reason is that these
locally defined struct or array variables may have their
initial values stored in a readonly section and early bpf
ecosystem is not able to handle such cases.

Bpf ecosystem now can not only handle readonly sections,
but also global variables. global variable can also have
initialized data and global variable may or may not be constant,
i.e., global variable data can be put in .data section or .rodata
section. This exposed a bug in DAG2DAG Load optimization
as it did not check whether the global variable is constant
or not.

This patch fixed the bug by checking whether global variable,
representing the initial data, is constant or not and will not
do optimization if it is not a constant.

Another bug is also fixed in this patch to check whether
the load is simple (not volatile/atomic) or not. If it is
not simple, we will not do optimization. To summary for
globals:
   - struct t var = { ... } ;  // no load optimization
   - const struct t var = { ... }; // load optimization is possible
   - volatile const struct t var = { ... }; // no load optimization

Differential Revision: https://reviews.llvm.org/D89021
The file was addedllvm/test/CodeGen/BPF/rodata_6.ll
The file was modifiedllvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/BPF/rodata_7.ll
Commit a4961f0d8a2ec91e209b9d3ea7b03acac4f5a8b1 by thakis
Revert "[Support][unittests] Enforce alignment in ConvertUTFTest"

This reverts commit 53b3873cf428fd78f1d92504cc20adf11181ead7.
Seems to break SupportTests.exe's
ConvertUTFTest.UTF16WrappersForConvertUTF16ToUTF8String
on Windows.
The file was modifiedllvm/lib/Support/ConvertUTFWrapper.cpp
The file was modifiedllvm/unittests/Support/ConvertUTFTest.cpp
Commit 6dcbea877bffcd5871cf6002616a5dcdfece0b86 by aeubanks
[NewPM] Use PassInstrumentation for -verify-each

This removes "VerifyEachPass" parameters from a lot of functions which is nice.

Don't verify after special passes or VerifierPass.

This introduces verification on loop and cgscc passes, verifying the corresponding function/module.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D88764
The file was addedllvm/test/Other/new-pass-manager-verify-each.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedllvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/test/Other/new-pass-manager.ll
Commit a5ef2e0a1e3bf5a76b0c170ca7791564ab1a8375 by mkazantsev
Return "[SCEV] Prove implicaitons via AddRec start"

The initial version of the patch was reverted because it missed the check that
the predicate being proved is actually guarded by this check on 1st iteration.
If it was not executed on 1st iteration (but possibly executes after that), then
it is incorrect to use reasoning about IV start to prove it.

Added the test where the miscompile was seen. Unfortunately, my attempts
to reduce it with bugpoint did not succeed; it can further be reduced when
we understand how to do it without losing the initial bug's notion.

Returning assuming the miscompiles are now gone.

Differential Revision: https://reviews.llvm.org/D88208
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Transforms/IndVarSimplify/addrec_no_exec_on_every_iteration.ll
Commit b4ffc40d622bb2647852284c78c5e83346f2d630 by sguelton
Update documentation and implementation of stage3 build

Have the build work out of the box by forcing an LLD build.

That way, we don't require an external LTO-aware linker,
as we build one.

Also remove reference to the seemingly dead builder.

Differential Revision: https://reviews.llvm.org/D88990
The file was modifiedclang/cmake/caches/3-stage-base.cmake
The file was modifiedllvm/docs/AdvancedBuilds.rst
Commit 9b2b32743d71311eeb713ace2550c0039e2491a2 by martin
[LLD] [ELF] Fix up a comment regarding the --wrap option. NFC.

Add missing leading underscores to the __wrap_<symbol> and
__real_<symbol> names.

Differential Revision: https://reviews.llvm.org/D89008
The file was modifiedlld/ELF/Driver.cpp
Commit 9b58b0c06e6906583a1225e5c8c51dda9cbc7cfd by martin
[LLD] Ignore ELF tests when ld.lld defaults to MinGW

Follow-up to D87418.

Differential Revision: https://reviews.llvm.org/D88991
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedlld/test/lit.cfg.py
The file was modifiedlld/test/CMakeLists.txt
Commit 81b4f3380b01c95ebc821bfafe1a304520ed39be by david.green
[ARM] Replace llvm.experimental.vector.reduce.smax with llvm.vector.reduce.smax. NFC

This fixes up some newer tests after D88787.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
Commit 498f89d1887752a207568311a9e657025ed4eeea by david.green
[LV] Collect dead induction truncates

We currently collect the ICmp and Add from an induction variable,
marking them as dead so that vplan values are not created for them. This
extends that to include any single use trunk from the ICmp, which allows
the Add to more readily be removed too.

This can help with costing vplan nodes, as the ICmp and Add are more
reliably removed and are not double-counted.

Differential Revision: https://reviews.llvm.org/D88873
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr36524.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/if-pred-stores.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/followup.ll
Commit ba268d2fb09ceabfa03a6499258f973be62d7663 by hokein.wu
[clangd] Fix a typo, NFC.
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
Commit a96bcfb196740b5be217f6166462ee1206530520 by hokein.wu
[AST][RecoveryExpr] Support dependent cast-expr in C for error-recovery.

Suppress spurious "typecheck_cond_expect_scalar_operand" diagnostic.

See whole context: https://reviews.llvm.org/D85025

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84387
The file was modifiedclang/test/Sema/error-dependence.c
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was modifiedclang/test/AST/ast-dump-recovery.c
Commit 380087e6c9a226b28c24de3b18e202e20d430765 by Mirko.Brkusanin
[AMDGPU] Add test with redundant copies to temporary stack slot produced by expandUnalignedLoad

Differential Revision: https://reviews.llvm.org/D88895
The file was addedllvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
Commit 7c88d13fd1c1a864124d96224996c62192d431f2 by Mirko.Brkusanin
[AMDGPU] Prefer SplitVectorLoad/Store over expandUnalignedLoad/Store

ExpandUnalignedLoad/Store can sometimes produce unnecessary copies to
temporary stack slot. We should prefer splitting vectors if possible.

Differential Revision: https://reviews.llvm.org/D88882
The file was modifiedllvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit e7cf723051cd4638cf5d2c407b756312292e7c18 by limo
[mlir] Added strides check to rank reducing subview verification

Added missing strides check to verification method of rank reducing subview
which enforces strides specification for the resulting type.

Differential Revision: https://reviews.llvm.org/D88879
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
Commit 8e9622f96120842852f37bfaeea738b4b4ed5cb0 by pierre.gousseau
[cmake] Fix cmake warning in standalone compiler-rt builds.

```
cd compiler-rt/build
cmake -G Ninja ../ -DCOMPILER_RT_STANDALONE_BUILD=ON
-DLLVM_CONFIG_PATH=<...>llvm-project/build/bin/llvm-config
-DCOMPILER_RT_INCLUDE_TESTS=ON
```

```
-- check-shadowcallstack does nothing.
Traceback (most recent call last):
  File "<string>", line 22, in <module>
  IndexError: list index out of range
  -- Configuring done
  -- Generating done
```

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D88957
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 568035ac3955790aee2a5dbc2b1f4074c76bb4d7 by me
[llvm-readobj] Add --coff-tls-directory flag to print TLS Directory & test.

Akin to dumpbin's /TLS option, this will print out the TLS directory, if
present, in the image.

Example output:
```
> llvm-readobj --coff-tls-directory test.exe
File: test.exe
Format: COFF-x86-64
Arch: x86_64
AddressSize: 64bit
TLSDirectory {
  StartAddressOfRawData: 0x140004000
  EndAddressOfRawData: 0x140004040
  AddressOfIndex: 0x140002000
  AddressOfCallBacks: 0x0
  SizeOfZeroFill: 0x0
  Characteristics [ (0x0)
  ]
}
```

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D88635
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-readobj.rst
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.h
The file was modifiedllvm/include/llvm/BinaryFormat/COFF.h
The file was modifiedllvm/include/llvm/Object/COFF.h
The file was addedllvm/test/tools/llvm-readobj/COFF/tls-directory.test
The file was modifiedllvm/lib/Object/COFFObjectFile.cpp
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit 9824d5c83844495ac00c04dc1789c3529a68c1ac by mkazantsev
[Test] Add test showing that we fail to eliminate implied exit conditions
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll
Commit 3578945004e322e45fdc47ca804f65628ea325a7 by grimar
[llvm-readobj][test] - Improve testing in hash-table.test

This makes tests stricter and adds cases to verify what
we do when:

1) there is no `DT_HASH` tag (but there is a `SHT_HASH` section in sections header)
2) the sh_entsize of the `SHT_HASH` section is not equal to 4.

Differential revision: https://reviews.llvm.org/D88812
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-table.test
Commit cc83dc191c1ef04907ccd4308cc6aa5bf6fcd3c6 by csigg
Import llvm::StringSwitch into mlir namespace.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D88971
The file was modifiedmlir/lib/TableGen/Predicate.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/lib/IR/SymbolTable.cpp
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/TableGen/Format.cpp
The file was modifiedmlir/lib/Parser/Lexer.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/lib/Dialect/PDL/IR/PDL.cpp
The file was modifiedmlir/include/mlir/Support/LLVM.h
The file was modifiedmlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
Commit aa47962cc9493cd79ca78954e721ed02479729c7 by llvm-dev
[InstCombine] canNarrowShiftAmt - replace custom Constant matching with m_SpecificInt_ICMP

The existing code ignores undef values which matches m_SpecificInt_ICMP, although m_SpecificInt_ICMP returns false for an all-undef constant, I've added test coverage at rGfe0197e194a64f9 to show that undef folding should already have dealt with that case.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit c1fd4305b68500c754a7ce6a86fe297c36e21d3b by pifon
[mlir] Add basic support for dynamic tensor results in TensorToBuffers.cpp.

The simplest case is when the indexing maps are DimIds in every component. This covers cwise ops.

Also:
* Expose populateConvertLinalgOnTensorsToBuffersPatterns in Transforms.h
* Expose emitLoopRanges in Transforms.h

Differential Revision: https://reviews.llvm.org/D88781
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/test/Dialect/Linalg/tensors-to-buffers.mlir
Commit e1d4ca00094a4267b6fd70f613f2e0390b2a8cbf by llvm-dev
[InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896)

First step towards extending the existing rotation support to full funnel shift handling now that the backend legalization support has improved.

This enables us to match the shift by constant cases, which are pretty trivial to expand again if necessary.

D88420 will add non-uniform support for funnel shifts as well once its been finalized.

Differential Revision: https://reviews.llvm.org/D88834
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit 7d01bb8f56f5f1d8e180e1b8d47c00b45aa0555b by llvm-dev
[llvm-objdump] Ensure we consistently use the llvm::stable_sort wrappers.

We use this everywhere else in this file, these were just missed.
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
Commit 38348fa26548fdcdbc1ae18c6e612d67f103ee37 by Tim Northover
AArch64: treat MC expressions as 2s complement arithmetic.

We had a couple of over-zealous diagnostics that meant IR with a reasonable and
valid interpretation was rejected.
The file was addedllvm/test/CodeGen/AArch64/2s-complement-asm.ll
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
Commit 1e75668821f7c2abfdb4a25af76239b9120ae0ca by dmitry.preobrazhensky
[AMDGPU][MC][GFX1030] Disabled v_mac_f32

See bug 47741 <https://bugs.llvm.org/show_bug.cgi?id=47741>

Reviewers: nhaehnle, rampitec

Differential Revision: https://reviews.llvm.org/D89000
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit 06758c6a6135f59deec8e73d4fcb69946ab47f54 by markus.lavin
[DebugInfo] Improve dbg preservation in LSR.

Use SCEV to salvage additional @llvm.dbg.value that have turned into
referencing undef after transformation (and traditional
salvageDebugInfo). Before transformation compute SCEV for each
@llvm.dbg.value in the loop body and store it (along side its current
DIExpression). After transformation update those @llvm.dbg.value now
referencing undef by comparing its stored SCEV to the SCEV of the
current loop-header PHI-nodes. Allow match with offset by inserting
compensation code in the DIExpression.

Includes fix for the nullptr deref that caused the original commit
to be reverted in 9d63029770.

Fixes : PR38815

Differential Revision: https://reviews.llvm.org/D87494
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was addedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit 70bf35070a74df02ed12b9988ce58d50e63a7c04 by sepavloff
[Driver] Add output file to properties of Command

Object of class `Command` contains various properties of a command to
execute, but output file was missed from them. This change adds this
property. It is required for reporting consumed time and memory implemented
in D78903 and may be used in other cases too.

Differential Revision: https://reviews.llvm.org/D78902
The file was modifiedclang/lib/Driver/Job.cpp
The file was modifiedclang/unittests/Driver/ToolChainTest.cpp
The file was modifiedclang/lib/Driver/ToolChains/NaCl.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/include/clang/Driver/Job.h
The file was modifiedclang/lib/Driver/ToolChains/Ananas.cpp
The file was modifiedclang/lib/Driver/ToolChains/DragonFly.cpp
The file was modifiedclang/lib/Driver/ToolChains/Myriad.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
The file was modifiedclang/lib/Driver/ToolChains/Solaris.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSP430.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
The file was modifiedclang/lib/Driver/ToolChains/CloudABI.cpp
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.cpp
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/CrossWindows.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/BareMetal.cpp
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.cpp
The file was modifiedclang/lib/Driver/ToolChains/Minix.cpp
The file was modifiedclang/lib/Driver/ToolChains/XCore.cpp
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
Commit a4e27220c2a1046616556b8aadb0ae8f5e0255be by hokein.wu
[clangd] Add a missing include-fixer test for incomplete_type, NFC.

Also sort the list to make it easier to verify with the implementation
code.

Differential Revision: https://reviews.llvm.org/D88964
The file was modifiedclang-tools-extra/clangd/IncludeFixer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Commit 5415fef3abefd666fc9209f8305f5e0b4103b5cf by llvm-dev
[InstCombine] matchFunnelShift - support non-uniform constant vector shift amounts (PR46895)

Complete basic PR46895 fixes by refactoring D87452/D88402 to allow us to match non-uniform constant values.

We still don't handle non-uniform vectors that contain undef elements, but that can wait until we have a decent generic mechanism for this.

Differential Revision: https://reviews.llvm.org/D88420
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
Commit 6668e4cc685e74a17ebd386913e842ac3d7472e5 by jhuber6
[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload

Summary:
This patch adds an error to Clang that detects if OpenMP offloading is used
between two architectures with incompatible pointer sizes. This ensures that
the data mapping can be done correctly and solves an issue in code generation
generating the wrong size pointer.

Reviewer: jdoerfert

Subscribers: cfe-commits delcypher guansong llvm-commits sstefan1 yaxunl

Tags: #OpenMP #Clang

Differential Revision: https://reviews.llvm.org/D88594
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_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_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was addedclang/test/OpenMP/target_incompatible_architecture_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
Commit f53b43c00a0706232f6b94532a34397d8c2aa681 by sebastian.neubauer
[AMDGPU] Use isLegalMUBUFImmOffset more

Instead of hardcoding isUInt<12>.

Differential Revision: https://reviews.llvm.org/D88961
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 123415eddaf7d55db8606597e6e2375869b3f395 by konrad.dobros
[mlir][spirv] Add OpenCL extended ops: exp, fabs, s_abs

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D88966
The file was addedmlir/test/Dialect/SPIRV/ocl-ops.mlir
The file was addedmlir/test/Dialect/SPIRV/Serialization/ocl-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was addedmlir/include/mlir/Dialect/SPIRV/SPIRVOCLOps.td
Commit 30e6033b455bfa4b888eedb2cfe808a61845ed5f by nicolas.vasilache
[mlir][Linalg] Add TensorsToBuffers support for Constant ops.

This revision also inserts an end-to-end test that lowers tensors to buffers all the way to executable code on CPU.

Differential revision: https://reviews.llvm.org/D88998
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/test/Dialect/Linalg/tensors-to-buffers.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was addedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
Commit 80bf29f00cc84374a0c2081a25b7c75e527eecb5 by grimar
[llvm-readobj] - Fix possible crashes related to dumping gnu hash symbols.

It fixes possible scenarios when we crash/assert with `--hash-symbols` when
dumping an invalid GNU hash table which has a broken value in the buckets array.

This fixes a crash reported in comments for
https://bugs.llvm.org/show_bug.cgi?id=47681

Differential revision: https://reviews.llvm.org/D88561
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-symbols.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-histogram.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnuhash.test
Commit a0a6fd435c6066d40d9c20835f1e52aad1e8cc65 by usx
[clangd] New CC Ranking Model to fix bad inference due to overflow.

Unreachable file distances are represented as
`std::numeric_limits<unsigned>::max()`.
The previous dataset recorded the signals as `signed int` capturing this default
value as `-1`.

A new dataset was regenerated and a new model is trained that
interprets this unreachable as the intended value.

Distribution of `SymbolScopeDistance`:
Value         Normalised Frequency
0             46.6184
4294967295    29.5342
6             14.5666
4              6.4433
2              1.4534
8              0.5760
10             0.3581
....

Distribution of `FileProximityDistance`:
Value         Normalised Frequency
4294967295    39.9378
12             5.1997
14             4.9828
15             4.4221
16             4.3820
13             4.2765
17             3.8957
11             3.6387
19             3.4799
18             3.4076
....

Differential Revision: https://reviews.llvm.org/D89035
The file was modifiedclang-tools-extra/clangd/quality/model/forest.json
Commit 92bca1284308452b8eb549e9382873645320cf19 by diggerlin
[AIX] add new option -mignore-xcoff-visibility

SUMMARY:

In IBM compiler xlclang , there is an option -fnovisibility which suppresses visibility. For more details see: https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/compiler_ref/opt_visibility.html.

We need to add the option -mignore-xcoff-visibility for compatibility with the IBM AIX OS (as the option is enabled by default in AIX). With this option llvm does not emit any visibility attribute to ASM or XCOFF object file.

The option only work on the AIX OS, for other non-AIX OS using the option will report an unsupported options error.

In AIX OS:

1.1  the option -mignore-xcoff-visibility is enabled by default , if there is not -fvisibility=* and -mignore-xcoff-visibility explicitly in the clang command .

1.2 if there is -fvisibility=* explicitly but not -mignore-xcoff-visibility  explicitly in the clang command.  it will generate visibility attributes.

1.3 if there are  both  -fvisibility=* and  -mignore-xcoff-visibility  explicitly in the clang command. The option  "-mignore-xcoff-visibility" wins , it do not emit the visibility attribute.

The option -mignore-xcoff-visibility has no effect on visibility attribute when compile with -emit-llvm option to generated LLVM IR.

Reviewer: daltenty,Jason Liu

Differential Revision: https://reviews.llvm.org/D87451
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-ignore-xcoff-visibility.ll
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was addedclang/test/Driver/ignore-xcoff-visibility.cpp
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/CodeGen/aix-ignore-xcoff-visibility.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
Commit e547b1e2431f9b6175470ff703cf6e1988031cda by limo
[mlir] Rank reducing subview conversion to LLVM

This commit adjusts SubViewOp lowering to take rank reduction into account.

Differential Revision: https://reviews.llvm.org/D88883
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was addedmlir/integration_test/Dialect/Linalg/CPU/rank-reducing-subview.mlir
The file was addedmlir/integration_test/Dialect/Linalg/CPU/matmul-vs-matvec.mlir