FailedChanges

Summary

  1. [X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - don't merge VPERMILPD ops with different low/high masks. (details)
  2. [OpenMP] Disabled profiling in `libomp` by default to unblock link errors (details)
  3. AMDGPUPrintfRuntimeBinding - don't dereference a dyn_cast<> pointer. NFCI. (details)
  4. [AArch64][SVE] Allow accesses to SVE stack objects to use frame pointer (details)
  5. [mlir][Linalg] Further improve codegen strategy and add a linalg.matmul_i8_i8_i32 (details)
  6. [ARM] Add alignment checks for MVE VLDn (details)
  7. [OpenMP][deviceRTLs] Added `[[clang::loader_uninitialized]]` explicitly (details)
  8. [OpenMP][NVPTX] Added the missing -O1 when building NVPTX bitcode libraries (details)
  9. [OpenMP][deviceRTLs] Separate declaration of target dependent functions from `target_impl.h` (details)
  10. [Orc] Remove unused header from TPC server (details)
  11. [mlir][Linalg] Reenable test that was mistakenly disabled (details)
  12. [X86] Add extload test cases from D95086 (details)
  13. Relax test expectations in debug-info-gline-tables-only-codeview.cpp (details)
  14. [mlir] Fix subview verifier. (details)
  15. [clang-tidy] Remove unnecessary #ifdef (details)
  16. [mlir][Linalg] Replace SimplePad with PadTensor in tile-and-pad (details)
  17. [MC][ELF] Fix accepting abbreviated form with sh_flags and sh_entsize (details)
  18. [APFloat] scalbn - pass DoubleAPFloat arg as const-ref. NFCI. (details)
  19. [APFloat] Remove orphan ilogb(DoubleAPFloat) declaration. NFCI. (details)
  20. [libc++] Fix extern-templates.sh.cpp test on Linux (details)
  21. [mlir] Fix gcc-8 build (details)
  22. [mlir][Linalg] Fix tests in tile-and-pad (details)
  23. [mlir] Make cuda/rocm-runtime-wrappers not depend on LLVMSupport. (details)
  24. [X86][AVX] combineHorizOpWithShuffle - fix valuetype comparison typo. (details)
  25. Revert "[DWARF] Create subprogram's DIE in DISubprogram's unit" (details)
  26. [lld][WebAssembly] Update comments mentioning legacy function names. NFC (details)
  27. [mlir] Fix integration tests (details)
  28. [libc++] [P0879] constexpr std::nth_element, and rewrite its tests. (details)
  29. [libc++] Implement format_error. (details)
  30. [RISCV] Add support for scalable vector fneg using vfsgnjn.vv (details)
  31. [mlir][sparse] use typenames for opaque pointers (details)
  32. [libc++] Implements concept constructible_from (details)
  33. [RISCV] Remove isel patterns for Zbs *W instructions. (details)
  34. [mlir] Fix test by adapting to C util functions moving to libmlir_c_runner_utils (details)
  35. Fix lldb-vscode builds on Windows targeting POSIX (details)
  36. [libcxx][test] Update directory_entry test for C++20 (details)
  37. [llvm-nm] Display defined weak STT_GNU_IFUNC symbols as 'i' (details)
  38. [NFC] Disallow unused prefixes under clang/test/CodeGenCXX (details)
  39. Better document the limitations of coro::salvageDebugInfo() (details)
  40. [mlir] NFC: split --shared-libs option into multiple lines. (details)
  41. [AMDGPU] Simplify some RUN lines. NFC. (details)
  42. [gn build] (semi-manually) port 081c1db02dd2 (details)
  43. [WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers (details)
  44. [mlir] turn complex-to-llvm into a partial conversion (details)
  45. DebugInfo: Add a DWARF FORM extension for addrx+offset references to reduce relocations (details)
  46. [gn build] (manually) port 3b625060fc915 (details)
  47. [gn build] (manually) port 081c1db02dd2 more (details)
  48. [sparse][mlir] give all sparse kernels an explicit "output" tensor (details)
  49. Add convenience function for checking arrays of shapes compatible. (details)
  50. [WebAssembly] Prototype i8x16 to i32x4 widening instructions (details)
  51. [mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding (details)
  52. Revert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding" (details)
  53. Fix memory leak in 4318028cd2d7633a0cdeb0b5d4d2ed81fab87864 (details)
  54. [PowerPC][Power10] Fix XXSPLI32DX not correctly exploiting specific cases (details)
  55. Removing the main to master sync GitHub workflow. (details)
  56. Support: Simplify __HAIKU__ #ifdef in llvm::sys::Wait, NFC (details)
  57. [ASTMatchers] Avoid pathological traversal over nested lambdas (details)
  58. [ASTMatchers] Add invocation matcher (details)
  59. [CMake][libc] Don't do CPU feature detection when cross-compiling (details)
  60. [CMake][libc] Support cross-compiling libc-hdrgen (details)
  61. Revert "[PDB] Defer relocating .debug$S until commit time and parallelize it" (details)
  62. Add the ability to extract the unwind rows from DWARF Call Frame Information. (details)
  63. [OpenMP] NFC: disabled two flakey tests as the bug in libomp not fixed yet (details)
  64. [GlobalISel] Add G_ASSERT_ZEXT (details)
  65. [GlobalISel] Implement widenScalar for carry-in add/sub (details)
  66. [NFC][EntryExitInstrumenter] Mark Dominator Tree as preserved in legacy-PM too (details)
  67. [NFC][PartiallyInlineLibCalls] Port to SplitBlockAndInsertIfThen() (details)
  68. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedLoad(): port to SplitBlockAndInsertIfThen() (details)
  69. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedStore(): port to SplitBlockAndInsertIfThen() (details)
  70. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedGather(): port to SplitBlockAndInsertIfThen() (details)
  71. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedScatter(): port to SplitBlockAndInsertIfThen() (details)
  72. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedExpandLoad(): port to SplitBlockAndInsertIfThen() (details)
  73. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedCompressStore(): port to SplitBlockAndInsertIfThen() (details)
  74. [PartiallyInlineLibCalls] Preserve Dominator Tree, if avaliable (details)
  75. [ScalarizeMaskedMemIntrin] Preserve Dominator Tree, if avaliable (details)
  76. [mlir][Linalg] Enable TileAndFusePattern to work with tensors. (details)
  77. [NFC][AMDGPU] Correct name of DWARF CFA extensions (details)
  78. [GlobalISel] Walk through hints in getDefIgnoringCopies et al (details)
  79. Revert "[GlobalISel] Walk through hints in getDefIgnoringCopies et al" (details)
  80. Recommit "[GlobalISel] Walk through hints in getDefIgnoringCopies et al" (details)
  81. [sanitizer] Fix msan test build on FreeBSD after 7afdc89c2054 (details)
  82. ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors (details)
  83. ADT: Fix typo in static assert message from 17c584551d573f1693990773e29fbe6b4b6fa4f4 (details)
  84. [mlir][Linalg] Fix SFINAE check to actually check the value. (details)
  85. Fix windows buildbot build errors from D89845. (details)
  86. [clang-tidy] Applied clang-tidy fixes. NFC (details)
  87. Introduce a new DialectIdentifier structure, extending Identifier with a Dialect information (details)
  88. [AArch64][GlobalISel] Add a combine to fold away truncate in: G_ICMP EQ/NE (G_TRUNC(v), 0) (details)
  89. [DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas. (details)
  90. [GlobalISel] Implement computeKnownBits for G_ASSERT_ZEXT (details)
  91. [AArch64][GlobalISel] Enable CSE for the prelegalizer combiner. (details)
  92. Revert "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas." (details)
  93. [AMDGPU] Mark V_SET_INACTIVE as defining SCC (details)
  94. Ensure that we traverse non-op() method bodys of lambdas (details)
  95. [GlobalISel] Implement regbankselect for G_ASSERT_ZEXT (details)
  96. [AMDGPU] Fix WMM Entry SCC preservation (details)
  97. [libcxx][test] MoveOnly's comparisons are non-member (details)
  98. [libc][NFC] Add a few casts to suppress loss of precision warnings (details)
  99. [libcxx][test] move libc++-specific tests into the libcxx tree (details)
  100. Reland "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas" (details)
  101. Fix typo in "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas." (details)
  102. [NFC][llvm-nm] Fix unused variable warning (details)
  103. [NFC][DebugInfo] Fix Wreturn-type gcc warning (details)
  104. [lldb] Use `foo is None` instead of `not foo` in darwin.py (details)
  105. Support a list of CostPerUse values (details)
  106. [SCEV] Do not cache comparison result upon reached max depth as "equivalence". PR48725 (details)
  107. [LiveDebugVariables] Add cache for SkipPHIsLabelsAndDebug to prevent (details)
  108. [clang-format] Add option to control the spaces in a line comment (details)
  109. [llvm] Forward-declare formatted_raw_ostream (NFC) (details)
  110. [llvm] Populate SmallVector at construction time (NFC) (details)
  111. [MustExecute] Use ListSeparator (NFC) (details)
  112. [clang-tidy] bugprone-assert-side-effect: Improve warning message. (details)
  113. [clang-tidy] bugprone-assert-side-effect: Warn on NSAssert by default. (details)
  114. [NFC][ScalarizeMaskedMemIntrin] Fix unused variable warning (details)
  115. [clangd] Add include-fixer fixit for field_incomplete_or_sizeless diagnostic. (details)
  116. Revert "[clang-format] Add option to control the spaces in a line comment" (details)
  117. [llvm-readobj/elf] - Report "bitcode files are not supported" warning for bitcode files. (details)
  118. [libc][Obvious] Remove DEPS for unistd.h in CMake file of memmove. (details)
  119. [llvm-jitlink] Replace use of deprecated gethostbyname by getaddrinfo. (details)
  120. [clang-tooling] Prevent llvm::fatal_error on invalid CLI option (details)
  121. [libc][Obvious] Fix typo (details)
  122. [mlir] Prevent segfault in Tensor canonicalization (details)
  123. Adapt lldb-instr to d47ee525f9e92898 APi change (details)
  124. [OpenMP] libomp: fix build by cl with vs2019 (details)
  125. Fix macos target assumption in test (details)
  126. [libcxx] Implement the stat function family on top of native windows APIs (details)
  127. [libcxx] Implement _FilesystemClock::now() and __last_write_time for windows (details)
  128. [libcxx] Hook up a number of operation functions to their windows counterparts (details)
  129. [libcxx] Sanitize paths before creating symlinks on windows (details)
  130. [gn build] (semi-manually) port 2ff8662b5d16 (details)
  131. [LTO] Update splitCodeGen to take a reference to the module. (NFC) (details)
  132. [MemCpyOpt] Add test for incorrect optimization across lifetime (NFC) (details)
  133. [test] Use host platform specific error message substitution in lit tests (details)
  134. [Syntax] Add syntax-tree-dump in clang-check. (details)
  135. [gn build] port e90e455d2a0cc (details)
  136. [MachineLICM] Fix wrong and confusing comment. NFC. (details)
  137. [clangd] Extract symbol-scope logic out of Quality, add tests. NFC (details)
  138. Revert "[clangd] Extract symbol-scope logic out of Quality, add tests. NFC" (details)
  139. [mlir] Remove mlir_c_runner_utils_static. (details)
  140. [X86][SSE] combineExtractWithShuffle - support zero-extending to allow extracting from narrow shuffle masks (details)
  141. clang-cl: Invent a /winsysroot concept (details)
  142. clang-cl: Accept /std:c11, /std:c17 flags (details)
  143. [TableGen] Fix instantiating multiclass in foreach (details)
  144. [flang] Fix problems with constant arrays with lower bounds that are not 1 (details)
  145. [AMDGPU] Test all register names known to AMDGPUPALMetadata (details)
  146. Revert "Disable rosegment for old Android versions." (details)
  147. [GlobalISel] Fix modifying a G_OR without notifying the observer (details)
  148. [flang][docs] Add New Flang Driver Biweekly call (details)
  149. [mlir][docs] Fix typo: even -> event (details)
  150. [AArch64][Clang][Linux] Enable out-of-line atomics by default. (details)
  151. Make the profile-filter.c test compatible with 32-bit systems (details)
  152. [libcxx][test] explicitly discard bitset::test's return (details)
  153. [libcxx][test] Silence false positive MSVC /analyze warning (details)
  154. [OpenMP][NFC] Added release note for new `deviceRTLs` and hidden helper task (details)
  155. [OpenMP] Add environment variable to force monotonic dynamic scheduling (details)
  156. [libcxx][test] Silence MSVC narrowing warning (details)
  157. [AIX] Actually push back "-mabi=vec-extabi" when option is on. (details)
  158. [VE] Add include for formatted_raw_ostream after 046cfb856517c6140d5e1c0989232e26d00b05b2 (details)
  159. [GlobalISel] Remove hint instructions in generic InstructionSelect code. (details)
  160. [CMake] Actually require python 3.6 or greater (details)
  161. Revert "[CMake] Actually require python 3.6 or greater" (details)
  162. [mlir] Preserve lexicographic order after loop collapsing. (details)
  163. [clang-tidy] Fix linking tests to LLVMTestingSupport (details)
  164. Emit metadata when instr. profiles hash mismatch occurs. (details)
  165. [SVE] delete VectorType::getNumElements() (details)
  166. [LowerConstantIntrinsics] Preserve Dominator Tree, if avaliable (details)
  167. [ShadowStackGCLowering] Preserve Dominator Tree, if avaliable (details)
  168. [ExpandMemCmpPass] Preserve Dominator Tree, if available (details)
  169. [AMDGPU] Be more specific in needsFrameBaseReg (details)
  170. [NFC][RISCV] Remove redundant pseudo instructions for vector load/store. (details)
  171. [RISCV] Update the version number to v0.10 for vector. (details)
  172. [flang] Support disabled alternative PARAMETER statement (details)
  173. [RISCV]  Update the version number to v0.10 for vector. (details)
  174. Update ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0. (details)
  175. [VFS] Combine VFSFromYamlDirIterImpl and OverlayFSDirIterImpl into a single implementation (NFC) (details)
  176. [RISCV] Merge rv32 and rv64 vector fadd/fsub/fmul/fdiv sdnode tests into single tests files with 2 run lines. (details)
  177. Use type alias for large tuples (details)
  178. Detect Source Drift with Propeller. (details)
  179. [X86] Fix tile config register spill issue. (details)
  180. [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info (details)
  181. [lld-macho][NFC] Add new option group for versions (details)
  182. [NFC][VFS] Fix a build warning due to an extra semicolon (details)
  183. [llvm] Use append_range (NFC) (details)
  184. [llvm] Use llvm::lower_bound and llvm::upper_bound (NFC) (details)
  185. [llvm] Use isa instead of dyn_cast (NFC) (details)
  186. [ELF][test] Add --emit-relocs --gc-sections test for relocation section for a non-SHF_ALLOC section (details)
  187. [LTO] Use lto::backend for code generation. (details)
  188. [LTO] Add option enable NewPM with LTOCodeGenerator. (details)
  189. [compiler-rt][tests] Define TARGET_FLAGS (details)
  190. [ASTMatchers] Fix traversal below range-for elements (details)
  191. [LoopUnswitch] Properly update MSSA if header has non-clobbering stores. (details)
  192. Fix traversal with hasDescendant into lambdas (details)
  193. [llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file. (details)
  194. [RISCV] Update extractelt tests to sign-extend results (NFC) (details)
  195. [ASTMatchers] Fix definition of decompositionDecl (details)
  196. [TableGen] Use ListSeparator (NFC) (details)
  197. [AMDGPU] Forward-declare AMDGPUTargetMachine (NFC) (details)
  198. [llvm] Add missing header guards (NFC) (details)
  199. [ConstraintElimination] Verify CS and DFSInStack are in sync.(NFC) (details)
  200. [OpenMP][NVPTX] Refined CMake logic to choose compute capabilites (details)
  201. [TableGen] Avoid a couple vector copies in ExpandHwModeBasedTypes. (details)
  202. [TableGen] Use emplace_back to add to PatternsToMatch in GenerateVariants. Use std::move when adding to PatternsToMatch in AddPatternToMatch. (details)
  203. [RISCV] Use MVT instead of EVT in RISCVISelDAGToDAG.cpp (details)
  204. [flang] Improve shape & length characterization (details)
  205. [mlir][AVX512] Fix result type of vp2intersect (details)
  206. [RISCV] Add rv64 command line to bswap-ctlz-cttz-ctpop.ll. (details)
  207. [docs] Clarify compile_flags.txt subtleties (details)
  208. [clangd] Quote/escape argv included in log messages. (details)
  209. [clangd] Remove references to old future-based API. NFC (details)
  210. [libc++] Allow building with C++17. (details)
  211. [dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations. (details)
  212. Revert "[clangd] Quote/escape argv included in log messages." (details)
  213. Reland [clangd] Quote/escape argv included in log messages. (details)
  214. AMDGPU: Add missing consts (details)
  215. RegAlloc: Fix assert if all registers in class reserved (details)
  216. [VE] Fix compiler warnings (NFC) (details)
  217. [TableGen] Use ListSeparator (NFC) (details)
  218. [llvm] Drop unnecessary const from return types (NFC) (details)
  219. [lldb] [Process/FreeBSDRemote] Introduce arm64 support (details)
  220. [lldb] [Process/FreeBSDRemote] Introduce arm (32-bit) support (details)
  221. [ConstraintElimination] Add tests for ICMP_EQ predicates. (details)
  222. [LTOCodeGenerator] Use lto::Config for options (NFC). (details)
  223. [LSan][RISCV] Enable LSan for RISCV64 (details)
  224. Fix omitted kw in type alias printer (details)
  225. [RISCV][LegalizeTypes] Try to expand BSWAP before promoting if the promoted BSWAP would expand anyway. (details)
  226. CFG: Create scope for non-compound range-for body. (details)
  227. [CMake][compiler-rt][RISCV] Support RISC-V cross-compilation (details)
  228. [Sanitizer][RISCV] Fix FastUnwindTest (details)
  229. [CodeGenPrepare] Also skip lifetime.end intrinsic when check return block in dupRetToEnableTailCallOpts. (details)
  230. Fix test in "CFG: Create scope for non-compound range-for body." (details)
  231. [OpenMP] Fix comment and assertion strings (NFC). (details)
  232. [JITLink] Add missing symbols for ELF ehframe testcase, re-enable on Windows. (details)
  233. [RISCV] Custom lower fshl/fshr with Zbt extension. (details)
  234. Revert "[JITLink] Add missing symbols for ELF ehframe testcase, re-enable ...." (details)
  235. [X86] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV) to improve readability. NFC (details)
  236. [PowerPC] Remove vnot_ppc and replace with the standard vnot. (details)
  237. [Mips] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV). NFCI (details)
  238. [FPEnv] Intrinsic for setting rounding mode (details)
  239. [TableGen] Don't commute isel patterns if it would put an immAllOnesV or immAllZerosV on the left hand side. (details)
  240. [OpenMP] Fix python3 compatibility in openmp's lit.cfg (details)
  241. [mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding (details)
  242. [mlir] Fix missing null termination in cuLinkAddData argument. (details)
  243. Revert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding" (details)
  244. [lldb][docs] Attempt to disable the generated GitHub button on the LLDB website (details)
  245. [LoopPeel] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed. (details)
  246. [LoopUnswitch] Add shortcut if unswitched path is a no-op. (details)
  247. [LoopUnswitch] Pacify compiler warnings. (details)
  248. [VE] Change inetger constants 32-bit friendly (details)
  249. [ARM] Simplify extract of VMOVDRR (details)
  250. [X86][AVX] combineExtractWithShuffle - combine extracts from 256/512-bit vector shuffles. (details)
  251. [Verifier] enable llvm.experimental.noalias.scope.decl dominance check. (details)
  252. [ARM] Turn sext_inreg(VGetLaneu) into VGetLaneu (details)
  253. [Branch-Rename] Fix some links (details)
  254. [lldb/API] Expose Module::IsLoadedInTarget() to SB API (NFC) (details)
  255. [AMDGPU][MC] Corrected error position for invalid operands (details)
  256. [lldb] Remove a stray semicolon, fixing GCC warnings. NFC. (details)
  257. Revert "[clang][cli] Port OpenMP-related LangOpts to marshalling system" (details)
  258. [lldb] Use current execution context in SBDebugger (details)
  259. NFC: Migrate SpeculativeExecution to work on InstructionCost (details)
  260. [LV] Fix crash when computing max VF too early (details)
  261. GlobalISel: check type size before getZExtValue()ing it. (details)
  262. [lldb/test] Skip `SBTarget::IsLoaded` test on windows (NFC) (details)
  263. [ConstraintElimination] Add tests for signed predicates. (details)
  264. Revert "[Verifier] enable llvm.experimental.noalias.scope.decl dominance check." (details)
  265. [SCEV] Bail out if URem operand cannot be zero-extended. (details)
  266. [SVE][CodeGen] Remove performMaskedGatherScatterCombine (details)
  267. [clangd] Rename: merge index/AST refs path-insensitively where needed (details)
  268. [gn build] Port b63cd4db915c (details)
  269. [clangd] Don't rely on builtin headers for document-link.test. (details)
  270. [libc++] Fix for the Bug 41784 (details)
  271. [APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI. (details)
  272. [TableGen] Fix anonymous record self-reference in foreach and multiclass (details)
  273. [clangd] Respect ReferencesParams.context.includeDeclarations (details)
  274. [ARM] Simplify VMOVRRD from extracts of buildvectors (details)
  275. [SimplifyCFG] NFC: Rename static methods to clang-tidy standards. (details)
  276. NFC: Migrate SimplifyCFG to work on InstructionCost (details)
  277. Revert rGce587529ad8b5 - "[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI." (details)
  278. [clangd] references: decls of overrides of x are refs to x, not decls (details)
  279. [OpenMP] Fix seg fault in libomptarget when using Info with multiple threads (details)
  280. [clangd] Remove some obsolete options that are now always on (details)
  281. [compiler-rt] Fix AArch64 out-of-line atomics visibility on mach-o (details)
  282. [AMDGPU] Fix crash with sgpr spills to vgpr disabled (details)
  283. [AMDGPU] Fix release build after 0397dca0. (details)
  284. [flang] Fix parsing of WRITE(I+J) with more accurate look-ahead (details)
  285. [ConstraintElimination] Negate IR condition directly. (details)
  286. [RISCV] Optimize (srl (and X, 0xffff), C) -> (srli (slli X, 16), 16 + C). (details)
  287. [GlobalISel] Make sure G_ASSERT_ZEXT's src ends up with the same rc as dst (details)
  288. [RISCV] Update comment text from D95774. NFC (details)
  289. [RISCV] Add scalable vector support for floating point FMA instructions (details)
  290. [LTO] Move part of gold devirt test to v1.16 directory (details)
  291. [AArch64][GlobalISel] Emit G_ASSERT_ZEXT in assignValueToReg (details)
  292. [libc++] Implements concept default_initializable. (details)
  293. [OpenMP] Disable tests if FileCheck is not available in in-tree building (details)
  294. [X86][SSE] LowerScalarImmediateShift - use APInt::getLowBitsSet for vXi8 ISD::SRL mask generation. NFCI. (details)
  295. [X86][AVX] Add 'OK' tests cases for PR48877 (details)
  296. [flang][directive] Enforce basic semantic check for all clauses (details)
  297. [NFC] Disallow unused prefixes under clang/test/Driver (details)
  298. [libc] Small adjustments to fenv tests (details)
  299. [InstCombine] add tests for min/max with extend and constant operand; NFC (details)
  300. [InstCombine] try to narrow min/max intrinsics with constant operand (details)
  301. [clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup (details)
  302. [elfabi] Fix tests which failed on different timezones (details)
  303. [X86] Accept 64-bit GPRs for vextractps when using a register that requires EVEX. (details)
  304. [NewPM][Unswitch] Add option to disable -O3 non-trivial unswitching (details)
  305. [ARM] Flatten identity shuffles through vqdmulh nodes (details)
  306. [libc][NFC] Add a death test API adaptation macro (details)
  307. [libc++][format] Add basic_format_parse_context. (details)
  308. [ConstantHoisting] Fix bug where constant materialization could insert into EH pad (details)
  309. [WebAssembly] fixed wasm64 data segment init exp not 64-bit (details)
  310. [mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding (details)
  311. [Loads] Plumb through TLI argument [NFC] (details)
  312. [OpenMP] libomp: implement nteams-var and teams-thread-limit-var ICVs (details)
  313. [mlir][spirv] Add support for OpImageType (details)
  314. Revert "[mlir][spirv] Add support for OpImageType" (details)
  315. [ConstraintElimination] Add support for EQ predicates. (details)
  316. Avoid string comparisons on the fast path of MLIR Identifier lookup (NFC) (details)
  317. Revert "[libc++][format] Add basic_format_parse_context." (details)
  318. [LoopVectorize] improve IR fast-math-flags propagation in reductions (details)
  319. NFC: Re-generate out-of-date matchers docs (details)
  320. [tests] highlight cornercase w/deref hoisting from D95815 (details)
  321. [mlir][spirv] Add support for OpImageType (details)
  322. [clang-format] Add option to control the spaces in a line comment (details)
  323. [CSSPGO] Tweaking inlining with pseudo probes. (details)
  324. [AMDGPU] Set s-memtime-inst feature from clang (details)
  325. [llvm-objcopy] -O binary: consider SHT_NOBITS sections to be empty (details)
  326. [InstrProfiling] Use !associated metadata for counters, data and values (details)
  327. [NFC][X86] Avoid redundant work inspecting callee (details)
  328. [NFC][X86] Use CallBase interface to simplify code (details)
  329. [flang][NFC] Rename complex type. (details)
  330. [obj2yaml, yaml2obj] Use Hex64 for BBAddressMap fields. (details)
  331. [lldb] Use the host architecture in TestAppleSimulatorOSType.py (details)
  332. [x86] introduce no_callee_saved_registers attribute (details)
  333. [OpenMP][Libomptarget] Remove possible harmful copy constructor call for RTLsTy (details)
  334. [Utils] Add a switch controlling prefix warnings in UpdateTestChecks (details)
  335. [mlir] Add custom directive hooks for printing mixed integer or value operands. (details)
  336. AMDGPU: Fix dbg_value handling when forming soft clause bundles (details)
  337. [LoopVectorize] Relax a FCmpInst assert to dyn_cast after D95690 (details)
  338. [test] Fix unuses FileCheck prefixes in clang/test/Modules (details)
  339. [test] Fix unuses FileCheck prefixes in lld (details)
  340. [llvm] Use pop_back_val (NFC) (details)
  341. [TableGen] Use ListSeparator (NFC) (details)
  342. [TableGen] Use range-based for loops (NFC) (details)
  343. [VFS] Add support to RedirectingFileSystem for mapping a virtual directory to one in the external FS. (details)
  344. clang-extra: fix incorrect use of std::lock_guard by adding variable name (identified by MSVC [[nodiscard]] error) (details)
  345. [test] Fix unused FileCheck prefixes in compiler-rt/test (details)
  346. [AArch64] Homogeneous Prolog and Epilog Size Optimization (details)
  347. [MLIR][TOSA] Comparison based elementwise operations for tosa-to-linalg (details)
  348. [test] Fix unused FileCheck prefixes in lldb (details)
  349. [test] Default clang/test to FileCheck --allow-unused-prefixes=false (details)
  350. [SCEV] Apply loop guards to divisibility tests (details)
  351. [test] Fix unused FileCheck prefixes in compiler-rt (details)
  352. [ORC] Clear unused materializing info entries. (details)
  353. [test] Fix unused FileCheck prefixes in clang-tidy and one llvm/test/Reduce test (details)
  354. [test] Fix unused FileCheck prefixes in test/Reduce (details)
  355. Revert "[AArch64] Homogeneous Prolog and Epilog Size Optimization" (details)
  356. [NFC][Docs] Fix RAVFrontendAction doc's CMakelists.txt for Shared build (details)
  357. [SelectionDAG] Prevent scalable vector warning from ComputeNumSignBits on extract_vector_elt on a scalable vector. (details)
  358. [mlir][Standard] Extend n-D vector lowering to LLVM to [s|z]exti ops. (details)
  359. [CSSPGO] Call site prioritized inlining for sample PGO (details)
  360. [RISCV] Replace NoX0 SDNodeXForm with a ComplexPattern to do the selection of the VL operand. (details)
  361. Added clamp i64 to i16 global isel pattern. (details)
  362. clang-format (details)
  363. Added comments. (details)
  364. Added early exit. (details)
  365. Renames (details)
  366. Refactored the pattern matching. (details)
  367. Fixed the lit tests and a bug in the implementation. (details)
  368. Reverted unintended git-format change. (details)
  369. Renamed identifiers in lit (details)
  370. Move Combiner to PreLegalize step (details)
  371. Move step to PreLegalizer (details)
  372. Fixed tests. (details)
  373. Code changes yielded from review. (details)
  374. Resolve formatting changes. (details)
  375. Updating formatting changes. (details)
  376. Formatting changes. (details)
  377. Formatting changes (details)
  378. Added and used new target pseudo for v_cvt_pk_i16_i32, changes due to code review. (details)
  379. Implemented a MED3_S32 GIR opcode. (details)
  380. Removed the generic virtual register creations. Reworked the tests. (details)
  381. Renamed med3 opcode, removed superfluous copy. (details)
  382. Added missing includes. (details)
  383. Reverted whitespace changes. (details)
  384. Fixed includes. (details)
  385. Fixed includes. (details)
  386. Removed Diff file. (details)
  387. [CSSPGO] Factor out common part for CSSPGO inline and AFDO inline (details)
  388. Fix build break from D95024 (details)
  389. [AMDGPU] Clarify calling conv about inactive lanes (details)
  390. [AMDGPU] Mark epilog restores as frame-destroy (details)
  391. [dllimport] Honor always_inline when deciding whether a dllimport function should be available for inlining (PR48925) (details)
  392. [mlir] Keep track of region signature conversions as argument replacements (details)
  393. Fold one-use variable into assert. NFCI. (details)
  394. [SVE][LoopVectorize] Add masked load/store and gather/scatter support for SVE (details)
  395. [flang][driver] Disallow non-existent input files in the frontend driver (details)
  396. [ARM] Regenerate LowOverheadLoops mir tests. NFC (details)
  397. Revert "Fix build break from D95024" (details)
  398. Revert "[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline" (details)
  399. [ARM] Remove DLS lr, lr (details)
  400. [OpenCL] Change extension handling for -fdeclare-opencl-builtins (details)
  401. [X86][AVX] Add missing VEX_WIG tags from VPACKUSDW/VPHSUBD/VPCMPISTRI/VPCMPISTRM/VPCMPESTRI/VPCMPESTRM (details)
  402. [mlir][Linalg] Refactor Linalg vectorization for better reuse and extensibility. (details)
  403. [X86] Fix disassembly of x86-64 GDTLS code sequence (details)
  404. [X86][AVX512] Support variable-index vector insertion on AVX512 targets (PR47924) (details)
  405. [AMDGPU][MC] Corrected parsing of optional modifiers (details)
  406. [mlir][Linalg] Fix unused variable warning in Release builds. NFC. (details)
  407. [clangd] Report only decl of overridding method in xref. (details)
  408. Revert "[test] Default clang/test to FileCheck --allow-unused-prefixes=false" (details)
  409. [mlir][Linalg] Fix and properly test CodegenStrategy API (details)
  410. [ASTMatchers] Fix matching after generic top-level matcher (details)
  411. NFC: Migrate SimpleLoopUnswitch to work on InstructionCost (details)
  412. NFC: Migrate SpeculateAroundPHIs to work on InstructionCost (details)
  413. Revert "[lldb] Use current execution context in SBDebugger" (details)
  414. [X86][SSE] LowerINSERT_VECTOR_ELT - pull out repeated EltSizeInBits calls. NFCI. (details)
  415. [ARM] Select VINS from vector inserts (details)
  416. [ASTMatchers] Add matchers for decomposition decls (details)
  417. [clang-format] Add case aware include sorting. (details)
  418. [ARM] Extra shuffle tests. NFC (details)
  419. Revert "[InstrProfiling] Use !associated metadata for counters, data and values" (details)
  420. [ASTMatchers] Ignore parts of BindingDecls which are not spelled in source (details)
  421. [clangd] Fix race in Global CDB shutdown (details)
  422. [AVR][clang] Fix a bug in AVR toolchain search paths (details)
  423. [NFC][InstCombine] Add tests for  (~x) a>> y  -->  ~(x a>> y)  fold (PR48995) (details)
  424. [InstCombine] Host inversion out of ashr's value operand (PR48995) (details)
  425. [mlir] Put template specialization in the same namespace (details)
  426. [clang][PATCH][NFC] Correct test case related to review D95482 (details)
  427. [OpenCL] Add diagnostics for references to functions (details)
  428. Ensure that the matcher is instantiated (details)
  429. [ARM] Add MVE insert-of-extract pattern (details)
  430. [PowerPC] Materialize 34 bit constants with pli on Power 10. (details)
  431. [OpenMP][NFC] Adding FAQ Entry for errors with static libraries (details)
  432. [CSSPGO] Factor out common part for CSSPGO inline and AFDO inline (details)
  433. [AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul (details)
  434. [mlir] Fix scf.for single iteration canonicalization check (details)
  435. [mlir][spirv] Define sp.VectorShuffle (details)
  436. Revert "[mlir] Fix scf.for single iteration canonicalization check" (details)
  437. [AMDGPU] Save fp/bp after csr saves (details)
  438. [AMDGPU] Remove unused tmp register (details)
  439. Fixed failing OpenCL test (details)
  440. [ARM] Mark MVE_VMOV_to_lane_32 as isInsertSubregLike (details)
  441. [ConstraintElimination] Add nicer way to dump constraints (NFC). (details)
  442. [flang][NFC] Update #include and comment. (details)
  443. [OpenMP] Fix sign comparison warnings from GCC (details)
  444. [ARM] Correct some tablegen operand types. NFC (details)
  445. [InlineFunction] Only update noalias scopes once for an instruction. (details)
  446. [ExpandReductions] add test for fmin with FMF; NFC (details)
  447. [yaml2obj/obj2yaml/llvm-readobj] Support SHF_GNU_RETAIN (details)
  448. [MC] Support SHF_GNU_RETAIN as section flag 'R' (details)
  449. [test] Add basic _Unwind_ForcedUnwind + exception tests (details)
  450. [ConstraintElimination] Add test with pointer bitcast. (details)
  451. [MC] Upgrade DWARF version to 5 upon .file 0 (details)
  452. [debugserver] Fix -Winconsistent-missing-override warnings on arm64 (details)
  453. [CSSPGO] Passing the clang driver switch -fpseudo-probe-for-profiling to the linker. (details)
  454. [ELF] Delete unused --warn-ifunc-textrel (details)
  455. [libcxx] Implement the space function for windows (details)
  456. [lld-macho][NFC] refactor relocation handling (details)
  457. [OpenMP] Fix iterations calculation for dependent counters. (details)
  458. [debugserver] Fix -Wunused-function warnings on arm64 (details)
  459. [RISCV] Use a ComplexPattern to merge isel patterns for vector load/store with GPR and FrameIndex addresses. (details)
  460. [ConstraintElimination] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off build (details)
  461. [debugserver] Fix -Wsign-compare warnings on arm64 (details)
  462. [mlir][NFC] Use explicit `mlir` namespace in generated code (details)
  463. [mlir][NFC] Add missing include guards to MlirOptMain.h (details)
  464. [mlir] Allow to use constant lambda as callbacks for `TypeConverter` (details)
  465. [mlir] Print more verbose message in case of type inference error (details)
  466. [debugserver] Fix -Wmissing-field-initializers warnings on arm64 (details)
  467. [mlir] Return new Operation from `Rewriter::replaceOpWithNewOp` (details)
  468. [RISCV] Correct types in tablegen multiclasses found by D95874. (details)
  469. [RISCV] Fix incorrect RVV sdiv/udiv lowering (details)
  470. Fix CMake LLVM_TARGETS_TO_BUILD "Native" option to work with JIT (details)
  471. [mlir] Delay adding the __resume function (details)
  472. [MLIR] [CMake] Support building MLIR standalone (details)
  473. Fix namespace for MLIR Async Runtime (details)
  474. [test] Default clang/test to FileCheck --allow-unused-prefixes=false (details)
  475. [flang] Detect UBOUND() error on assumed-size array (details)
  476. [flang] Implement IEEE_SUPPORT_xxx inquiry functions (details)
  477. Ensure that InstructionCost actually implements a total ordering (details)
  478. [flang][NFC] Update #include. (details)
  479. [CSSPGO] Introducing distribution factor for pseudo probe. (details)
  480. [flang][NFC] Update the CG rewrite pass. (details)
  481. [mlir][Pattern] Create a new IRRewriter class to enable sharing code with pattern rewrites (details)
  482. Revert "Ensure that InstructionCost actually implements a total ordering" (details)
  483. [lldb] Convert assertTrue(a == b) to assertEqual(a, b) (details)
  484. Disable CFI in __get_elem to allow casting a pointer to uninitialized memory (details)
  485. Revert "Fix namespace for MLIR Async Runtime" (details)
  486. [libc++] Add new queues for specific macOS system versions (details)
  487. [libcxx] Implement the current_path function for windows (details)
  488. [libcxx] Implement the canonical function for windows (details)
Commit 6663330bc8c84a75ea092272297b557bfc310380 by llvm-dev
[X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - don't merge VPERMILPD ops with different low/high masks.

Unlike VPERMILPS, VPERMILPD can have non-repeating masks in each 128-bit subvector, we weren't accounting for this when folding vperm2f128(vpermilpd(x,c),vpermilpd(y,c)) -> vpermilpd(vperm2f128(x,y),c).

I'm intending to add support for this but wanted to get a minimal fix in first for merging into 12.xx.

Fixes PR48908
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll (diff)
Commit c571b168349fdf22d1dc8b920bcffa3d5161f0a2 by tianshilei1992
[OpenMP] Disabled profiling in `libomp` by default to unblock link errors

Link error occurred when time profiling in libomp is enabled by default
because `libomp` is assumed to be a C library but the dependence on
`libLLVMSupport` for profiling is a C++ library. Currently the issue blocks all
OpenMP tests in Phabricator.

This patch set a new CMake option `OPENMP_ENABLE_LIBOMP_PROFILING` to
enable/disable the feature. By default it is disabled. Note that once time
profiling is enabled for `libomp`, it becomes a C++ library.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95585
The file was modifiedopenmp/docs/design/Runtimes.rst (diff)
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp (diff)
The file was modifiedopenmp/runtime/src/CMakeLists.txt (diff)
The file was modifiedopenmp/runtime/src/kmp_config.h.cmake (diff)
The file was modifiedopenmp/CMakeLists.txt (diff)
The file was modifiedopenmp/runtime/CMakeLists.txt (diff)
Commit 0805e40a94d79e22d62f53bc308e0c27772bae44 by llvm-dev
AMDGPUPrintfRuntimeBinding - don't dereference a dyn_cast<> pointer. NFCI.

We dereference the dyn_cast<> in all paths - use cast<> to silence the clang static analyzer warning.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp (diff)
Commit 42635856ed3c9a05957640f9deb50cf865c03825 by bradley.smith
[AArch64][SVE] Allow accesses to SVE stack objects to use frame pointer

The layout of the stack frame for SVE means that using the frame pointer
rather than the stack pointer for an access to an SVE stack object
removes the need for an additional add to jump over the non-SVE objects.

Likewise the opposite is true for non-SVE stack objects.

This patch allows for the former to be done by having HasFP return true
in the presence of both SVE and non-SVE stack objects, and also fixes a
minor issue whereby the later would not be done for certain offsets.
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h (diff)
The file was modifiedllvm/test/CodeGen/AArch64/debug-info-sve-dbg-value.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/framelayout-sve.mir (diff)
Commit 299cc5da6df6be9f3c81c54e2e952c6d3519f63b by nicolas.vasilache
[mlir][Linalg] Further improve codegen strategy and add a linalg.matmul_i8_i8_i32

This revision adds a layer of SFINAE to the composable codegen strategy so it does
not have to require statically defined ops but instead can also be used with OpInterfaces, Operation* and an op name string.

A linalg.matmul_i8_i8_i32 is added to the .tc spec to demonstrate how all this works end to end.

Differential Revision: https://reviews.llvm.org/D95600
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h (diff)
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp (diff)
The file was addedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Generalization.cpp (diff)
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp (diff)
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgFusionTransforms.cpp (diff)
Commit 40f46cb0e4301b343d99771188e6bbad01c83c62 by david.green
[ARM] Add alignment checks for MVE VLDn

The MVE VLD2/4 and VST2/4 instructions require the pointer to be aligned
to at least the size of the element type. This adds a check for that
into the ARM lowerInterleavedStore and lowerInterleavedLoad functions,
not creating the intrinsics if they are invalid for the alignment of
the load/store.

Unfortunately this is one of those bug fixes that does effect some
useful codegen, as we were able to sometimes do some nice lowering of
q15 types. But they can cause problem with low aligned pointers.

Differential Revision: https://reviews.llvm.org/D95319
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll (diff)
Commit 19248d30e4ed5250fa84abbbd52fc7b835918a45 by tianshilei1992
[OpenMP][deviceRTLs] Added `[[clang::loader_uninitialized]]` explicitly

`[[clang::loader_uninitialized]]` is in macro `SHARED` but it doesn't
work for array like `parallelLevel`, so the variable will be zero initialized.
There is also a similar issue for `omptarget_nvptx_device_State` which is in
global address space. Its c'tor is also generated, which was not in the past when
building the `deviceRTLs` with CUDA. In this patch, we added the attribute to
the two variables explicitly.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95550
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omp_data.cu (diff)
Commit 5a64794bbad4010778406dfee7748e6080258dbf by tianshilei1992
[OpenMP][NVPTX] Added the missing -O1 when building NVPTX bitcode libraries

In the past `-O1` was used when building NVPTX bitcode libraries. After
we switched to OpenMP, `-O1` was missing by mistake, leading to a huge performance
regression.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D95545
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt (diff)
Commit 1b19c423029bd8eca75efe5cdb29ffd9f5b33feb by tianshilei1992
[OpenMP][deviceRTLs] Separate declaration of target dependent functions from `target_impl.h`

This patch created a new header file `target_interface.h` for declarations of all target dependent functions. All future targets can get things work by simply implementing all functions declared in the header and macros/data same as each `target_impl.h`.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D95300
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/common/debug.h (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip (diff)
The file was addedopenmp/libomptarget/deviceRTLs/target_interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h (diff)
Commit b9ff5da0c8af3b586d6bee4163e8a65b24d283d9 by Stefan Gränitz
[Orc] Remove unused header from TPC server

The header would include OrcJIT headers in OrcTargetProcess, which is not desired. All common declarations should be in OrcShared.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D95606
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRPCTPCServer.h (diff)
Commit 8900acc796bb8c4cc3315599119adb7e236da6dc by nicolas.vasilache
[mlir][Linalg] Reenable test that was mistakenly disabled
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir (diff)
Commit a112df63d4c8c29b4d4cf827665f06cde9dd83ec by llvm-dev
[X86] Add extload test cases from D95086

I've also added vselect variants of the vector cases
The file was modifiedllvm/test/CodeGen/X86/select-ext.ll (diff)
Commit 0024efc69ea6cd0b630cd11cef5991b7edb73ffc by hans
Relax test expectations in debug-info-gline-tables-only-codeview.cpp

To make it pass also on 32-bit Windows, see PR48920.
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp (diff)
Commit 7e6fe5c48a63c2a5b6ec963859070508115bf981 by nicolas.vasilache
[mlir] Fix subview verifier.

The subview verifier in the rank-reduced case is plainly skipping verification
when the resulting type is a memref with empty affine map. This is generally incorrect.

Instead, form the actual expected rank-reduced MemRefType that takes into account the projections of 1's dimensions. Then, check the canonicalized expected rank-reduced type against the canonicalized candidate type.

Differential Revision: https://reviews.llvm.org/D95316
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp (diff)
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp (diff)
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp (diff)
The file was modifiedmlir/test/IR/invalid-ops.mlir (diff)
Commit dfd2374ab6c393d675e7b4583bc279b2d7e9b51f by alexfh
[clang-tidy] Remove unnecessary #ifdef

The code was likely used to verify other changes in c3b9d85bd4b7249af9efe3594c6c152a032f83f8.
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp (diff)
Commit c818fa6729e02820c656431126d724d643001b70 by hanchung
[mlir][Linalg] Replace SimplePad with PadTensor in tile-and-pad

This revision creates a build method of PadTensorOp which can be mapped to
SimplePad op. The verifier is updated to accept a static custom result type,
which has the same semantic as SimplePadOp.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D95555
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir (diff)
Commit 70ea15b88953e56681b997373fb11c97eeb05c4e by abidh
[MC][ELF] Fix accepting abbreviated form with sh_flags and sh_entsize

Followup to D92052 as I missed an issue as shown via GCC bug https://gcc.gnu.org/PR97827, namely: (e.g.) ".rodata." implies ELF::SHF_ALLOC.

Crossref:

- D73999 / commit 75af9da755721123e62b45cd0bc0c5e688a9722a
  added for LLVM 11 a check that sh_flags and sh_entsize (and sh_type)
  changes are an error, in line with GNU assembler.

-  D92052 / commit 1deff4009e0ae661b03682901bf6932297ce7ea1
   permitted the abbreviated form which many assemblers accept and
   GCC generates: while the first .section contains the flags and entsize,
   subsequent sections simply contain the name without repeating entsize or
   flags.

However, the latter patch missed in the check that some flags are automatically set, e.g. '.rodata." implies ELF::SHF_ALLOC.

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

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D94072
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp (diff)
The file was modifiedllvm/test/MC/ELF/section-omitted-attributes.s (diff)
Commit 5169627c14258595f70b4b47a2153e8d01e1c94a by llvm-dev
[APFloat] scalbn - pass DoubleAPFloat arg as const-ref. NFCI.

Avoid unnecessary copy and fix clang-tidy warning.
The file was modifiedllvm/include/llvm/ADT/APFloat.h (diff)
The file was modifiedllvm/lib/Support/APFloat.cpp (diff)
Commit b06ccc74467be33485447eb4b2821954f2bb27aa by llvm-dev
[APFloat] Remove orphan ilogb(DoubleAPFloat) declaration. NFCI.
The file was modifiedllvm/include/llvm/ADT/APFloat.h (diff)
Commit bf5941afcda3ac6570ba25165758869287491e0d by Louis Dionne
[libc++] Fix extern-templates.sh.cpp test on Linux
The file was modifiedlibcxx/test/libcxx/debug/extern-templates.sh.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h (diff)
Commit 469096d18efde7622b2bc41d313e58ab7789d40e by hanchung
[mlir][Linalg] Fix tests in tile-and-pad

The check match in D95555 was wrong, this patch fixes it.

Differential Revision: https://reviews.llvm.org/D95618
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir (diff)
Commit 5bdc771fc97ed752af42562c33a18c3ea28b098e by csigg
[mlir] Make cuda/rocm-runtime-wrappers not depend on LLVMSupport.

Depending on the headers only is fine, but we do not want to use any symbols from LLVMSupport. If we do, static registration of cl options is linked in as well, and loading multiple such libraries in the cuda/rocm-runner fails because the same cl options are registered multiple times.

The cuda/rocm-runners also depend on LLVMSupport, so one could think that already loading a single such library would fail. It does not because the map of cl options is not shared between the runner and the loaded libraries (but it is shared across all loaded libraries, presumably because it has external linkage, in contrast to the static registration which has internal linkage).

This change is a preparation step for dynamically loading the mlir_async_runtime.so and cuda-runtime-wrappers.so in the same test. The async runtime depends on LLVMSupport in a more fundamental way (llvm::ThreadPool), and as explained above there can only be one.

This change also switches to add_mlir_library to make it consistent with the other runner_utils libraries.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D95613
The file was modifiedmlir/tools/mlir-rocm-runner/CMakeLists.txt (diff)
The file was modifiedmlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp (diff)
The file was modifiedmlir/tools/mlir-rocm-runner/rocm-runtime-wrappers.cpp (diff)
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt (diff)
Commit f84efe97bce138af0f8e21d3a03b7c5be168705b by llvm-dev
[X86][AVX] combineHorizOpWithShuffle - fix valuetype comparison typo.

Ensure we check the valuetypes of all the HOP(SHUFFLE(X,Y),SHUFFLE(X,Y)) shuffle input ops - there was a copy+paste typo (noticed by MSVC analyzer) that meant we were checking the same input from one of the shuffles twice.

I haven't been able to create a test case for this yet - I don't think its currently possible to create a target/faux binary shuffle that scales to a 2x128 shuffle mask from two different value types.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit e29552c5aff68c1cf4be695d8b8be327968852e8 by shauryab98
Revert "[DWARF] Create subprogram's DIE in DISubprogram's unit"

This reverts commit ef0dcb506300dc9644e8000c6028d14214be9d97.

This change is causing a lot of compiler crashes inside, sorry I don't have a
small repro/stacktrace with symbols to share right now.

Differential Revision: https://reviews.llvm.org/D95622
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was removedllvm/test/DebugInfo/X86/subprogram-across-cus.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h (diff)
Commit 5c0164890c2626393f954b79d2779174319dc958 by sbc
[lld][WebAssembly] Update comments mentioning legacy function names. NFC

The __wasm_apply_relocs function was split into two separate
functions as part of https://reviews.llvm.org/D93066 but these
comments were not correctly updated at the time.

Differential Revision: https://reviews.llvm.org/D95623
The file was modifiedlld/test/wasm/shared.ll (diff)
The file was modifiedlld/test/wasm/weak-undefined-pic.s (diff)
The file was modifiedlld/wasm/SyntheticSections.cpp (diff)
The file was modifiedlld/wasm/Writer.cpp (diff)
The file was modifiedlld/wasm/MarkLive.cpp (diff)
Commit 9cbef8c905cb565fea1b2fef51b75b0d00ad7ad9 by nicolas.vasilache
[mlir] Fix integration tests
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir (diff)
The file was modifiedmlir/include/mlir/ExecutionEngine/CRunnerUtils.h (diff)
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir (diff)
The file was modifiedmlir/lib/ExecutionEngine/RunnerUtils.cpp (diff)
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir (diff)
The file was modifiedmlir/lib/ExecutionEngine/CRunnerUtils.cpp (diff)
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir (diff)
Commit 207d4be4d9d39fbb9aca30e5d5d11245db9bccc1 by arthur.j.odwyer
[libc++] [P0879] constexpr std::nth_element, and rewrite its tests.

This patch is more than just adding the `constexpr` keyword, because
the old code relied on `goto`, and `goto` is not constexpr-friendly.
Refactor to eliminate `goto`, and then mark it as constexpr in C++20.

I freely admit that the name `__nth_element_partloop` is bad;
I couldn't find any better name because I don't really know
what this loop is doing, conceptually. Vice versa, I think
`__nth_element_find_guard` has a decent name.

Now the only one we're still missing from P0879 is `sort`.

Differential Revision: https://reviews.llvm.org/D93557
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp (diff)
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp (diff)
The file was modifiedlibcxx/include/algorithm (diff)
Commit 081c1db02dd2b48cf736d44862f7d7e8c2869577 by koraq
[libc++] Implement format_error.

This is the first step at implementing <format>. It adds the <format> header
and implements the `format_error`. class.

Implemnts parts of:
-P0645 Text Formatting

Reviewed By: ldionne, #libc, miscco, curdeius

Differential Revision: https://reviews.llvm.org/D92214
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/format.version.pass.cpp
The file was addedlibcxx/test/std/utilities/format/version.compile.pass.cpp
The file was addedlibcxx/include/format
The file was modifiedlibcxx/test/libcxx/double_include.sh.cpp (diff)
The file was addedlibcxx/src/format.cpp
The file was addedlibcxx/test/std/utilities/format/format.error/format.error.pass.cpp
The file was modifiedlibcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist (diff)
The file was modifiedlibcxx/include/CMakeLists.txt (diff)
The file was modifiedlibcxx/include/version (diff)
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py (diff)
The file was modifiedlibcxx/docs/Cxx2aStatusPaperStatus.csv (diff)
The file was modifiedlibcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist (diff)
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp (diff)
The file was modifiedlibcxx/include/module.modulemap (diff)
The file was modifiedlibcxx/src/CMakeLists.txt (diff)
The file was modifiedlibcxx/test/libcxx/min_max_macros.compile.pass.cpp (diff)
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst (diff)
The file was modifiedlibcxx/test/libcxx/no_assert_include.compile.pass.cpp (diff)
Commit ae82a8c86331ea400ed52e4e4a12211995e847b0 by craig.topper
[RISCV] Add support for scalable vector fneg using vfsgnjn.vv

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D95568
The file was addedllvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td (diff)
Commit 6640b9aa8aeb772c4ebc33ba5ca73159b977272d by ajcbik
[mlir][sparse] use typenames for opaque pointers

Makes intent more readable

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D95592
The file was modifiedmlir/integration_test/Sparse/CPU/frostt-example.mlir (diff)
The file was modifiedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir (diff)
Commit 18fe3fe0e74b161c723e1e5958ead795ca4fdb7e by koraq
[libc++] Implements concept constructible_from

Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can

Depends on: D91004

Reviewed By: ldionne, cjdb, #libc

Differential Revision: https://reviews.llvm.org/D91986
The file was addedlibcxx/test/std/concepts/concept.constructible/constructible_from.compile.pass.cpp
The file was modifiedlibcxx/include/concepts (diff)
Commit c5d4b77b178aaed323cf34013836e503679e376e by craig.topper
[RISCV] Remove isel patterns for Zbs *W instructions.

These instructions have been removed from the 0.94 bitmanip spec.
We should focus on optimizing the codegen without using them.

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D95302
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbs.ll (diff)
Commit 0f2901201e26c236e38b11fe602d6357782f865d by nicolas.vasilache
[mlir] Fix test by adapting to C util functions moving to libmlir_c_runner_utils
The file was modifiedmlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir (diff)
Commit 0bca9a7ce2eeaa9f1d732ffbc17769560a2b236e by a20012251
Fix lldb-vscode builds on Windows targeting POSIX

@stella.stamenova found out that lldb-vscode's Win32 macros were failing
when building on windows targetings POSIX platforms.

I'm changing these macros for LLVM_ON_UNIX, which should be more
accurate.
The file was modifiedlldb/tools/lldb-vscode/IOStream.h (diff)
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/VSCode.h (diff)
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/RunInTerminal.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/IOStream.cpp (diff)
Commit 2dd0c4d8462658c9a721356b306aa52825612416 by Casey
[libcxx][test] Update directory_entry test for C++20

P1614R2 removes most of `directory_entry`'s member comparison operators, leaving only `operator==` and `operator<=>`. This test should require the comparison expressions to be valid rather than require the member functions to be present so it is correct in both C++17 and C++20 modes.
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp (diff)
Commit b3af96d07b8bcdbc716b04629a1ad1d3d5f6ee5f by i
[llvm-nm] Display defined weak STT_GNU_IFUNC symbols as 'i'

This patch makes the behavior match GNU nm.
Note: undefined STT_GNU_IFUNC symbols use 'U'.

Differential Revision: https://reviews.llvm.org/D95461
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp (diff)
The file was modifiedllvm/test/tools/llvm-nm/ifunc.test (diff)
Commit cfcc1110d7733ad6c275eefd1773d243a719f9f3 by mtrofin
[NFC] Disallow unused prefixes under clang/test/CodeGenCXX

The only test that needed change had 'QUAL' as an unused prefix. The
rest of the changes are to simplify the prefix lists.

Differential Revision: https://reviews.llvm.org/D95499
The file was addedclang/test/CodeGenCXX/lit.local.cfg
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-display-name.cpp (diff)
Commit 62140d943cc200f66fc3274bbef5f9934e01c324 by Adrian Prantl
Better document the limitations of coro::salvageDebugInfo()

and fix a few edge cases that show up in the Swift compiler but
weren't caught by the existing tests. Most notably the old code wasn't
salvaging load operations correctly. The patch also gets rid of the
LoadFromFramePtr argument and replaces it with a more generalized
mechanism.
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp (diff)
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h (diff)
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp (diff)
The file was modifiedllvm/test/Transforms/Coroutines/coro-debug.ll (diff)
Commit 51457cd50624a5f3f684b80c2ce6feff1a2b3901 by csigg
[mlir] NFC: split --shared-libs option into multiple lines.
The file was modifiedmlir/test/mlir-cuda-runner/two-modules.mlir (diff)
The file was modifiedmlir/test/mlir-rocm-runner/vecadd.mlir (diff)
The file was modifiedmlir/test/mlir-rocm-runner/vector-transferops.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-min.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-max.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-op.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/gpu-to-cubin.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/multiple-all-reduce.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-and.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/shuffle.mlir (diff)
The file was modifiedmlir/test/mlir-rocm-runner/two-modules.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-region.mlir (diff)
The file was modifiedmlir/test/mlir-rocm-runner/gpu-to-hsaco.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-xor.mlir (diff)
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-or.mlir (diff)
Commit 39ef0965dfb26a56ee02f5aa513cdf235e8187b2 by jay.foad
[AMDGPU] Simplify some RUN lines. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll (diff)
Commit 658398c842019636376a00f7267853e96cd0d935 by thakis
[gn build] (semi-manually) port 081c1db02dd2
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn (diff)
Commit 275c6af7d7f1ed63a03d05b4484413e447133269 by aardappel
[WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers

Differential Revision: https://reviews.llvm.org/D95410
The file was addedllvm/test/CodeGen/WebAssembly/fast-isel-call-indirect64.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp (diff)
Commit d6be27734764ec9718b4206c4b77dfac6c67b1d8 by zinenko
[mlir] turn complex-to-llvm into a partial conversion

It is no longer necessary to also convert other "standard" ops along with the
complex dialect: the element types are now built-in integers or floating point
types, and the top-level cast between complex and struct is automatically
inserted and removed in progressive lowering.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D95625
The file was addedmlir/test/Conversion/ComplexToLLVM/full-conversion.mlir
The file was modifiedmlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp (diff)
The file was modifiedmlir/test/Dialect/LLVMIR/dialect-cast.mlir (diff)
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp (diff)
The file was modifiedmlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir (diff)
Commit 4318028cd2d7633a0cdeb0b5d4d2ed81fab87864 by dblaikie
DebugInfo: Add a DWARF FORM extension for addrx+offset references to reduce relocations

This is an alternative to the use of complex DWARF expressions for
addresses - shaving off a few extra bytes of expression overhead.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (diff)
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIE.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/DIE.h (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/DIEValue.def (diff)
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIEHash.cpp (diff)
The file was modifiedllvm/test/DebugInfo/X86/ranges_always.ll (diff)
Commit 8c54583b2e02bdb5d857af6100283eb97f29080b by thakis
[gn build] (manually) port 3b625060fc915
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn (diff)
Commit eae50bb2105abb739477f786c6c821ab1131f90e by thakis
[gn build] (manually) port 081c1db02dd2 more
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn (diff)
Commit 8af0ccf5a498fb75f13aef0e3bd5c00bc348693f by ajcbik
[sparse][mlir] give all sparse kernels an explicit "output" tensor

Rationale:
Providing an output tensor, even if one is not used as input to
the kernel provides the right pattern for using lingalg sparse
kernels (in contrast with reusing a tensor just to provide the shape).
This prepares proper bufferization that will follow.

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D95587
The file was modifiedmlir/test/Dialect/Linalg/sparse_nd.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_invalid.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_1d.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_vector.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_3d.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_parallel.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_2d.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_storage.mlir (diff)
Commit acaf85f7000e69766f5a86a52bff0becc50aaa91 by jpienaar
Add convenience function for checking arrays of shapes compatible.

Expand existing one to handle the common case for verifying compatible
is existing and inferred. This considers arrays equivalent if they they
have the same size and pairwise compatible elements.
The file was modifiedmlir/lib/IR/TypeUtilities.cpp (diff)
The file was modifiedmlir/include/mlir/IR/TypeUtilities.h (diff)
Commit 4b68b64dcc5bcd6f29779b820791611c60438385 by tlively
[WebAssembly] Prototype i8x16 to i32x4 widening instructions

As proposed in https://github.com/WebAssembly/simd/pull/395 and matching the
opcodes used in V8:
https://chromium-review.googlesource.com/c/v8/v8/+/2617385/4/src/wasm/wasm-opcodes.h

Differential Revision: https://reviews.llvm.org/D95557
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def (diff)
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s (diff)
The file was modifiedclang/test/CodeGen/builtins-wasm.c (diff)
Commit 1e790b745d7e3b0c79deec2de202a4de7e7a66c3 by hanchung
[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding

This is the last revision to migrate using SimplePadOp to PadTensorOp, and the
SimplePadOp is removed in the patch. Update a bit in SliceAnalysis because the
PadTensorOp takes a region different from SimplePadOp. This is not covered by
LinalgOp because it is not a structured op.

Also, remove a duplicated comment from cpp file, which is already described in a
header file. And update the pseudo-mlir in the comment.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D95615
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h (diff)
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp (diff)
Commit 2c7cc5fd20e6b8cbd4d841f6debf4d8b14405c0d by hanchung
Revert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding"

This reverts commit 1e790b745d7e3b0c79deec2de202a4de7e7a66c3.

Differential Revision: https://reviews.llvm.org/D95636
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp (diff)
Commit 85b7b5625a009c738cec626cd5b02cd04d1546d5 by dblaikie
Fix memory leak in 4318028cd2d7633a0cdeb0b5d4d2ed81fab87864
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (diff)
Commit 2e470e03b49f1d79ebc315ca9d62a690a633c0cd by conanap
[PowerPC][Power10] Fix XXSPLI32DX not correctly exploiting specific cases

Some cases may be transformed into 32 bit splats before hitting the boolean statement, which may cause incorrect behaviour and provide XXSPLTI32DX with the incorrect values of splat. The condition was reversed so that the shortcut prevents this problem.

Differential Revision: https://reviews.llvm.org/D95634
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/p10-splatImm32.ll (diff)
Commit fe190cf6c99e03389ded12f435da1658d52b782d by Mike Edwards
Removing the main to master sync GitHub workflow.
The file was added.github/workflows/README.md
The file was removed.github/workflows/main-branch-sync.yml
Commit 39ecfe614350fa5db7b8f13f81212f8e3831a390 by Duncan P. N. Exon Smith
Support: Simplify __HAIKU__ #ifdef in llvm::sys::Wait, NFC

This just reduces the amount of code in the `#ifndef` block as a
follow-up to 5c1cea6f406366b85f3c200a1c48f713da4450ba.
The file was modifiedllvm/lib/Support/Unix/Program.inc (diff)
Commit 6f0df3cddb3e3f38df1baa7aa4d743a74bb46688 by steveire
[ASTMatchers] Avoid pathological traversal over nested lambdas

Differential Revision: https://reviews.llvm.org/D95573
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp (diff)
Commit 3c79734f29284d6b54f1867a03428a3d9fd338d9 by steveire
[ASTMatchers] Add invocation matcher

Differential Revision: https://reviews.llvm.org/D94865
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp (diff)
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp (diff)
The file was modifiedclang/docs/LibASTMatchersReference.html (diff)
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp (diff)
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h (diff)
Commit c4819eec1a2aea4758cc1ed38aefb0f1c9dec94a by phosek
[CMake][libc] Don't do CPU feature detection when cross-compiling

We won't be able to run the compiled program since it will be compiled
for different system. We instead allow passing the CPU features via
CMake option in that case.

Differential Revision: https://reviews.llvm.org/D95203
The file was modifiedlibc/test/src/string/CMakeLists.txt (diff)
The file was modifiedlibc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake (diff)
Commit 1daaa6432e844404006aca55358e0500928d65fb by phosek
[CMake][libc] Support cross-compiling libc-hdrgen

This is useful when cross-compiling libc to another target in which
case we first need to compile libc-hdrgen for host. We rely on the
existing LLVM CMake infrastructure for that.

Differential Revision: https://reviews.llvm.org/D95205
The file was modifiedlibc/cmake/modules/LLVMLibCHeaderRules.cmake (diff)
The file was modifiedlibc/utils/CMakeLists.txt (diff)
The file was modifiedlibc/CMakeLists.txt (diff)
The file was modifiedlibc/utils/HdrGen/CMakeLists.txt (diff)
Commit bacf9cf2c5cdec3567580e5030c4c82f42b3d745 by rnk
Revert "[PDB] Defer relocating .debug$S until commit time and parallelize it"

This reverts commit 1a9bd5b81328adf0dd5a8b4f3ad5949463e66da3.

I suspect that this patch may have caused https://crbug.com/1171438.
The file was modifiedllvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp (diff)
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h (diff)
The file was modifiedlld/COFF/Chunks.h (diff)
The file was modifiedlld/COFF/Chunks.cpp (diff)
The file was modifiedllvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp (diff)
The file was modifiedlld/COFF/PDB.cpp (diff)
Commit f8122d35325d9a5d3db7d4c0d40bcdeae15bee5a by gclayton
Add the ability to extract the unwind rows from DWARF Call Frame Information.

This patch adds the ability to evaluate the state machine for CIE and FDE unwind objects and produce a UnwindTable with all UnwindRow objects needed to unwind registers. It will also dump the UnwindTable for each CIE and FDE when dumping DWARF .debug_frame or .eh_frame sections in llvm-dwarfdump or llvm-objdump. This allows users to see what the unwind rows actually look like for a given CIE or FDE instead of just seeing a list of opcodes.

This patch adds new classes: UnwindLocation, RegisterLocations, UnwindRow, and UnwindTable.

UnwindLocation is a class that describes how to unwind a register or Call Frame Address (CFA).

RegisterLocations is a class that tracks registers and their UnwindLocations. It gets populated when parsing the DWARF call frame instruction opcodes for a unwind row. The registers are mapped from their register numbers to the UnwindLocation in a map.

UnwindRow contains the result of evaluating a row of DWARF call frame instructions for the CIE, or a row from a FDE. The CIE can produce a set of initial instructions that each FDE that points to that CIE will use as the seed for the state machine when parsing FDE opcodes. A UnwindRow for a CIE will not have a valid address, whille a UnwindRow for a FDE will have a valid address.

The UnwindTable is a class that contains a sorted (by address) vector of UnwindRow objects and is the result of parsing all opcodes in a CIE, or FDE. Parsing a CIE should produce a UnwindTable with a single row. Parsing a FDE will produce a UnwindTable with one or more UnwindRow objects where all UnwindRow objects have valid addresses. The rows in the UnwindTable will be sorted from lowest Address to highest after parsing the state machine, or an error will be returned if the table isn't sorted. To parse a UnwindTable clients can use the following methods:

    static Expected<UnwindTable> UnwindTable::create(const CIE *Cie);
    static Expected<UnwindTable> UnwindTable::create(const FDE *Fde);

A valid table will be returned if the DWARF call frame instruction opcodes have no encoding errors. There are a few things that can go wrong during the evaluation of the state machine and these create functions will catch and return them.

Differential Revision: https://reviews.llvm.org/D89845
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp (diff)
The file was modifiedllvm/test/DebugInfo/X86/debug_frame-invalid-cie-offset.s (diff)
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h (diff)
The file was modifiedllvm/test/DebugInfo/X86/debug-frame-cie-id-dwarf64.s (diff)
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp (diff)
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h (diff)
The file was modifiedllvm/test/tools/llvm-objdump/eh_frame-mipsel.test (diff)
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp (diff)
Commit ac70a53653d45d0dc6cf50c65b7215d5b7bb8c19 by Andrey.Churbanov
[OpenMP] NFC: disabled two flakey tests as the bug in libomp not fixed yet
The file was modifiedopenmp/runtime/test/env/kmp_set_dispatch_buf.c (diff)
The file was modifiedopenmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c (diff)
Commit 24261729a49feb4cf0376c6f9326374ab28ec0a5 by Jessica Paquette
[GlobalISel] Add G_ASSERT_ZEXT

This adds a generic opcode which communicates that a type has already been
zero-extended from a narrower type.

This is intended to be similar to AssertZext in SelectionDAG.

For example,

```
%x_was_extended:_(s64) = G_ASSERT_ZEXT %x, 16
```

Signifies that the top 48 bits of %x are known to be 0.

This is useful in cases like this:

```
define i1 @zeroext_param(i8 zeroext %x) {
  %cmp = icmp ult i8 %x, -20
  ret i1 %cmp
}
```

In AArch64, `%x` must use a 32-bit register, which is then truncated to a 8-bit
value.

If we know that `%x` is already zero-ed out in the relevant high bits, we can
avoid the truncate.

Currently, in GISel, this looks like this:

```
_zeroext_param:
  and w8, w0, #0xff ; We don't actually need this!
  cmp w8, #236
  cset w0, lo
  ret
```

While SDAG does not produce the truncation, since it knows that it's
unnecessary:

```
_zeroext_param:
  cmp w0, #236
  cset w0, lo
  ret
```

This patch

- Adds G_ASSERT_ZEXT
- Adds MIRBuilder support for it
- Adds MachineVerifier support for it
- Documents it

It also puts G_ASSERT_ZEXT into its own class of "hint instruction." (There
should be a G_ASSERT_SEXT in the future, maybe a G_ASSERT_ALIGN as well.)

This allows us to skip over hints in the legalizer etc. These can then later
be selected like COPY instructions or removed.

Differential Revision: https://reviews.llvm.org/D95564
The file was addedllvm/test/MachineVerifier/test_g_assert_zext.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetOpcodes.h (diff)
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp (diff)
The file was addedllvm/test/MachineVerifier/test_g_assert_zext_register_bank_class.mir
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst (diff)
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ignore-hint.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h (diff)
Commit f22f4557a749339e6865bbd16937c4f937eb4f6c by code
[GlobalISel] Implement widenScalar for carry-in add/sub

These are widened to a wider UADDE/USUBE, with the overflow value
unused, and with the same synthesis of a new overflow value as for the
O operations.

Reviewed By: paquette

Differential Revision: https://reviews.llvm.org/D95326
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uadde.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ssube.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssube.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-sadde.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-uadde.mir (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usube.mir (diff)
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-usube.mir (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sadde.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
Commit 2de2d84ed0b2e7cd27f4de9b98f5f8a38b1e6e57 by lebedev.ri
[NFC][EntryExitInstrumenter] Mark Dominator Tree as preserved in legacy-PM too

This is correctly handled in new-PM wrappers, but not in old-PM.
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp (diff)
Commit 394685481c6ff31ab0721f672ff1d13527e8e42a by lebedev.ri
[NFC][PartiallyInlineLibCalls] Port to SplitBlockAndInsertIfThen()

This makes follow-up patch for Dominator Tree preservation
somewhat more straight-forward.
The file was modifiedllvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp (diff)
Commit 0ea45a412ac6ee40307e2d851eadb045cee460f0 by lebedev.ri
[NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedLoad(): port to SplitBlockAndInsertIfThen()

Makes Dominator Tree preservation in a followup patch somewhat easier.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit 22b84211565829089c0d372c6ac635fbe060e5fc by lebedev.ri
[NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedStore(): port to SplitBlockAndInsertIfThen()

Makes Dominator Tree preservation in a followup patch somewhat easier.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit 1356399a11e4fd5db88a5974e109eca96cf3328f by lebedev.ri
[NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedGather(): port to SplitBlockAndInsertIfThen()

Makes Dominator Tree preservation in a followup patch somewhat easier.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit e8efc03a1e835285e044f8d40bc4220378f6fdd1 by lebedev.ri
[NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedScatter(): port to SplitBlockAndInsertIfThen()

Makes Dominator Tree preservation in a followup patch somewhat easier.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit 2e4bb3f119eca9603e3f507da5b592b93ae896f7 by lebedev.ri
[NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedExpandLoad(): port to SplitBlockAndInsertIfThen()

Makes Dominator Tree preservation in a followup patch somewhat easier.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit 573f74117b1a4a8f17bceccd8abd908eb019c385 by lebedev.ri
[NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedCompressStore(): port to SplitBlockAndInsertIfThen()

Makes Dominator Tree preservation in a followup patch somewhat easier.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit 577fdcaa935b14bde6d51af953093b4b11e1e536 by lebedev.ri
[PartiallyInlineLibCalls] Preserve Dominator Tree, if avaliable

This doesn't get rid of any Dominator Tree recalculations just yet,
there is one more pass to update..
The file was modifiedllvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp (diff)
Commit 056385921d8f31cac573873a073d645d5ddca983 by lebedev.ri
[ScalarizeMaskedMemIntrin] Preserve Dominator Tree, if avaliable

This de-pessimizes the arguably more usual case of no masked mem intrinsics,
and gets rid of one more Dominator Tree recalculation.

As per llvm/test/CodeGen/X86/opt-pipeline.ll,
there's one more Dominator Tree recalculation left, we could get rid of.
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll (diff)
Commit 98835e3d9849a17e9f8eb5dcd8aee3c9d32e1e07 by ravishankarm
[mlir][Linalg] Enable TileAndFusePattern to work with tensors.

Differential Revision: https://reviews.llvm.org/D94531
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgFusionTransforms.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp (diff)
The file was addedmlir/test/Dialect/Linalg/fusion-tensor-pattern.mlir
Commit 231f418295ed6daa1cf2faa7a46c166ce3e779f0 by Tony.Tye
[NFC][AMDGPU] Correct name of DWARF CFA extensions

Add LLVM to the DW_CFA_LLVM_def_aspace_cfa and
DW_CFA_LLVM_def_aspace_cfa_sf DWARF extensions.

Reviewed By: scott.linder

Differential Revision: https://reviews.llvm.org/D95640
The file was modifiedllvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst (diff)
Commit 4580acf6752ea3cc884657b5aa3e174bed86fc8c by Jessica Paquette
[GlobalISel] Walk through hints in getDefIgnoringCopies et al

Treat hint instructions like G_ASSERT_ZEXT like COPY instructions in helpers
which walk through copies.

This ensures that instructions like G_ASSERT_ZEXT won't impact any optimizations
that rely on these helpers.

Differential Revision: https://reviews.llvm.org/D95577
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp (diff)
Commit dcb5b5f1f2ab11d607a2dceb5b2f802871414d06 by Jessica Paquette
Revert "[GlobalISel] Walk through hints in getDefIgnoringCopies et al"

This reverts commit 4580acf6752ea3cc884657b5aa3e174bed86fc8c.

Reverting while looking into some test failures.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp (diff)
Commit daffab1985f1b20081db774d152bcac86b840581 by Jessica Paquette
Recommit "[GlobalISel] Walk through hints in getDefIgnoringCopies et al"

Recommit of 4580acf6752ea3cc884657b5aa3e174bed86fc8c

`Opc = DefMI->getOpcode()` was in the wrong place.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir (diff)
Commit e056fc6cb676f72d5b7dfe7ca540b3275bd1a46f by dimitry
[sanitizer] Fix msan test build on FreeBSD after 7afdc89c2054

This commit accidentally enabled fgetgrent_r() in the msan tests under
FreeBSD, but this function is not supported. Also remove FreeBSD from
the SANITIZER_INTERCEPT_FGETGRENT_R macro.
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h (diff)
Commit 17c584551d573f1693990773e29fbe6b4b6fa4f4 by Duncan P. N. Exon Smith
ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors

Add an `enable_if` to the generic `IntrusiveRefCntPtr` constructors so
that std::is_convertible gives an honest answer when the underlying
pointers cannot be converted. Added `static_assert`s to the test suite
to verify.

Also combine generic constructors from `IntrusiveRefCntPtr<X>&&` and
`const IntrusiveRefCntPtr<X>&`. At first glance this appears to be an
infinite loop, but the real copy/move constructors are spelled out
separately above. Added a unit test to verify.

Differential Revision: https://reviews.llvm.org/D95498
The file was modifiedllvm/include/llvm/ADT/IntrusiveRefCntPtr.h (diff)
The file was modifiedllvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp (diff)
Commit 2d430f902d72b8a1d3bc036a80273ca80af1e338 by Duncan P. N. Exon Smith
ADT: Fix typo in static assert message from 17c584551d573f1693990773e29fbe6b4b6fa4f4
The file was modifiedllvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp (diff)
Commit dfe26d5f44d217833a3fe3903acb61465c18913a by richard
[mlir][Linalg] Fix SFINAE check to actually check the value.

No internal functionality change intended, but this fixes out-of-tree
uses.
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h (diff)
Commit a1a3fdcdba52c9d0a045af5f68365c273467b127 by gclayton
Fix windows buildbot build errors from D89845.
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp (diff)
Commit ab2d3ce47d6fead7fb79b3c0c7c4c6ac2b930d45 by alexfh
[clang-tidy] Applied clang-tidy fixes. NFC

Applied fixes enabled by the LLVM's .clang-tidy configs. Reverted files where
fixes introduced compile errors:
  clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
  clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp

$ clang-tools-extra/clang-tidy/tool/run-clang-tidy.py -fix clang-tools-extra/clang-tidy/
Enabled checks:
    llvm-else-after-return
    llvm-header-guard
    llvm-include-order
    llvm-namespace-comment
    llvm-prefer-isa-or-dyn-cast-in-conditionals
    llvm-prefer-register-over-unsigned
    llvm-qualified-auto
    llvm-twine-local
    misc-definitions-in-headers
    misc-misplaced-const
    misc-new-delete-overloads
    misc-no-recursion
    misc-non-copyable-objects
    misc-redundant-expression
    misc-static-assert
    misc-throw-by-value-catch-by-reference
    misc-unconventional-assign-operator
    misc-uniqueptr-reset-release
    misc-unused-alias-decls
    misc-unused-using-decls
    readability-identifier-naming

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D95614
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cert/StrToNumCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/utils/ASTUtils.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/GlobList.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-tidy/utils/ExprSequence.cpp (diff)
Commit e9dc94291e7dd58d0ed14598f7d526641aefb778 by joker.eph
Introduce a new DialectIdentifier structure, extending Identifier with a Dialect information

This class is looking up a dialect prefix on the identifier on initialization
and keeping a pointer to the Dialect when found.

The NamedAttribute key is now a DialectIdentifier.

Reviewed By: rriddle, jpienaar

Differential Revision: https://reviews.llvm.org/D95418
The file was modifiedmlir/lib/IR/MLIRContext.cpp (diff)
The file was modifiedmlir/include/mlir/IR/Identifier.h (diff)
Commit be62b3ba347d8d9e7ada364ddc9e16d7ddd05b8e by Amara Emerson
[AArch64][GlobalISel] Add a combine to fold away truncate in: G_ICMP EQ/NE (G_TRUNC(v), 0)

We try to do this optimization if we can determine that testing for the
truncated bits with an eq/ne predicate results in the same thing as testing
the lower bits.

Differential Revision: https://reviews.llvm.org/D95645
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-icmp-redundant-trunc.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp (diff)
Commit d73564c510036b2d4f5858effdcd23fe54fc1063 by akhuang
[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas.

Currently (for codeview) lambdas have a string like `<lambda_0>` in
their mangled name, and don't have any display name. This change uses the
`<lambda_0>` as the display name, which helps distinguish between lambdas
in -gline-tables-only, since there are no linkage names there.
It also changes how we display lambda names; previously we used
`<unnamed-tag>`; now it will show `<lambda_0>`.

I added a function to the mangling context code to create this string;
for Itanium it just returns an empty string.

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

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D95187
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp (diff)
The file was modifiedclang/lib/AST/ItaniumMangle.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp (diff)
The file was modifiedclang/include/clang/AST/Mangle.h (diff)
Commit f19971d1ded2a983efd58eca0393026909368f44 by Jessica Paquette
[GlobalISel] Implement computeKnownBits for G_ASSERT_ZEXT

It's the same as the ZEXT/TRUNC case, except SrcBitWidth is given by the
immediate operand.

Update KnownBitsTest.cpp and a MIR test for a concrete example.

Differential Revision: https://reviews.llvm.org/D95566
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-and-trivial-mask.mir (diff)
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp (diff)
Commit 12b9b778d916c721b2239f3c752196728875d290 by Amara Emerson
[AArch64][GlobalISel] Enable CSE for the prelegalizer combiner.

Differential Revision: https://reviews.llvm.org/D95647
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-shift-immed-mismatch-crash.mir (diff)
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll (diff)
Commit 9b21d4b9434d2d4796b0d60d64f6ded9bac95441 by akhuang
Revert "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas."
for test failures.

This reverts commit d73564c510036b2d4f5858effdcd23fe54fc1063.
The file was modifiedclang/include/clang/AST/Mangle.h (diff)
The file was modifiedclang/lib/AST/ItaniumMangle.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp (diff)
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp (diff)
Commit 0e8f50595e22eb3ca8762c16d07e2fba5757cb71 by carl.ritson
[AMDGPU] Mark V_SET_INACTIVE as defining SCC

V_SET_INACTIVE is implemented with S_NOT which clobbers SCC.
Mark sure it is marked appropriately.

Reviewed By: piotr

Differential Revision: https://reviews.llvm.org/D95509
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/wqm.mir (diff)
Commit 43cc4f15008f8c700497d3d2b7020bfd29f5750f by steveire
Ensure that we traverse non-op() method bodys of lambdas

Differential Revision: https://reviews.llvm.org/D95644
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
Commit d5736a2746d3188f5d9a23d69da2226f9a318bda by Jessica Paquette
[GlobalISel] Implement regbankselect for G_ASSERT_ZEXT

This adds generic regbankselect support for G_ASSERT_ZEXT.

It inherits whatever register bank the source was given, always, on all targets.

I think that at the point where we run into these, the source register bank
should be decided.

This also adds some AArch64-specific code which makes sure we can handle
G_ASSERT_ZEXT when deciding on register banks for G_STORE, G_PHI, ... etc.

Differential Revision: https://reviews.llvm.org/D95649
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/regbank-assert-zext.mir
Commit 0824694d68d3b4aa2d6c726e395516dd1387a718 by carl.ritson
[AMDGPU] Fix WMM Entry SCC preservation

SCC was not correctly preserved when entering WWM.
Current lit test was unable to detect this as entry block is
handled differently.
Additionally fix an issue where SCC was unnecessarily preserved
when exiting from WWM to Exact mode.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D95500
The file was modifiedllvm/test/CodeGen/AMDGPU/wqm.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp (diff)
Commit ad4a6ce10c43d65dd12502bda26dbc983f9bef4e by Casey
[libcxx][test] MoveOnly's comparisons are non-member

... so that comparisons with an `int` LHS and `MoveOnly` RHS are valid, as is necessary for the `partial_sort_copy` test to pass with an implementation that doesn't force a conversion to the type of the RHS as libc++ does.
The file was modifiedlibcxx/test/support/MoveOnly.h (diff)
Commit d4eea5cf0f5d27d978184d70ce3a94e95dad8f01 by michaelrj
[libc][NFC] Add a few casts to suppress loss of precision warnings

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D95646
The file was modifiedlibc/utils/FPUtil/x86_64/FEnv.h (diff)
Commit edecee382608f6fcf1430c4bbf543359fae8330a by Casey
[libcxx][test] move libc++-specific tests into the libcxx tree

...and rename from `version.pass.cpp` to `version.compile.pass.cpp` to follow the new convention.
The file was removedlibcxx/test/std/thread/thread.latch/version.pass.cpp
The file was removedlibcxx/test/std/utilities/format/version.compile.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/format/version.compile.pass.cpp
The file was removedlibcxx/test/std/thread/thread.barrier/version.pass.cpp
The file was removedlibcxx/test/std/thread/thread.semaphore/version.pass.cpp
The file was addedlibcxx/test/libcxx/thread/thread.barrier/version.compile.pass.cpp
The file was addedlibcxx/test/libcxx/thread/thread.latch/version.compile.pass.cpp
The file was addedlibcxx/test/libcxx/thread/thread.semaphore/version.compile.pass.cpp
Commit d5f5deee9ee996f078fb40ee20795539409523e4 by akhuang
Reland "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas"
with fix to test case and stringrefs.

Currently (for codeview) lambdas have a string like `<lambda_0>` in
their mangled name, and don't have any display name. This change uses the
`<lambda_0>` as the display name, which helps distinguish between lambdas
in -gline-tables-only, since there are no linkage names there.
It also changes how we display lambda names; previously we used
`<unnamed-tag>`; now it will show `<lambda_0>`.

I added a function to the mangling context code to create this string;
for Itanium it just returns an empty string.

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

Reviewed By: rnk

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

This reverts 9b21d4b9434d2d4796b0d60d64f6ded9bac95441
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp (diff)
The file was modifiedclang/lib/AST/ItaniumMangle.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp (diff)
The file was modifiedclang/include/clang/AST/Mangle.h (diff)
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp (diff)
Commit 7ef79bb8e240aafab265107b8b7d63d3e32ddb93 by akhuang
Fix typo in "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas."
(Commited in d5f5deee9ee996f078fb40ee20795539409523e4)
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp (diff)
Commit d6d0c09e84d632f3a9954aebabb4933cd7bf64d3 by nullptr.cpp
[NFC][llvm-nm] Fix unused variable warning
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp (diff)
Commit e5f258cb03f249601222496e6bb350fe2cc3431e by nullptr.cpp
[NFC][DebugInfo] Fix Wreturn-type gcc warning

GCC warning:
```
/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp: In member function ‘llvm::Expected<long unsigned int> llvm::dwarf::CFIProgram::Instruction::getOperandAsUnsigned(const llvm::dwarf::CFIProgram&, uint32_t) const’:
/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp:425:1: warning: control reaches end of non-void function [-Wreturn-type]
  425 | }
      | ^
/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp: In member function ‘llvm::Expected<long int> llvm::dwarf::CFIProgram::Instruction::getOperandAsSigned(const llvm::dwarf::CFIProgram&, uint32_t) const’:
/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp:477:1: warning: control reaches end of non-void function [-Wreturn-type]
  477 | }
      | ^
```
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp (diff)
Commit b2545b71d121ac913e56faff3b704f3957f941b7 by Jonas Devlieghere
[lldb] Use `foo is None` instead of `not foo` in darwin.py

Explicitly compare to None when checking the triple's components so we
don't bail out when one of them is the empty string.
The file was modifiedlldb/packages/Python/lldbsuite/test/builders/darwin.py (diff)
Commit 892e4567e1357ee10ef67ee6dfbe45aeded9d2dc by Christudasan.Devadasan
Support a list of CostPerUse values

This patch allows targets to define multiple cost
values for each register so that the cost model
can be more flexible and better used during the
register allocation as per the target requirements.

For AMDGPU the VGPR allocation will be more efficient
if the register cost can be associated dynamically
based on the calling convention.

Reviewed By: qcolombet

Differential Revision: https://reviews.llvm.org/D86836
The file was modifiedllvm/include/llvm/CodeGen/RegisterClassInfo.h (diff)
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td (diff)
The file was addedllvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
The file was addedllvm/test/TableGen/RegisterInfoEmitter-regcost.td
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.td (diff)
The file was modifiedllvm/include/llvm/Target/Target.td (diff)
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp (diff)
The file was modifiedllvm/lib/CodeGen/RegisterClassInfo.cpp (diff)
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.h (diff)
The file was modifiedllvm/utils/TableGen/RegisterInfoEmitter.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.td (diff)
The file was modifiedllvm/lib/Target/ARC/ARCRegisterInfo.td (diff)
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h (diff)
The file was addedllvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
Commit 8a4ad8849f4898dd19e31b9dcede7ace3575d00d by mkazantsev
[SCEV] Do not cache comparison result upon reached max depth as "equivalence". PR48725

We use `EquivalenceClasses` to cache the notion that two SCEVs are equivalent,
so save time in situation when `A` is equivalent to `B` and `B` is equivalent to `C`,
making check "if `A` is equivalent to `C`?" cheaper.

We also return `0` in the comparator when we reach max analysis depth to save
compile time. After doing this, we also cache them as being equivalent.

Now, imagine the following situation:
- `A` is proved equivalent to `B`;
- `C` is proved equivalent to `D`;
- Comparison of `A` against `D` is proved non-zero;
- Comparison of `B` against `C` reaches max depth (and gets cached as equivalence).

Now, before the invocation of compare(`B`, `C`), `A` and `D` belonged
to different equivalence classes, and their comparison returned non-zero.
After the the invocation of compare(`B`, `C`), equivalence classes get merged
and `A`, `B`, `C` and `D` all fall into the same equivalence class. So the comparator
will change its behavior for couple `A` and `D`, with weird consequences following it.
This comparator is finally used in `std::stable_sort`, and this behavior change
makes it crash (looks like it's causing a memory corruption).

Solution: this patch changes `CompareSCEVComplexity` to return `None`
when the max depth is reached. So in this case, we do not cache these SCEVs
(and their parents in the tree) as being equivalent.

Differential Revision: https://reviews.llvm.org/D94654
Reviewed By: lebedev.ri
The file was addedllvm/test/Transforms/LoopStrengthReduce/pr48725.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
Commit e15ae67a0a7b32aef883b84e127295ce3f6e9226 by wmi
[LiveDebugVariables] Add cache for SkipPHIsLabelsAndDebug to prevent
iterating the same PHI/LABEL/Debug instructions repeatedly.

We run into a compiling timeout problem when building a target after its
SampleFDO profile is updated. It is because some very large blocks with
a bunch of PHIs at the beginning. LiveDebugVariables::emitDebugValues
called during VirtRegRewriter phase searchs the insertion point for those
large BBs repeatedly in SkipPHIsLabelsAndDebug, and each time
SkipPHIsLabelsAndDebug needs to go through the same set of PHIs before it
can find the first non PHI/Label/Debug instruction. This patch adds a cache
to save the last position for the sequence which has been checked in the
previous call of SkipPHIsLabelsAndDebug.

Differential Revision: https://reviews.llvm.org/D94981
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp (diff)
Commit 078f30e04d1fcb5a05d8e340f3178f3478075541 by bjoern
[clang-format] Add option to control the spaces in a line comment

Differential Revision: https://reviews.llvm.org/D92257
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/Format/Format.cpp (diff)
The file was modifiedclang/unittests/Format/FormatTestComments.cpp (diff)
The file was modifiedclang/docs/ClangFormatStyleOptions.rst (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
The file was modifiedclang/include/clang/Format/Format.h (diff)
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp (diff)
The file was modifiedclang/lib/Format/BreakableToken.h (diff)
The file was modifiedclang/lib/Format/BreakableToken.cpp (diff)
Commit 046cfb856517c6140d5e1c0989232e26d00b05b2 by kazu
[llvm] Forward-declare formatted_raw_ostream (NFC)

Various *TargetStreamer.h need formatted_raw_ostream but rely on a
forward declaration of formatted_raw_ostream in MCStreamer.h.  This
patch adds forward declarations right in *TargetStreamer.h.

While we are at it, this patch removes the one in MCStreamer.h, where
it is unnecessary.
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h (diff)
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h (diff)
The file was modifiedllvm/lib/Target/Mips/MipsTargetStreamer.h (diff)
The file was modifiedllvm/include/llvm/MC/MCStreamer.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h (diff)
Commit 7925aa091db0f16b967fc82243601e207a29ebeb by kazu
[llvm] Populate SmallVector at construction time (NFC)
The file was modifiedllvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp (diff)
Commit 6cedffc0ad8d9c48caf42b436acaa1f509925b4a by kazu
[MustExecute] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/MustExecute.cpp (diff)
Commit ec812898318036f6c33579b1d35c1a7f83cf112f by Artem Dergachev
[clang-tidy] bugprone-assert-side-effect: Improve warning message.

Drop redundant "found", specify what exactly is wrong with side effects
in assert conditions.

Differential Revision: https://reviews.llvm.org/D95515
The file was modifiedclang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp (diff)
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-assert-side-effect.cpp (diff)
Commit b92a39ac1319c796777bca19a3af2856acbc69c1 by Artem Dergachev
[clang-tidy] bugprone-assert-side-effect: Warn on NSAssert by default.

NSAssert and NSCAssert are Objective-C Foundation's standard assert macros.

Differential Revision: https://reviews.llvm.org/D95519
The file was modifiedclang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp (diff)
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-assert-side-effect.m
Commit 59bd2068e954e5d6d8396c4f27b94ad7f3abf3b1 by nullptr.cpp
[NFC][ScalarizeMaskedMemIntrin] Fix unused variable warning

GCC warning:
```
/llvm-project/llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp: In function ‘void scalarizeMaskedStore(llvm::CallInst*, llvm::DomTreeUpdater*, bool&)’:
/llvm-project/llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp:295:15: warning: variable ‘IfBlock’ set but not used [-Wunused-but-set-variable]
  295 |   BasicBlock *IfBlock = CI->getParent();
      |               ^~~~~~~
/llvm-project/llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp: In function ‘void scalarizeMaskedScatter(llvm::CallInst*, llvm::DomTreeUpdater*, bool&)’:
/llvm-project/llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp:555:15: warning: variable ‘IfBlock’ set but not used [-Wunused-but-set-variable]
  555 |   BasicBlock *IfBlock = CI->getParent();
      |               ^~~~~~~
```
The file was modifiedllvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp (diff)
Commit f25a57e248a095054a6088b4ffc060e87cd42bc7 by hokein.wu
[clangd] Add include-fixer fixit for field_incomplete_or_sizeless diagnostic.

Differential Revision: https://reviews.llvm.org/D95439
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/IncludeFixer.cpp (diff)
Commit 4ad41f1daf0fa98a2c23fdf57390df0948164a2f by bjoern
Revert "[clang-format] Add option to control the spaces in a line comment"

This reverts commit 078f30e04d1fcb5a05d8e340f3178f3478075541.
The file was modifiedclang/unittests/Format/FormatTestComments.cpp (diff)
The file was modifiedclang/lib/Format/BreakableToken.h (diff)
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/include/clang/Format/Format.h (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
The file was modifiedclang/lib/Format/BreakableToken.cpp (diff)
The file was modifiedclang/lib/Format/Format.cpp (diff)
The file was modifiedclang/docs/ClangFormatStyleOptions.rst (diff)
Commit a5154ab9b0c162cadea70d870884a70032c747c1 by grimar
[llvm-readobj/elf] - Report "bitcode files are not supported" warning for bitcode files.

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

Currently we report "The file was not recognized as a valid object file" for BC files.
Also, we terminate dumping.

Instead we could report a better warning and try to continue dumping other files.
This is what this patch implements.

Differential revision: https://reviews.llvm.org/D95605
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readobj/basic.test (diff)
Commit 83bd24220206765b1855514e3435c52ae8be8706 by chennngwang
[libc][Obvious] Remove DEPS for unistd.h in CMake file of memmove.
The file was modifiedlibc/src/string/CMakeLists.txt (diff)
Commit cba2552bfec1c9d837f7285a743e9e12fa6b043e by saghir
[llvm-jitlink] Replace use of deprecated gethostbyname by getaddrinfo.

This patch replaces use of deprecated gethostbyname by getaddrinfo.

Author: Rafik Zurob

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D95477
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp (diff)
Commit d47ee525f9e9289815db0864b03e866fc8e5ba01 by sguelton
[clang-tooling] Prevent llvm::fatal_error on invalid CLI option

Fail gracefully instead. Prevent further misuse by enforcing the factory builder
instead of the constructor.

Differential Revision: https://reviews.llvm.org/D94420
The file was modifiedclang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp (diff)
The file was modifiedclang/tools/clang-rename/ClangRename.cpp (diff)
The file was modifiedclang/include/clang/Tooling/CommonOptionsParser.h (diff)
The file was modifiedclang/docs/LibASTMatchersTutorial.rst (diff)
The file was modifiedclang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp (diff)
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/invalid-command-line.cpp (diff)
The file was modifiedclang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp (diff)
The file was modifiedclang/tools/clang-check/ClangCheck.cpp (diff)
The file was modifiedclang-tools-extra/clang-move/tool/ClangMove.cpp (diff)
The file was modifiedclang/lib/Tooling/CommonOptionsParser.cpp (diff)
The file was modifiedclang-tools-extra/test/clang-query/invalid-command-line.cpp (diff)
The file was modifiedclang/tools/clang-refactor/ClangRefactor.cpp (diff)
The file was modifiedclang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp (diff)
The file was modifiedclang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp (diff)
Commit 1c762a81d20f498a93c38c0f0b10ad7c18650422 by chennngwang
[libc][Obvious] Fix typo
The file was modifiedlibc/test/src/math/CMakeLists.txt (diff)
Commit 0c5e4a25ee232afd0ab21294dfe9ce290957aab6 by tpopp
[mlir] Prevent segfault in Tensor canonicalization

This segfault could occur from out of bounds accesses when simplifying
tensor.extract with a constant index and a tensor created by
tensor.from_elements.

This IR is not necesarilly invalid as it might conditionally be
never executed.

Differential Revision: https://reviews.llvm.org/D95535
The file was modifiedmlir/lib/Dialect/Tensor/IR/TensorOps.cpp (diff)
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir (diff)
Commit 27f2fe9163ec9e96f240fa57b5e2d7c55f54e266 by sguelton
Adapt lldb-instr to d47ee525f9e92898 APi change
The file was modifiedlldb/tools/lldb-instr/Instrument.cpp (diff)
Commit 7f5ad0e07162e0c19e569986ee37a17c147c9a27 by Andrey.Churbanov
[OpenMP] libomp: fix build by cl with vs2019

Replace VLA with dynamic allocation using alloca().
This fixes https://bugs.llvm.org/show_bug.cgi?id=48919.

Differential Revision: https://reviews.llvm.org/D95627
The file was modifiedopenmp/runtime/src/kmp_settings.cpp (diff)
Commit 305ac81e1d4bbd037587190175e4d0b5631300e1 by thomasp
Fix macos target assumption in test

Clang test Driver/macos-apple-silicon-slice-link-libs-darwin-only.cpp
assumes the target is darwin when the host is darwin which is not
necessarily the case, causing the test to fail when it is not. This
commit adds a -triple argument to the clang invocation to ensure the
target is darwin.

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D94396
The file was modifiedclang/test/Driver/macos-apple-silicon-slice-link-libs-darwin-only.cpp (diff)
Commit 2ff8662b5d16129ec6d1ee60dcec4f6ff8f717e2 by martin
[libcxx] Implement the stat function family on top of native windows APIs

While the windows CRTs (the modern UCRT, and the legacy msvcrt.dll
that mingw still often defaults to) do provide stat functions, they're
a bit lacking - they only provide second precision on the modification
time, lack support for symlinks and a few other details.

Instead reimplement them using a couple windows native functions,
getting exactly the info we need. (Technically, the implementation
within the CRT calls these functions anyway.)

If we only need a few fields, we could also do with fewer calls, as a
later optimization.

Differential Revision: https://reviews.llvm.org/D91141
The file was modifiedlibcxx/src/filesystem/filesystem_common.h (diff)
The file was addedlibcxx/src/filesystem/posix_compat.h
The file was modifiedlibcxx/src/filesystem/operations.cpp (diff)
The file was modifiedlibcxx/src/CMakeLists.txt (diff)
Commit 592d62352933d34af62334d172c6fc665933e0de by martin
[libcxx] Implement _FilesystemClock::now() and __last_write_time for windows

Differential Revision: https://reviews.llvm.org/D91142
The file was modifiedlibcxx/src/filesystem/operations.cpp (diff)
The file was modifiedlibcxx/src/filesystem/filesystem_common.h (diff)
The file was modifiedlibcxx/src/filesystem/posix_compat.h (diff)
Commit efec3cc6524bc536459b9cb6faca190b1e3804b6 by martin
[libcxx] Hook up a number of operation functions to their windows counterparts

Use the corresponding wchar functions, named "_wfunc" instead of "func",
where feasible, or reimplement functions with native windows APIs.

Differential Revision: https://reviews.llvm.org/D91143
The file was modifiedlibcxx/src/filesystem/posix_compat.h (diff)
The file was modifiedlibcxx/src/filesystem/operations.cpp (diff)
Commit f65ba25cf37a57dc87db7af389c9dc637ca7dd8c by martin
[libcxx] Sanitize paths before creating symlinks on windows

The MS STL does even more cleanup (corresponding to lexically_normal
I think), but this seems to be the very minimum needed for making the
symlinks work when the target path contains non-native paths.

Differential Revision: https://reviews.llvm.org/D91145
The file was modifiedlibcxx/src/filesystem/posix_compat.h (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp (diff)
Commit 64ced3ce89a6dd429136d0ad7832853d8b3fdef0 by thakis
[gn build] (semi-manually) port 2ff8662b5d16
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn (diff)
Commit f3a710cade9381030f3e1e9778c5fc12f8a02fdf by flo
[LTO] Update splitCodeGen to take a reference to the module. (NFC)

splitCodeGen does not need to take ownership of the module, as it
currently clones the original module for each split operation.

There is an ~4 year old fixme to change that, but until this is
addressed, the function can just take a reference to the module.

This makes the transition of LTOCodeGenerator to use LTOBackend a bit
easier, because under some circumstances, LTOCodeGenerator needs to
write the original module back after codegen.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D95222
The file was modifiedllvm/include/llvm/CodeGen/ParallelCG.h (diff)
The file was modifiedllvm/lib/LTO/LTOBackend.cpp (diff)
The file was modifiedllvm/lib/LTO/LTO.cpp (diff)
The file was modifiedllvm/lib/Transforms/Utils/SplitModule.cpp (diff)
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp (diff)
The file was modifiedllvm/lib/CodeGen/ParallelCG.cpp (diff)
The file was modifiedllvm/include/llvm/LTO/LTOBackend.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Utils/SplitModule.h (diff)
The file was modifiedllvm/tools/llvm-split/llvm-split.cpp (diff)
Commit 6e52eebc2a68f34aa19a2b80f1b763aac692d542 by nikita.ppv
[MemCpyOpt] Add test for incorrect optimization across lifetime (NFC)

This only affects the MemorySSA-based implementation.
The file was modifiedllvm/test/Transforms/MemCpyOpt/lifetime.ll (diff)
Commit 42a21778f61cdc8462ce2cfb6ad7bc1992b2063c by Abhina.Sreeskantharajan
[test] Use host platform specific error message substitution in lit tests

On z/OS, the following error message is not matched correctly in lit tests.

```
EDC5129I No such file or directory.
```

This patch uses a lit config substitution to check for platform specific error messages.

Reviewed By: muiez, jhenderson

Differential Revision: https://reviews.llvm.org/D95246
The file was modifiedllvm/test/tools/llvm-readobj/ELF/thin-archive-paths.test (diff)
The file was modifiedllvm/utils/lit/lit/llvm/config.py (diff)
The file was modifiedllvm/test/tools/llvm-ar/print.test (diff)
The file was modifiedclang/test/CodeGen/basic-block-sections.c (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/redefine-symbols.test (diff)
The file was modifiedllvm/test/tools/llvm-mc/basic.test (diff)
The file was modifiedlld/test/COFF/pdb-type-server-missing.yaml (diff)
The file was modifiedllvm/test/tools/llvm-mca/invalid_input_file_name.test (diff)
The file was modifiedllvm/test/tools/llvm-ml/basic.test (diff)
The file was modifiedclang/test/Frontend/stats-file.c (diff)
The file was modifiedlld/test/MachO/invalid/no-filelist.s (diff)
The file was modifiedllvm/test/tools/llvm-readobj/basic.test (diff)
The file was modifiedclang/test/CodeGen/ubsan-blacklist-vfs.c (diff)
The file was modifiedlld/test/ELF/archive-thin-missing-member.s (diff)
The file was modifiedllvm/test/tools/llvm-ar/missing-thin-archive-member.test (diff)
The file was modifiedllvm/test/tools/llvm-lto2/X86/stats-file-option.ll (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/COFF/add-section.test (diff)
The file was modifiedllvm/docs/TestingGuide.rst (diff)
The file was modifiedllvm/test/tools/llvm-xray/X86/no-such-file.txt (diff)
The file was modifiedllvm/test/tools/llvm-ar/replace.test (diff)
The file was modifiedllvm/test/tools/llvm-cxxdump/trivial.test (diff)
The file was modifiedllvm/test/Object/directory.ll (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/add-section.test (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/wasm/dump-section.test (diff)
The file was modifiedlld/test/ELF/reproduce-error.s (diff)
The file was modifiedllvm/test/tools/llvm-ar/move.test (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/add-section-error.test (diff)
The file was modifiedllvm/test/tools/llvm-readobj/thin-archive.test (diff)
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/missing_pdb.test (diff)
The file was modifiedllvm/test/tools/llvm-libtool-darwin/filelist.test (diff)
The file was modifiedllvm/test/Object/archive-extract-dir.test (diff)
The file was modifiedllvm/test/tools/llvm-lipo/replace-invalid-input.test (diff)
The file was modifiedlld/test/COFF/pdb-type-server-invalid-signature.yaml (diff)
The file was modifiedclang/test/Frontend/output-paths.c (diff)
The file was modifiedllvm/test/tools/llvm-libtool-darwin/invalid-input-output-args.test (diff)
The file was modifiedllvm/test/tools/dsymutil/debug-map-parsing.test (diff)
The file was modifiedllvm/test/tools/llvm-ar/error-opening-directory.test (diff)
The file was modifiedllvm/test/MC/Hexagon/not_found.s (diff)
The file was modifiedllvm/test/tools/yaml2obj/output-file.yaml (diff)
The file was modifiedllvm/test/tools/llvm-lipo/create-arch.test (diff)
The file was modifiedlld/test/COFF/nodefaultlib.test (diff)
The file was modifiedllvm/test/tools/obj2yaml/invalid_input_file.test (diff)
The file was modifiedclang/test/Driver/clang-offload-bundler.c (diff)
The file was modifiedllvm/test/Object/archive-extract.test (diff)
The file was modifiedlld/test/COFF/driver.test (diff)
The file was modifiedlld/test/ELF/basic.s (diff)
The file was modifiedlld/test/ELF/symbol-ordering-file.s (diff)
The file was modifiedllvm/test/tools/dsymutil/archive-timestamp.test (diff)
The file was modifiedllvm/test/tools/llvm-size/no-input.test (diff)
The file was modifiedllvm/test/tools/dsymutil/X86/papertrail-warnings.test (diff)
The file was modifiedllvm/test/DebugInfo/symbolize-missing-file.test (diff)
The file was modifiedllvm/test/tools/llvm-lto/error.ll (diff)
The file was modifiedlld/test/COFF/manifestinput-error.test (diff)
The file was modifiedllvm/test/tools/llvm-ar/response.test (diff)
The file was modifiedllvm/test/tools/llvm-profdata/weight-sample.test (diff)
The file was modifiedllvm/test/tools/llvm-ar/quick-append.test (diff)
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/error-format.test (diff)
The file was modifiedllvm/test/tools/llvm-profdata/weight-instr.test (diff)
Commit e90e455d2a0cc6e04b930a43355c3551e2c6f0e0 by hokein.wu
[Syntax] Add syntax-tree-dump in clang-check.

This is useful to experiment/develop syntax trees.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D95526
The file was modifiedclang/tools/clang-check/CMakeLists.txt (diff)
The file was addedclang/test/Tooling/clang-check-syntax-tree-dump.cpp
The file was modifiedclang/tools/clang-check/ClangCheck.cpp (diff)
Commit 229c1cff510b7a2fe9eb9ddf4cb4787f08cab7bd by thakis
[gn build] port e90e455d2a0cc
The file was modifiedllvm/utils/gn/secondary/clang/tools/clang-check/BUILD.gn (diff)
Commit f03f3a84747c788f0f196b309785d322fa4e91a1 by sjoerd.meijer
[MachineLICM] Fix wrong and confusing comment. NFC.
The file was modifiedllvm/lib/CodeGen/MachineLICM.cpp (diff)
Commit d0817b5f18c7bb435012d214f293d4a7839e492e by sam.mccall
[clangd] Extract symbol-scope logic out of Quality, add tests. NFC

This prepares for reuse from the semantic highlighting code.

There's a bit of yak-shaving here:
- when the enum is moved into the clangd namespace, promote it to a
   scoped enum. This means teaching the decision forest infrastructure
   to deal with scoped enums.
- AccessibleScope isn't quite the right name: e.g. public class members
   are treated as accessible, but still have class scope. So rename to
   SymbolScope.
- Rename some QualitySignals members to avoid name conflicts.
   (the string) SymbolScope -> Scope
   (the enum) Scope -> ScopeKind
The file was modifiedclang-tools-extra/clangd/unittests/QualityTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Quality.cpp (diff)
The file was modifiedclang-tools-extra/clangd/quality/CompletionModelCodegen.py (diff)
The file was modifiedclang-tools-extra/clangd/AST.cpp (diff)
The file was modifiedclang-tools-extra/clangd/quality/model/features.json (diff)
The file was modifiedclang-tools-extra/clangd/AST.h (diff)
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Quality.h (diff)
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp (diff)
Commit 7d1b499caef6ebde09a2697a97b43b89f7fa35c8 by sam.mccall
Revert "[clangd] Extract symbol-scope logic out of Quality, add tests. NFC"

On second thought, this can't properly be reused for highlighting.

Consider this example, which Quality wants to consider function-scope,
but highlighting must consider class-scope:

void foo() {
  class X {
    int ^y;
  };
}
The file was modifiedclang-tools-extra/clangd/Quality.h (diff)
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp (diff)
The file was modifiedclang-tools-extra/clangd/AST.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Quality.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/QualityTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/AST.h (diff)
The file was modifiedclang-tools-extra/clangd/quality/CompletionModelCodegen.py (diff)
The file was modifiedclang-tools-extra/clangd/quality/model/features.json (diff)
Commit 27924b126329528024d5b3a5bf71a4f637de853a by csigg
[mlir] Remove mlir_c_runner_utils_static.

The library is not actually static when BUILD_SHARED_LIBS is on, and tests need to explicitly load it already. Also, the shared objects it was linked to did not use any symbols from it and it was therefore never linked to it.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D95612
The file was modifiedmlir/lib/ExecutionEngine/CMakeLists.txt (diff)
Commit d6b68d134415300cad55220bfb80e4934217ba19 by llvm-dev
[X86][SSE] combineExtractWithShuffle - support zero-extending to allow extracting from narrow shuffle masks

If the shuffle mask can't be widened to match the original extracted element width, see if the upper bits are zeroable - which allows us to extract+zero-extend the smaller extraction.
The file was modifiedllvm/test/CodeGen/X86/udiv_fix.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/shrink_vmul.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avg.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/promote-vec3.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/udiv_fix_sat.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll (diff)
Commit 82847436e9258a12503dcfadb5dc373cb42fea43 by thakis
clang-cl: Invent a /winsysroot concept

On non-Windows platforms, --sysroot can be used to make the compiler use
a single, hermetic directory for all header and library files.

This is useful, but difficult to do on Windows. After D95472 it's
possible to achieve this with two flags:

    out/gn/bin/clang-cl win.c -fuse-ld=lld \
        /vctoolsdir path/to/VC/Tools/MSVC/14.26.28801 \
        /winsdkdir path/to/win_sdk

But that's still cumbersome: It requires two flags instead of one, and
it requires writing down the (changing) VC/Tools/MSVC version.

This adds a new `/winsysroot <dir>` flag that's effectively an alias to
these two flags. With this, building against a hermetic Windows
toolchain only needs:

    out/gn/bin/clang-cl win.c -fuse-ld=lld /winsysroot path

`/winsysroot <dir>` is the same as adding

    /vctoolsdir <dir>/VC/Tools/MSVC/<vctoolsver>
    /winsdkdir <dir>/Windows Kits/<winsdkmajorversion>

`<vctoolsver>` is taken from `/vctoolsversion` if passed, or else it's
the name of the directory in `<dir>/VC/Tools/MSVC` that's the highest
numeric tuple.

`<winsdkmajorversion>` is the major version in /winsdkversion if passed,
else it's the name of the directory in `<dir>/Windows Kits` that's the
highest number.

So `/winsysroot <path>` requires this subfolder structure:

  path/
    VC/
      Tools/
        MSVC/
          14.26.28801  (or another number)
            include/
            ...
    Windows Kits/
      10/
        Include/
          10.0.19041.0/ (or another number)
            um/
            ...
        Lib/
          10.0.19041.0/ (or another number)
            um/
              x64/
              ...
            ...

Differential Revision: https://reviews.llvm.org/D95534
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was addedclang/test/Driver/cl-sysroot.cpp
Commit d087d805acb664e885e9c31a916f6cfa5dbc2186 by thakis
clang-cl: Accept /std:c11, /std:c17 flags

clang-cl already defaults to C17 for .c files, but no harm
in accepting these flags. Fixes PR48185.

Differential Revision: https://reviews.llvm.org/D95575
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/test/Driver/cl-options.c (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
Commit 5046c5be8459a9631eeb149337776dcbde0e2a0b by Paul C. Anagnostopoulos
[TableGen] Fix instantiating multiclass in foreach

If multiclass argument comes from loop varaible and argument is record type,
it will not recognize the type. This patch ensures that loop variables are
resolved correctly.

Differential Revision: https://reviews.llvm.org/D95308
The file was modifiedllvm/test/TableGen/foreach-multiclass.td (diff)
The file was modifiedllvm/lib/TableGen/TGParser.cpp (diff)
Commit 543cd89d3fb5a108d4050635c00093695b2b6c6d by psteinfeld
[flang] Fix problems with constant arrays with lower bounds that are not 1

There were two problems with constant arrays whose lower bound is not 1.
First, when folding the arrays, we were creating the folded array to have lower
bounds of 1 but, we were not re-adjusting their lower bounds to the
declared values.  Second, we were not calculating the extents correctly.
Both of these problems led to bogus error messages.

I fixed the first problem by adjusting the lower bounds in
NonPointerInitializationExpr() in Evaluate/check-expression.cpp.  I wrote the
class ArrayConstantBoundChanger, which is similar to the existing class
ScalarConstantExpander.  In the process of implementing and testing it, I found
a bug that I fixed in ScalarConstantExpander which caused it to infinitely
recurse on parenthesized expressions.  I also removed the unrelated class
ScalarExpansionVisitor, which was not used.

I fixed the second problem by changing the formula that calculates upper bounds
in in the function ComputeUpperBound() in Evaluate/shape.cpp.

I added tests that trigger the bogus error messages mentioned above along with
a constant folding tests that uses array operands with shapes that conform but
have different bounds.

In the process of adding tests, I discovered that tests in
Evaluate/folding09.f90 and folding16.f90 were written incorrectly, and I
fixed them.  This also revealed a bug in contant folding of the
intrinsic "lbounds" which I plan to fix in a later change.

Differential Revision: https://reviews.llvm.org/D95449
The file was modifiedflang/lib/Evaluate/shape.cpp (diff)
The file was modifiedflang/test/Evaluate/folding09.f90 (diff)
The file was modifiedflang/test/Semantics/array-constr-values.f90 (diff)
The file was modifiedflang/lib/Evaluate/check-expression.cpp (diff)
The file was modifiedflang/test/Evaluate/folding16.f90 (diff)
The file was modifiedflang/test/Evaluate/test_folding.sh (diff)
The file was modifiedflang/include/flang/Evaluate/tools.h (diff)
Commit 164c6de530586a984d998522d6dd1202c0430540 by jay.foad
[AMDGPU] Test all register names known to AMDGPUPALMetadata

Differential Revision: https://reviews.llvm.org/D95684
The file was addedllvm/test/MC/AMDGPU/pal-registers.s
Commit 1608ba09462d877111230e9461b895f696f8fcb1 by thakis
Revert "Disable rosegment for old Android versions."

This reverts commit fae16fc0eed7cf60207901818cfe040116f2ef00.
Breaks building compiler-rt android runtimes with trunk clang
but older NDK, see discussion on https://reviews.llvm.org/D95166
The file was modifiedclang/test/Driver/linux-ld.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp (diff)
Commit 5cf6412a27892a7a48c83e26d79f8c3ae1cfa944 by jay.foad
[GlobalISel] Fix modifying a G_OR without notifying the observer

Remove the call to setFlags in favour of creating the instruction with
the correct flags in the first place, so we don't have to explicitly
notify the observer.

Differential Revision: https://reviews.llvm.org/D95681
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
Commit 9b64e0e205603bd558d180a0b900ccdbe105bf2b by andrzej.warzynski
[flang][docs] Add New Flang Driver Biweekly call
The file was modifiedflang/docs/GettingInvolved.md (diff)
Commit 010b176cdefbf904d58dc92b9ed3d19df70dd2a5 by rupprecht
[mlir][docs] Fix typo: even -> event
The file was modifiedmlir/docs/PassManagement.md (diff)
Commit c5e7e649d537067dec7111f3de1430d0fc8a4d11 by Pavel.Iliin
[AArch64][Clang][Linux] Enable out-of-line atomics by default.

Generate outline atomics if compiling for armv8-a non-LSE AArch64 Linux
(including Android) targets to use LSE instructions, if they are available,
at runtime. Library support is checked by clang driver which doesn't enable
outline atomics if no proper libraries (libgcc >= 9.3.1 or compiler-rt) found.

Differential Revision: https://reviews.llvm.org/D93585
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/libgcc.a
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.1/lib/gcc/aarch64-unknown-linux-gnu/9.3.1/crtbegin.o
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp (diff)
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-10/lib/gcc/aarch64-unknown-linux-gnu/10/crtbegin.o
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/libgcc.a
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.1/lib/gcc/aarch64-unknown-linux-gnu/9.3.1/libgcc.a
The file was modifiedclang/include/clang/Driver/ToolChain.h (diff)
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/crtbegin.o
The file was modifiedclang/test/Driver/aarch64-features.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Linux.h (diff)
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-10/lib/gcc/aarch64-unknown-linux-gnu/10/libgcc.a
Commit 0217f1c7a31ba44715bc083a60cddc2192ffed96 by phosek
Make the profile-filter.c test compatible with 32-bit systems

This addresses PR48930.

Differential Revision: https://reviews.llvm.org/D95658
The file was modifiedclang/test/CodeGen/profile-filter.c (diff)
Commit 9f8ca86a87a73c4fba6f8f229008117f7d0f35ab by Casey
[libcxx][test] explicitly discard bitset::test's return

... just in case some implementation annotates it `[[nodiscard]]`.
The file was modifiedlibcxx/test/std/utilities/template.bitset/bitset.members/test.out_of_range.pass.cpp (diff)
Commit 5565092faa58c903206d4212377f367fe8720b67 by Casey
[libcxx][test] Silence false positive MSVC /analyze warning
The file was modifiedlibcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp (diff)
Commit 7bc31018f71cac22b7060c49cefb6f3d0d2e2069 by tianshilei1992
[OpenMP][NFC] Added release note for new `deviceRTLs` and hidden helper task

Added release note for new `deviceRTLs` and hidden helper task for LLVM
12.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95584
The file was modifiedopenmp/docs/ReleaseNotes.rst (diff)
Commit 67773681c0ef2a778a3c34d23b365899cd33e0c3 by terry.l.wilmarth
[OpenMP] Add environment variable to force monotonic dynamic scheduling

This patch introduces a new environment variable to force monotonic
behavior for users that absolutely need it.  This is in anticipation
of 5.0 change that uses non-monotonic behavior for dynamic scheduling
by default. Fixes for that and the actual switch are coming soon.

Differential Revision: https://reviews.llvm.org/D95263
The file was modifiedopenmp/runtime/src/kmp.h (diff)
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp_global.cpp (diff)
The file was modifiedopenmp/runtime/src/kmp_settings.cpp (diff)
Commit 605751790418ca4fb1df1e94dfbac34cfcc1b96f by Casey
[libcxx][test] Silence MSVC narrowing warning
The file was modifiedlibcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp (diff)
Commit caaaebcde462bf681498ce85c2659d683a07fc87 by zarko
[AIX] Actually push back "-mabi=vec-extabi" when option is on.

Accidentaly ommitted the portion of pushing back the option in
https://reviews.llvm.org/D94986
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
Commit ee4f8860e5f882a7ed1e1549301006c14ed4e749 by i
[VE] Add include for formatted_raw_ostream after 046cfb856517c6140d5e1c0989232e26d00b05b2
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.h (diff)
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp (diff)
Commit d6656c3b258ef2c40ad089dbb4bfcbb29fd47d9e by Jessica Paquette
[GlobalISel] Remove hint instructions in generic InstructionSelect code.

I think every target will want to remove these in the same way. Rather than
making them all implement the same code, let's just put this in
InstructionSelect.

Differential Revision: https://reviews.llvm.org/D95652
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir
Commit 0703b0753c40dad30f1683403f6600bd2cb42055 by ctetreau
[CMake] Actually require python 3.6 or greater

Previously, CMake would find any version of Python3. However, the project
claims to require 3.6 or greater, and 3.6 features are being used.

Reviewed By: yln

Differential Revision: https://reviews.llvm.org/D95635
The file was modifiedlld/CMakeLists.txt (diff)
The file was modifiedmlir/CMakeLists.txt (diff)
The file was modifiedllvm/CMakeLists.txt (diff)
The file was modifiedclang/CMakeLists.txt (diff)
Commit d3e8b9fdc0de18ff92764f1be0a9b5a13fbbe9de by ctetreau
Revert "[CMake] Actually require python 3.6 or greater"

There are builders that do not have python 3.6. Revert until this situation can be rectified

This reverts commit 0703b0753c40dad30f1683403f6600bd2cb42055.
The file was modifiedllvm/CMakeLists.txt (diff)
The file was modifiedclang/CMakeLists.txt (diff)
The file was modifiedlld/CMakeLists.txt (diff)
The file was modifiedmlir/CMakeLists.txt (diff)
Commit 8d7cbcf582c5c7bc08a9de7f31fed63bf2687127 by pifon
[mlir] Preserve lexicographic order after loop collapsing.

Currently, for a scf.parallel (i,j,k) after the loop collapsing to 1D is done, the
IVs would be traversed as for an scf.parallel(k,j,i).

Differential Revision: https://reviews.llvm.org/D95693
The file was modifiedmlir/test/Transforms/single-parallel-loop-collapsing.mlir (diff)
The file was modifiedmlir/test/Transforms/parallel-loop-collapsing.mlir (diff)
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp (diff)
Commit 632545e8ce846ccaeca8df15a3dc5e36d01a1275 by mgorny
[clang-tidy] Fix linking tests to LLVMTestingSupport

LLVMTestingSupport is not part of libLLVM, and therefore can not
be linked to via LLVM_LINK_COMPONENTS.  Instead, it needs to be
specified explicitly to ensure that it is linked explicitly
even if LLVM_LINK_LLVM_DYLIB is used.  This is consistent with handling
in clangd.

Fixes PR#48931

Differential Revision: https://reviews.llvm.org/D95653
The file was modifiedclang-tools-extra/unittests/clang-tidy/CMakeLists.txt (diff)
Commit 9a81a4ef79cf283fcf55a25a0bea67ba34dc0d53 by tmsriram
Emit metadata when instr. profiles hash mismatch occurs.

This patch emits "instr_prof_hash_mismatch" function annotation metadata if
there is a hash mismatch while applying instrumented profiles.

During the PGO optimized build using instrumented profiles, if the CFG of
the function has changed since generating the profile, a hash mismatch is
encountered. This patch emits this information as annotation metadata. We
plan to use this with Propeller which is done at the machine IR level.
Propeller is usually applied on top of PGO and a hash mismatch during
PGO could be used to detect source drift.

Differential Revision: https://reviews.llvm.org/D95495
The file was addedllvm/test/Transforms/PGOProfile/Inputs/hash_mismatch_metadata.proftext
The file was addedllvm/test/Transforms/PGOProfile/hash_mismatch_metadata.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp (diff)
Commit 49a6502cd5c2361d9c6f49ae1ee36940afbdeb0a by ctetreau
[SVE] delete VectorType::getNumElements()

The previously agreed-upon deprecation period for
VectorType::getNumElements() has passed. This patch removes this method
and completes the refactor proposed in the RFC:
https://lists.llvm.org/pipermail/llvm-dev/2020-March/139811.html

Reviewed By: david-arm, rjmccall

Differential Revision: https://reviews.llvm.org/D95570
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h (diff)
Commit a78d8feb48a536f50736f97a9ae28d5bae94e8ed by lebedev.ri
[LowerConstantIntrinsics] Preserve Dominator Tree, if avaliable
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll (diff)
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp (diff)
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll (diff)
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll (diff)
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll (diff)
Commit c2534a7097c054547b2c30ef0d337088dd5da3d1 by lebedev.ri
[ShadowStackGCLowering] Preserve Dominator Tree, if avaliable

This doesn't help avoid any Dominator Tree recalculations just yet,
there's one more pass to go..
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp (diff)
The file was modifiedllvm/lib/CodeGen/ShadowStackGCLowering.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/EscapeEnumerator.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Utils/EscapeEnumerator.h (diff)
Commit ddc4b56eef9fec990915470069a29e70bbde3711 by lebedev.ri
[ExpandMemCmpPass] Preserve Dominator Tree, if available

This finishes getting rid of all the avoidable Dominator Tree recalculations
in X86 optimized codegen pipeline.
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll (diff)
The file was modifiedllvm/lib/CodeGen/ExpandMemCmp.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll (diff)
Commit 9dbe736cbd2c6a0c3d62a6fd6a2cf31c9ffc9577 by Stanislav.Mekhanoshin
[AMDGPU] Be more specific in needsFrameBaseReg

A condition "mayLoadOrStore" is too broad for that function.

Differential Revision: https://reviews.llvm.org/D95700
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp (diff)
Commit e08b67f3a8ada62dcf84d41929c208adc656ba92 by kai.wang
[NFC][RISCV] Remove redundant pseudo instructions for vector load/store.

Not all combinations of SEW and LMUL we need to support. For example, we
only need to support [M1, M2, M4, M8] for SEW = 64. There is no need to
define pseudos for PseudoVLSE64MF8, PseudoVLSE64MF4, and PseudoVLSE64MF2.

Differential Revision: https://reviews.llvm.org/D95667
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
Commit 282aca10aeb03bdaef0a8d4f3faa4c2ff236e527 by kai.wang
[RISCV] Update the version number to v0.10 for vector.

v0.10 is tagged in V specification. Update the version to v0.10.

Differential Revision: https://reviews.llvm.org/D95680
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoV.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll (diff)
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp (diff)
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s (diff)
The file was modifiedclang/test/Driver/riscv-arch.c (diff)
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp (diff)
The file was modifiedclang/test/Preprocessor/riscv-target-features.c (diff)
Commit ebe74d9592d097501f376c2086e58d35aa318896 by pklausler
[flang] Support disabled alternative PARAMETER statement

Legacy Fortran implementations support an alternative form of the
PARAMETER statement; it differs syntactically from the standard's
PARAMETER statement by lacking parentheses, and semantically by
using the type and shape of the initialization expression to define
the attributes of the named constant.  (GNU Fortran gets that part
wrong; Intel Fortran and nvfortran have full support.)

This patch disables the old style PARAMETER statement by default, as
it is syntactically ambiguous with conforming assignment statements;
adds a new "-falternative-parameter-statement" option to enable it;
and implements it correctly when enabled.

Fixes https://bugs.llvm.org/show_bug.cgi?id=48774, in which a user
tripped over the syntactic ambiguity.

Differential Revision: https://reviews.llvm.org/D95697
The file was modifiedflang/docs/Extensions.md (diff)
The file was modifiedflang/tools/f18/f18.cpp (diff)
The file was modifiedflang/include/flang/Semantics/scope.h (diff)
The file was modifiedflang/lib/Semantics/scope.cpp (diff)
The file was addedflang/test/Semantics/oldparam01.f90
The file was modifiedflang/lib/Evaluate/shape.cpp (diff)
The file was modifiedflang/lib/Semantics/type.cpp (diff)
The file was addedflang/test/Semantics/oldparam03.f90
The file was modifiedflang/include/flang/Common/Fortran-features.h (diff)
The file was addedflang/test/Semantics/oldparam02.f90
The file was modifiedflang/include/flang/Semantics/tools.h (diff)
The file was modifiedflang/lib/Semantics/resolve-names.cpp (diff)
The file was modifiedflang/lib/Semantics/tools.cpp (diff)
Commit 9847023660467a4469b5667bcf7a4c73a4780037 by kai.wang
[RISCV]  Update the version number to v0.10 for vector.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
Commit 0af25275364e27d9766eb0912a5dd9731d62936b by jpienaar
Update ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0.

Update ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D95663
The file was modifiedmlir/unittests/IR/AttributeTest.cpp (diff)
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp (diff)
Commit 719f778441750dcadcf7c7c411d1cfb39029d59a by nhawes
[VFS] Combine VFSFromYamlDirIterImpl and OverlayFSDirIterImpl into a single implementation (NFC)

As a fixme notes, both of these directory iterator implementations are
conceptually similar and duplicate the functionality of returning and uniquing
entries across two or more directories. This patch combines them into a single
class 'CombiningDirIterImpl'.

This also drops the 'Redirecting' prefix from RedirectingDirEntry and
RedirectingFileEntry to save horizontal space. There's no loss of clarity as
they already have to be prefixed with 'RedirectingFileSystem::' whenever
they're referenced anyway.

rdar://problem/72485443
Differential Revision: https://reviews.llvm.org/D94857
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h (diff)
The file was modifiedlldb/source/Host/common/FileSystem.cpp (diff)
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp (diff)
Commit ad5307aaca7e3ce43918ef464ea271cfe53deccb by craig.topper
[RISCV] Merge rv32 and rv64 vector fadd/fsub/fmul/fdiv sdnode tests into single tests files with 2 run lines.

The IR and CHECK lines are identical so just keep one copy.
The file was removedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv64.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfadd-sdnode-rv64.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll (diff)
The file was removedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv64.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfadd-sdnode-rv32.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv64.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv32.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv32.ll
Commit 4d9336923ec33ff789ed0f32dd0d13a4f902b3aa by jpienaar
Use type alias for large tuples

Tuples can occupy quite a lot of space, instead of printing out tuple type
everywhere, just use the type alias if larger (arbitrarily chose a bound for
now).

Differential Revision: https://reviews.llvm.org/D95707
The file was modifiedmlir/lib/IR/BuiltinDialect.cpp (diff)
Commit c32f3998029d52df33d060e759563e3d314ce29f by tmsriram
Detect Source Drift with Propeller.

Source Drift happens when the sources are updated after profiling the binary
but before building the final optimized binary. If the source has changed since
the profiles were obtained, optimizing basic blocks might be sub-optimal. This
only applies to BasicBlockSection::List as it creates clusters of basic blocks
using basic block ids. Source drift can invalidate these groupings leading to
sub-optimal code generation with regards to performance.

PGO source drift for a particular function can be detected using function
metadata added in D95495.

When source drift is deected, disable basic block clusters by default
which can be re-enabled with  -mllvm option
bbsections-detect-source-drift=false.

Differential Revision: https://reviews.llvm.org/D95593
The file was modifiedllvm/lib/CodeGen/BasicBlockSections.cpp (diff)
The file was addedllvm/test/CodeGen/X86/basic-block-sections-source-drift.ll
Commit a5d9e0c79befb6856ae78a3c5f515287ad89a40f by pengfei.wang
[X86] Fix tile config register spill issue.

This is an optimized approach for D94155.

Previous code build the model that tile config register is the user of
each AMX instruction. There is a problem for the tile config register
spill. When across function, the ldtilecfg instruction may be inserted
on each AMX instruction which use tile config register. This cause all
tile data register clobber.

To fix this issue, we remove the model of tile config register. Instead,
we analyze the AMX instructions between one call to another. We will
insert ldtilecfg after the first call if we find any AMX instructions.

Reviewed By: LuoYuanke

Differential Revision: https://reviews.llvm.org/D95136
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.td (diff)
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp (diff)
The file was addedllvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-bf16-intrinsics.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86TileConfig.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-across-func.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td (diff)
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-spill-merge.ll (diff)
Commit 61a5502a93ab938edc66422e41ad98757a6f920b by gkm
[llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info

Compact unwind entries have 8 bits for the encoding-table offset:
* offsets 0..126 reference the global commmon-encodings table, while
* offsets 127..255 reference a per-second-level-page table.
This diff teaches `llvm-objdump` to print this per-page encodings table.

Differential Revision: https://reviews.llvm.org/D93265
The file was addedllvm/test/tools/llvm-objdump/MachO/unwind-info-excess-x86_64.test
The file was addedllvm/test/tools/llvm-objdump/MachO/Inputs/unwind-info-excess.macho-x86_64
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp (diff)
Commit 0ef25cf558bfaffda4820c8b4e4f2a02d52b0334 by gkm
[lld-macho][NFC] Add new option group for versions

Coalesce all version control options into a group

Differential Revision: https://reviews.llvm.org/D94938
The file was modifiedlld/MachO/Options.td (diff)
Commit 49556b87ae9b85b883b9b8be432a6f6a769d6021 by nullptr.cpp
[NFC][VFS] Fix a build warning due to an extra semicolon
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp (diff)
Commit 7728cc003a87b274ebd611070fe38f0e41fef2aa by kazu
[llvm] Use append_range (NFC)
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h (diff)
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp (diff)
The file was modifiedllvm/tools/obj2yaml/wasm2yaml.cpp (diff)
The file was modifiedllvm/tools/llvm-cov/CoverageExporterJson.cpp (diff)
The file was modifiedllvm/tools/llvm-cov/CoverageExporterLcov.cpp (diff)
The file was modifiedllvm/tools/lto/lto.cpp (diff)
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp (diff)
The file was modifiedllvm/include/llvm/Bitstream/BitstreamWriter.h (diff)
Commit 1a2d67fa23b2b65c7f07481dd0184957f8d058d9 by kazu
[llvm] Use llvm::lower_bound and llvm::upper_bound (NFC)
The file was modifiedllvm/lib/MC/MCSection.cpp (diff)
The file was modifiedllvm/lib/CodeGen/LiveRangeCalc.cpp (diff)
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp (diff)
The file was modifiedllvm/lib/CodeGen/LiveInterval.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86IntrinsicsInfo.h (diff)
Commit 8ed163618478dd4e7e03e34a029256b47a95d85c by kazu
[llvm] Use isa instead of dyn_cast (NFC)
The file was modifiedllvm/lib/Target/AVR/AVRISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/BPF/BPFAdjustOpt.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp (diff)
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp (diff)
The file was modifiedllvm/lib/Target/VE/VEISelDAGToDAG.cpp (diff)
The file was modifiedllvm/lib/Transforms/IPO/MergeFunctions.cpp (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopSink.cpp (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc (diff)
The file was modifiedllvm/utils/TableGen/FixedLenDecoderEmitter.cpp (diff)
Commit 3949a3ed49bbd95235c3c616bf4dbae4ecac48bc by i
[ELF][test] Add --emit-relocs --gc-sections test for relocation section for a non-SHF_ALLOC section

This has been fixed by D89841.
The file was modifiedlld/test/ELF/emit-relocs-gc.s (diff)
Commit 6a59f0560648b43324b5aed51b9ef996404a25e0 by flo
[LTO] Use lto::backend for code generation.

This patch updates LTOCodeGenerator to use the utilities provided by
LTOBackend to run middle-end optimizations and backend code generation.

This is a first step towards unifying the code used by libLTO's C API
and the newer, C++ interface (see PR41541).

The immediate motivation is to allow using the new pass manager when
doing LTO using libLTO's C API, which is used on Darwin, among others.

With the changes, there are no codegen/stats differences when building
MultiSource/SPEC2000/SPEC2006 on Darwin X86 with LTO, compared
to without the patch.

Reviewed By: steven_wu

Differential Revision: https://reviews.llvm.org/D94487
The file was modifiedllvm/include/llvm/LTO/legacy/LTOCodeGenerator.h (diff)
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp (diff)
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp (diff)
The file was modifiedllvm/test/LTO/X86/disable-verify.ll (diff)
The file was modifiedllvm/test/tools/lto/print-stats.ll (diff)
Commit 7a6a2cc81aaf064e6f5bc9a9a16973f552d2bdc2 by flo
[LTO] Add option enable NewPM with LTOCodeGenerator.

This patch adds an option to enable the new pass manager in
LTOCodeGenerator. It also updates a few tests with legacy PM specific
tests, which started failing after 6a59f0560648 when
LLVM_ENABLE_NEW_PASS_MANAGER=true.
The file was modifiedllvm/include/llvm/LTO/legacy/LTOCodeGenerator.h (diff)
The file was modifiedllvm/test/LTO/X86/disable-verify.ll (diff)
The file was modifiedllvm/test/Other/X86/lto-hot-cold-split.ll (diff)
The file was modifiedllvm/test/LTO/X86/diagnostic-handler-remarks.ll (diff)
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp (diff)
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp (diff)
Commit b01b964d3776956ef415a10c57cf612add55bba9 by harald
[compiler-rt][tests] Define TARGET_FLAGS

D36116 refactored the logic of tests and removed the definition of TARGET_FLAGS, but left one use of it. Restore its definition for that one use, so that an x86_64 test is compiled with -m64.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D93634
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt (diff)
Commit 79125085f16540579d27c7e4987f63eef9c4aa23 by steveire
[ASTMatchers] Fix traversal below range-for elements

Differential Revision: https://reviews.llvm.org/D95562
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp (diff)
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp (diff)
Commit 10c57268c074c3ad48f76da38fa2ba575ee3d1f9 by flo
[LoopUnswitch] Properly update MSSA if header has non-clobbering stores.

This patch fixes updating MemorySSA if the header contains memory
defs that do not clobber a duplicated instruction. We need to find the
first defining access outside the loop body and use that as defining
access of the duplicated instruction.

This fixes a crash caused by bee486851c1a.
The file was modifiedllvm/test/Transforms/LoopUnswitch/partial-unswitch.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp (diff)
The file was addedllvm/test/Transforms/LoopUnswitch/partial-unswitch-update-memoryssa.ll
Commit bb57a3422a09dcdd572ccb42767a0dabb5f966dd by steveire
Fix traversal with hasDescendant into lambdas

Differential Revision: https://reviews.llvm.org/D95607
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp (diff)
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp (diff)
Commit d22140687500f90830fe416d9c1e317f7c4535d5 by grimar
[llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file.

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

If the input file does not exist (or has a reading error), the
following code will crash if there are two or more input addresses.

```
auto ResOrErr = Symbolizer.symbolizeInlinedCode(
  ModuleName, {Offset, object::SectionedAddress::UndefSection});
Printer << (error(ResOrErr) ? DILineInfo() : ResOrErr.get().getFrame(0));
```

For the first address, `symbolizeInlinedCode` returns an error.
For the second address, `symbolizeInlinedCode` returns an empty result
(not an error) and `.getFrame(0)` will crash.

Differential revision: https://reviews.llvm.org/D95609
The file was modifiedllvm/test/tools/llvm-symbolizer/output-style-inlined.test (diff)
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp (diff)
Commit c87dd614fd4b0b0d6290b5b90897caa09e053ef0 by fraser
[RISCV] Update extractelt tests to sign-extend results (NFC)

This demonstrates a missed optimization: the `vmv.x.s` instruction is
used to extract the element from the vector, and this instruction
already sign-extends the value to XLEN.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll (diff)
Commit b10d445307a0f3c7e5522836b4331090aacaf349 by steveire
[ASTMatchers] Fix definition of decompositionDecl
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp (diff)
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h (diff)
Commit e718869bf47af20be0ec7301846f78c82d0f1140 by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/AsmMatcherEmitter.cpp (diff)
Commit b4e780697d1cf0c06e7ca3a908ece0ab65a470ff by kazu
[AMDGPU] Forward-declare AMDGPUTargetMachine (NFC)

AMDGPUTargetTransformInfo.h needs AMDGPUTargetMachine but relies on a
forward declaration of AMDGPUTargetMachine in AMDGPU.h.  This patch
adds a forward declaration right in AMDGPUTargetTransformInfo.h.

While we are at it, this patch removes the one in
AMDGPU.h, where it is unnecessary.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h (diff)
Commit 627b5bda11a79785a21b1a50070415d4188aba6a by kazu
[llvm] Add missing header guards (NFC)

Identified with llvm-header-guard.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUExportClustering.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMacroFusion.h (diff)
The file was modifiedllvm/include/llvm/Support/DataTypes.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64MacroFusion.h (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCMacroFusion.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h (diff)
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h (diff)
Commit 39486753d5c69d98d510c9ed43c92f076ec4c602 by flo
[ConstraintElimination] Verify CS and DFSInStack are in sync.(NFC)

After the main loop is done, we should have one constraint per item in
DFSInStack. Otherwise we added a constraint without a proper DFSInStack
item.
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp (diff)
Commit 26d38f6d20ff137d89cb7c891b739662de1ca508 by tianshilei1992
[OpenMP][NVPTX] Refined CMake logic to choose compute capabilites

This patch refines the logic to choose compute capabilites via the
environment variable `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES`. It supports the
following values (all case insensitive):
- "all": Build `deviceRTLs` for all supported compute capabilites;
- "auto": Only build for the compute capability auto detected. Note that this
  requires CUDA. If CUDA is not found, a CMake fatal error will be raised.
- "xx,yy" or "xx;yy": Build for compute capabilities `xx` and `yy`.

If `LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES` is not set, it is equivalent to set
it to `all`.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95687
The file was modifiedopenmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt (diff)
Commit 4e04a535d8f836804d39e8861ae17d7817293c5a by craig.topper
[TableGen] Avoid a couple vector copies in ExpandHwModeBasedTypes.

Use vector::swap instead of copying to a local vector and clearing
the original. We can just swap into the just created local vector
instead which will move the pointers and not the data.

Use std::move in another place to avoid a copy.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp (diff)
Commit b5e3a5785dab0d0c7aa68cc65c2dd348488e72d1 by craig.topper
[TableGen] Use emplace_back to add to PatternsToMatch in GenerateVariants. Use std::move when adding to PatternsToMatch in AddPatternToMatch.

We already used emplace_back in at least one other place so be
consistent.

AddPatternToMatch already took PTM as an rvalue reference, but
we need to use std::move again to move it into the PatternToMatch
vector.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp (diff)
Commit 3fdf2a56dd00ece7b6572e592f40b207ef85f96f by craig.topper
[RISCV] Use MVT instead of EVT in RISCVISelDAGToDAG.cpp

All this code runs post type legalization so we should have
exclusively legal types. The methods on MVT should be more
efficient than EVT.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp (diff)
Commit 6f3d322f250d2381370b256e648cbb76c6de0135 by pklausler
[flang] Improve shape & length characterization

Analyze the shape of the result of TRANSFER(ptr,array) correctly
when "ptr" is an array of deferred shape.  Fixing this bug led to
some refactoring and concentration of common code in TypeAndShape
member functions with code in general shape and character length
analysis, and this led to some regression test failures that have
all been cleaned up.

Differential Revision: https://reviews.llvm.org/D95744
The file was modifiedflang/lib/Semantics/check-call.cpp (diff)
The file was modifiedflang/include/flang/Evaluate/characteristics.h (diff)
The file was modifiedflang/lib/Evaluate/characteristics.cpp (diff)
The file was modifiedflang/lib/Evaluate/shape.cpp (diff)
The file was modifiedflang/lib/Semantics/expression.cpp (diff)
The file was modifiedflang/lib/Evaluate/variable.cpp (diff)
The file was modifiedflang/include/flang/Evaluate/tools.h (diff)
The file was modifiedflang/lib/Semantics/runtime-type-info.cpp (diff)
Commit 5ec59f021ceb09cff32c0fb4c24310362d08ea63 by springerm
[mlir][AVX512] Fix result type of vp2intersect

The result values of vp2intersect are vectors of bits, i.e.,
vector<8xi1> or vector<16xi8> (instead of i8 or i16).

Differential Revision: https://reviews.llvm.org/D95678
The file was modifiedmlir/include/mlir/Dialect/AVX512/AVX512.td (diff)
The file was modifiedmlir/test/Dialect/AVX512/roundtrip.mlir (diff)
The file was modifiedmlir/test/Conversion/AVX512ToLLVM/convert-to-llvm.mlir (diff)
Commit be997cead7fa0e4a1001129cd0d80944e6cc126d by craig.topper
[RISCV] Add rv64 command line to bswap-ctlz-cttz-ctpop.ll.
The file was modifiedllvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll (diff)
Commit 095f08653f3ab0917a474888abac95c4fa99697d by sam.mccall
[docs] Clarify compile_flags.txt subtleties

See confusion e.g. in https://github.com/clangd/clangd/issues/637
The file was modifiedclang/docs/JSONCompilationDatabase.rst (diff)
Commit 0962f1d72b1606f3224a14434c7b4500a23f8728 by sam.mccall
[clangd] Quote/escape argv included in log messages.

https://github.com/clangd/clangd/issues/637
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.h (diff)
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp (diff)
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp (diff)
Commit 60053a9ce28655fc6f635567c62599fa3aad57d2 by sam.mccall
[clangd] Remove references to old future-based API. NFC
The file was modifiedclang-tools-extra/clangd/support/Context.h (diff)
The file was modifiedclang-tools-extra/clangd/ClangdServer.h (diff)
Commit 8869e2f969101426e8615bb3cb0e7186938c23c7 by koraq
[libc++] Allow building with C++17.

After committing D92214 it was noticed libc++ no longer builds with
C++17. For now reenable building with C++17. This is intended to be a
temporary measure in the future a C++20 capable compiler will be
required.
The file was modifiedlibcxx/src/format.cpp (diff)
Commit fb244ffb9f2d7718b0edb1566138ba454b5709bc by a.v.lapshin
[dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations.

Current dsymutil implementation of hasLiveMemoryLocation()/hasLiveAddressRange()
and applyValidRelocs() assume that calls should be done in certain order
(from first Dies to last). Multi-thread implementation might call these methods
in other order(it might process compilation units in order other than they are physically
located), so we remove restriction that searching for relocations should be done
in ascending order. This change does not introduce noticable performance degradation.
The testing results for clang binary:

golden-dsymutil/dsymutil  23787992
clang MD5: 5efa8fd9355ebf81b65f24db5375caa2
elapsed time=91sec

build-Release/bin/dsymutil 23855616
clang MD5: 5efa8fd9355ebf81b65f24db5375caa2
elapsed time=91sec

Differential Revision: https://reviews.llvm.org/D93106
The file was modifiedllvm/include/llvm/DWARFLinker/DWARFLinker.h (diff)
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h (diff)
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp (diff)
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp (diff)
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.h (diff)
The file was modifiedllvm/test/tools/dsymutil/X86/dwarf5.test (diff)
Commit 7a8008d0e8885d22ff9a1fa7f9965c7b2ad2569a by sam.mccall
Revert "[clangd] Quote/escape argv included in log messages."

This reverts commit 0962f1d72b1606f3224a14434c7b4500a23f8728.
http://45.33.8.238/win/32346/step_9.txt
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp (diff)
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp (diff)
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.h (diff)
Commit 7de711ecca99f81da3c2ae1705cefe0b4bda70b3 by sam.mccall
Reland [clangd] Quote/escape argv included in log messages.

... but don't apply it where we're using hasSubstr

This reverts commit 7a8008d0e8885d22ff9a1fa7f9965c7b2ad2569a.
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp (diff)
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/CompileCommands.h (diff)
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp (diff)
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp (diff)
Commit 8f14a08863bf295cdc660f24948ef810731b812d by Matthew.Arsenault
AMDGPU: Add missing consts
The file was modifiedllvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp (diff)
Commit 1801e2aa249497adb5b0ab33e7fc5dd0ad4a4ab3 by Matthew.Arsenault
RegAlloc: Fix assert if all registers in class reserved

With a context instruction, this would produce a context
error. However, it would continue on and do an out of bounds access of
the empty allocation order array.
The file was modifiedllvm/lib/CodeGen/RegAllocBase.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir
Commit 177b8d1ad3cd78aa789bb246c42cbf10dda8a901 by kazu
[VE] Fix compiler warnings (NFC)
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp (diff)
Commit 6bfb02cafe4fb31fd0a4f8a9871180df3333bd49 by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/SearchableTableEmitter.cpp (diff)
Commit 3d1200b9f6e305ea66080bb93fd34753c46066a1 by kazu
[llvm] Drop unnecessary const from return types (NFC)

Identified with const-return-type.
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h (diff)
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h (diff)
The file was modifiedllvm/include/llvm/Object/WindowsResource.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp (diff)
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h (diff)
The file was modifiedllvm/include/llvm/Analysis/DDG.h (diff)
The file was modifiedllvm/include/llvm/MCA/Instruction.h (diff)
The file was modifiedllvm/include/llvm/TableGen/DirectiveEmitter.h (diff)
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/LoopCacheAnalysis.h (diff)
The file was modifiedllvm/include/llvm/Transforms/IPO/SampleContextTracker.h (diff)
The file was modifiedllvm/tools/dsymutil/DebugMap.h (diff)
Commit f43c0707f66a19236f58f5bd8be470e5fc625603 by mgorny
[lldb] [Process/FreeBSDRemote] Introduce arm64 support

Introduce arm64 support in the FreeBSDRemote plugin.  The code
is roughly based on Linux and reuses the same POSIX RegisterInfos
(but the buffers need to be a few bytes larger due to stricter struct
member alignment in FreeBSD structures -- luckily, they do not affect
the actual member offsets).  It supports reading and writing
general-purpose and FPU registers.  SVE and hardware watchpoint support
is missing due to the limitations of FreeBSD ptrace(2) API.

Differential Revision: https://reviews.llvm.org/D95297
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt (diff)
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.h
The file was modifiedlldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp (diff)
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp (diff)
Commit 9d029362d1ed48c38565aeab0ca04bf4143d3e5b by mgorny
[lldb] [Process/FreeBSDRemote] Introduce arm (32-bit) support

Introduce a NativeRegisterContextFreeBSD for 32-bit ARM platform.
This includes support for GPR + VFP registers as exposed by FreeBSD's
ptrace(2) API.  Hardware breakpoints or watchpoints are not supported
due to missing kernel support.  The code is roughly based on the arm64
context.

It also includes an override for GetSoftwareBreakpointTrapOpcode() based
on the matching code in the PlatformFreeBSD plugin.

Differential Revision: https://reviews.llvm.org/D95696
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt (diff)
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h (diff)
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.h
The file was modifiedlldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp (diff)
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp (diff)
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.cpp
Commit 2ae0f8d60083d39b6df6a1b4d073970fba3e4a0a by flo
[ConstraintElimination] Add tests for ICMP_EQ predicates.

Pre-commit test coverage for conditions with EQ predicates.
The file was addedllvm/test/Transforms/ConstraintElimination/eq.ll
Commit 0d487cf87aa1b609b7db061def3e5ad068576ecf by flo
[LTOCodeGenerator] Use lto::Config for options (NFC).

This patch removes some options that have been duplicated in
LTOCodeGenerator and instead use lto::Config directly to manage the
options.

This is a cleanup after 6a59f0560648.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D95738
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp (diff)
The file was modifiedllvm/include/llvm/LTO/legacy/LTOCodeGenerator.h (diff)
Commit 2de4f19ecdb275bcbc6e7ee8368c19a63f99db88 by luismarques
[LSan][RISCV] Enable LSan for RISCV64

Fixes the broken RISCV64 implementation of `internal_clone` and
adds RISCV64 support for LSan.

Differential Revision: https://reviews.llvm.org/D92403
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp (diff)
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h (diff)
The file was modifiedcompiler-rt/test/asan/lit.cfg.py (diff)
The file was modifiedcompiler-rt/test/lsan/lit.common.cfg.py (diff)
The file was modifiedclang/test/Driver/fsanitize.c (diff)
The file was modifiedcompiler-rt/cmake/config-ix.cmake (diff)
The file was modifiedcompiler-rt/test/lsan/TestCases/use_registers.cpp (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp (diff)
The file was modifiedcompiler-rt/lib/lsan/lsan_allocator.h (diff)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h (diff)
The file was modifiedcompiler-rt/test/sanitizer_common/print_address.h (diff)
Commit 2eb5f3454212aa906388013e6807a7a906233f18 by jpienaar
Fix omitted kw in type alias printer

* Fixing missing `type` keyword in alias print
* Add test for large tuple type alias & rerun output to verify printed
form can be parsed (which caught the above).
The file was modifiedmlir/test/IR/print-attr-type-aliases.mlir (diff)
The file was modifiedmlir/lib/IR/AsmPrinter.cpp (diff)
Commit 70289ea6f591bd39c631f1eee3e6f2622fbc1d46 by craig.topper
[RISCV][LegalizeTypes] Try to expand BSWAP before promoting if the promoted BSWAP would expand anyway.

If we're going to end up expanding anyway, we should do it early
so we don't create extra operations to handle the bytes added by
promotion.

This is helfpul on RISCV where we might have to promote i16 all
the way to i64.

Differential Revision: https://reviews.llvm.org/D95756
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbp.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbb.ll (diff)
Commit 8f670d5b6d8f39bf9bf1d142dacef3afaed6d70b by jyknight
CFG: Create scope for non-compound range-for body.

Previously, it was omitting the destructor call from the CFG, which
could result in incorrect diagnostics.
The file was modifiedclang/test/Analysis/auto-obj-dtors-cfg-output.cpp (diff)
The file was modifiedclang/lib/Analysis/CFG.cpp (diff)
Commit 3203c968424193a519d1b52739047748038bb074 by luismarques
[CMake][compiler-rt][RISCV] Support RISC-V cross-compilation

This seems to be a safe way to ensure that the Compiler-RT test compiler
flags are properly set in all cross-compilation scenarios. Without this
when `BUILTINS_TEST_TARGET_CFLAGS` is set in
`compiler-rt/test/builtins/CMakeLists.txt` the other flags are cleared.

Differential Revision: https://reviews.llvm.org/D92124
The file was modifiedcompiler-rt/cmake/config-ix.cmake (diff)
Commit 68e5614b42823cc1eef48916e1e6f551ad61a055 by luismarques
[Sanitizer][RISCV] Fix FastUnwindTest

Fixes the `FastUnwindTest` unit test for RISC-V.
These changes reflect the different stack organization commonly used for
that architecture.

Differential Revision: https://reviews.llvm.org/D90574
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp (diff)
Commit 54842fa0bba0c6cf69b7eb94f4b10d8da8aa5170 by JunMa
[CodeGenPrepare] Also skip lifetime.end intrinsic when check return block in dupRetToEnableTailCallOpts.

Differential Revision: https://reviews.llvm.org/D95424
The file was modifiedllvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll (diff)
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp (diff)
The file was modifiedllvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll (diff)
Commit 20b1c1300c8f00d85e1292158f865c1bd0d1e12c by jyknight
Fix test in "CFG: Create scope for non-compound range-for body."

The constant 4 is sometimes printed as "4L", or "4LL", in CFG dump
output, depending on platform; accept all variants.

Ammends commit 8f670d5b6d8f39bf9bf1d142dacef3afaed6d70b.
The file was modifiedclang/test/Analysis/auto-obj-dtors-cfg-output.cpp (diff)
Commit e94a35a744b780fcbe18e8bc6a4f774191588d45 by michael.p.rice
[OpenMP] Fix comment and assertion strings (NFC).
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
Commit 6e58539659aea0ee621c7e267d825aa82d4e7e96 by Lang Hames
[JITLink] Add missing symbols for ELF ehframe testcase, re-enable on Windows.

This testcase was failing on windows due to missing definitions. This commit
adds definitions of the missing symbols (as absolute symbols) to eliminate the
errors.
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_ehframe_basic.s (diff)
Commit 44cc5abbf9166c47a1da7027123b13d230442610 by craig.topper
[RISCV] Custom lower fshl/fshr with Zbt extension.

We need to add a mask to the shift amount for these operations
to use the FSR/FSL instructions. We were previously doing this
in isel patterns, but custom lowering will make the mask
visible to optimizations earlier.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit d2bb07949b0e66a60f26a0a1fb6bcec609da5e63 by Lang Hames
Revert "[JITLink] Add missing symbols for ELF ehframe testcase, re-enable ...."

This reverts commit 6e58539659aea0ee621c7e267d825aa82d4e7e96.

This failed in http://lab.llvm.org:8011/#/builders/123/builds/2676. I guess
were're still missing some symbols, but unfortunately the specific error is
masked by a bug in python/lit that hides stderr. This test will have to remain
disabled on Windows until I can get help to debug it further.
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_ehframe_basic.s (diff)
Commit ff460268973533e8d39a7714223891d1b7c62d67 by craig.topper
[X86] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV) to improve readability. NFC
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td (diff)
Commit 94206f1f90fee1b92c49234a17cf8e1781179146 by craig.topper
[PowerPC] Remove vnot_ppc and replace with the standard vnot.

immAllOnesV has special support for looking through bitcasts
automatically so isel patterns don't need to explicitly look
for the bitconvert.
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td (diff)
Commit ce27b327158e6ae7b726b6d867b7db5117a90b73 by craig.topper
[Mips] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV). NFCI

A couple patterns used bitconvert on the immAllOnesV, but
the isel matching uses ISD::isBuildVectorAllOnes which
is able to look through bitcasts. So isel patterns don't need
to do it explicitly.
The file was modifiedllvm/lib/Target/Mips/MipsMSAInstrInfo.td (diff)
Commit bf416d166bdde187cf3b7e99888bcb4b95a93142 by sepavloff
[FPEnv] Intrinsic for setting rounding mode

To set non-default rounding mode user usually calls function 'fesetround'
from standard C library. This way has some disadvantages.

* It creates unnecessary dependency on libc. On the other hand, setting
  rounding mode requires few instructions and could be made by compiler.
  Sometimes standard C library even is not available, like in the case of
  GPU or AI cores that execute small kernels.
* Compiler could generate more effective code if it knows that a particular
  call just sets rounding mode.

This change introduces new IR intrinsic, namely 'llvm.set.rounding', which
sets current rounding mode, similar to 'fesetround'. It however differs
from the latter, because it is a lower level facility:

* 'llvm.set.rounding' does not return any value, whereas 'fesetround'
  returns non-zero value in the case of failure. In glibc 'fesetround'
  reports failure if its argument is invalid or unsupported or if floating
  point operations are unavailable on the hardware. Compiler usually knows
  what core it generates code for and it can validate arguments in many
  cases.
* Rounding mode is specified in 'fesetround' using constants like
  'FE_TONEAREST', which are target dependent. It is inconvenient to work
  with such constants at IR level.

C standard provides a target-independent way to specify rounding mode, it
is used in FLT_ROUNDS, however it does not define standard way to set
rounding mode using this encoding.

This change implements only IR intrinsic. Lowering it to machine code is
target-specific and will be implemented latter. Mapping of 'fesetround'
to 'llvm.set.rounding' is also not implemented here.

Differential Revision: https://reviews.llvm.org/D74729
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Intrinsics.td (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h (diff)
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp (diff)
The file was modifiedllvm/docs/LangRef.rst (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)
Commit 77f077b8c3b2e8bbf9b160d56194312e506dfe8f by craig.topper
[TableGen] Don't commute isel patterns if it would put an immAllOnesV or immAllZerosV on the left hand side.

This primarily occurs with isel patterns using vnot. This reduces
the number of variants in the isel tables.

We generally canonicalize build_vectors of constants to the RHS. I think
we might fail if there is a bitcast on the build_vector, but that
should be easy to fix if we can find a case. Usually the
bitcast is introduced by type legalization or lowering. It's
likely canonicalization would have already occured.
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp (diff)
Commit c3c02d0d5a313272f6d35926bdf678fc6b884c02 by tobias
[OpenMP] Fix python3 compatibility in openmp's lit.cfg

Differential Revision: https://reviews.llvm.org/D95669
The file was modifiedopenmp/runtime/test/lit.cfg (diff)
Commit d9b953d84b332a8c4751fcbf8178e32818dc718b by hanchung
[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding

This is the last revision to migrate using SimplePadOp to PadTensorOp, and the
SimplePadOp is removed in the patch. Update a bit in SliceAnalysis because the
PadTensorOp takes a region different from SimplePadOp. This is not covered by
LinalgOp because it is not a structured op.

Also, remove a duplicated comment from cpp file, which is already described in a
header file. And update the pseudo-mlir in the comment.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D95671
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/lib/Analysis/CMakeLists.txt (diff)
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp (diff)
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp (diff)
Commit a4b7d52f3a219e7726edc8c3805c1d6dc7bd97a5 by csigg
[mlir] Fix missing null termination in cuLinkAddData argument.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D95679
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp (diff)
Commit 2790cbedd0a886fa70c35efda40924679d1cbcd0 by tpopp
Revert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding"

This reverts commit d9b953d84b332a8c4751fcbf8178e32818dc718b.

This commit resulted in build bot failures and the author is away from a
computer, so I am reverting on their behalf until they have a chance to
look into this.
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp (diff)
The file was modifiedmlir/lib/Analysis/CMakeLists.txt (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
Commit 2939d2e1b46c05432864db333ca3d5cb7ab83533 by Raphael Isemann
[lldb][docs] Attempt to disable the generated GitHub button on the LLDB website

For unknown reasons the alabaster theme on the docs server is always generating
a GitHub link in the side bar. Beside the privacy problems of having an iframe
to some third-party service, we never configured any GitHub integration so
this button just links to the GitHub main site.

The button generation should be disabled by default, but as that's apparently
not true in the alabaster theme on the server, this patch tries working around
the issue by just explicitly turning off the GitHub integration.
The file was modifiedlldb/docs/conf.py (diff)
Commit 80cdd30eb90c3509bf315f1fa1369483e2448bbd by jeroen.dobbelaere
[LoopPeel] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed.

The reduction of a sanitizer build failure when enabling the dominance check (D95335) showed that loop peeling also needs to take care of scope duplication, just like loop unrolling (D92887).

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D95544
The file was modifiedllvm/lib/Transforms/Utils/LoopPeel.cpp (diff)
The file was addedllvm/test/Transforms/LoopUnroll/peel-loop-noalias-scope-decl.ll
Commit b8c81fa5c7f77a7a1267e42ddbbc9bffb10b0817 by flo
[LoopUnswitch] Add shortcut if unswitched path is a no-op.

If we determine that the invariant path through the loop has no effects,
we can directly branch to the exit block, instead to unswitching first.

Besides avoiding some extra work (unswitching first, then deleting the
loop again) this allows to be more aggressive than regular unswitching
with respect to cost-modeling. This approach should always be be
desirable.

This is similar in spirit to D93734, just that it uses the previously
added checks for loop-unswitching.

I tried to add the required no-op checks from scratch, as we only check
a subset of the loop. There is potential to unify the checks with
LoopDeletion, at the cost of adding a predicate whether a block should
be considered.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95468
The file was modifiedllvm/test/Transforms/LoopUnswitch/partial-unswitch-cost.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp (diff)
Commit a9583a19237e66fa56fcd979511ac14232e9a3c3 by flo
[LoopUnswitch] Pacify compiler warnings.

Attempt to fix some compiler warnings on some bots after
b8c81fa5c7f77a7a1267e42ddbbc9bffb10b0817.
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp (diff)
Commit 4648098f97fa2a7c08c04632c70cf29293528812 by marukawa
[VE] Change inetger constants 32-bit friendly

Correct integer constants like `1UL << 63` to `UINT64_C(1) << 63` in
order to make them work on 32-bit machines.  Tested on both an i386
and x86_64 machines.

Reviewed By: mgorny

Differential Revision: https://reviews.llvm.org/D95724
The file was modifiedllvm/lib/Target/VE/VE.h (diff)
Commit 6ab792b68d5779e1668a2bd6ecd0a52c91b56387 by david.green
[ARM] Simplify extract of VMOVDRR

Under SoftFP calling conventions, we can be left with
extract(bitcast(BUILD_VECTOR(VMOVDRR(a, b), ..))) patterns that can
simplify to a or b, depending on the extract lane.

Differential Revision: https://reviews.llvm.org/D94990
The file was modifiedllvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
Commit 5211af48181fe1a1ac99aeacf15818c50bfbda7d by llvm-dev
[X86][AVX] combineExtractWithShuffle - combine extracts from 256/512-bit vector shuffles.

We can only legally extract from the lowest 128-bit subvector, so extract the correct subvector to allow us to handle 256/512-bit vector element extracts.
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll (diff)
Commit b43c395e60d2636ab5afc9b60a2046978c71e366 by jeroen.dobbelaere
[Verifier] enable llvm.experimental.noalias.scope.decl dominance check.

Now that Loop Peeling has been fixed (80cdd30eb90c3509bf315f1fa1369483e2448bbd),
enable the dominance check by default.

This reverts commit 3b5d36ece21f9baf96d82944b0165cb352443bee.
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
Commit ad12e6ee9579149c0efb594211fa3fb8aed2d84f by david.green
[ARM] Turn sext_inreg(VGetLaneu) into VGetLaneu

This adds a DAG combine for converting sext_inreg of VGetLaneu into
VGetLanes, providing the types match correctly.

Differential Revision: https://reviews.llvm.org/D95073
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-div-expand.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/dagcombine-anyexttozeroext.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt.ll (diff)
Commit 94fac81fccfef9917e94bed398781744fb82e159 by shivam98.tkg
[Branch-Rename] Fix some links

According to the [[ https://foundation.llvm.org/docs/branch-rename/ | status of branch rename ]], the master branch of the LLVM repository is removed on 28 Jan 2021.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D95766
The file was modifiedclang/docs/LibTooling.rst (diff)
The file was modifiedflang/README.md (diff)
The file was modifiedpolly/www/menu.html.incl (diff)
The file was modifiedclang/www/analyzer/checker_dev_manual.html (diff)
The file was modifiedlibcxx/www/type_traits_design.html (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedcompiler-rt/include/sanitizer/tsan_interface_atomic.h (diff)
The file was modifiedmlir/docs/ShapeInference.md (diff)
The file was modifiedlldb/docs/use/python-reference.rst (diff)
The file was modifiedlibcxx/www/atomic_design_b.html (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
The file was modifiedmlir/docs/PatternRewriter.md (diff)
The file was modifiedmlir/docs/DeclarativeRewrites.md (diff)
The file was modifiedclang/www/hacking.html (diff)
The file was modifiedmlir/docs/Rationale/RationaleGenericDAGRewriter.md (diff)
The file was modifiedcompiler-rt/www/menu.html.incl (diff)
The file was modifiedlibcxx/www/atomic_design.html (diff)
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h (diff)
The file was modifiedlibcxx/www/ts1z_status.html (diff)
The file was modifiedlibcxx/www/atomic_design_c.html (diff)
The file was modifiedclang/www/analyzer/open_projects.html (diff)
The file was modifiedlibcxxabi/www/index.html (diff)
The file was modifiedopenmp/www/index.html (diff)
The file was modifiedclang/docs/InternalsManual.rst (diff)
The file was modifiedlibcxx/docs/index.rst (diff)
The file was modifiedmlir/docs/Tutorials/UnderstandingTheIRStructure.md (diff)
The file was modifiedmlir/docs/SPIRVToLLVMDialectConversion.md (diff)
The file was modifiedmlir/docs/OpDefinitions.md (diff)
The file was modifiedlibcxx/www/index.html (diff)
The file was modifiedclang/www/menu.html.incl (diff)
The file was modifiedmlir/docs/Dialects/SPIR-V.md (diff)
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.h (diff)
The file was modifiedclang-tools-extra/clangd/README.md (diff)
The file was modifiedlldb/docs/resources/test.rst (diff)
The file was modifiedflang/docs/flang-c-style.el (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll (diff)
The file was modifiedclang-tools-extra/docs/clang-tidy/Contributing.rst (diff)
The file was modifiedclang-tools-extra/docs/clang-tidy/Integrations.rst (diff)
The file was modifiedclang/docs/ControlFlowIntegrityDesign.rst (diff)
The file was modifiedlibcxx/www/upcoming_meeting.html (diff)
The file was modifiedlibcxx/www/atomic_design_a.html (diff)
The file was modifiedclang-tools-extra/docs/clang-rename.rst (diff)
The file was modifiedllvm/docs/Vectorizers.rst (diff)
The file was modifiedclang/docs/ClangPlugins.rst (diff)
The file was modifiedmlir/docs/Dialects/Vector.md (diff)
The file was modifiedclang/docs/ClangTools.rst (diff)
The file was modifiedllvm/utils/lit/setup.py (diff)
The file was modifiedlldb/docs/resources/build.rst (diff)
The file was modifiedlibunwind/docs/index.rst (diff)
The file was modifiedflang/docs/_templates/indexsidebar.html (diff)
Commit b8923c002207da449ec462ade468e27a651b1f91 by medismail.bennani
[lldb/API] Expose Module::IsLoadedInTarget() to SB API (NFC)

This patch adds an `SBTarget::IsLoaded(const SBModule&) const` endpoint
to lldb's Scripting Bridge API. As the name suggests, it will allow the
user to know if the module is loaded in a specific target.

rdar://37957625

Differential Review: https://reviews.llvm.org/D95686

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/bindings/interface/SBTarget.i (diff)
The file was modifiedlldb/include/lldb/API/SBTarget.h (diff)
The file was modifiedlldb/test/API/python_api/target/TestTargetAPI.py (diff)
The file was modifiedlldb/source/API/SBTarget.cpp (diff)
Commit 99b5631649e09970769562abb05475b79eb44e3c by dmitry.preobrazhensky
[AMDGPU][MC] Corrected error position for invalid operands

Generic parser may report an incorrect error position when an offending operand is followed by a comma.
See bug 48884 for details: https://bugs.llvm.org/show_bug.cgi?id=48884.

Differential Revision: https://reviews.llvm.org/D95674
The file was modifiedllvm/test/MC/AMDGPU/gfx10_err_pos.s (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (diff)
Commit 11e74e512d64ae2a2531156b6f0dde211b1ae19d by martin
[lldb] Remove a stray semicolon, fixing GCC warnings. NFC.
The file was modifiedlldb/tools/lldb-vscode/FifoFiles.cpp (diff)
Commit eefa8a9ff859153c510e740b33a9e721e42b88c5 by Jan Svoboda
Revert "[clang][cli] Port OpenMP-related LangOpts to marshalling system"

This reverts commit 9ad94c12

It turns out that to correctly generate command line flags for LangOptions::OpenMP and LangOptions::OpenMPSimd, we need the flexibility of C++.
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
Commit 754ab803b8dc659e3645d369d1b5d6d2f97be29e by Raphael Isemann
[lldb] Use current execution context in SBDebugger

Use `GetSelectedExecutionContext()` instead of
`GetCommandInterpreter().GetExecutionContext()` in
`SBDebugger::GetInternalVariableValue/SBDebugger::SetInternalVariable`. The
execution context in the command interpreter might be empty, if no commands has
been executed yet (it is updated only when handling commands or completions --
e.g.
https://github.com/llvm/llvm-project/blob/main/lldb/source/Interpreter/CommandInterpreter.cpp#L1855).

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D95761
The file was modifiedlldb/source/API/SBDebugger.cpp (diff)
The file was modifiedlldb/test/API/python_api/debugger/TestDebuggerAPI.py (diff)
Commit 3b8a1d581e6e1623d046b8b8da577ec4d42a544c by sander.desmalen
NFC: Migrate SpeculativeExecution to work on InstructionCost

This patch migrates cost values and arithmetic to work on InstructionCost.
When the interfaces to TargetTransformInfo are changed, any InstructionCost
state will propagate naturally.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D95356
The file was modifiedllvm/lib/Transforms/Scalar/SpeculativeExecution.cpp (diff)
Commit 8cda227432f1c9ceb63b88802ed8136da97274f1 by cullen.rhodes
[LV] Fix crash when computing max VF too early

D90687 introduced a crash:

  llvm::LoopVectorizationCostModel::computeMaxVF(llvm::ElementCount, unsigned int):
    Assertion `WideningDecisions.empty() && Uniforms.empty() && Scalars.empty() &&
    "No decisions should have been taken at this point"' failed.

when compiling the following C code:

  typedef struct {
  char a;
  } b;

  b *c;
  int d, e;

  int f() {
    int g = 0;
    for (; d; d++) {
      e = 0;
      for (; e < c[d].a; e++)
        g++;
    }
    return g;
  }

with:

  clang -Os -target hexagon -mhvx -fvectorize -mv67 testcase.c -S -o -

This occurred since prior to D90687 computeFeasibleMaxVF would only be
called in computeMaxVF when a scalar epilogue was allowed, but now it's
always called. This causes the assert above since computeFeasibleMaxVF
collects all viable VFs larger than the default MaxVF, and for each VF
calculates the register usage which results in analysis being done the
assert above guards against. This can occur in computeFeasibleMaxVF if
TTI.shouldMaximizeVectorBandwidth and this target hook is implemented in
the hexagon backend to always return true.

Reported by @iajbar.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D94869
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was addedllvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll
Commit c2b322fc19e829162ed4c7dcd04d9e9b2cd4e66c by Tim Northover
GlobalISel: check type size before getZExtValue()ing it.

Otherwise getZExtValue() asserts.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/huge-switch.ll
Commit ee562e2315cfe339fdcb0cb9b2122284bbeda29b by medismail.bennani
[lldb/test] Skip `SBTarget::IsLoaded` test on windows (NFC)

This patch skips the test for the SBTarget::IsLoaded method on windows
since the logic is different.

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/test/API/python_api/target/TestTargetAPI.py (diff)
Commit 972212d29c3ad0569afb9dbed38a6cab7311db3e by flo
[ConstraintElimination] Add tests for signed predicates.

Add test coverage for conditions with signed predicates.
The file was addedllvm/test/Transforms/ConstraintElimination/mixed-signed-unsigned-predicates.ll
The file was addedllvm/test/Transforms/ConstraintElimination/sge.ll
Commit 2556b413a7b802703290ecf318712941dec6d745 by jeroen.dobbelaere
Revert "[Verifier] enable llvm.experimental.noalias.scope.decl dominance check."

the 'clang-with-lto-ubuntu' buildbot triggers the assertion.

This reverts commit b43c395e60d2636ab5afc9b60a2046978c71e366.
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
Commit f1e8136115ac86a633f670cd4d50cf41b71418d8 by flo
[SCEV] Bail out if URem operand cannot be zero-extended.

In some cases, LHS is larger than the target expression type. Bail out
in that case for now, to avoid crashing
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll (diff)
Commit 9b4fcfaa9e8f19f250c45e92dd2e5a305156b701 by kerry.mclaughlin
[SVE][CodeGen] Remove performMaskedGatherScatterCombine

The AArch64 DAG combine added by D90945 & D91433 extends the index
of a scalable masked gather or scatter to i32 if necessary.

This patch removes the combine and instead adds shouldExtendGSIndex, which
is used by visitMaskedGather/Scatter in SelectionDAGBuilder to query whether
the index should be extended before calling getMaskedGather/Scatter.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D94525
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h (diff)
Commit b63cd4db915c08e0cb4cf668a18de24b67f2c44c by sam.mccall
[clangd] Rename: merge index/AST refs path-insensitively where needed

If you have c:\foo open, and C:\foo indexed (case difference) then these
need to be considered the same file. Otherwise we emit edits to both,
and editors do... something that isn't pretty.

Maybe more centralized normalization is called for, but it's not trivial
to do this while also being case-preserving. see
https://github.com/clangd/clangd/issues/108

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

Differential Revision: https://reviews.llvm.org/D95759
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp (diff)
The file was modifiedclang-tools-extra/clangd/support/CMakeLists.txt (diff)
The file was modifiedclang-tools-extra/clangd/support/Path.h (diff)
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp (diff)
The file was addedclang-tools-extra/clangd/support/Path.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp (diff)
Commit 313a36130f2ab7d2a442820e86009d2834fbe6db by llvmgnsyncbot
[gn build] Port b63cd4db915c
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn (diff)
Commit 78c22fbce991bb5ef49db36473b71fc4386e1e85 by hokein.wu
[clangd] Don't rely on builtin headers for document-link.test.

This test seems to be failing at HEAD.

Reviewed By: kadircet, sammccall

Differential Revision: https://reviews.llvm.org/D95670
The file was modifiedclang-tools-extra/clangd/test/document-link.test (diff)
Commit c448ea948c28878735fefec734d8326ca2e4b33a by Louis Dionne
[libc++] Fix for the Bug 41784

Add deleted volatile copy-assignment operator in the most derived atomic
to fix the Bug 41784. The root cause: there is an `operator=(T) volatile`
that has better match than the deleted copy-assignment operator of the base
class when `this` is `volatile`. The compiler sees that right operand of
the assignment operator can be converted to `T` and chooses that path
without taking into account the deleted copy-assignment operator of the
base class.

The current behavior on libstdc++ is different from what we have in libc++.
On the same test compilation fails with libstdc++. Proof: https://godbolt.org/z/nebPYd
(everything is the same except the -stdlib option).

I choose the way with explicit definition of copy-assignment for atomic
in the most derived class. But probably we can fix that by moving
`operator=(T)` overloads to the base class from both specializations.
At first glance, it shouldn't break anything.

Differential Revision: https://reviews.llvm.org/D90968
The file was addedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.volatile.verify.cpp
The file was addedlibcxx/test/std/atomics/atomics.types.generic/copy_semantics_traits.pass.cpp
The file was modifiedlibcxx/include/atomic (diff)
The file was addedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.ptr.volatile.verify.cpp
Commit ce587529ad8b5347fa8896e6811469c1857ed1a2 by llvm-dev
[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI.

Avoids unnecessary IEEEFloat copies.
The file was modifiedllvm/lib/Support/APFloat.cpp (diff)
The file was modifiedllvm/include/llvm/ADT/APFloat.h (diff)
Commit 267b573b55f7f43aaeaf4860e31101cd6a3dbba0 by Paul C. Anagnostopoulos
[TableGen] Fix anonymous record self-reference in foreach and multiclass

If we instantiate self-referenced anonymous records in foreach and
multiclass, the NAME value will point to incorrect record. It's because
anonymous name is resolved too early.

This patch adds AnonymousNameInit to represent an anonymous record name.
When instantiating an anonymous record, it will update the referred name.

Differential Revision: https://reviews.llvm.org/D95309
The file was modifiedllvm/include/llvm/TableGen/Record.h (diff)
The file was modifiedllvm/lib/TableGen/Record.cpp (diff)
The file was modifiedllvm/test/TableGen/self-reference.td (diff)
The file was modifiedllvm/lib/TableGen/TGParser.cpp (diff)
Commit ff4832dbff0ccf1fd29f726efe72fd1220cd645a by sam.mccall
[clangd] Respect ReferencesParams.context.includeDeclarations

Unfortunately this treats overrides declarations as declarations, not as
references. I don't plan to land this until I have a fix for that issue.

Differential Revision: https://reviews.llvm.org/D95450
The file was modifiedclang-tools-extra/clangd/unittests/PreambleTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Protocol.cpp (diff)
The file was modifiedclang-tools-extra/clangd/XRefs.h (diff)
The file was modifiedclang-tools-extra/clangd/XRefs.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Protocol.h (diff)
The file was modifiedclang-tools-extra/clangd/test/references.test (diff)
Commit 5805521207852b859090c274a69fd51618b68b69 by david.green
[ARM] Simplify VMOVRRD from extracts of buildvectors

Under the softfp calling convention, we are often left with
VMOVRRD(extract(bitcast(build_vector(a, b, c, d)))) for the return value
of the function. These can be simplified to a,b or c,d directly,
depending on the value of the extract.

Big endian is a little different because the bitcast switches the lanes
around, meaning we end up with b,a or d,c.

Differential Revision: https://reviews.llvm.org/D94989
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/vcvt.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/func-argpassing-endian.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcreate.ll (diff)
Commit 880b64aa228fdc0152b8bb9e88e4ff83f5d0e43a by sander.desmalen
[SimplifyCFG] NFC: Rename static methods to clang-tidy standards.

This patch is a precursor to D95351, which changes the signature
of these methods.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
Commit bf294953e77089c314e431a7eb238cb353aa44d5 by sander.desmalen
NFC: Migrate SimplifyCFG to work on InstructionCost

This patch migrates cost values and arithmetic to work on InstructionCost.
When the interfaces to TargetTransformInfo are changed, any InstructionCost
state will propagate naturally.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D95351
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
Commit 657e76968822f6fbfc06826e2af88806025e32cb by llvm-dev
Revert rGce587529ad8b5 - "[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI."

Breaks on some buildbots
The file was modifiedllvm/lib/Support/APFloat.cpp (diff)
The file was modifiedllvm/include/llvm/ADT/APFloat.h (diff)
Commit 8712df7a621d1d00a3fd4641ef72639a8faa6284 by sam.mccall
[clangd] references: decls of overrides of x are refs to x, not decls

This requires a second index query for refs to overrides, as the refs
call doesn't tell you which ref points at which symbol.

Differential Revision: https://reviews.llvm.org/D95451
The file was modifiedclang-tools-extra/clangd/index/Index.h (diff)
The file was modifiedclang-tools-extra/clangd/XRefs.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp (diff)
Commit fda48539988d2a1bdb6395799151e9090312a20b by huberjn
[OpenMP] Fix seg fault in libomptarget when using Info with multiple threads

Summary:
One option for the LIBOMPTARGET_INFO environment variable is to print the current status of the device's data mappings. These are a shared resource among threads so this needs to be protected when using multiple streams.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95786
The file was modifiedopenmp/libomptarget/src/private.h (diff)
The file was modifiedopenmp/libomptarget/src/interface.cpp (diff)
Commit 1eb7fd089e2fcf3fe211f865b28e2fed12128c3f by sam.mccall
[clangd] Remove some obsolete options that are now always on

- always collect main-file refs when indexing
- always build preambles asynchronously
- always use dex for fast preamble index

Retire associated flags

Differential Revision: https://reviews.llvm.org/D95571
The file was modifiedclang-tools-extra/clangd/index/FileIndex.h (diff)
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp (diff)
The file was modifiedclang-tools-extra/clangd/index/Background.cpp (diff)
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp (diff)
The file was modifiedclang-tools-extra/clangd/ClangdServer.h (diff)
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp (diff)
The file was modifiedclang-tools-extra/clangd/index/Background.h (diff)
The file was modifiedclang-tools-extra/clangd/TUScheduler.h (diff)
The file was modifiedclang-tools-extra/clangd/index/FileIndex.cpp (diff)
Commit 5f3c4923e4e4d5f40a64e08e407067ff551f2901 by erik.pilkington
[compiler-rt] Fix AArch64 out-of-line atomics visibility on mach-o

This fixes an apparent oversight in D91156, where the symbol was defined
without the leading underscore, then the visibility was later declared with it.
rdar://73364185

Differential revision: https://reviews.llvm.org/D95639
The file was modifiedcompiler-rt/lib/builtins/assembly.h (diff)
Commit 0397dca0214ab50de41ac6c3d432aab93ff75c60 by Austin.Kerbow
[AMDGPU] Fix crash with sgpr spills to vgpr disabled

This would assert with amdgpu-spill-sgpr-to-vgpr disabled when trying to
spill the FP.

Fixes: SWDEV-262704

Reviewed By: RamNalamothu

Differential Revision: https://reviews.llvm.org/D95768
The file was addedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp (diff)
Commit e068e236c3b8e5ad4527bd9407cc9900359c3eec by Austin.Kerbow
[AMDGPU] Fix release build after 0397dca0.
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp (diff)
Commit f0ffc690d5bcb3d8c373cbe63ac9a2a3a10deee8 by pklausler
[flang] Fix parsing of WRITE(I+J) with more accurate look-ahead

The parsing of I/O units uses look-ahead to discriminate between
keywords, variables and expressions as part of distinguishing internal
from external I/O.  The look-ahead was inaccurate for variables that
appear as the initial parts of expressions.

Differential Revision: https://reviews.llvm.org/D95743
The file was modifiedflang/lib/Parser/Fortran-parsers.cpp (diff)
The file was modifiedflang/lib/Parser/io-parsers.cpp (diff)
Commit ce190e41445eb52e560ac70dd1df74717a1e80d2 by flo
[ConstraintElimination] Negate IR condition directly.

Instead of using ConstraintSystem::negate when adding new constraints,
flip the condition in IR.

The main advantage is that EQ predicates can be represented by 2
constraints, which makes negating based on the constraint tricky. The IR
condition can easily negated.
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp (diff)
Commit 1097ee61bf3ef4f36a7e92b4d8781a5c069c93de by craig.topper
[RISCV] Optimize (srl (and X, 0xffff), C) -> (srli (slli X, 16), 16 + C).

Rather than materializing the 0xffff immediate for the AND, use
a shift left to remove the upper bits and then shift in zeros
from the right.

This pattern occurs when type legalizing an i16 right shift.

I've implemented this with custom selection code for a number of
reasons. I've limited this to the AND having a single use. We need
to compensate for SimplifyDemandedBits altering the AND mask. I'm
using *W opcodes on RV64. We may want to generlize this in the
future. For all these reason it seemed easiest to do it this way.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D95774
The file was modifiedllvm/test/CodeGen/RISCV/alu16.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp (diff)
Commit 4809663334ab84fc0e3f4ed11477d6873e642824 by Jessica Paquette
[GlobalISel] Make sure G_ASSERT_ZEXT's src ends up with the same rc as dst

When replacing the dst reg with the src reg, we need to make sure that we
propagate the dst reg's register class through to the src.

Otherwise, we aren't meeting the requirements for G_ASSERT_ZEXT, and so the
verifier will fail.

Differential Revision: https://reviews.llvm.org/D95708
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-hint.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp (diff)
Commit 6a3ab66625cf1d440e66d9f438f05ee5ed040672 by craig.topper
[RISCV] Update comment text from D95774. NFC
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp (diff)
Commit 72b31ad4b8c1463dcdfed636be0abb8e9050c16f by craig.topper
[RISCV] Add scalable vector support for floating point FMA instructions

A follow up patch will add support for commuting operands or
changing opcode to vfmacc and friends.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D95662
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
Commit 7f2e0879b5b45815207a986eac2d614649aea526 by tejohnson
[LTO] Move part of gold devirt test to v1.16 directory

Part of the gold test added in 1487747e990ce9f8851f3d92c3006a74134d7518
relies on more recent fixes to gold that fix the plugin behavior with
--export-dynamic-symbol and --dynamic-list. Extract those parts of the
new test into a v1.16 test.
The file was modifiedllvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll (diff)
The file was addedllvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
Commit cf2be5e3bb3dae347af41ab6117f3e9b250cc8c3 by Jessica Paquette
[AArch64][GlobalISel] Emit G_ASSERT_ZEXT in assignValueToReg

When we have a zeroext parameter, emit G_ASSERT_ZEXT.

Add a check that we actually emit it.

This is a 0.1% code size win on CTMark/7zip and CTMark/consumer-typeset at -Os.

Differential Revision: https://reviews.llvm.org/D95567
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/call-lowering-zeroext.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp (diff)
Commit 3ffc53ba16272b6475ff49c05ab6aa72f7720383 by koraq
[libc++] Implements concept default_initializable.

Implements:
- LWG3149 DefaultConstructible should require default initialization

Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can

Depends on D91986

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D93461
The file was addedlibcxx/test/std/concepts/concept.default.init/default_initializable.compile.pass.cpp
The file was addedlibcxx/test/std/concepts/concept.default.init/default_initializable.verify.cpp
The file was modifiedlibcxx/docs/Cxx2aStatusIssuesStatus.csv (diff)
The file was modifiedlibcxx/include/concepts (diff)
Commit f0129cc35ebd4607c86f1f90cb664c86ffdb4a5c by tianshilei1992
[OpenMP] Disable tests if FileCheck is not available in in-tree building

FileCheck is required for OpenMP tests. The current detection can fail
if building OpenMP in-tree when user sets `LLVM_INSTALL_TOOLCHAIN_ONLY=ON`. As a
result, CMake will raise an error and the compilation will be broken. This patch
fixed the issue. When `FileCheck` is not a target, tests will just be skipped.

Reviewed By: jdoerfert, JonChesterfield

Differential Revision: https://reviews.llvm.org/D95689
The file was modifiedopenmp/cmake/OpenMPTesting.cmake (diff)
Commit e640b209b24a9bf66f5998b5fafa76f0dbb388ab by llvm-dev
[X86][SSE] LowerScalarImmediateShift - use APInt::getLowBitsSet for vXi8 ISD::SRL mask generation. NFCI.

Match what we do for ISD::SHL
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit e9514429a02b1e4f8b9d54b28a934bfa9bd246ec by llvm-dev
[X86][AVX] Add 'OK' tests cases for PR48877
The file was addedllvm/test/MC/Disassembler/X86/x86-64-avx.txt
The file was addedllvm/test/MC/Disassembler/X86/x86-64-avx2.txt
Commit 3f46c209f1527530ca8e60a51d08e32e886fa11b by clementval
[flang][directive] Enforce basic semantic check for all clauses

This patch is a follow up to D94821 to ensure the correct behavior of the
general directive structure checker.
This patch add the generation of the Enter function declaration for clauses in
the TableGen backend.
This helps to ensure each clauses declared in the TableGen file has at least
a basic check.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D95108
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedflang/lib/Semantics/check-acc-structure.cpp (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.h (diff)
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp (diff)
The file was modifiedflang/lib/Semantics/check-acc-structure.h (diff)
Commit c4d6f2707a1e6c4e9bd93480dd913121fef122b7 by mtrofin
[NFC] Disallow unused prefixes under clang/test/Driver

Differential Revision: https://reviews.llvm.org/D95660
The file was modifiedclang/test/Driver/rocm-device-libs.cl (diff)
The file was modifiedclang/test/Driver/cuda-detect.cu (diff)
The file was modifiedclang/test/Driver/ps4-visibility-dllstorageclass.c (diff)
The file was modifiedclang/test/Driver/fsanitize.c (diff)
The file was modifiedclang/test/Driver/amdgpu-macros.cl (diff)
The file was modifiedclang/test/Driver/lit.local.cfg (diff)
Commit cb2e2d506814dc3c06449a87aec180b29f4351d7 by michaelrj
[libc] Small adjustments to fenv tests

Some libcs define non-standard FE_* macros and include them in
FE_ALL_EXCEPT. This change adjusts the fenv tests so that the
non-standard FE_* macros do not interfere when compiled with
fenv.h from another libc.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D95650
The file was modifiedlibc/test/src/fenv/exception_status_test.cpp (diff)
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp (diff)
Commit d23b68a8798913bda65db109e57029139197c587 by spatel
[InstCombine] add tests for min/max with extend and constant operand; NFC
The file was modifiedllvm/test/Transforms/InstCombine/minmax-intrinsics.ll (diff)
Commit 0ce2920f1707266c0d94dacc8719251b7b6a2c01 by spatel
[InstCombine] try to narrow min/max intrinsics with constant operand

The constant trunc/ext may not be the optimal pre-condition,
but I think that handles the common cases.

Example of Alive2 proof:
https://alive2.llvm.org/ce/z/sREeLC

This is another step towards canonicalizing to the intrinsics.
Narrowing was identified as source of potential regression for
abs(), so we need to handle this for min/max - see:
https://llvm.org/PR48816

If this is not enough, we could process intrinsics in
the trunc-driven matching in canEvaluateTruncated().
The file was modifiedllvm/test/Transforms/InstCombine/minmax-intrinsics.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)
Commit 08d46d50599a7005380e1a9eebb276ceb2b0ad93 by melanie.blower
[clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D95482
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp (diff)
The file was modifiedclang/test/SemaCXX/lambda-expressions.cpp (diff)
Commit 771b35965457ebd5faaed8a1c3d2bcefffe721a3 by haowei
[elfabi] Fix tests which failed on different timezones

This patch fixes elfabi tests on machines using a GMT+X timezone
settings.

Differential Revision: https://reviews.llvm.org/D95641
The file was modifiedllvm/test/tools/llvm-elfabi/preserve-dates-tbe.test (diff)
The file was modifiedllvm/test/tools/llvm-elfabi/preserve-dates-stub.test (diff)
Commit c691fe14da93a7c9eff466231515d6d4d16124fa by craig.topper
[X86] Accept 64-bit GPRs for vextractps when using a register that requires EVEX.

This is consistent with the VEX version. It also fixes a sorting
issue in the matching table that caused the EVEX version to be
prioritized over VEX in intel syntax.

Fixes issue [2] from PR48991.
The file was modifiedllvm/test/MC/X86/intel-syntax-x86-64-avx512f_vl.s (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td (diff)
The file was modifiedllvm/test/MC/X86/intel-syntax-x86-64-avx.s (diff)
Commit 7739f9ff974a2b301f5b036de55820b19a0df19a by aeubanks
[NewPM][Unswitch] Add option to disable -O3 non-trivial unswitching

Some benchmarks regress with non-trivial unswitching, so add an option
to opt-out of performing non-trivial unswitching while investigating.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D95796
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/pipeline.ll (diff)
Commit 5b2626ea87f48eab011b616a96540b9e83c7ca88 by david.green
[ARM] Flatten identity shuffles through vqdmulh nodes

Given a shuffle(vqdmulh(shuffle, shuffle), we can flatter the shuffles
out if they become an identity mask. This can come up during lane
interleaving, when we do that better.

Differential Revision: https://reviews.llvm.org/D94034
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqdmulh.ll (diff)
Commit c73c23f2a91f5a454d782da9918e2160cfe66087 by michaelrj
[libc][NFC] Add a death test API adaptation macro

Fuchsia's zxtest has a slightly different death test definition, and
this macro makes our death test API work on Fuchsia.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D95648
The file was modifiedlibc/test/src/signal/sigdelset_test.cpp (diff)
The file was modifiedlibc/test/src/signal/raise_test.cpp (diff)
The file was modifiedlibc/test/src/assert/assert_test.cpp (diff)
The file was modifiedlibc/utils/UnitTest/FuchsiaTest.h (diff)
The file was modifiedlibc/test/src/stdlib/abort_test.cpp (diff)
The file was modifiedlibc/test/src/signal/sigaction_test.cpp (diff)
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp (diff)
The file was modifiedlibc/test/src/signal/sigprocmask_test.cpp (diff)
The file was modifiedlibc/utils/UnitTest/LibcTest.h (diff)
Commit 35a57f39b5d126646335183f1ff0f7adb52d63bc by koraq
[libc++][format] Add basic_format_parse_context.

Implements parts of:
- P0645 Text Formatting

Depends on D92214

Reviewed By: ldionne, curdeius, #libc

Differential Revision: https://reviews.llvm.org/D93166
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
The file was modifiedlibcxx/include/format (diff)
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
Commit 8bfef787225c14a67db23254b82b330e85d1c35c by rnk
[ConstantHoisting] Fix bug where constant materialization could insert into EH pad

If the incoming block to a phi node is an EH pad, then we will
materialize into an EH pad, which is not supposed to happen. To fix
this, I added a check to see if incoming block of a phi node is an EH
pad before using it as the insertion point.

Differential Revision: https://reviews.llvm.org/D95019
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp (diff)
The file was addedllvm/test/Transforms/ConstantHoisting/X86/ehphi.ll
Commit 0d9b17d0efe065f23b7f1c1f8f2b2b32491abd45 by aardappel
[WebAssembly] fixed wasm64 data segment init exp not 64-bit

As defined in the spec:
https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md

Differential Revision: https://reviews.llvm.org/D95651
The file was modifiedlld/test/wasm/data-segments.ll (diff)
The file was modifiedlld/wasm/OutputSections.cpp (diff)
The file was modifiedllvm/test/MC/WebAssembly/data-section.s (diff)
The file was modifiedlld/test/wasm/data-layout.ll (diff)
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp (diff)
The file was modifiedllvm/test/MC/WebAssembly/wasm64.s (diff)
Commit b3f611bfe7d4aac7b1393ab0200d7166a590791b by hanchung
[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding

This is the last revision to migrate using SimplePadOp to PadTensorOp, and the
SimplePadOp is removed in the patch. Update a bit in SliceAnalysis because the
PadTensorOp takes a region different from SimplePadOp. This is not covered by
LinalgOp because it is not a structured op.

Also, remove a duplicated comment from cpp file, which is already described in a
header file. And update the pseudo-mlir in the comment.

This is as same as D95615 but fixing one dep in CMakeLists.txt

Different from D95671, the fix was applied to run target.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D95785
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir (diff)
The file was modifiedmlir/lib/Analysis/CMakeLists.txt (diff)
Commit 2a53d9a6e7736fe141cd6365be05d972ff6f0065 by listmail
[Loads] Plumb through TLI argument [NFC]

This is a (rather delayed) follow up to commit 0129cd5.  This commit is entirely NFC, the semantic change to leverage the new information will be submitted separate with a test case.
The file was modifiedllvm/lib/Analysis/Loads.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/Loads.h (diff)
Commit d7b12004bd7d6d9a592f1773101cbedd9daf8492 by Andrey.Churbanov
[OpenMP] libomp: implement nteams-var and teams-thread-limit-var ICVs

The change includes OMP_NUM_TEAMS, OMP_TEAMS_THREAD_LIMIT env variables,
omp_set_num_teams, omp_get_max_teams, omp_set_teams_thread_limit,
omp_get_teams_thread_limit routines.

Differential Revision: https://reviews.llvm.org/D95003
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h (diff)
The file was addedopenmp/runtime/test/api/omp_nteams_api_env.c
The file was modifiedopenmp/runtime/src/include/omp_lib.f90.var (diff)
The file was modifiedopenmp/runtime/src/kmp_global.cpp (diff)
The file was modifiedopenmp/runtime/src/include/omp.h.var (diff)
The file was modifiedopenmp/runtime/src/kmp.h (diff)
The file was modifiedopenmp/runtime/src/kmp_ftn_os.h (diff)
The file was modifiedopenmp/runtime/src/kmp_settings.cpp (diff)
The file was addedopenmp/runtime/test/api/omp_nteams_api.c
The file was modifiedopenmp/runtime/src/include/omp_lib.h.var (diff)
The file was modifiedopenmp/runtime/src/dllexports (diff)
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp (diff)
The file was addedopenmp/runtime/test/api/omp_nteams_api_env2.c
Commit 21f1462106b9ee1e646bf409c85528828320b34e by antiagainst
[mlir][spirv] Add support for OpImageType

Support OpImageType in SPIRV Dialect.

This change doesn't support operand AccessQualifier since
it is optinal and only enables under Kernel capability.

co-authored-by: Alan Liu <alanliu.yf@gmail.com>

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D95580
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td (diff)
The file was addedmlir/test/Target/SPIRV/image.mlir
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.h (diff)
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serialization.cpp (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp (diff)
Commit 75347ba1fae25819a086fc29ad52d813419887a8 by antiagainst
Revert "[mlir][spirv] Add support for OpImageType"

This reverts commit 21f1462106b9ee1e646bf409c85528828320b34e.
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp (diff)
The file was removedmlir/test/Target/SPIRV/image.mlir
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serialization.cpp (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.h (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp (diff)
Commit 0b28d756af183b9f294ddca5432a0ad5054ac9c2 by flo
[ConstraintElimination] Add support for EQ predicates.

A == B map to A >= B && A <= B
(https://alive2.llvm.org/ce/z/_dwxKn).

This extends the constraint construction to return a list of
constraints, which can be used to properly de-compose nested AND & OR.
The file was modifiedllvm/test/Transforms/ConstraintElimination/eq.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp (diff)
Commit 32ef6d89f48be765330ee5d15cf57a1f01c9b335 by joker.eph
Avoid string comparisons on the fast path of MLIR Identifier lookup (NFC)

Differential Revision: https://reviews.llvm.org/D95770
The file was modifiedmlir/lib/IR/MLIRContext.cpp (diff)
Commit 68f66f37d7d74be7beba56506c4397dadc8538dd by joker.eph
Revert "[libc++][format] Add basic_format_parse_context."

This reverts commit 35a57f39b5d126646335183f1ff0f7adb52d63bc.

A build is broken during clang bootstrap with:

In file included from ../libcxx/src/format.cpp:9:
/tmp/ci-nGNyLRM9V3/include/c++/v1/format:153:16: error: no member named 'is_constant_evaluated' in namespace 'std::__1'
    if (_VSTD::is_constant_evaluated() && __id >= __num_args_)
        ~~~~~~~^
1 error generated.
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
The file was modifiedlibcxx/include/format (diff)
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
Commit bbed5f2f8a04ae3a49f5e8f900c117f405101424 by spatel
[LoopVectorize] improve IR fast-math-flags propagation in reductions

This is another step (see D95452) towards correcting fast-math-flags
bugs in vector reductions.

There are multiple bugs visible in the test diffs, and this is still
not working as it should. We still use function attributes (rather
than FMF) to drive part of the logic, but we are not checking for
the correct FP function attributes.

Note that FMF may not be propagated optimally on selects (example
in https://llvm.org/PR35607 ). That's why I'm proposing to union the
FMF of a fcmp+select pair and avoid regressions on existing vectorizer
tests.

Differential Revision: https://reviews.llvm.org/D95690
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll (diff)
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp (diff)
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Operator.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h (diff)
Commit 68b0595ccb8de1b0a9459f958dda17164341ee87 by steveire
NFC: Re-generate out-of-date matchers docs
The file was modifiedclang/docs/LibASTMatchersReference.html (diff)
Commit 73ef96c49c293e09f50bba60eff9d143db41864d by listmail
[tests] highlight cornercase w/deref hoisting from D95815

The main point of committing this early is to have a negative test in tree.  Nothing fails in the current tests if we implement this (currently unsound) optimization.
The file was addedllvm/test/Transforms/LICM/hoist-alloc.ll
Commit 35f746c17fd0315b235050c0a350fc521f944f20 by antiagainst
[mlir][spirv] Add support for OpImageType

Support OpImageType in SPIRV Dialect.

This change doesn't support operand AccessQualifier since
it is optinal and only enables under Kernel capability.

co-authored-by: Alan Liu <alanliu.yf@gmail.com>

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D95580
The file was addedmlir/test/Target/SPIRV/image.mlir
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.h (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp (diff)
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td (diff)
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serialization.cpp (diff)
Commit 772eb24e00629faaae0244aa0d6d6204542c579b by bjoern
[clang-format] Add option to control the spaces in a line comment

Differential Revision: https://reviews.llvm.org/D92257
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
The file was modifiedclang/lib/Format/Format.cpp (diff)
The file was modifiedclang/lib/Format/BreakableToken.cpp (diff)
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp (diff)
The file was modifiedclang/docs/ClangFormatStyleOptions.rst (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/Format/BreakableToken.h (diff)
The file was modifiedclang/include/clang/Format/Format.h (diff)
The file was modifiedclang/unittests/Format/FormatTestComments.cpp (diff)
Commit 224fee8219bb3aed34f13ce40935e1b3ede90a0f by hoy
[CSSPGO] Tweaking inlining with pseudo probes.

Fixing up a couple places where `getCallSiteIdentifier` is needed to support pseudo-probe-based callsites.

Also fixing an issue in the extbinary profile reader where the metadata section is not fully scanned based on the number of profiles loaded only for the current module.

Reviewed By: wmi, wenlei

Differential Revision: https://reviews.llvm.org/D95791
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp (diff)
The file was addedllvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-inline.prof
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp (diff)
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll
Commit 8e661d3d9c52ea9e5e68cbf699701d9cfa071a8f by Stanislav.Mekhanoshin
[AMDGPU] Set s-memtime-inst feature from clang

Differential Revision: https://reviews.llvm.org/D95733
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl (diff)
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp (diff)
Commit 93345e825a0733f6a67898f6d6d156ff56db80e7 by i
[llvm-objcopy] -O binary: consider SHT_NOBITS sections to be empty

This is consistent with BFD objcopy.

Previously llvm objcopy would allocate space for SHT_NOBITS sections
often resulting in enormous binary files.

New test case (binary-paddr.test %t6).

Reviewed By: jhenderson, MaskRay

Differential Revision: https://reviews.llvm.org/D95569
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/binary-paddr.test (diff)
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp (diff)
Commit df3e39f60b356ca9dbfc11e96e5fdda30afa7acb by phosek
[InstrProfiling] Use !associated metadata for counters, data and values

C identifier name input sections such as __llvm_prf_* are GC roots so
they cannot be discarded. In LLD, the SHF_LINK_ORDER flag overrides the
C identifier name semantics.

The !associated metadata may be attached to a global object declaration
with a single argument that references another global object, and it
gets lowered to SHF_LINK_ORDER flag. When a function symbol is discarded
by the linker, setting up !associated metadata allows linker to discard
counters, data and values associated with that function symbol.

Note that !associated metadata is only supported by ELF, it does not have
any effect on non-ELF targets.

Differential Revision: https://reviews.llvm.org/D76802
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h (diff)
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll (diff)
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll (diff)
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll (diff)
The file was addedllvm/test/Transforms/PGOProfile/associated.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll (diff)
The file was addedcompiler-rt/test/profile/instrprof-gc-sections.c
Commit bb6c23b1f50780390eafd73aac1a2a895a8971a4 by listmail
[NFC][X86] Avoid redundant work inspecting callee
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/x86-no_caller_saved_registers-preserve.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/x86-no_caller_saved_registers.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp (diff)
Commit 9d09db941ff882a0be761e5d3d170a474bf047c8 by listmail
[NFC][X86] Use CallBase interface to simplify code
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp (diff)
Commit 59186902555546b9d864065d03eb1c79cb041409 by eschweitz
[flang][NFC] Rename complex type.

This change renames the CplxType class to ComplexType.
The file was modifiedflang/lib/Optimizer/Dialect/FIRDialect.cpp (diff)
The file was modifiedflang/lib/Lower/FIRBuilder.cpp (diff)
The file was modifiedflang/lib/Lower/IntrinsicCall.cpp (diff)
The file was modifiedflang/lib/Lower/ComplexExpr.cpp (diff)
The file was modifiedflang/lib/Lower/ConvertType.cpp (diff)
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp (diff)
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h (diff)
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td (diff)
The file was modifiedflang/lib/Lower/IO.cpp (diff)
The file was modifiedflang/lib/Lower/Mangler.cpp (diff)
Commit f1ff6d210a5fb45dc90d063d04b12b9da0ae4110 by rahmanl
[obj2yaml, yaml2obj] Use Hex64 for BBAddressMap fields.

This patch let the yaml encoding use Hex64 values for NumBlocks, BB AddressOffset, BB Size, and BB Metadata.
Additionally, it changes the decoded values in elf2yaml to uint64_t to match DataExtractor::getULEB128 return type.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D95767
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h (diff)
The file was modifiedllvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml (diff)
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp (diff)
Commit fbd55071788a3e57d2fdf8cad5c79ee45a273019 by Jonas Devlieghere
[lldb] Use the host architecture in TestAppleSimulatorOSType.py
The file was modifiedlldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py (diff)
Commit 46e764a628da81795af3f64bd28970b7bd4115d6 by listmail
[x86] introduce no_callee_saved_registers attribute

This is directly analogous to the existing no_caller_saved_registers, but with the opposite intention.  A function or call so marked shifts the responsibility of spilling the usual CSRs to it's caller.

An indirect call site and callee which don't agree on the attribute is ill defined.

The motivation for this change is that being able to prune callee saves (without modifying other details of the calling convention) is sometimes useful when generating stubs and adapters.  There's no intention to expose this as a source language feature; this is expected to be used by frontends to implement adapters where warranted.

Some specific examples of use cases:
* GC compatible compiled code wants to call an externally defined library function without needing to track pointer values through CSRs.
* debug enabled code wants to call precompiled library which doesn't provide enough information to track CSRs while preserving debug quality in caller.
* adapter stub entering hand written assembler which doesn't follow normal calling conventions.
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp (diff)
The file was addedllvm/test/CodeGen/X86/x86-no_callee_saved_registers.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit b545667d0a4e8d3ca7d4789c3c4004b2816c1b84 by atmndp
[OpenMP][Libomptarget] Remove possible harmful copy constructor call for RTLsTy

From https://bugs.llvm.org/show_bug.cgi?id=48973, we know that
`std::call_once(PM->RTLs.initFlag, &RTLsTy::LoadRTLs, PM->RTLs)` causes compile
time problems in libstdc++v3 5.3.1. This is because there was a defect in the
standard regarding the `call_once` (LWG 2442). This was fixed in libstdc++ soon
thereafter, but there are likely other standard libraries where this will fail.

By matching this function call with the other one, we fix this bug.

Differential Revision: https://reviews.llvm.org/D95769
The file was modifiedopenmp/libomptarget/src/interface.cpp (diff)
Commit 87f8a08ce36e5bc72f11129d2cf36b5848f86f63 by mtrofin
[Utils] Add a switch controlling prefix warnings in UpdateTestChecks

The switch controls both unused prefix warnings, and warnings about
functions which differ under different runs for a prefix, and, thus, end
up not having asserts for that prefix.

(If the latter case spans to all functions, then the former case kicks
in)

The switch is on by default, and can be disabled.

Differential Revision: https://reviews.llvm.org/D95829
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-different-bodies.test (diff)
The file was modifiedllvm/utils/UpdateTestChecks/common.py (diff)
Commit 342d4662e1c930bd0a856c6c88d0cde5f106cc81 by ravishankarm
[mlir] Add custom directive hooks for printing mixed integer or value operands.

Add printer and parser hooks for a custom directive that allows
parsing and printing of idioms that can represent a list of values
each of which is either an integer or an SSA value. For example in

`subview %source[%offset_0, 1] [4, %size_1] [%stride_0, 3]`

each of the list (which represents offset, size and strides) is a mix
of either statically know integer values or dynamically computed SSA
values. Since this is used in many places adding a custom directive to
parse/print this idiom allows using assembly format on operations
which use this idiom.

Differential Revision: https://reviews.llvm.org/D95773
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp (diff)
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp (diff)
The file was modifiedmlir/lib/Interfaces/ViewLikeInterface.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td (diff)
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td (diff)
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir (diff)
The file was modifiedmlir/include/mlir/Interfaces/ViewLikeInterface.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
Commit 41877b82f07224041a2a994f9032332fe01e4d1b by Matthew.Arsenault
AMDGPU: Fix dbg_value handling when forming soft clause bundles

DBG_VALUES placed between memory instructions would change
codegen. Skip over these and re-insert them after the bundle instead
of giving up on bundling.
The file was modifiedllvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegPressure.cpp (diff)
Commit 0fa61304d247a61b151cceac70e805abc69f8c1d by i
[LoopVectorize] Relax a FCmpInst assert to dyn_cast after D95690

The instruction may be `icmp eq i32`. Noticed in an internal Halide+wasm JIT test.
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp (diff)
Commit 98768bab19b27db71f497b0e5d87dfa9e5a0f05a by i
[test] Fix unuses FileCheck prefixes in clang/test/Modules
The file was modifiedclang/test/Modules/preprocess-nested.cpp (diff)
The file was modifiedclang/test/Modules/codegen.test (diff)
Commit 3f8dda50cbc89888015b9d2f69db38d9314d6517 by i
[test] Fix unuses FileCheck prefixes in lld
The file was modifiedlld/test/ELF/arm-thumb-interwork-thunk.s (diff)
The file was modifiedlld/test/COFF/wrap-lto-2.ll (diff)
The file was modifiedlld/test/ELF/lto/amdgcn-oses.ll (diff)
The file was modifiedlld/test/ELF/mips-micro-cross-calls.s (diff)
The file was modifiedlld/test/ELF/partition-notes.s (diff)
Commit 7a37d981d90529a125b425b1ca155da530c3008a by kazu
[llvm] Use pop_back_val (NFC)
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/SparsePropagation.h (diff)
Commit 094fc4d5cf9b34edcc1034e00ead287a32dd7804 by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/InstrDocsEmitter.cpp (diff)
Commit b167303b772d1d07fb831b2110cd26d541138bf7 by kazu
[TableGen] Use range-based for loops (NFC)
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp (diff)