FailedChanges

Summary

  1. [libc++] Remove libc++ Debian builders (details)
Commit c744ef8bd3629a023a3958525aaf41b0be906528 by Louis Dionne
[libc++] Remove libc++ Debian builders

In accordance with the announcement on libcxx-dev and llvm-dev [1],
we are removing the libc++ specific buildbots in favor of running
those configurations in the pre-commit CI on Buildkite. This commit
removes the Debian-based libc++ build bots.

[1]: http://lists.llvm.org/pipermail/libcxx-dev/2020-November/001040.html

Differential Revision: https://reviews.llvm.org/D92862
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [test] Fix clang/test/CodeGen tests (details)
  2. [gn build] Port 0b50fa99452f (details)
  3. Revert "Suppress non-conforming GNU paste extension in all standard-conforming modes" (details)
  4. [lit][NFC] Use enum to represent test order (details)
  5. [sanitizer][fuchsia] Implement ReleaseMemoryPagesToOS (details)
  6. [libc] Include only the relevant header files in the integration test. (details)
  7. [LoopVectorize] use IR fast-math-flags exclusively (not FP function attributes) (details)
  8. [builtins] Fix integer/pointer confusion in gcc_personality_v0.c (details)
  9. [builtins] Fix build after D95537 due to missing size_t (details)
  10. [RISCV] Rework fault first only load isel. (details)
  11. [libc] Fix the CMake var name of the list of public headers. (details)
  12. [RISCV] Reduce field sizes in searchable tables to reduce binary size. (details)
  13. [OpenMP] Fix HWLOC topology detection for 2.0.x (details)
  14. [OpenMP] Add cpuid leaf 1f topology discovery (details)
  15. [OpenMP] Fix misleading warning for OMP_PLACES (details)
  16. Parse different attribute syntaxes in arbitrary order (details)
  17. Permit __VA_OPT__ in all language modes and allow it to be detected with #ifdef. (details)
  18. [scudo][standalone] Restore GWP-ASan flag parsing (details)
  19. Silence a -Wlogical-op-parentheses diagnostic; NFC (details)
  20. [libc] Fix list of public headers usable on aarch64. (details)
  21. Ignore unknown attribute warnings in this test (details)
  22. [sanitizer] Fix crash on empty strings. (details)
  23. Fix runInTerminal failures on Windows (details)
  24. [ARM] Add BE check variants for soft-fp test. NFC (details)
  25. Revert "[sanitizer] Fix crash on empty strings." (details)
  26. [sanitizer] Fix crash on empty strings. (details)
  27. [Demangle] Support demangling Swift calling convention in MS demangler. (details)
  28. Don't allow __VA_OPT__ to be detected by #ifdef. (details)
  29. [RISCV] Move RISCVVPseudosTable from RISCVBaseInfo.h to RISCVInstrInfo.h. NFC (details)
  30. Itanium Mangling: Mangle `__alignof__` differently than `alignof`. (details)
  31. Itanium Mangling: Fix handling of <expr-primary> in <template-arg>. (details)
  32. Itanium Mangling: In 'enable_if', omit X/E around <expr-primary>. (details)
  33. DebugInfo: Deduplicate addresses in debug_addr (details)
  34. [OpenMP][NVPTX] Disable building NVPTX deviceRTL by default on a non-CUDA system (details)
  35. [AArch64][GlobalISel] Allow vector store legalization into 128-bit-wide types (details)
  36. [CodeGen] IndirectBrExpandPass: preserve Dominator Tree, if available (details)
  37. clang: Fix static_assert in a few contexts in microsoft mode (details)
  38. [flang] Search for #include "file" in right directory (take 2) (details)
  39. [LTO] Prevent devirtualization for symbols dynamically exported (details)
  40. [cxx_status] Mark P0732R2 as only 'partial', not 'Clang 12', as some of (details)
  41. [llvm-c] Move LLVMX86_AMXTypeKind & LLVMPoisonValueValueKind to the bottom to avoid value changes compared with LLVM<=11 (details)
  42. [AMDGPU] Do not reassign spilled registers (details)
  43. [clangd] Log warning when using legacy (theia) semantic highlighting. (details)
  44. [clangd] Parse Diagnostics block, and nest ClangTidy block under it. (details)
  45. [mlir][PassManager] Only reinitialize the pass manager if the context registry changes (details)
  46. [OpenMP][Libomptarget] Fix conditional in CMake for remote plugin (details)
  47. DebugInfo: Fix bug in addr+offset exprloc to use DWARFv5 addrx op instead of DWARFv4 GNU extension (details)
  48. [AMDGPU][NFC] Generate llvm.amdgcn.set.inactive tests (details)
  49. [libomptarget][NFC] Link plugins with threads support library due to std::call_once usage. (details)
  50. [AMDGPU][NFC] Pre-commit test for D95509 (details)
  51. [Support] Fix build for Haiku (details)
  52. IntrinsicEmitter: Change IntrinsicsToAttributesMap from uint8_t[] to uint16_t[] (details)
  53. [RISCV] Copy isUnneededShiftMask from X86. (details)
  54. [CSSPGO] Support of CS profiles in extended binary format. (details)
  55. [AVR] Optimize 16-bit int shift (details)
  56. [DebugInfo] Forward-declare PDBFile (NFC) (details)
  57. [llvm] Use llvm::is_sorted (NFC) (details)
  58. [llvm] Use append_range (NFC) (details)
  59. [AMDGPU] Avoid an illegal operand in si-shrink-instructions (details)
  60. [yaml2obj] - Allow empty SectionHeaderTable definitions. (details)
  61. [X86][AMX] Prevent shape def being scheduled across ldtilecfg. (details)
  62. [NFC][Transforms][Coroutines] Remove unused variable (details)
  63. [NFC][IR][AsmWriter] Fix Wreturn-type gcc warning (details)
  64. [Clang][Codegen] Truncate initializers of union bitfield members (details)
  65. [ARM][RegisterScavenging] Don't consider LR liveout if it is not reloaded (details)
  66. [clang][cli] Use variadic macros for parsing/generating (details)
  67. Use DataExtractor to decode SLEB128 in android_relas. (details)
  68. Revert "[clang][cli] Use variadic macros for parsing/generating" (details)
  69. [RISCV] Add support for RVV int<->fp & fp<->fp conversions (details)
  70. [PowerPC] Do not emit XXSPLTI32DX for sub 64-bit constants (details)
  71. [AMDGPU][GlobalISel] Handle G_PTR_ADD when looking for constant offset (details)
  72. [AMDGPU][GlobalISel] Remove redundant cmp when copying constant to vcc (details)
  73. [NFC] Move scavenge-lr.mir From AArch64 to Thumb2 test directory. (details)
  74. [ARM] Regenerate constant hoisting test. NFC (details)
  75. [MLIR][LinAlg][Docs] Add missing example code and other small fixes. (details)
  76. [mlir][Linalg] Improve codegen strategy (details)
  77. [SimplifyCFG] If provided, preserve Dominator Tree (details)
  78. [CodeGen][DwarfEHPrepare] Preserve Dominator Tree (details)
  79. [OpenCL] Hide sampler-less read_image builtins before CL1.2 (details)
  80. [DebugInfo] Remove some unused includes. NFCI. (details)
  81. [Support] Add some missing namespace closure comments. NFCI. (details)
  82. Fix "32-bit shift result used in 64-bit comparison" MSVC warning. NFCI. (details)
  83. [X86][AVX] Add PR48908 shuffle test case (details)
  84. [X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - don't merge VPERMILPD ops with different low/high masks. (details)
  85. [OpenMP] Disabled profiling in `libomp` by default to unblock link errors (details)
  86. AMDGPUPrintfRuntimeBinding - don't dereference a dyn_cast<> pointer. NFCI. (details)
  87. [AArch64][SVE] Allow accesses to SVE stack objects to use frame pointer (details)
  88. [mlir][Linalg] Further improve codegen strategy and add a linalg.matmul_i8_i8_i32 (details)
  89. [ARM] Add alignment checks for MVE VLDn (details)
  90. [OpenMP][deviceRTLs] Added `[[clang::loader_uninitialized]]` explicitly (details)
  91. [OpenMP][NVPTX] Added the missing -O1 when building NVPTX bitcode libraries (details)
  92. [OpenMP][deviceRTLs] Separate declaration of target dependent functions from `target_impl.h` (details)
  93. [Orc] Remove unused header from TPC server (details)
  94. [mlir][Linalg] Reenable test that was mistakenly disabled (details)
  95. [X86] Add extload test cases from D95086 (details)
  96. Relax test expectations in debug-info-gline-tables-only-codeview.cpp (details)
  97. [mlir] Fix subview verifier. (details)
  98. [clang-tidy] Remove unnecessary #ifdef (details)
  99. [mlir][Linalg] Replace SimplePad with PadTensor in tile-and-pad (details)
  100. [MC][ELF] Fix accepting abbreviated form with sh_flags and sh_entsize (details)
  101. [APFloat] scalbn - pass DoubleAPFloat arg as const-ref. NFCI. (details)
  102. [APFloat] Remove orphan ilogb(DoubleAPFloat) declaration. NFCI. (details)
  103. [libc++] Fix extern-templates.sh.cpp test on Linux (details)
  104. [mlir] Fix gcc-8 build (details)
  105. [mlir][Linalg] Fix tests in tile-and-pad (details)
  106. [mlir] Make cuda/rocm-runtime-wrappers not depend on LLVMSupport. (details)
  107. [X86][AVX] combineHorizOpWithShuffle - fix valuetype comparison typo. (details)
  108. Revert "[DWARF] Create subprogram's DIE in DISubprogram's unit" (details)
  109. [lld][WebAssembly] Update comments mentioning legacy function names. NFC (details)
  110. [mlir] Fix integration tests (details)
  111. [libc++] [P0879] constexpr std::nth_element, and rewrite its tests. (details)
  112. [libc++] Implement format_error. (details)
  113. [RISCV] Add support for scalable vector fneg using vfsgnjn.vv (details)
  114. [mlir][sparse] use typenames for opaque pointers (details)
  115. [libc++] Implements concept constructible_from (details)
  116. [RISCV] Remove isel patterns for Zbs *W instructions. (details)
  117. [mlir] Fix test by adapting to C util functions moving to libmlir_c_runner_utils (details)
  118. Fix lldb-vscode builds on Windows targeting POSIX (details)
  119. [libcxx][test] Update directory_entry test for C++20 (details)
  120. [llvm-nm] Display defined weak STT_GNU_IFUNC symbols as 'i' (details)
  121. [NFC] Disallow unused prefixes under clang/test/CodeGenCXX (details)
  122. Better document the limitations of coro::salvageDebugInfo() (details)
  123. [mlir] NFC: split --shared-libs option into multiple lines. (details)
  124. [AMDGPU] Simplify some RUN lines. NFC. (details)
  125. [gn build] (semi-manually) port 081c1db02dd2 (details)
  126. [WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers (details)
  127. [mlir] turn complex-to-llvm into a partial conversion (details)
  128. DebugInfo: Add a DWARF FORM extension for addrx+offset references to reduce relocations (details)
  129. [gn build] (manually) port 3b625060fc915 (details)
  130. [gn build] (manually) port 081c1db02dd2 more (details)
  131. [sparse][mlir] give all sparse kernels an explicit "output" tensor (details)
  132. Add convenience function for checking arrays of shapes compatible. (details)
  133. [WebAssembly] Prototype i8x16 to i32x4 widening instructions (details)
  134. [mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding (details)
  135. Revert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding" (details)
  136. Fix memory leak in 4318028cd2d7633a0cdeb0b5d4d2ed81fab87864 (details)
  137. [PowerPC][Power10] Fix XXSPLI32DX not correctly exploiting specific cases (details)
  138. Removing the main to master sync GitHub workflow. (details)
  139. Support: Simplify __HAIKU__ #ifdef in llvm::sys::Wait, NFC (details)
  140. [ASTMatchers] Avoid pathological traversal over nested lambdas (details)
  141. [ASTMatchers] Add invocation matcher (details)
  142. [CMake][libc] Don't do CPU feature detection when cross-compiling (details)
  143. [CMake][libc] Support cross-compiling libc-hdrgen (details)
  144. Revert "[PDB] Defer relocating .debug$S until commit time and parallelize it" (details)
  145. Add the ability to extract the unwind rows from DWARF Call Frame Information. (details)
  146. [OpenMP] NFC: disabled two flakey tests as the bug in libomp not fixed yet (details)
  147. [GlobalISel] Add G_ASSERT_ZEXT (details)
  148. [GlobalISel] Implement widenScalar for carry-in add/sub (details)
  149. [NFC][EntryExitInstrumenter] Mark Dominator Tree as preserved in legacy-PM too (details)
  150. [NFC][PartiallyInlineLibCalls] Port to SplitBlockAndInsertIfThen() (details)
  151. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedLoad(): port to SplitBlockAndInsertIfThen() (details)
  152. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedStore(): port to SplitBlockAndInsertIfThen() (details)
  153. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedGather(): port to SplitBlockAndInsertIfThen() (details)
  154. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedScatter(): port to SplitBlockAndInsertIfThen() (details)
  155. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedExpandLoad(): port to SplitBlockAndInsertIfThen() (details)
  156. [NFC][ScalarizeMaskedMemIntrin] scalarizeMaskedCompressStore(): port to SplitBlockAndInsertIfThen() (details)
  157. [PartiallyInlineLibCalls] Preserve Dominator Tree, if avaliable (details)
  158. [ScalarizeMaskedMemIntrin] Preserve Dominator Tree, if avaliable (details)
  159. [mlir][Linalg] Enable TileAndFusePattern to work with tensors. (details)
  160. [NFC][AMDGPU] Correct name of DWARF CFA extensions (details)
  161. [GlobalISel] Walk through hints in getDefIgnoringCopies et al (details)
  162. Revert "[GlobalISel] Walk through hints in getDefIgnoringCopies et al" (details)
  163. Recommit "[GlobalISel] Walk through hints in getDefIgnoringCopies et al" (details)
  164. [sanitizer] Fix msan test build on FreeBSD after 7afdc89c2054 (details)
  165. ADT: Add SFINAE to the generic IntrusiveRefCntPtr constructors (details)
  166. ADT: Fix typo in static assert message from 17c584551d573f1693990773e29fbe6b4b6fa4f4 (details)
  167. [mlir][Linalg] Fix SFINAE check to actually check the value. (details)
  168. Fix windows buildbot build errors from D89845. (details)
  169. [clang-tidy] Applied clang-tidy fixes. NFC (details)
  170. Introduce a new DialectIdentifier structure, extending Identifier with a Dialect information (details)
  171. [AArch64][GlobalISel] Add a combine to fold away truncate in: G_ICMP EQ/NE (G_TRUNC(v), 0) (details)
  172. [DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas. (details)
  173. [GlobalISel] Implement computeKnownBits for G_ASSERT_ZEXT (details)
  174. [AArch64][GlobalISel] Enable CSE for the prelegalizer combiner. (details)
  175. Revert "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas." (details)
  176. [AMDGPU] Mark V_SET_INACTIVE as defining SCC (details)
  177. Ensure that we traverse non-op() method bodys of lambdas (details)
  178. [GlobalISel] Implement regbankselect for G_ASSERT_ZEXT (details)
  179. [AMDGPU] Fix WMM Entry SCC preservation (details)
  180. [libcxx][test] MoveOnly's comparisons are non-member (details)
  181. [libc][NFC] Add a few casts to suppress loss of precision warnings (details)
  182. [libcxx][test] move libc++-specific tests into the libcxx tree (details)
  183. Reland "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas" (details)
  184. Fix typo in "[DebugInfo][CodeView] Use <lambda_n> as the display name for lambdas." (details)
  185. [NFC][llvm-nm] Fix unused variable warning (details)
  186. [NFC][DebugInfo] Fix Wreturn-type gcc warning (details)
  187. [lldb] Use `foo is None` instead of `not foo` in darwin.py (details)
  188. Support a list of CostPerUse values (details)
  189. [SCEV] Do not cache comparison result upon reached max depth as "equivalence". PR48725 (details)
  190. [LiveDebugVariables] Add cache for SkipPHIsLabelsAndDebug to prevent (details)
  191. [clang-format] Add option to control the spaces in a line comment (details)
  192. [llvm] Forward-declare formatted_raw_ostream (NFC) (details)
  193. [llvm] Populate SmallVector at construction time (NFC) (details)
  194. [MustExecute] Use ListSeparator (NFC) (details)
  195. [clang-tidy] bugprone-assert-side-effect: Improve warning message. (details)
  196. [clang-tidy] bugprone-assert-side-effect: Warn on NSAssert by default. (details)
  197. [NFC][ScalarizeMaskedMemIntrin] Fix unused variable warning (details)
  198. [clangd] Add include-fixer fixit for field_incomplete_or_sizeless diagnostic. (details)
  199. Revert "[clang-format] Add option to control the spaces in a line comment" (details)
  200. [llvm-readobj/elf] - Report "bitcode files are not supported" warning for bitcode files. (details)
  201. [libc][Obvious] Remove DEPS for unistd.h in CMake file of memmove. (details)
  202. [llvm-jitlink] Replace use of deprecated gethostbyname by getaddrinfo. (details)
  203. [clang-tooling] Prevent llvm::fatal_error on invalid CLI option (details)
  204. [libc][Obvious] Fix typo (details)
  205. [mlir] Prevent segfault in Tensor canonicalization (details)
  206. Adapt lldb-instr to d47ee525f9e92898 APi change (details)
  207. [OpenMP] libomp: fix build by cl with vs2019 (details)
  208. Fix macos target assumption in test (details)
  209. [libcxx] Implement the stat function family on top of native windows APIs (details)
  210. [libcxx] Implement _FilesystemClock::now() and __last_write_time for windows (details)
  211. [libcxx] Hook up a number of operation functions to their windows counterparts (details)
  212. [libcxx] Sanitize paths before creating symlinks on windows (details)
  213. [gn build] (semi-manually) port 2ff8662b5d16 (details)
  214. [LTO] Update splitCodeGen to take a reference to the module. (NFC) (details)
  215. [MemCpyOpt] Add test for incorrect optimization across lifetime (NFC) (details)
  216. [test] Use host platform specific error message substitution in lit tests (details)
  217. [Syntax] Add syntax-tree-dump in clang-check. (details)
  218. [gn build] port e90e455d2a0cc (details)
  219. [MachineLICM] Fix wrong and confusing comment. NFC. (details)
  220. [clangd] Extract symbol-scope logic out of Quality, add tests. NFC (details)
  221. Revert "[clangd] Extract symbol-scope logic out of Quality, add tests. NFC" (details)
  222. [mlir] Remove mlir_c_runner_utils_static. (details)
  223. [X86][SSE] combineExtractWithShuffle - support zero-extending to allow extracting from narrow shuffle masks (details)
  224. clang-cl: Invent a /winsysroot concept (details)
  225. clang-cl: Accept /std:c11, /std:c17 flags (details)
  226. [TableGen] Fix instantiating multiclass in foreach (details)
  227. [flang] Fix problems with constant arrays with lower bounds that are not 1 (details)
  228. [AMDGPU] Test all register names known to AMDGPUPALMetadata (details)
  229. Revert "Disable rosegment for old Android versions." (details)
  230. [GlobalISel] Fix modifying a G_OR without notifying the observer (details)
  231. [flang][docs] Add New Flang Driver Biweekly call (details)
  232. [mlir][docs] Fix typo: even -> event (details)
  233. [AArch64][Clang][Linux] Enable out-of-line atomics by default. (details)
  234. Make the profile-filter.c test compatible with 32-bit systems (details)
  235. [libcxx][test] explicitly discard bitset::test's return (details)
  236. [libcxx][test] Silence false positive MSVC /analyze warning (details)
  237. [OpenMP][NFC] Added release note for new `deviceRTLs` and hidden helper task (details)
  238. [OpenMP] Add environment variable to force monotonic dynamic scheduling (details)
  239. [libcxx][test] Silence MSVC narrowing warning (details)
  240. [AIX] Actually push back "-mabi=vec-extabi" when option is on. (details)
  241. [VE] Add include for formatted_raw_ostream after 046cfb856517c6140d5e1c0989232e26d00b05b2 (details)
  242. [GlobalISel] Remove hint instructions in generic InstructionSelect code. (details)
  243. [CMake] Actually require python 3.6 or greater (details)
  244. Revert "[CMake] Actually require python 3.6 or greater" (details)
  245. [mlir] Preserve lexicographic order after loop collapsing. (details)
  246. [clang-tidy] Fix linking tests to LLVMTestingSupport (details)
  247. Emit metadata when instr. profiles hash mismatch occurs. (details)
  248. [SVE] delete VectorType::getNumElements() (details)
  249. [LowerConstantIntrinsics] Preserve Dominator Tree, if avaliable (details)
  250. [ShadowStackGCLowering] Preserve Dominator Tree, if avaliable (details)
  251. [ExpandMemCmpPass] Preserve Dominator Tree, if available (details)
  252. [AMDGPU] Be more specific in needsFrameBaseReg (details)
  253. [NFC][RISCV] Remove redundant pseudo instructions for vector load/store. (details)
  254. [RISCV] Update the version number to v0.10 for vector. (details)
  255. [flang] Support disabled alternative PARAMETER statement (details)
  256. [RISCV]  Update the version number to v0.10 for vector. (details)
  257. Update ElementsAttr::isValidIndex to handle ElementsAttr with a scalar. Scalar will have rank 0. (details)
  258. [VFS] Combine VFSFromYamlDirIterImpl and OverlayFSDirIterImpl into a single implementation (NFC) (details)
  259. [RISCV] Merge rv32 and rv64 vector fadd/fsub/fmul/fdiv sdnode tests into single tests files with 2 run lines. (details)
  260. Use type alias for large tuples (details)
  261. Detect Source Drift with Propeller. (details)
  262. [X86] Fix tile config register spill issue. (details)
  263. [llvm-objdump-macho] print per-second-level-page encodings for option --unwind-info (details)
  264. [lld-macho][NFC] Add new option group for versions (details)
  265. [NFC][VFS] Fix a build warning due to an extra semicolon (details)
  266. [llvm] Use append_range (NFC) (details)
  267. [llvm] Use llvm::lower_bound and llvm::upper_bound (NFC) (details)
  268. [llvm] Use isa instead of dyn_cast (NFC) (details)
  269. [ELF][test] Add --emit-relocs --gc-sections test for relocation section for a non-SHF_ALLOC section (details)
  270. [LTO] Use lto::backend for code generation. (details)
  271. [LTO] Add option enable NewPM with LTOCodeGenerator. (details)
  272. [compiler-rt][tests] Define TARGET_FLAGS (details)
  273. [ASTMatchers] Fix traversal below range-for elements (details)
  274. [LoopUnswitch] Properly update MSSA if header has non-clobbering stores. (details)
  275. Fix traversal with hasDescendant into lambdas (details)
  276. [llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file. (details)
  277. [RISCV] Update extractelt tests to sign-extend results (NFC) (details)
  278. [ASTMatchers] Fix definition of decompositionDecl (details)
  279. [TableGen] Use ListSeparator (NFC) (details)
  280. [AMDGPU] Forward-declare AMDGPUTargetMachine (NFC) (details)
  281. [llvm] Add missing header guards (NFC) (details)
  282. [ConstraintElimination] Verify CS and DFSInStack are in sync.(NFC) (details)
  283. [OpenMP][NVPTX] Refined CMake logic to choose compute capabilites (details)
  284. [TableGen] Avoid a couple vector copies in ExpandHwModeBasedTypes. (details)
  285. [TableGen] Use emplace_back to add to PatternsToMatch in GenerateVariants. Use std::move when adding to PatternsToMatch in AddPatternToMatch. (details)
  286. [RISCV] Use MVT instead of EVT in RISCVISelDAGToDAG.cpp (details)
  287. [flang] Improve shape & length characterization (details)
  288. [mlir][AVX512] Fix result type of vp2intersect (details)
  289. [RISCV] Add rv64 command line to bswap-ctlz-cttz-ctpop.ll. (details)
  290. [docs] Clarify compile_flags.txt subtleties (details)
  291. [clangd] Quote/escape argv included in log messages. (details)
  292. [clangd] Remove references to old future-based API. NFC (details)
  293. [libc++] Allow building with C++17. (details)
  294. [dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations. (details)
  295. Revert "[clangd] Quote/escape argv included in log messages." (details)
  296. Reland [clangd] Quote/escape argv included in log messages. (details)
  297. AMDGPU: Add missing consts (details)
  298. RegAlloc: Fix assert if all registers in class reserved (details)
  299. [VE] Fix compiler warnings (NFC) (details)
  300. [TableGen] Use ListSeparator (NFC) (details)
  301. [llvm] Drop unnecessary const from return types (NFC) (details)
  302. [lldb] [Process/FreeBSDRemote] Introduce arm64 support (details)
  303. [lldb] [Process/FreeBSDRemote] Introduce arm (32-bit) support (details)
  304. [ConstraintElimination] Add tests for ICMP_EQ predicates. (details)
  305. [LTOCodeGenerator] Use lto::Config for options (NFC). (details)
  306. [LSan][RISCV] Enable LSan for RISCV64 (details)
  307. Fix omitted kw in type alias printer (details)
  308. [RISCV][LegalizeTypes] Try to expand BSWAP before promoting if the promoted BSWAP would expand anyway. (details)
  309. CFG: Create scope for non-compound range-for body. (details)
  310. [CMake][compiler-rt][RISCV] Support RISC-V cross-compilation (details)
  311. [Sanitizer][RISCV] Fix FastUnwindTest (details)
  312. [CodeGenPrepare] Also skip lifetime.end intrinsic when check return block in dupRetToEnableTailCallOpts. (details)
  313. Fix test in "CFG: Create scope for non-compound range-for body." (details)
  314. [OpenMP] Fix comment and assertion strings (NFC). (details)
  315. [JITLink] Add missing symbols for ELF ehframe testcase, re-enable on Windows. (details)
  316. [RISCV] Custom lower fshl/fshr with Zbt extension. (details)
  317. Revert "[JITLink] Add missing symbols for ELF ehframe testcase, re-enable ...." (details)
  318. [X86] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV) to improve readability. NFC (details)
  319. [PowerPC] Remove vnot_ppc and replace with the standard vnot. (details)
  320. [Mips] Cleanup isel patterns to use 'vnot' instead of (xor X, immAllOnesV). NFCI (details)
  321. [FPEnv] Intrinsic for setting rounding mode (details)
  322. [TableGen] Don't commute isel patterns if it would put an immAllOnesV or immAllZerosV on the left hand side. (details)
  323. [OpenMP] Fix python3 compatibility in openmp's lit.cfg (details)
  324. [mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding (details)
  325. [mlir] Fix missing null termination in cuLinkAddData argument. (details)
  326. Revert "[mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding" (details)
  327. [lldb][docs] Attempt to disable the generated GitHub button on the LLDB website (details)
  328. [LoopPeel] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed. (details)
  329. [LoopUnswitch] Add shortcut if unswitched path is a no-op. (details)
  330. [LoopUnswitch] Pacify compiler warnings. (details)
  331. [VE] Change inetger constants 32-bit friendly (details)
  332. [ARM] Simplify extract of VMOVDRR (details)
  333. [X86][AVX] combineExtractWithShuffle - combine extracts from 256/512-bit vector shuffles. (details)
  334. [Verifier] enable llvm.experimental.noalias.scope.decl dominance check. (details)
  335. [ARM] Turn sext_inreg(VGetLaneu) into VGetLaneu (details)
  336. [Branch-Rename] Fix some links (details)
  337. [lldb/API] Expose Module::IsLoadedInTarget() to SB API (NFC) (details)
  338. [AMDGPU][MC] Corrected error position for invalid operands (details)
  339. [lldb] Remove a stray semicolon, fixing GCC warnings. NFC. (details)
  340. Revert "[clang][cli] Port OpenMP-related LangOpts to marshalling system" (details)
  341. [lldb] Use current execution context in SBDebugger (details)
  342. NFC: Migrate SpeculativeExecution to work on InstructionCost (details)
  343. [LV] Fix crash when computing max VF too early (details)
  344. GlobalISel: check type size before getZExtValue()ing it. (details)
  345. [lldb/test] Skip `SBTarget::IsLoaded` test on windows (NFC) (details)
  346. [ConstraintElimination] Add tests for signed predicates. (details)
  347. Revert "[Verifier] enable llvm.experimental.noalias.scope.decl dominance check." (details)
  348. [SCEV] Bail out if URem operand cannot be zero-extended. (details)
  349. [SVE][CodeGen] Remove performMaskedGatherScatterCombine (details)
  350. [clangd] Rename: merge index/AST refs path-insensitively where needed (details)
  351. [gn build] Port b63cd4db915c (details)
  352. [clangd] Don't rely on builtin headers for document-link.test. (details)
  353. [libc++] Fix for the Bug 41784 (details)
  354. [APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI. (details)
  355. [TableGen] Fix anonymous record self-reference in foreach and multiclass (details)
  356. [clangd] Respect ReferencesParams.context.includeDeclarations (details)
  357. [ARM] Simplify VMOVRRD from extracts of buildvectors (details)
  358. [SimplifyCFG] NFC: Rename static methods to clang-tidy standards. (details)
  359. NFC: Migrate SimplifyCFG to work on InstructionCost (details)
  360. Revert rGce587529ad8b5 - "[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI." (details)
  361. [clangd] references: decls of overrides of x are refs to x, not decls (details)
  362. [OpenMP] Fix seg fault in libomptarget when using Info with multiple threads (details)
  363. [clangd] Remove some obsolete options that are now always on (details)
  364. [compiler-rt] Fix AArch64 out-of-line atomics visibility on mach-o (details)
  365. [AMDGPU] Fix crash with sgpr spills to vgpr disabled (details)
  366. [AMDGPU] Fix release build after 0397dca0. (details)
  367. [flang] Fix parsing of WRITE(I+J) with more accurate look-ahead (details)
  368. [ConstraintElimination] Negate IR condition directly. (details)
  369. [RISCV] Optimize (srl (and X, 0xffff), C) -> (srli (slli X, 16), 16 + C). (details)
  370. [GlobalISel] Make sure G_ASSERT_ZEXT's src ends up with the same rc as dst (details)
  371. [RISCV] Update comment text from D95774. NFC (details)
  372. [RISCV] Add scalable vector support for floating point FMA instructions (details)
  373. [LTO] Move part of gold devirt test to v1.16 directory (details)
  374. [AArch64][GlobalISel] Emit G_ASSERT_ZEXT in assignValueToReg (details)
  375. [libc++] Implements concept default_initializable. (details)
  376. [OpenMP] Disable tests if FileCheck is not available in in-tree building (details)
  377. [X86][SSE] LowerScalarImmediateShift - use APInt::getLowBitsSet for vXi8 ISD::SRL mask generation. NFCI. (details)
  378. [X86][AVX] Add 'OK' tests cases for PR48877 (details)
  379. [flang][directive] Enforce basic semantic check for all clauses (details)
  380. [NFC] Disallow unused prefixes under clang/test/Driver (details)
  381. [libc] Small adjustments to fenv tests (details)
  382. [InstCombine] add tests for min/max with extend and constant operand; NFC (details)
  383. [InstCombine] try to narrow min/max intrinsics with constant operand (details)
  384. [clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup (details)
  385. [elfabi] Fix tests which failed on different timezones (details)
  386. [X86] Accept 64-bit GPRs for vextractps when using a register that requires EVEX. (details)
  387. [NewPM][Unswitch] Add option to disable -O3 non-trivial unswitching (details)
  388. [ARM] Flatten identity shuffles through vqdmulh nodes (details)
  389. [libc][NFC] Add a death test API adaptation macro (details)
  390. [libc++][format] Add basic_format_parse_context. (details)
  391. [ConstantHoisting] Fix bug where constant materialization could insert into EH pad (details)
  392. [WebAssembly] fixed wasm64 data segment init exp not 64-bit (details)
  393. [mlir][Linalg] Replace SimplePad with PadTensor in hoist-padding (details)
  394. [Loads] Plumb through TLI argument [NFC] (details)
  395. [OpenMP] libomp: implement nteams-var and teams-thread-limit-var ICVs (details)
  396. [mlir][spirv] Add support for OpImageType (details)
  397. Revert "[mlir][spirv] Add support for OpImageType" (details)
  398. [ConstraintElimination] Add support for EQ predicates. (details)
  399. Avoid string comparisons on the fast path of MLIR Identifier lookup (NFC) (details)
  400. Revert "[libc++][format] Add basic_format_parse_context." (details)
  401. [LoopVectorize] improve IR fast-math-flags propagation in reductions (details)
  402. NFC: Re-generate out-of-date matchers docs (details)
  403. [tests] highlight cornercase w/deref hoisting from D95815 (details)
  404. [mlir][spirv] Add support for OpImageType (details)
  405. [clang-format] Add option to control the spaces in a line comment (details)
  406. [CSSPGO] Tweaking inlining with pseudo probes. (details)
  407. [AMDGPU] Set s-memtime-inst feature from clang (details)
  408. [llvm-objcopy] -O binary: consider SHT_NOBITS sections to be empty (details)
  409. [InstrProfiling] Use !associated metadata for counters, data and values (details)
  410. [NFC][X86] Avoid redundant work inspecting callee (details)
  411. [NFC][X86] Use CallBase interface to simplify code (details)
  412. [flang][NFC] Rename complex type. (details)
  413. [obj2yaml, yaml2obj] Use Hex64 for BBAddressMap fields. (details)
  414. [lldb] Use the host architecture in TestAppleSimulatorOSType.py (details)
  415. [x86] introduce no_callee_saved_registers attribute (details)
  416. [OpenMP][Libomptarget] Remove possible harmful copy constructor call for RTLsTy (details)
  417. [Utils] Add a switch controlling prefix warnings in UpdateTestChecks (details)
  418. [mlir] Add custom directive hooks for printing mixed integer or value operands. (details)
  419. AMDGPU: Fix dbg_value handling when forming soft clause bundles (details)
  420. [LoopVectorize] Relax a FCmpInst assert to dyn_cast after D95690 (details)
  421. [test] Fix unuses FileCheck prefixes in clang/test/Modules (details)
  422. [test] Fix unuses FileCheck prefixes in lld (details)
  423. [llvm] Use pop_back_val (NFC) (details)
  424. [TableGen] Use ListSeparator (NFC) (details)
  425. [TableGen] Use range-based for loops (NFC) (details)
  426. [VFS] Add support to RedirectingFileSystem for mapping a virtual directory to one in the external FS. (details)
  427. clang-extra: fix incorrect use of std::lock_guard by adding variable name (identified by MSVC [[nodiscard]] error) (details)
  428. [test] Fix unused FileCheck prefixes in compiler-rt/test (details)
  429. [AArch64] Homogeneous Prolog and Epilog Size Optimization (details)
  430. [MLIR][TOSA] Comparison based elementwise operations for tosa-to-linalg (details)
  431. [test] Fix unused FileCheck prefixes in lldb (details)
  432. [test] Default clang/test to FileCheck --allow-unused-prefixes=false (details)
  433. [SCEV] Apply loop guards to divisibility tests (details)
  434. [test] Fix unused FileCheck prefixes in compiler-rt (details)
  435. [ORC] Clear unused materializing info entries. (details)
  436. [test] Fix unused FileCheck prefixes in clang-tidy and one llvm/test/Reduce test (details)
  437. [test] Fix unused FileCheck prefixes in test/Reduce (details)
  438. Revert "[AArch64] Homogeneous Prolog and Epilog Size Optimization" (details)
  439. [NFC][Docs] Fix RAVFrontendAction doc's CMakelists.txt for Shared build (details)
  440. [SelectionDAG] Prevent scalable vector warning from ComputeNumSignBits on extract_vector_elt on a scalable vector. (details)
  441. [mlir][Standard] Extend n-D vector lowering to LLVM to [s|z]exti ops. (details)
  442. [CSSPGO] Call site prioritized inlining for sample PGO (details)
  443. [RISCV] Replace NoX0 SDNodeXForm with a ComplexPattern to do the selection of the VL operand. (details)
  444. Added clamp i64 to i16 global isel pattern. (details)
  445. clang-format (details)
  446. Added comments. (details)
  447. Added early exit. (details)
  448. Renames (details)
  449. Refactored the pattern matching. (details)
  450. Fixed the lit tests and a bug in the implementation. (details)
  451. Reverted unintended git-format change. (details)
  452. Renamed identifiers in lit (details)
  453. Move Combiner to PreLegalize step (details)
  454. Move step to PreLegalizer (details)
  455. Fixed tests. (details)
  456. Code changes yielded from review. (details)
  457. Resolve formatting changes. (details)
  458. Updating formatting changes. (details)
  459. Formatting changes. (details)
  460. Formatting changes (details)
  461. Added and used new target pseudo for v_cvt_pk_i16_i32, changes due to code review. (details)
  462. Implemented a MED3_S32 GIR opcode. (details)
  463. Removed the generic virtual register creations. Reworked the tests. (details)
  464. Renamed med3 opcode, removed superfluous copy. (details)
  465. Added missing includes. (details)
  466. Reverted whitespace changes. (details)
  467. Fixed includes. (details)
  468. Fixed includes. (details)
  469. Removed Diff file. (details)
  470. [CSSPGO] Factor out common part for CSSPGO inline and AFDO inline (details)
  471. Fix build break from D95024 (details)
  472. [AMDGPU] Clarify calling conv about inactive lanes (details)
  473. [AMDGPU] Mark epilog restores as frame-destroy (details)
  474. [dllimport] Honor always_inline when deciding whether a dllimport function should be available for inlining (PR48925) (details)
  475. [mlir] Keep track of region signature conversions as argument replacements (details)
  476. Fold one-use variable into assert. NFCI. (details)
  477. [SVE][LoopVectorize] Add masked load/store and gather/scatter support for SVE (details)
  478. [flang][driver] Disallow non-existent input files in the frontend driver (details)
  479. [ARM] Regenerate LowOverheadLoops mir tests. NFC (details)
  480. Revert "Fix build break from D95024" (details)
  481. Revert "[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline" (details)
  482. [ARM] Remove DLS lr, lr (details)
  483. [OpenCL] Change extension handling for -fdeclare-opencl-builtins (details)
  484. [X86][AVX] Add missing VEX_WIG tags from VPACKUSDW/VPHSUBD/VPCMPISTRI/VPCMPISTRM/VPCMPESTRI/VPCMPESTRM (details)
  485. [mlir][Linalg] Refactor Linalg vectorization for better reuse and extensibility. (details)
  486. [X86] Fix disassembly of x86-64 GDTLS code sequence (details)
  487. [X86][AVX512] Support variable-index vector insertion on AVX512 targets (PR47924) (details)
  488. [AMDGPU][MC] Corrected parsing of optional modifiers (details)
  489. [mlir][Linalg] Fix unused variable warning in Release builds. NFC. (details)
  490. [clangd] Report only decl of overridding method in xref. (details)
  491. Revert "[test] Default clang/test to FileCheck --allow-unused-prefixes=false" (details)
  492. [mlir][Linalg] Fix and properly test CodegenStrategy API (details)
  493. [ASTMatchers] Fix matching after generic top-level matcher (details)
  494. NFC: Migrate SimpleLoopUnswitch to work on InstructionCost (details)
  495. NFC: Migrate SpeculateAroundPHIs to work on InstructionCost (details)
  496. Revert "[lldb] Use current execution context in SBDebugger" (details)
  497. [X86][SSE] LowerINSERT_VECTOR_ELT - pull out repeated EltSizeInBits calls. NFCI. (details)
  498. [ARM] Select VINS from vector inserts (details)
  499. [ASTMatchers] Add matchers for decomposition decls (details)
  500. [clang-format] Add case aware include sorting. (details)
  501. [ARM] Extra shuffle tests. NFC (details)
  502. Revert "[InstrProfiling] Use !associated metadata for counters, data and values" (details)
  503. [ASTMatchers] Ignore parts of BindingDecls which are not spelled in source (details)
  504. [clangd] Fix race in Global CDB shutdown (details)
  505. [AVR][clang] Fix a bug in AVR toolchain search paths (details)
  506. [NFC][InstCombine] Add tests for  (~x) a>> y  -->  ~(x a>> y)  fold (PR48995) (details)
  507. [InstCombine] Host inversion out of ashr's value operand (PR48995) (details)
  508. [mlir] Put template specialization in the same namespace (details)
  509. [clang][PATCH][NFC] Correct test case related to review D95482 (details)
  510. [OpenCL] Add diagnostics for references to functions (details)
  511. Ensure that the matcher is instantiated (details)
  512. [ARM] Add MVE insert-of-extract pattern (details)
  513. [PowerPC] Materialize 34 bit constants with pli on Power 10. (details)
  514. [OpenMP][NFC] Adding FAQ Entry for errors with static libraries (details)
  515. [CSSPGO] Factor out common part for CSSPGO inline and AFDO inline (details)
  516. [AIX] Improve option processing for mabi=vec-extabi and mabi=vec=defaul (details)
  517. [mlir] Fix scf.for single iteration canonicalization check (details)
  518. [mlir][spirv] Define sp.VectorShuffle (details)
  519. Revert "[mlir] Fix scf.for single iteration canonicalization check" (details)
  520. [AMDGPU] Save fp/bp after csr saves (details)
  521. [AMDGPU] Remove unused tmp register (details)
  522. Fixed failing OpenCL test (details)
  523. [ARM] Mark MVE_VMOV_to_lane_32 as isInsertSubregLike (details)
  524. [ConstraintElimination] Add nicer way to dump constraints (NFC). (details)
  525. [flang][NFC] Update #include and comment. (details)
  526. [OpenMP] Fix sign comparison warnings from GCC (details)
  527. [ARM] Correct some tablegen operand types. NFC (details)
  528. [InlineFunction] Only update noalias scopes once for an instruction. (details)
  529. [ExpandReductions] add test for fmin with FMF; NFC (details)
  530. [yaml2obj/obj2yaml/llvm-readobj] Support SHF_GNU_RETAIN (details)
  531. [MC] Support SHF_GNU_RETAIN as section flag 'R' (details)
  532. [test] Add basic _Unwind_ForcedUnwind + exception tests (details)
  533. [ConstraintElimination] Add test with pointer bitcast. (details)
  534. [MC] Upgrade DWARF version to 5 upon .file 0 (details)
  535. [debugserver] Fix -Winconsistent-missing-override warnings on arm64 (details)
  536. [CSSPGO] Passing the clang driver switch -fpseudo-probe-for-profiling to the linker. (details)
  537. [ELF] Delete unused --warn-ifunc-textrel (details)
  538. [libcxx] Implement the space function for windows (details)
  539. [lld-macho][NFC] refactor relocation handling (details)
  540. [OpenMP] Fix iterations calculation for dependent counters. (details)
  541. [debugserver] Fix -Wunused-function warnings on arm64 (details)
  542. [RISCV] Use a ComplexPattern to merge isel patterns for vector load/store with GPR and FrameIndex addresses. (details)
  543. [ConstraintElimination] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off build (details)
  544. [debugserver] Fix -Wsign-compare warnings on arm64 (details)
  545. [mlir][NFC] Use explicit `mlir` namespace in generated code (details)
  546. [mlir][NFC] Add missing include guards to MlirOptMain.h (details)
  547. [mlir] Allow to use constant lambda as callbacks for `TypeConverter` (details)
  548. [mlir] Print more verbose message in case of type inference error (details)
  549. [debugserver] Fix -Wmissing-field-initializers warnings on arm64 (details)
  550. [mlir] Return new Operation from `Rewriter::replaceOpWithNewOp` (details)
  551. [RISCV] Correct types in tablegen multiclasses found by D95874. (details)
  552. [RISCV] Fix incorrect RVV sdiv/udiv lowering (details)
  553. Fix CMake LLVM_TARGETS_TO_BUILD "Native" option to work with JIT (details)
  554. [mlir] Delay adding the __resume function (details)
  555. [MLIR] [CMake] Support building MLIR standalone (details)
  556. Fix namespace for MLIR Async Runtime (details)
  557. [test] Default clang/test to FileCheck --allow-unused-prefixes=false (details)
  558. [flang] Detect UBOUND() error on assumed-size array (details)
  559. [flang] Implement IEEE_SUPPORT_xxx inquiry functions (details)
  560. Ensure that InstructionCost actually implements a total ordering (details)
  561. [flang][NFC] Update #include. (details)
  562. [CSSPGO] Introducing distribution factor for pseudo probe. (details)
  563. [flang][NFC] Update the CG rewrite pass. (details)
  564. [mlir][Pattern] Create a new IRRewriter class to enable sharing code with pattern rewrites (details)
  565. Revert "Ensure that InstructionCost actually implements a total ordering" (details)
  566. [lldb] Convert assertTrue(a == b) to assertEqual(a, b) (details)
  567. Disable CFI in __get_elem to allow casting a pointer to uninitialized memory (details)
  568. Revert "Fix namespace for MLIR Async Runtime" (details)
  569. [libc++] Add new queues for specific macOS system versions (details)
  570. [libcxx] Implement the current_path function for windows (details)
  571. [libcxx] Implement the canonical function for windows (details)
  572. [ConstraintElimination] Skip pointer casts. (details)
  573. [dfsan] Clean TLS after sigaction callbacks (details)
  574. Diagnose if a SLEB128 is too large to fit in an int64_t. (details)
  575. [GWP-ASan] Add aligned allocations. (details)
  576. [GWP-ASan] Add locking around unwinder for atfork protection. (details)
  577. Revert "[GWP-ASan] Add aligned allocations." (details)
  578. [AArch64] Homogeneous Prolog and Epilog Size Optimization (details)
  579. [gn build] Port 4f58b1bd2974 (details)
  580. [test][NewPM] Pin various tests to the legacy PM (details)
  581. [flang] Add TypeAndShape::MeasureElementSizeInBytes() (details)
  582. [FileCheck] Make --allow-unused-prefixes cl::ZeroOrMore (details)
  583. [mlir][Vector] Add lowering to LLVM for vector.bitcast (details)
  584. [mlir] Fix scf.for single iteration canonicalization check (details)
  585. [libc] Add hardware implementations of ceil and ceilf for aarch64. (details)
  586. [GlobalISel] Check if branches use the same MBB in matchOptBrCondByInvertingCond (details)
  587. AMDGPU: Don't consider global pressure when bundling soft clauses (details)
  588. AMDGPU: Fix adding extra operands for i128 asm constraints (details)
  589. [lldb/test] Stop recording fundamental return types (NFC) (details)
  590. [PowerPC] [NFC] fix wording typos (details)
  591. [VFS] Fix Wreturn-type gcc warning (NFC) (details)
  592. [yaml2obj][wasm] Support numeric relocation type (details)
  593. [clang-format] Fix MSVC "unsafe use of type 'bool' in operation" warning (NFC) (details)
  594. [CSSPGO] Fix MSVC initializing truncation warning (NFC) (details)
  595. [Statepoint] Handle 'undef' operand tied to def (details)
  596. [clang-tidy] Fix crash in readability-identifier-naming check (details)
  597. [dfsan] Wrap memmove (details)
  598. [NFC] Fix typo in comment (details)
  599. [Docs] Update HowToSubmitABug (details)
  600. [RISCV] Add new vector instructions in v0.10. (details)
  601. [OpenMP] Add OpenMP offloading toolchain for AMDGPU (details)
  602. [RISCV] Load/store vector mask types. (details)
  603. [gn build] Port fcf03e728007 (details)
  604. [CodeGen] Drop unnecessary const from return types (NFC) (details)
  605. [Transforms/Utils] Use range-based for loops (NFC) (details)
  606. [AsmPrinter] Use ListSeparator (NFC) (details)
  607. [InstrProfiling] Use !associated metadata for counters, data and values (details)
  608. [libcxx] Implement the permissions function for windows (details)
  609. [libcxx] Implement the read_symlink function for windows (details)
  610. [clang-include-fixer] Pre-reserve vector size. NFC (details)
  611. [X86] Correct types in tablegen multiclasses found by D95874. (details)
  612. [VPlan][NFC] Introduce constructors for VPIteration (details)
  613. [LIBC] Add optimized memcpy routine for AArch64 (details)
  614. [AArch64][SVE]Add cost model for broadcast shuffle (details)
  615. Revert "[AMDGPU] Add a new Clamp Pattern to the GlobalISel Path." (details)
  616. [clang][AVR] Improve avr-ld command line options (details)
  617. [OpenCL] Add cl_khr_subgroup_ballot to TableGen BIFs (details)
  618. [OpenCL] Add cl_khr_subgroup_non_uniform_vote to TableGen BIFs (details)
  619. [Flang][OpenMP] Add semantic checks for invalid branches into or out of OpenMP constructs (details)
  620. [clangd] Report xref for base methods. (details)
  621. [clang][AVR][NFC] Fix a typo (details)
  622. Fix MLIR Async Runtime DLL on Windows (details)
  623. [OpenCL] Fix address space in binding of initializer lists to referencs (details)
  624. [Sema] Fix -Warray-bounds false negative when casting an out-of-bounds array item (details)
  625. [OpenCL][Docs] Fix command line flag in the example. (details)
  626. [X86][SSE] Support variable-index float/double vector insertion on SSE41+ targets (PR47924) (details)
  627. [LoopVectorize] add test for fake min/max; NFC (details)
  628. AMDGPU: Move handling of allocation of fixed ABI inputs (details)
  629. [test] Use host platform specific error message substitution in lit tests - continued (details)
  630. Revert "[ConstantFold] Fold more operations to poison" (details)
  631. [AMDGPU] Fix multiclass template parameter types. NFC. (details)
  632. [ConstraintElimination] Add some tests with conds in loop header. (details)
  633. [FPEnv][X86] Platform builtins edition: clang should get from the AST the metadata for constrained FP builtins (details)
  634. [flang] Add -fsyntax-only to f18; retain -fparse-only synonym (details)
  635. [Hexagon] Add ELF flags for Hexagon V68 (details)
  636. [dfsan] Clean TLS after signal callbacks (details)
  637. [flang][NFCI] Relpace `LoopOp` Op with `DoLoopOp` Op in FIR Dialect (details)
  638. [DWARF] Location-less inlined variables should not have DW_TAG_variable (details)
  639. [VPlan] Manage induction value creation using VPValues. (details)
  640. Revert "[DWARF] Location-less inlined variables should not have DW_TAG_variable" (details)
  641. [OpenMP] Fixed an issue that taskwait doesn't work on detachable task (details)
  642. [flang] Enable FIR types and Dialect round trip tests (details)
  643. [DAGCombiner] Remove (sra (shl X, C), C) if X has more than C sign bits. (details)
  644. [AMDGPU] Added -mcpu to couple more tests. NFC. (details)
  645. Revert "AMDGPU: Don't consider global pressure when bundling soft clauses" (details)
  646. [scudo/standalone] Use zx_system_get_page_size() on Fuchsia (details)
  647. [gwp_asan] Use zx_system_get_page_size() on Fuchsia (details)
  648. [lldb] Fix debugserver-entitlements.plist path (details)
  649. RegisterCoalescer: Prune undef subranges from copy pairs in loops (details)
  650. [lld-macho] Associate each Symbol with an InputFile (details)
  651. [lld-macho] Force-loading should share code path with regular archive loads (details)
  652. [lld-macho] Remove stray ehFrame change (details)
  653. [lld-macho] Rename VERSION CONTROL to VERSION TARGETING in helptext (details)
  654. [sanitizer_common] Use zx_system_get_page_size() on Fuchsia (details)
  655. [libc][NFC] Move generic math implementations to the generic directory. (details)
  656. [dfsan] Test IGN and DFL for sigaction (details)
  657. [dfsan] Wrap strcat (details)
  658. [flang] Fix calls to LBOUND() intrinsic for arrays with lower bounds not 1 (details)
  659. RegisterCoalescer: Fix not setting undef on coalesced subregister uses (details)
  660. Set GPU context before {cu,hip}MemHostRegister. (details)
  661. [GlobalISel] Combine narrowScalar of G_ADD and G_SUB. NFC (details)
  662. Delete CUDA context after linking device code. (details)
  663. [NFC][CUDA] Refactor registering device variable (details)
  664. [SampleFDO][NFC] Detach SampleProfileLoader from SampleCoverageTracker (details)
  665. [clang-tblgen] AnnotateAttr::printPretty has spurious comma when no variadic argument is specified (details)
  666. [Hexagon] Add LLVM instruction definitions for Hexagon V68 (details)
  667. [mlir] Add gpu async integration test. (details)
  668. Fix overflowing signed left shift, found by ubsan buildbot. (details)
  669. [asan] Fix pthread_create interceptor (details)
  670. [NewPM][HelloWorld] Move HelloWorld to Utils (details)
  671. [lld-macho] Try to fix Windows build (details)
  672. Add API for adding arguments to blocks (details)
  673. [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter(). (details)
  674. [Coverage] Propogate counter to condition of conditional operator (details)
  675. [lldb] Honor the CPU type & subtype when launching on macOS (details)
  676. [lldb] Check for both Lua 5.3 and 5.4 error messages in the tests. (details)
  677. [GlobalISel] Add sext(constant) -> constant artifact combine. (details)
  678. PR49020: Diagnose brace elision in designated initializers in C++. (details)
  679. Turn on the new pass manager by default (details)
  680. Revert "[LTOCodeGenerator] Use lto::Config for options (NFC)." (details)
  681. Revert "[LTO] Add option enable NewPM with LTOCodeGenerator." (details)
  682. Revert "[LTO] Use lto::backend for code generation." (details)
  683. PR44325 (and duplicates): don't issue -Wzero-as-null-pointer-constant (details)
  684. [clang-tidy] Use new mapping matchers (details)
  685. [Docs] Add some documentation for constructor homing, a debug info optimization (-fuse-ctor-homing) (details)
  686. [libc++] [P0879] constexpr std::sort (details)
  687. [AArch64][GlobalISel] Emit G_ASSERT_ZEXT in assignValueToAddress for ZExt params (details)
  688. Revert "[InstrProfiling] Use !associated metadata for counters, data and values" (details)
  689. [AArch64][GlobalISel] Change store value type from p0 -> s64 to import patterns (details)
  690. [CSSPGO][llvm-profgen] Pseudo probe based CS profile generation (details)
  691. [lldb] Rollback to using i386 for the watch simulator (details)
  692. [OpenMPIRBuilder] Implement collapseLoops. (details)
  693. [OpenMP][NVPTX] Take functions in `deviceRTLs` as `convergent` (details)
  694. Make the folder more robust against op fold() methods that generate a type mismatch (details)
  695. [MLIR] Fix building unittests in in-tree build (details)
  696. [CSSPGO][llvm-profgen] Compress recursive cycles in calling context (details)
  697. [CSSPGO][llvm-profgen] Aggregate samples on call frame trie to speed up profile generation (details)
  698. [test] Pin spir-codegen.ll to legacy PM (details)
  699. Fix the guaranteed alignment of memory returned by malloc/new on Darwin (details)
  700. [Support] Drop unnecessary const from return types (NFC) (details)
  701. [TableGen] Use ListSeparator (NFC) (details)
  702. [Transforms/IPO] Use range-based for loops (NFC) (details)
  703. [NFC][Coroutine] Remove redundant comment (details)
  704. [lldb] Convert more assertTrue to assertEqual (NFC) (details)
  705. [NFC] Fix the noprofile attribute comment (details)
  706. [ASTReader] Always rebuild a cached module that has errors (details)
  707. Revert "[CSSPGO][llvm-profgen] Aggregate samples on call frame trie to speed up profile generation" (details)
  708. Revert "[CSSPGO][llvm-profgen] Compress recursive cycles in calling context" (details)
  709. [CSSPGO][llvm-profgen] Compress recursive cycles in calling context (details)
  710. [hip][cuda] Enable extended lambda support on Windows. (details)
  711. [mlir][Linalg] NFC - Extract a standalone LinalgInterfaces (details)
  712. Fix miscompile when performing template instantiation of non-dependent (details)
  713. Give this test a target triple. (details)
  714. [mlir][Linalg] Generalize the definition of a Linalg contraction. (details)
  715. [Syntax] Support condition for IfStmt. (details)
  716. [clangd] Detect rename conflicits within enclosing scope (details)
  717. [AMDGPU] Save all lanes for reserved VGPRs (details)
  718. [Support] Indent multi-line descr of enum cli options. (details)
  719. [clang][cli] Command line round-trip for HeaderSearch options (details)
  720. [clang-cl] Remove the /fallback option (details)
  721. [mlir] Apply source materialization in case of transitive conversion (details)
  722. [lldb] Make TestLocalVariables.py compatible with the new pass manager (details)
  723. [mlir] make vector to llvm conversion truly partial (details)
  724. [ARM] Handle f16 in GeneratePerfectShuffle (details)
  725. Re-land D94976 after revert in e29552c5aff6 (details)
  726. [mlir][Linalg] Drop SliceOp (details)
  727. [ElementCount] NFC: Set 'const' qualifier for getWithIncrement/Decrement. (details)
  728. [gn build] (manually) port 0609f257dc2e2c3 (details)
  729. Revert "[hip][cuda] Enable extended lambda support on Windows." (details)
  730. [X86] Remove stale TODO comment. NFC. (details)
  731. [flang][driver] Add forced form flags and -ffixed-line-length (details)
  732. [clang] Add AddClang.cmake to the list of the CMake modules that are installed (details)
  733. [AVR] Remove an assertion that causes generic CodeGen tests to fail (details)
  734. AMDGPU: Add support for amdgpu-unsafe-fp-atomics attribute (details)
  735. [mlir] Return scf.parallel ops resulted from tiling. (details)
  736. [OpenCL] Fix default address space in template argument deduction. (details)
  737. [ConstraintElimination] Support conditions from loop preheaders (details)
  738. [OpenCL][Docs] Link page explaining tooling for offline compilation. (details)
  739. NFC: Migrate LoopUnrollPass to work on InstructionCost (details)
  740. [flang][driver] Add PrescanAction frontend action (nfc) (details)
  741. [Dexter] Avoid infinite loop in dbgeng driver (details)
  742. [AVR] Fix 14 Generic CodeGen tests by making address space explicit or optional (details)
  743. [AVR] Add 'XFAIL' to the remaining failing Generic CodeGen tests for AVR (details)
  744. [X86] Use VT::changeVectorElementType helper where possible. NFCI. (details)
  745. [libc++] Rename include/support to include/__support (details)
  746. [AVR] Fix up a few accidentally-regressed Generic CodeGen tests recently broken (details)
  747. [InstCombine] add tests for demanded/known bits of shifted constant; NFC (details)
  748. [Hexagon] Add clang builtin definitions for Hexagon V68 (details)
  749. [libc++] Adds a make_string test helper function. (details)
  750. [Hexagon] Add -mv68 option to driver (details)
  751. [flang][driver] Add support for `-J/-module-dir` (details)
  752. [clang][Arm] Fix handling of -Wa,-march= (details)
  753. [libc++] Fix libcxx build on 32bit architectures with 64bit time_t defaults e.g. riscv32 (details)
  754. [libc++] Make feature-test macros consistent with availability macros (details)
  755. [CSSPGO][llvm-profgen] Aggregate samples on call frame trie to speed up profile generation (details)
  756. [libc++] Remove the ability to use braced-init for filesystem paths (details)
  757. [flang][driver] Fix reading from stdin when using `-test-io` (details)
  758. [lldb] Simplify the logic to detect compiler flag support (details)
  759. [mlir][Linalg] Introduce a ContractionOpInterface (details)
  760. [AMDGPU][GlobalISel] Use scalar min/max instructions (details)
  761. [AMDGPU][GlobalISel] Fix v2s16 right shifts (details)
  762. [mlir][ODS] Small fixes for ODS classes (details)
  763. [llvm-objdump] --source: drop the warning when there is no debug info (details)
  764. [mlir][ODS] Add explicit namespace to `ViewLikeInterface` definition (details)
  765. [examples] Fix Target does not support MC emission in ParallelJIT (details)
  766. [ELF] Allow R_386_GOTOFF from .debug_info (details)
  767. [ELF] Make SHF_GNU_RETAIN sections GC roots (details)
  768. [mlir][ODS] Use StringLiteral instead of StringRef when applicable (details)
  769. Remove dead code from Linalg vectorization to fix GCC warning (NFC) (details)
  770. [OpenMP][deviceRTLs] Drop `assert` in common parts of `deviceRTLs` (details)
  771. [PS4] Allow triple to reflect the new company name. (details)
  772. [AMDGPU] Add f16 to i1 CodeGen patterns. (details)
  773. [NFC][llvm-mca] Fix compiler warning (details)
  774. Reland "Ensure that InstructionCost actually implements a total ordering" (details)
  775. [ExpandReductions] fix FMF requirement for fmin/fmax (details)
  776. [mlir] Silence GCC warnings (details)
  777. Remove overzealous verifier check on DW_OP_LLVM_entry_value and improve the documentation (details)
  778. Revert "[mlir][ODS] Use StringLiteral instead of StringRef when applicable" (details)
  779. [lldb-vscode] correctly use Windows macros (details)
  780. [CSSPGO][llvm-profgen] Merge and trim profile for cold context to reduce profile size (details)
  781. Print the "no plugin" warning only when there is no plugin (details)
  782. [MemorySSA] Don't treat lifetime.end as NoAlias (details)
  783. [libc++] Add format check to CI (details)
  784. [TargetLowering] Use LegalOnly operand to isOperationLegalOrCustom to simplify some code. NFC (details)
  785. [clangd] Improve name conflict detection (details)
  786. [flang][NFC] Rename IntType to IntegerType. (details)
  787. Correct some confused diagnostic terminology (details)
  788. [ARM] Do not emit ldrexd/strexd on Cortex-M chips (details)
  789. Fix miscomputation of dependence for elaborated types that are (details)
  790. [CodeComplete] Guess type for designated initializers (details)
  791. [HIP] Add __managed__ macro to header (details)
  792. [mlir] Small touchups to LangRef attribute section (details)
  793. [sanitizer] Add suffix to report file name (details)
  794. Revert "[BuildLibcalls, Attrs] Support more variants of C++'s new, add attributes for C++'s delete" (details)
  795. Don't infer attributes on '::operator new'. (details)
  796. Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests." (details)
  797. [flang][msvc] Reapply "Explicitly reference "this" inside closure" (details)
  798. [flang] Remove dims type and gendims op. (details)
  799. [CUDA][HIP] Fix checking dependent initalizer (details)
  800. [mlir] Mark LogicalResult as LLVM_NODISCARD (details)
  801. [asan] Add %d variable to external_symbolizer_path option, so that user can specify paths relative to the location of the binary. (details)
  802. Fix a test case after committing D94563. (details)
  803. [CSSPGO][llvm-profgen] Fix bug with parsing hybrid sample trace line (details)
  804. Fix test case from D94563. (details)
  805. [RISCV] Add i8/i16 test cases to div.ll and i8/i16/i64 to rem.ll. NFC (details)
  806. fix -Werror build issue. (details)
  807. [AST] Update LVal before evaluating lambda decl fields. (details)
  808. [OpenMP][libomptarget] Fixed an issue that device sync is skipped if the kernel doesn't have any argument (details)
  809. [LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (details)
  810. DebugInfo: Temporarily work around -gsplit-dwarf + LTO .debug_gnu_pubnames regression after D94976 (details)
  811. [sanitizer] Fix the test on android (details)
  812. Add missing test update from 3e5ce49 (details)
  813. [WebAssembly] Support single-floating-point immediate value (details)
  814. [WebAssembly] Use single-threaded mode when -matomics isn't enabled. (details)
  815. [TargetLowering] Use Align in allowsMisalignedMemoryAccesses. (details)
  816. [X86] Generate unaligned access for fixed slots in unaligned stack (details)
  817. [RISCV] Split vrgather intrinsics into separate vrgather.vv and vrgather.vx intrinsics. (details)
  818. [RISCV] Use LLVMScalarOrSameVectorWidth to make avoid needing to mention the index type for vrgatherei16 intrinsics. (details)
  819. [ARM][WebAssembly] Fix incorrect MCOperand::createDFPImm after D96091 (details)
  820. [MC] Add createFPImm/isFPImm/setFPImm to smooth migration from FPImm to DFPImm after D96091 (details)
  821. [VE] Fix allowsMisalignedMemoryAccesses after D96097 (details)
  822. [MC] Add isFPImm after D96091 (details)
  823. [Darwin] Switch to new logging api for sanitizers (details)
  824. LLVMgold.so: Fix tests after D95380 (details)
  825. [IR] Drop unnecessary const from return types (NFC) (details)
  826. [GlobalISel] Use ListSeparator (NFC) (details)
  827. [Transforms/Scalar] Use range-based for loops (NFC) (details)
  828. [flang] Adapt mlir based error status handling in `tco` tool (details)
  829. [Test] Add more tests demonstrating oddities in behavior of LSR (details)
  830. [lldb/test] Reduce API test tools configuration boilerplate (details)
  831. [lldb/cmake] Reduce duplication in generation lldb-dotest (details)
  832. [OpenCL] Introduce new language options for OpenCL keywords. (details)
  833. [mlir][linalg] Linalg.fill on tensor should not have side-effects (details)
  834. [llvm-objdump] Fix missing first line of license in header file (details)
  835. [lldb][NFC] Minor comment and inlining fixes for Args (details)
  836. [CostModel] Remove VF from IntrinsicCostAttributes (details)
  837. [RISCV] Add patterns for scalable-vector fsqrt (details)
  838. [RISCV] Optimize sign-extended EXTRACT_VECTOR_ELT nodes (details)
  839. [RISCV] Support scalable-vector integer reduction intrinsics (details)
  840. [NFC] inline variable (details)
  841. [NFC] Simplify expression (details)
  842. [clangd] Take into account what is in the index (symbols, references, etc.) at indexes merge (details)
  843. [AArch64][SVE] Coalesce ptrue instrinsic calls where possible (details)
  844. DWARFDebugFrame.h - fix Wdocumentation warning. NFCI. (details)
  845. TypeMismatchCheck.cpp - fix Wdocumentation warning. NFCI. (details)
  846. CodeGenPassBuilder.h - fix Wdocumentation warning. NFCI. (details)
  847. IROutliner.cpp - fix Wdocumentation warnings. NFCI. (details)
  848. SampleProfile.cpp - fix Wdocumentation warning. NFCI. (details)
  849. AArch64LowerHomogeneousPrologEpilog.cpp - fix Wdocumentation warning. NFCI. (details)
  850. IROutliner.cpp - fix Wdocumentation warning. NFCI. (details)
  851. [mlir][Linalg] Add option to anchor on func name in TestLinalgCodegenStrategy (details)
  852. [Test] Add tests demonstrating missing case of usub with overflow usage (details)
  853. Revert "[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute" (details)
  854. [mlir][Linalg] NFC - Refactor vectorization to be more composable (details)
  855. [mlir][Linalg] Fix spurious test change (details)
  856. Treat opencl_unroll_hint subject errors as semantic rather than parse errors (details)
  857. [mlir] Add `const` qualifiers to `AffineMap` methods (details)
  858. [LoopVectorize][ARM] Regenerate mve-gather-scatter-tailpred.ll test (details)
  859. Revert "[PowerPC] [Clang] Enable float128 feature on P9 by default" (details)
  860. [clangd] Deduplicate scopes in IncludeFixer queries (details)
  861. [mlir] Turn Linalg to LLVM into a partial conversion (details)
  862. [mlir][Linalg] NFC - Improve usage of mlir::linalg::isaContractionOpInterface (details)
  863. [ObjC][ARC] Use operand bundle 'clang.arc.rv' instead of explicitly (details)
  864. Revert "[ObjC][ARC] Use operand bundle 'clang.arc.rv' instead of explicitly" (details)
  865. [mlir][vector] Add patterns to cast away leading 1-dim (details)
  866. Add an API to simplify setting TraversalKind in clang-tidy matchers (details)
  867. [clang-tidy] Simplify implementation of container-size-empty (details)
  868. We can only move static allocas into the resume entry points (details)
  869. [ObjC][ARC] Use operand bundle 'clang.arc.rv' instead of explicitly (details)
  870. [mlir][spirv] Add more vector conversion patterns (details)
  871. [mlir][vector] Add constant folding for fp16 to fp32 bitcast (details)
  872. [OpenCL] Add cl_khr_subgroup_shuffle* to TableGen BIFs (details)
  873. [RGT][ProfileData] Correct a test assertion (details)
  874. [Test] Fix test case demonstrating oddities in behavior of LSR. (details)
  875. [ASTMatchers] Fix segfault when Action is nullptr (details)
  876. [OpenCL] Add macro definitions of OpenCL C 3.0 features (details)
  877. LoopUnrollAndJam] Only allow loops with single exit(ing) blocks (details)
  878. Recommit of a2fdf9d4d734732a6fa9288f1ffdf12bf8618123. (details)
  879. Drop LLVM_i1, LLVM_i8, LLVM_i32, LLVM_IntBase types (details)
  880. [lldb] Emit type annotation in SWIG generated Python code. (details)
  881. [clangd] Trace queue state for each TUScheduler action. (details)
  882. [MSP430] Fix multiclass template parameter types. NFC. (details)
  883. Revert "Revert "[libc++] [P0879] constexpr std::nth_element, and rewrite its tests."" (details)
  884. [gn build] Turn on new pass manager by default (details)
  885. [AMDGPU] Add Fiji target in fptosi/fptoui instruction-select MIR tests. (details)
  886. [ELF] Improve --icf=safe diagnostic (details)
  887. [dfsan] Add thread registration (details)
  888. [CodeView][DebugInfo] Update the code for removing template arguments from the display name of a codeview function id. (details)
  889. [DAGCombiner][SVE] Fix invalid use of getVectorNumElements() in visitSRA. (details)
  890. [DebugInfo] Fix error from D95893, where I accidentally used an (details)
  891. Stop traping on sNaN in __builtin_isnan (details)
  892. [libc] Add aarch64 flavors of floor, round, sqrt and trunc. (details)
  893. [flang][NFC] Update comments. (details)
  894. [flang][NFC] Make KindTy consistent and consistently used. (details)
  895. [WebAssembly] locals can now be indirect in DWARF (details)
  896. [Codegen][ReplaceWithVecLib] add pass to replace vector intrinsics with calls to vector library (details)
  897. [Reassociate] add test for shl+or; NFC (details)
  898. [PhaseOrdering] add test to show combined result of reassociate+instcombine+vectorizers; NFC (details)
  899. [lic++][docs] Explain noexcept policy for narrow contracts. (details)
  900. [NVPTX][NewPM] Temporarily disable NVPTX passes in new PM pipeline (details)
  901. [RISCV] Correct types in tablegen multiclasses found by D95874. (details)
  902. Revert "[Codegen][ReplaceWithVecLib] add pass to replace vector intrinsics with calls to vector library" (details)
  903. [CUDA][HIP] Fix device variable linkage (details)
  904. [libc++] Further improve the contiguous-iterator story, and fix some bugs. (details)
  905. [flang][fir] Add FIR's vector type. (details)
  906. [libcxx] Use the posix code for directory_entry::__do_refresh (details)
  907. [libcxx] Implement temp_directory_path using GetTempPath on windows (details)
  908. Various minor fixes for python 3 (details)
  909. Don't emit coverage mapping for excluded functions (details)
  910. Allow SmallPtrSet to be used with a std::insert_iterator (details)
  911. [gn build] enable new pass manager more, follow-up to 39ceb5c9cfe (details)
  912. [WebAssembly] Prevent data inside text sections in assembly (details)
  913. [clang][emscripten] Add builtin define for __EMSCRIPTEN_PTHREADS__ (details)
  914. [libc++abi] Disable _Unwind_ForcedUnwind + exception tests for ARM EHABI (details)
  915. [mlir][vector] Add pattern to shuffle bitcast ops (details)
  916. [libc][aarch64] Enable a bunch of math functions. (details)
  917. [debugserver] Fix more warnings in DNBArchImplARM64 (details)
  918. [lldb] Re-enable TestExprsChar on arm64 (details)
  919. [WebAssembly] ensure .functype applies to right label in assembler (details)
  920. [lld-macho] Fix alignment & layout to match ld64 and satisfy kernel & codesign (details)
  921. SPARCv9: recognize SIR trap instruction (details)
  922. Have stripDebugInfo() also strip !llvm.loop annotations from all (details)
  923. Add a link to the LLVM Dev recording from the MLIR tutorial landing page (details)
  924. Rework ExecutionEngine::invoke() to make it more friendly to use from C++ (details)
  925. [CSSPGO] Use merged base profile for hot threshold calculation (details)
  926. [AsmPrinter] __patchable_function_entries: Set SHF_LINK_ORDER for binutils 2.36 and above (details)
  927. [AMDGPU] Drop unnecessary const from a return type (NFC) (details)
  928. [llvm] Fix header guards (NFC) (details)
  929. [Transforms/Instrumentation] Use range-based for loops (NFC) (details)
  930. [ELF] --gc-sections: collect unused SHF_LINK_ORDER .gcc_except_table (details)
  931. .gcc_except_table: Set SHF_LINK_ORDER if binutils>=2.36, and drop unneeded unique ID for -fno-unique-section-names (details)
  932. [MLIR] [affine-loop-fusion] Fix a bug about non-result ops in affine-loop-fusion (details)
  933. NFC: Migrate LoopFlatten to work on InstructionCost. (details)
  934. [AArch64] Correct some tablegen operand types. NFC (details)
  935. NFC: Migrate LoopIdiomRecognize to work on InstructionCost (details)
  936. [WebAssembly] Fix call unwind mismatches (details)
  937. [WebAssembly] Fix catch unwind mismatches (details)
  938. [Hexagon] Fix multiclass template parameter types. NFC. (details)
  939. [Sparc] Fix multiclass template parameter types. NFC. (details)
  940. [PowerPC] Fix multiclass template parameter types. NFC. (details)
  941. [X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - merge VPERMILPD ops with different low/high masks. (details)
  942. [WebAssembly] Handle EH terminate pads for cleanup (details)
  943. [gn build] Port be0efa1f2368 (details)
  944. [WebAssembly] Update InstPrinter and AsmParser for new EH instructions (details)
  945. [LTT] Don't attempt to lower type tests used only by assumes (details)
  946. [LSR] Add test for multi-edge latch (NFC) (details)
  947. [AssumptionCache] Do not track llvm.assume calls (PR49043) (details)
  948. [AssumptionCache] Avoid dangling llvm.assume calls in the cache (details)
  949. [X86] Don't pass a 1 to the second argument of ISD::FP_ROUND in LowerFCOPYSIGN. (details)
  950. [IR] Drop unnecessary const from return types (NFC) (details)
  951. [TableGen] Use ListSeparator (NFC) (details)
  952. [Analysis] Use range-based for loops (NFC) (details)
  953. [ELF][test] Improve aarch64 tests (details)
  954. [lldb] Use assertIn/NotIn over assertTrue/False (NFC) (details)
  955. [Polly] Fix build after AssumptionCache change (D96168) (details)
  956. [ConstraintElimination] Extend test coverage. (details)
  957. [TableGen] Make all the fields in PatternToMatch private. NFCI (details)
  958. [ConstraintElimination] Require GEPs to be inbounds for decomposition. (details)
  959. [X86][AVX] Fold extract_subvector(splat, c) -> extract_subvector(splat, 0) (details)
  960. [DAG] SelectionDAG::isSplatValue - handle OR/XOR cases (details)
  961. [ASTMatchers] Add static constructor for ArgKinds of Matchers (details)
  962. Make it possible to store NodeKinds in ArgKind (details)
  963. [Reassociate] allow or->add with shl operands (details)
  964. [ASTMatchers ]Make MatcherDescriptors indicate the node type they match (details)
  965. [ASTMatchers] Make it possible to build mapAnyOf through the registry (details)
  966. [ASTMatchers] Change internal method API (details)
  967. [ASTMatchers] Extract parsing of bind token from the bind id (details)
  968. Add clang-query support for mapAnyOf (details)
  969. Add code complete support for mapAnyOf (details)
  970. [clang-tidy] fix modernize-loop-convert to retain needed array-like operator[] (details)
  971. [SelectionDAG] Drop unnecessary const from a return type (NFC) (details)
  972. [TableGen] Use ListSeparator (NFC) (details)
  973. [Transforms/Utils] Use range-based for loops (NFC) (details)
  974. [ConstraintElimination] Add additional tests. (details)
  975. [LV] Replace some uses of VectorLoopValueMap with VPTransformState (NFC) (details)
  976. [ConstraintElimination] Decompose zext for unsigned compares. (details)
  977. ELFObjectWriter: Don't sort local symbols (details)
  978. [MC][test] Improve STT_FILE tests (details)
  979. ELFObjectWriter: Make STT_FILE precede associated local symbols (details)
  980. ELFObjectWriter: Don't de-duplicate STT_FILE symbols (details)
  981. [scan-build-py] Update scan-build-py to allow outputing as SARIF (details)
  982. [Test] Add failing test for PR49087 (details)
  983. [mlir][ODS] Allow to specify custom namespace for `NativeOpTrait` (details)
  984. [elf-core] Improve reading memory from core file (details)
  985. [clang][cli] Generate and round-trip analyzer options (details)
  986. Reorder MLIRContext location in BuiltinAttributes.h (details)
  987. Revert "Reorder MLIRContext location in BuiltinAttributes.h" (details)
  988. [clang][cli] Generate and round-trip preprocessor options (details)
  989. [ARM] i16 insert-of-extract to VINS pattern (details)
  990. [clang][index] Mark file as C++ in parse-all-comments test (details)
  991. [modules] Put Frontend/OpenMP headers into a Clang module to fix the module build (details)
  992. [clang][cli] Report result of ParseLangArgs (details)
  993. [LLDB] Disable TestExprsChar.py, still fails on Arm/Linux (details)
  994. Use remote regnums in expedited list, value regs and invalidate regs (details)
  995. [clang][cli] NFC: Mirror CreateFromArgs order in generateCC1CommandLine (details)
  996. Revert "[clang][cli] Report result of ParseLangArgs" (details)
  997. [WebAssembly] Fix multiclass template parameter types. NFC. (details)
  998. Revert "Revert "Reorder MLIRContext location in BuiltinAttributes.h"" (details)
  999. [Analysis] Remove unused functions from TargetLibraryInfo (details)
  1000. [RISCV] Support the scalable-vector fadd reduction intrinsic (details)
  1001. [DebugInfo] Re-engineer a test to be stricter, add XFails (details)
  1002. [LLDB] Fix buildbot regression in symbol-binding.test (details)
  1003. [OpenCL] Do not enforce ASTContext for OCL2Qual (details)
  1004. [ValueTypes] Fix size of nxv1f16 (32 -> 16). (details)
  1005. [AMDGPU][MC][GFX10] Improved errors reporting for invalid MIMG NSA operands (details)
  1006. [ARM] Add some float Biquad cases showing difficult shuffling. NFC (details)
  1007. [ARM] Testing for stored extracted values. NFC (details)
  1008. Follow up to e05c10380ce7: add aarch64 to test XFails (details)
  1009. [AMDGPU][MC] Corrected error position for invalid dim modifiers (details)
  1010. [ARM] Make v2f64 scalar_to_vector legal (details)
  1011. [MLIR][LangRef doc] Fix a small typo. (details)
  1012. [AMDGPU]: Fixes an invalid clamp selection pattern. (details)
  1013. [lldb] Debugger: reuse ExecutionContextRef to create ExecutionContext from Target (details)
  1014. Reland "[lldb] Make CommandInterpreter's execution context the same as debugger's one" (details)
  1015. [lldb/tests] Un-skip TestGuiBasicDebug.py on Arm and AArch64 (details)
  1016. [lldb/tests] Removed add_test_categories decorator for python API tests, NFC (details)
  1017. Reapply "[clang][cli] Report result of ParseLangArgs" (details)
  1018. [clang][CodeComplete] Fix crash on ParenListExprs (details)
  1019. Revert "[Sema] Fix -Warray-bounds false negative when casting an out-of-bounds array item" (details)
  1020. Revert "DebugInfo: Temporarily work around -gsplit-dwarf + LTO .debug_gnu_pubnames regression after D94976" (details)
  1021. Revert "Re-land D94976 after revert in e29552c5aff6" (details)
  1022. [AMDGPU] Generate test checks and add GFX10 test coverage (details)
  1023. [ConstraintElimination] Improve index handing during constraint building. (details)
  1024. [MLIR][SPIRV] NFC: Split serialization code among multiple files. (details)
Commit 3e80686186828bc0287407cbe406de728a6b1f40 by i
[test] Fix clang/test/CodeGen tests
The file was modifiedclang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-cfi.ll
Commit e19ec9ca41b8549d8683cc221445b0ce1dc29924 by llvmgnsyncbot
[gn build] Port 0b50fa99452f
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
Commit 61a66e4b5ec18e9e73c2f6334f6b7f7dd4bca77e by rnk
Revert "Suppress non-conforming GNU paste extension in all standard-conforming modes"

This reverts commit f4537935dcdbf390c863591cf556e76c3abab9c1.
This reverts commit b43c26d036dcbf7a6881f39e4434cf059364022a.

This GNU and MSVC extension turns out to be very popular. Most projects
are not using C++20, so cannot use the new __VA_OPT__ feature to be
standards conformant. The other workaround, using -std=gnu*, enables too
many language extensions and isn't viable.

Until there is a way for users to get the behavior provided by the
`, ## __VA_ARGS__` extension in the -std=c++17 and earlier language
modes, we need to revert this.
The file was modifiedclang/lib/Lex/TokenLexer.cpp
The file was modifiedclang/test/Preprocessor/macro_fn_comma_swallow2.c
Commit 810599241868f05c71da961f6293a19aec176548 by julian.lettner
[lit][NFC] Use enum to represent test order

Use an enum to more explicitly represent the test execution order.
The file was modifiedllvm/utils/lit/lit/main.py
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
Commit 98c21ae7a8ec587febc899753b63054ae9aea9d6 by mvanotti
[sanitizer][fuchsia] Implement ReleaseMemoryPagesToOS

The `zx_vmar_op_range` allows us to decommit memory pages without
needing a handle to the underlying vmo, as long as we have a handle to
a vmar that contains this mapping. This allows us to implement the
`ReleaseMemoryPagesToOS` function by decommitting the memory using a
handle to the root vmar.

Reviewed By: mcgrathr

Differential Revision: https://reviews.llvm.org/D95384
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Commit d90bb66dd931a45cae3399dc76942bf8e412fa7b by sivachandra
[libc] Include only the relevant header files in the integration test.
The file was modifiedlibc/config/linux/aarch64/headers.txt
The file was modifiedlibc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
Commit ab93c18c125f0ee51959ef225fa8f09f4dc29e35 by spatel
[LoopVectorize] use IR fast-math-flags exclusively (not FP function attributes)

I am trying to untangle the fast-math-flags propagation logic
in the vectorizers (see a6f022127 for SLP).

The loop vectorizer has a mix of checking FP function attributes,
IR-level FMF, and just wrong assumptions.

I am trying to avoid regressions while fixing this, and I think
the IR-level logic is good enough for that, but it's hard to say
for sure. This would be the 1st step in the clean-up.

The existing test that I changed to include 'fast' actually shows
a miscompile: the function only had the equivalent of nnan, but we
created new instructions that had fast (all FMF set). This is
similar to the example in https://llvm.org/PR35538

Differential Revision: https://reviews.llvm.org/D95452
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
Commit 5748a71ba3da69e9f0bfb2024eadfe6eeacade01 by jrtc27
[builtins] Fix integer/pointer confusion in gcc_personality_v0.c

This fixes the implementation for architectures like CHERI with strong
pointer provenance (pointers, and thus uintptr_t, are represented as
hardware capabilities). Specifically, adding two uintptr_t's together
(as is done for `start + length` and `funcStart + landingPad`) has
ambiguous provenance, whereas using a plain integer (such as size_t) for
the offset operand does not. Also, readULEB128 is creating a plain
integer, not a pointer.

On all currently-supported architectures this should be an NFC, as
size_t and uintptr_t end up being the same underlying plain integer
type.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D95537
The file was modifiedcompiler-rt/lib/builtins/gcc_personality_v0.c
Commit e47a388bd6486d0af7066f1d8b033a13d0ffc7df by jrtc27
[builtins] Fix build after D95537 due to missing size_t

Strangely int_lib.h only includes stdint.h and not stddef.h, so we need
to include the latter to be able to use size_t here.
The file was modifiedcompiler-rt/lib/builtins/gcc_personality_v0.c
Commit a40e01e4423ca13052f0fe0e5bc14abec1dd866e by craig.topper
[RISCV] Rework fault first only load isel.

-Remove the ISD opcode for READ_VL. Just emit the MachineSDNode directly.
-Move segmented fault first only load intrinsic handling completely to
RISCVISelDAGToDAG.cpp and emit the ReadVL MachineSDNode there
instead of lowering to ISD opcodes first.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
Commit e958d491570633b7ae5ef5cbc83be43cc0e4c0fe by sivachandra
[libc] Fix the CMake var name of the list of public headers.
The file was modifiedlibc/config/linux/aarch64/headers.txt
Commit ff038b316d771f97e66f7882bcaef70cc6a74dc5 by craig.topper
[RISCV] Reduce field sizes in searchable tables to reduce binary size.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
Commit 9f87c6b47df977f2be04535021e7fd08abb9376d by jonathan.l.peyton
[OpenMP] Fix HWLOC topology detection for 2.0.x

HWLOC 2.0 has numa nodes as separate children and are not in the main
parent/child topology tree anymore.  This change takes this into
account.  The main topology detection loop in the create_hwloc_map()
routine starts at a hardware thread within the initial affinity mask and
goes up the topology tree setting the socket/core/thread labels
correctly.

This change also introduces some of the more generic changes that the
future kmp_topology_t structure will take advantage of including a
generic ratio & count array (finding all ratios of topology layers like
threads/core cores/socket and finding all counts of each topology
layer), generic radix1 reduction step, generic uniformity check, and
generic printing of topology (en_US.txt)

Differential Revision: https://reviews.llvm.org/D95156
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
Commit 598c590b3c9684471a5186221c500b1fd7a4e325 by jonathan.l.peyton
[OpenMP] Add cpuid leaf 1f topology discovery

This patch adds the new algorithm for topology discovery using cpuid
leaf 1f.  Only the new die level is detected and integrated into the
current affinity mechanisms including KMP_AFFINITY (granularity level
and compact/scatter algorithm), OMP_PLACES=dies, and KMP_HW_SUBSET.

Differential Revision: https://reviews.llvm.org/D95157
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
Commit 8e6713436462daa43d84f8450d07a54f7657c31b by jonathan.l.peyton
[OpenMP] Fix misleading warning for OMP_PLACES

When OMP_PLACES contains an invalid value, the warning informs the user
that the fallback is OMP_PLACES=threads, but the actual internal setting
is OMP_PLACES=cores and is detected as such with KMP_SETTINGS=1.
This patch informs the user that OMP_PLACES=cores is being used instead
of OMP_PLACES=threads.

Differential Revision: https://reviews.llvm.org/D95170
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was addedopenmp/runtime/test/affinity/omp-places-invalid-syntax.c
Commit 9f2c7effd7f386e95aff3358500bc30974d35b0d by aaron
Parse different attribute syntaxes in arbitrary order

In Clang today, we parse the different attribute syntaxes
(__attribute__, __declspec, and [[]]) in a fairly rigid order. This
leads to confusion for users when they guess the order incorrectly,
and leads to bug reports like PR24559 or necessitates changes like
D94788.

This patch adds a helper function to allow us to more easily parse
attributes in arbitrary order, and then updates all of the places
where we would parse two or more different syntaxes in a rigid order to
use the helper method. The patch does not attempt to handle Microsoft
attributes ([]) because those are ambiguous with other code constructs
and we don't have any attributes that use the syntax.
The file was modifiedclang/test/SemaOpenCL/address-spaces.cl
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Parse/ParseObjc.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was addedclang/test/Parser/attr-order.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
Commit 0436ec2128c9775ba13b0308937238fc79673fdd by richard
Permit __VA_OPT__ in all language modes and allow it to be detected with #ifdef.

These changes are intended to give code a path to move away from the GNU
,##__VA_ARGS__ extension, which is non-conforming in some situations and
which we'd like to disable in our conforming mode in those cases.
The file was modifiedclang/lib/Lex/PPExpressions.cpp
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/include/clang/Lex/VariadicMacroSupport.h
The file was modifiedclang/test/Preprocessor/macro_vaopt_check.cpp
The file was modifiedclang/test/Preprocessor/macro_vaopt_expand.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
Commit ba379fe5276b4a922ab19eb8af9ba5bece81cdff by kostyak
[scudo][standalone] Restore GWP-ASan flag parsing

With D92696, the Scudo Standalone GWP-ASan flag parsing was changed to
the new GWP-ASan optional one. We do not necessarily want this, as this
duplicates flag parsing code in Scudo Standalone when using the
GWP-ASan integration.

This CL reverts the changes within Scudo Standalone, and increases
`MaxFlags` to 20 as an addionnal option got us to the current max.

Differential Revision: https://reviews.llvm.org/D95542
The file was modifiedcompiler-rt/lib/scudo/standalone/flags_parser.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/flags_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/test/scudo/standalone/unit/lit.site.cfg.py.in
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/flags.cpp
Commit c23a6dcb6660bc29134121018fcb197cc8b8b68b by aaron
Silence a -Wlogical-op-parentheses diagnostic; NFC
The file was modifiedclang/include/clang/Parse/Parser.h
Commit ec5a782c10aee9393e712501e67ea10b5812dee2 by sivachandra
[libc] Fix list of public headers usable on aarch64.
The file was modifiedlibc/config/linux/aarch64/headers.txt
Commit 5d3dca24aab847f0fdfd558987c1c28469e2f31e by aaron
Ignore unknown attribute warnings in this test

We're testing the parsing behavior, not the actual attributes used, and
the attribute name cannot be elided for __declspec attributes.
The file was modifiedclang/test/Parser/attr-order.cpp
Commit 262c50856a377371cbea673419143ae45c590b7e by eugenis
[sanitizer] Fix crash on empty strings.

Patch by Vyacheslav Chigrin.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D95431
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Commit ab5591e1d8f5abcfa9e75193d3e8a29087b61425 by a20012251
Fix runInTerminal failures on Windows

stella.stemenova mentioned in https://reviews.llvm.org/D93951 failures on Windows for this test.

I'm fixing the macro definitions and disabling the tests for python
versions lower than 3.7. I'll figure out that actual issue with
python3.6 after the buildbots are fine again.
The file was modifiedlldb/tools/lldb-vscode/FifoFiles.h
The file was modifiedlldb/tools/lldb-vscode/FifoFiles.cpp
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedlldb/test/API/tools/lldb-vscode/runInTerminal/TestVSCode_runInTerminal.py
Commit 2fb0a0fef8bfccf317b788ecae8379c8a1d6b650 by david.green
[ARM] Add BE check variants for soft-fp test. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll
Commit e53247ca42059f0270385ef0ccf550dd600c2d2d by eugenis
Revert "[sanitizer] Fix crash on empty strings."

Wrong author name, will recommit shortly.

This reverts commit 262c50856a377371cbea673419143ae45c590b7e.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Commit f79937140d07e176924a05d9870e3d5060469b08 by eugenis
[sanitizer] Fix crash on empty strings.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D95431
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Commit 44f792966e0f2935ea9e0ce96a4f35e01bfe6b61 by varun_gandhi
[Demangle] Support demangling Swift calling convention in MS demangler.

Previously, Clang was able to mangle the Swift calling
convention but 'MicrosoftDemangle.cpp' was not able to demangle it.

Reviewed By: compnerd, rnk

Differential Revision: https://reviews.llvm.org/D95053
The file was modifiedllvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
The file was modifiedllvm/test/Demangle/ms-mangle.test
The file was modifiedllvm/lib/Demangle/MicrosoftDemangle.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedllvm/lib/Demangle/MicrosoftDemangleNodes.cpp
Commit 5dfa37a76153f2a18ac7fe30721cc1332b672ea2 by richard
Don't allow __VA_OPT__ to be detected by #ifdef.

More study has discovered this to not actually be useful: because
current C++20 implementations reject `#ifdef __VA_OPT__`, this can't
really be used as a feature-test mechanism. And it's not too hard to
detect __VA_OPT__ without this, for example:

  #define THIRD_ARG(a, b, c, ...) c
  #define HAS_VA_OPT(...) THIRD_ARG(__VA_OPT__(,), 1, 0, )
  #if HAS_VA_OPT(?)

Partially reverts 0436ec2128c9775ba13b0308937238fc79673fdd.
The file was modifiedclang/test/Preprocessor/macro_vaopt_check.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was modifiedclang/lib/Lex/PPExpressions.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
Commit 58aa049b9b80e342e3f6769f0834dabf41476bef by craig.topper
[RISCV] Move RISCVVPseudosTable from RISCVBaseInfo.h to RISCVInstrInfo.h. NFC

RISCVBaseInfo.h belongs to the MC layer, but the Pseudo instructions
are only used by the CodeGen layer. So it makes sense to keep this
table in the CodeGen layer.
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h
Commit 9c7aeaebb3ac1b94200b59b111742cb6b8f090c2 by jyknight
Itanium Mangling: Mangle `__alignof__` differently than `alignof`.

The two operations have acted differently since Clang 8, but were
unfortunately mangled the same. The new mangling uses new "vendor
extended expression" syntax proposed in
https://github.com/itanium-cxx-abi/cxx-abi/issues/112

GCC had the same mangling problem, https://gcc.gnu.org/PR88115, and
will hopefully be switching to the same mangling as implemented here.

Additionally, fix the mangling of `__uuidof` to use the new extension
syntax, instead of its previous nonstandard special-case.

Adjusts the demangler accordingly.

Differential Revision: https://reviews.llvm.org/D93922
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
The file was addedclang/test/CodeGenCXX/mangle-alignof.cpp
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-uuidof-mangling.cpp
Commit 8ca33605ff0cfc536f5c6710fb5f6378bf11959a by jyknight
Itanium Mangling: Fix handling of <expr-primary> in <template-arg>.

Previously, we were emitting an extraneous X .. E in <template-arg>
around an <expr-primary> if the template argument was constructed from
an expression (rather than an already-evaluated literal value).  In
such a case, we would then e.g. emit 'XLi0EE' instead of 'Li0E'.

We had one special-case for DeclRefExpr expressions, in particular, to
omit them the mangled-name without the surrounding X/E. However,
unfortunately, that special case also triggered for ParmVarDecl (a
subtype of VarDecl), and _incorrectly_ emitted 'L_Z .. E' instead of
the proper 'Xfp_E'.

This change causes mangleExpression itself to be responsible for
emitting X/E around non-primary expressions, which removes the
special-case, and corrects both these problems.

Differential Revision: https://reviews.llvm.org/D95487
The file was modifiedclang/test/CodeGenCXX/mangle-template.cpp
The file was modifiedclang/test/CodeGenCXX/mangle-concept.cpp
The file was modifiedclang/test/CodeGenCXX/mangle-abi-tag.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/CodeGenCXX/mangle.cpp
The file was modifiedclang/test/CodeGenCXX/matrix-type.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-uuidof-mangling.cpp
The file was modifiedclang/test/CodeGenCXX/clang-abi-compat.cpp
Commit a7246ba02a8923f316419a62d836dbe1c0b437bd by jyknight
Itanium Mangling: In 'enable_if', omit X/E around <expr-primary>.

The Clang enable_if extension is mangled as an <extended-qualifier>,
which is supposed to contain <template-args>. However, we were
unconditionally emitting X/E around its arguments, neglecting the fact
that <expr-primary> should be emitted directly without the surrounding
X/E.

Differential Revision: https://reviews.llvm.org/D95488
The file was modifiedclang/test/CodeGenCXX/clang-abi-compat.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/CodeGenCXX/enable_if.cpp
The file was modifiedclang/test/CodeGen/enable_if.c
Commit 7e6c87ee045497ee0b6b7e55e54921b274e8a9f2 by dblaikie
DebugInfo: Deduplicate addresses in debug_addr

Experimental, using non-existent DWARF support to use an expr for the
location involving an addr_index (to compute address + offset so
addresses can be reused in more places).

The global variable debug info had to be deferred until the end of the
module (so bss variables would all be emitted first - so their labels
would have the relevant section). Non-bss variables seemed to not have
their label assigned to a section even at the end of the module, so I
didn't know what to do there.

Also, the hashing code is broken - doesn't know how to hash these
expressions (& isn't hashing anything inside subprograms, which seems
problematic), so for test purposes this change just skips the hash
computation. (GCC's actually overly sensitive in its hash function, it
seems - I'm forgetting the specific case right now - anyway, we might
want to just use the frontend-known file hash and give up on optimistic
.dwo/.dwp reuse)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
The file was modifiedllvm/test/DebugInfo/X86/ranges_always.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIE.cpp
Commit fb12df4a8e33d759938057718273dfb434b2d9c4 by tianshilei1992
[OpenMP][NVPTX] Disable building NVPTX deviceRTL by default on a non-CUDA system

D95466 dropped CUDA to build NVPTX deviceRTL and enabled it by default.
However, the building requires some libraries that are not available on non-CUDA
system by default, which could break the compilation. This patch disabled the
build by default. It can be enabled with `LIBOMPTARGET_BUILD_NVPTX_BCLIB=ON`.

Reviewed By: kparzysz

Differential Revision: https://reviews.llvm.org/D95556
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
Commit 3d25fdc5c21f174d38ac78dd01ccaf6eec655bc0 by Jessica Paquette
[AArch64][GlobalISel] Allow vector store legalization into 128-bit-wide types

We are allowed to store 128-bit-wide values using the q registers on AArch64.

GlobalISel was clamping the number of elements in vector stores into 64 bits
instead.

This results in some poor codegen like below:

https://godbolt.org/z/E56dq8

```
; SDAG uses a stp + q registers in both cases here.
define void @float(<16 x float> %val, <16 x float>* %ptr) {
store <16 x float> %val, <16 x float>* %ptr
ret void
}

define void @double(<8 x double> %val, <8 x double>* %ptr) {
store <8 x double> %val, <8 x double>* %ptr
ret void
}
```

This adds similar legalization for vector stores with s8 and s16 elements.

Differential Revision: https://reviews.llvm.org/D95107
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
Commit 7e88942d2548704b35ac92bd327b38f9c6a991d2 by lebedev.ri
[CodeGen] IndirectBrExpandPass: preserve Dominator Tree, if available

This fully de-pessimizes the common case of no indirectbr's,
(where we don't actually need to do anything to preserve domtree)
and avoids domtree recomputation in the case there were indirectbr's.

Note that two indirectbr's could have a common successor, and not all
successors of an indirectbr's are meant to survive the expansion.

Though, the code assumes that an indirectbr's doesn't have
duplicate successors, those *should* have been deduplicated
by simplifycfg or something already.
The file was modifiedllvm/lib/CodeGen/IndirectBrExpandPass.cpp
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit 764a7a2155c6747ec8d0b38d8edbb65960eae874 by thakis
clang: Fix static_assert in a few contexts in microsoft mode

Follow-up to D17444. Fixes PR48904. See bug for details.

Differential Revision: https://reviews.llvm.org/D95559
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/Sema/static-assert.c
Commit 6110e7716cd0000fdeb2a7edfbec7c9991f1a08a by pklausler
[flang] Search for #include "file" in right directory (take 2)

Make the #include "file" preprocessing directive begin its
search in the same directory as the file containing the directive,
as other preprocessors and our Fortran INCLUDE statement do.

Avoid current working directory for all source files except the original.

Resolve tests.

Differential Revision: https://reviews.llvm.org/D95481
The file was modifiedflang/include/flang/Parser/provenance.h
The file was modifiedflang/test/Flang-Driver/Inputs/module-dir/basictestmoduletwo.mod
The file was modifiedflang/test/Flang-Driver/include-header.f90
The file was modifiedflang/include/flang/Parser/source.h
The file was modifiedflang/lib/Parser/parsing.cpp
The file was modifiedflang/unittests/Frontend/FrontendActionTest.cpp
The file was modifiedflang/lib/Parser/preprocessor.cpp
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/lib/Parser/prescan.cpp
The file was modifiedflang/lib/Parser/provenance.cpp
The file was modifiedflang/lib/Parser/source.cpp
The file was modifiedflang/test/Flang-Driver/Inputs/basictestmoduleone.mod
The file was modifiedflang/lib/Frontend/FrontendActions.cpp
The file was addedflang/test/Flang-Driver/Inputs/module-dir/basictestmoduleone.mod
The file was modifiedflang/test/Flang-Driver/include-module.f90
Commit 1487747e990ce9f8851f3d92c3006a74134d7518 by tejohnson
[LTO] Prevent devirtualization for symbols dynamically exported

Identify dynamically exported symbols (--export-dynamic[-symbol=],
--dynamic-list=, or definitions needed to preempt shared objects) and
prevent their LTO visibility from being upgraded.
This helps avoid use of whole program devirtualization when there may
be overrides in dynamic libraries.

Differential Revision: https://reviews.llvm.org/D91583
The file was modifiedllvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
The file was modifiedllvm/include/llvm/LTO/LTO.h
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedlld/ELF/Symbols.h
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
The file was modifiedllvm/tools/gold/gold-plugin.cpp
The file was modifiedlld/test/ELF/lto/devirt_vcall_vis_public.ll
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
The file was addedlld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
The file was modifiedlld/ELF/LTO.cpp
The file was addedllvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
Commit 727fc31a9898dfb89610ca1bc05ff86204a77177 by richard
[cxx_status] Mark P0732R2 as only 'partial', not 'Clang 12', as some of
the changes were reverted.
The file was modifiedclang/www/cxx_status.html
Commit 6612c2bb68becda5504099b48082c844503c6d4c by i
[llvm-c] Move LLVMX86_AMXTypeKind & LLVMPoisonValueValueKind to the bottom to avoid value changes compared with LLVM<=11

Fixes PR48905
The file was modifiedllvm/include/llvm-c/Core.h
Commit d91ee2f782ebeec7ae0b5f8ca879c4f10dccb29f by Stanislav.Mekhanoshin
[AMDGPU] Do not reassign spilled registers

We cannot call LRM::unassign() if LRM::assign() was never called
before, these are symmetrical calls. There are two ways of
assigning a physical register to virtual, via LRM::assign() and
via VRM::assignVirt2Phys(). LRM::assign() will call the VRM to
assign the register and then update LiveIntervalUnion. Inline
spiller calls VRM directly and thus LiveIntervalUnion never gets
updated. A call to LRM::unassign() then asserts about inconsistent
liveness.

We have to note that not all callers of the InlineSpiller even
have LRM to pass, RegAllocPBQP does not have it, so we cannot
always pass LRM into the spiller.

The only way to get into that spiller LRE_DidCloneVirtReg() call
is from LiveRangeEdit::eliminateDeadDefs if we split an LI.

This patch refuses to reassign a LiveInterval created by a split
to workaround the problem. In fact we cannot reassign a spill
anyway as all registers of the needed class are occupied and we
are spilling.

Fixes: SWDEV-267996

Differential Revision: https://reviews.llvm.org/D95489
The file was addedllvm/test/CodeGen/AMDGPU/nsa-reassign.mir
The file was addedllvm/test/CodeGen/AMDGPU/regbank-reassign-split.mir
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
Commit 29472bb76915c4929aecc938300f6df31f63ac29 by sam.mccall
[clangd] Log warning when using legacy (theia) semantic highlighting.

The legacy protocol will be removed on trunk after the 12 branch cut,
and gone in clangd 13.

Differential Revision: https://reviews.llvm.org/D95031
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
Commit c3df9d58c75e0f89ca95e947804d65e79a491adc by sam.mccall
[clangd] Parse Diagnostics block, and nest ClangTidy block under it.

(ClangTidy configuration block hasn't been in any release, so we should be OK
to move it around like this)

Differential Revision: https://reviews.llvm.org/D95362
The file was modifiedclang-tools-extra/clangd/TidyProvider.cpp
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
Commit 02bc4c95f0729cc819776f73ec94a25405579183 by riddleriver
[mlir][PassManager] Only reinitialize the pass manager if the context registry changes

This prevents needless reinitialization for clients that want to reuse a pass manager multiple times. A new `getRegisryHash` function is exposed by the context to give a rough indicator of when the context registry has changed.

Differential Revision: https://reviews.llvm.org/D95493
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
Commit 8a77056256d9970387595a5c729d894e3fe07131 by atmndp
[OpenMP][Libomptarget] Fix conditional in CMake for remote plugin

The remote offloading plugin's CMakeLists was trying to build if its
flag was enabled even if it didn't find gRPC/protobuf. The conditional
was wrong, it's fixed by this.

Differential Revision: https://reviews.llvm.org/D95574
The file was modifiedopenmp/libomptarget/plugins/remote/CMakeLists.txt
Commit dd7297e1bffeaea533a2353489ead3b388ceed14 by dblaikie
DebugInfo: Fix bug in addr+offset exprloc to use DWARFv5 addrx op instead of DWARFv4 GNU extension
The file was modifiedllvm/test/DebugInfo/X86/ranges_always.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Commit 8d8be879795a27ec9a964b462b7530ab99d6f6e6 by carl.ritson
[AMDGPU][NFC] Generate llvm.amdgcn.set.inactive tests

This is a pre-commit for D95509.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
Commit 0fc90873b2ef9049c4aa100631acad806c3cfa72 by vyacheslav.p.zakharin
[libomptarget][NFC] Link plugins with threads support library due to std::call_once usage.

Differential Revision: https://reviews.llvm.org/D95572
The file was modifiedopenmp/libomptarget/plugins/cuda/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/remote/src/CMakeLists.txt
The file was modifiedopenmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
The file was modifiedopenmp/libomptarget/plugins/remote/server/CMakeLists.txt
Commit 2b9ed4fca64d3eaacca016621fa3735052a7fb1c by carl.ritson
[AMDGPU][NFC] Pre-commit test for D95509
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
Commit 5c1cea6f406366b85f3c200a1c48f713da4450ba by sepavloff
[Support] Fix build for Haiku

This change fixes two issues with building LLVM on Haiku. The first issue is
that LLVM requires wait4(), which on Haiku is hidden behind the _BSD_SOURCE
feature flag when using the --std=c++14 flag. Additionally, the wait4()
function is only available in libbsd.so, so this is now a dependency.

The other fix is that Haiku does not have the (non-standard) rusage.maxrss
member, so by default the used memory info will be set to 0 on this platform.

Reviewed By: sepavloff

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

Patch by Niels Sascha Reedijk.
The file was modifiedllvm/lib/Support/Unix/Program.inc
The file was modifiedllvm/lib/Support/CMakeLists.txt
Commit b7d63244226ba2c0df651622fe7fe3f5f8aba262 by i
IntrinsicEmitter: Change IntrinsicsToAttributesMap from uint8_t[] to uint16_t[]

We need at least 252 UniqAttributes now, which will soon overflow.
Actually with downstream backends we can easily use up the last few values.
So bump to uint16_t.
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp
Commit 5d05cdf55cdb3910d152ceb967de13bdd6295f56 by craig.topper
[RISCV] Copy isUnneededShiftMask from X86.

In d2927f786e877410d90c1e6f0e0c7d99524529c5, I added patterns
to remove (and X, 31) from sllw/srlw/sraw shift amounts.

There is code in SelectionDAGISel.cpp that knows to use
computeKnownBits to fill in bits of the mask that were removed
by SimplifyDemandedBits based on bits being known zero.

The non-W shift patterns use immbottomxlenset which allows the
mask to have more than log2(xlen) trailing ones, but doesn't
have a call to computeKnownBits to fill in bits of the mask that may
have been cleared by SimplifyDemandedBits.

This patch copies code from X86 to handle more than log2(xlen)
bottom bits set and uses computeKnownBits to fill in missing bits
before counting.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D95422
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was modifiedllvm/test/CodeGen/RISCV/atomic-rmw.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/shift-masked-shamt.ll
The file was modifiedllvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
Commit 7e99bddfeaab2713a8bb6ca538da25b66e6efc59 by hoy
[CSSPGO] Support of CS profiles in extended binary format.

This change brings up support of context-sensitive profiles in the format of extended binary. Existing sample profile reader/writer/merger code is being tweaked to reflect the fact of bracketed input contexts, like (`[...]`). The paired brackets are also needed in extbinary profiles because we don't yet have an otherwise good way to tell calling contexts apart from regular function names since the context delimiter `@` can somehow serve as a part of the C++ mangled names.

Reviewed By: wmi, wenlei

Differential Revision: https://reviews.llvm.org/D95547
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was addedllvm/test/tools/llvm-profdata/Inputs/cs-sample.proftext
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-tracker.ll
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp
The file was addedllvm/test/tools/llvm-profdata/cs-sample-profile.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/lib/ProfileData/SampleProfWriter.cpp
Commit 50f1aa1db5c59499b40abda1f565a3db1ebd7ee4 by powerman1st
[AVR] Optimize 16-bit int shift

Reviewed By: dylanmckay

Differential Revision: https://reviews.llvm.org/D90092
The file was modifiedllvm/lib/Target/AVR/AVRISelLowering.h
The file was modifiedllvm/test/CodeGen/AVR/shift.ll
The file was modifiedllvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/AVR/AVRISelLowering.cpp
The file was modifiedllvm/lib/Target/AVR/AVRInstrInfo.td
Commit f82b5a647eb7c89cc217f1f1e60225c19f70b8f9 by kazu
[DebugInfo] Forward-declare PDBFile (NFC)

NativeEnumInjectedSources.h needs PDBFile but relies on a
forward declaration of PDBFile in InjectedSourceStream.h.
This patch adds a forward declaration right in
NativeEnumInjectedSources.h.

While we are at it, this patch removes the one in
InjectedSourceStream.h, where it is unnecessary.
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeEnumInjectedSources.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/InjectedSourceStream.h
Commit f890fd5f9130e67aae43f3bfd00c8530cdd6edc7 by kazu
[llvm] Use llvm::is_sorted (NFC)
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/X86/X86FloatingPoint.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Commit 0da15ea581297fe99b9fadcbbcb10f956f3286f2 by kazu
[llvm] Use append_range (NFC)
The file was modifiedllvm/lib/CodeGen/InterleavedAccessPass.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
The file was modifiedllvm/lib/Remarks/BitstreamRemarkSerializer.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/CodeGen/MachineSSAUpdater.cpp
The file was modifiedllvm/lib/IR/SafepointIRVerifier.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
Commit fc8e7411218c846386650cfba111b62827c71da0 by Piotr Sobczak
[AMDGPU] Avoid an illegal operand in si-shrink-instructions

Before the patch it was possible to trigger a constant bus
violation when folding immediates into a shrunk instruction.

The patch adds a check to enforce the legality of the new operand.

Differential Revision: https://reviews.llvm.org/D95527
The file was addedllvm/test/CodeGen/AMDGPU/shrink-instructions-illegal-fold.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
Commit 68195b15a36c338751b7abe28819345617dd70fb by grimar
[yaml2obj] - Allow empty SectionHeaderTable definitions.

Currently we don't allow the following definition:

```
Sections:
  - Type: SectionHeaderTable
  - Name: .foo
    Type: SHT_PROGBITS
```

We report an error: "SectionHeaderTable can't be empty. Use 'NoHeaders' key to drop the section header table".

It was implemented in this way earlier, when `SectionHeaderTable`
was a dedicated key outside of the `Sections` list. And we did not
allow to select where the table is written.

Currently it makes sense to allow it, because a user might
want to place the default section header table at an arbitrary position,
e.g. before other sections. In this case it is not convenient and error prone
to require specifying all sections:

```
Sections:
  - Type: SectionHeaderTable
    Sections:
      - Name: .foo
      - Name: .strtab
      - Name: .shstrtab
  - Name: .foo
    Type: SHT_PROGBITS
```

This patch allows empty SectionHeaderTable definitions.

Differential revision: https://reviews.llvm.org/D95341
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/section-headers.yaml
Commit bf649181504fbfa406c4eda887564b4352d6b68e by yuanke.luo
[X86][AMX] Prevent shape def being scheduled across ldtilecfg.

Differential Revision: https://reviews.llvm.org/D95582
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was addedllvm/test/CodeGen/X86/AMX/amx-sched.ll
Commit 8644eb024bbd5bab7d8de9f5df97d931f1a8847b by nullptr.cpp
[NFC][Transforms][Coroutines] Remove unused variable
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
Commit fc4e8a3e8b4aa9a8aaa9cb8ebc44c7fda465648b by nullptr.cpp
[NFC][IR][AsmWriter] Fix Wreturn-type gcc warning

GCC warning:
```
/llvm-project/llvm/lib/IR/AsmWriter.cpp:3175:1: warning: control reaches end of non-void function [-Wreturn-type]
3175 | }
      | ^
```
The file was modifiedllvm/lib/IR/AsmWriter.cpp
Commit 01b9e613c28b833327ab4de93d0638a5c8d3514f by tomas.matheson
[Clang][Codegen] Truncate initializers of union bitfield members

If an initial value is given for a bitfield that does not fit in the
bitfield, the value should be truncated. Constant folding for
expressions did not account for this truncation in the case of union
member functions, despite a warning being emitted. In some contexts,
evaluation of expressions was not enabled unless C++11, ROPI or RWPI
was enabled.

Differential Revision: https://reviews.llvm.org/D93101
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/CodeGenCXX/bitfield-layout.cpp
Commit b9ed8ebe0e2ffa803b0bda60f9bbc9bb26f95000 by tomas.matheson
[ARM][RegisterScavenging] Don't consider LR liveout if it is not reloaded

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

When PrologEpilogInserter writes callee-saved registers to the stack, LR is not reloaded but is instead loaded directly into PC.
This was not taken into account when determining if each callee-saved register was liveout for the block.
When frame elimination inserts virtual registers, and the register scavenger tries to scavenge LR, it considers it liveout and tries to spill again.
However there is no emergency spill slot to use, and it fails with an error:

    fatal error: error in backend: Error while trying to spill LR from class GPR: Cannot scavenge register without an emergency spill slot!

This patch pervents any callee-saved registers which are not reloaded (including LR) from being marked liveout.
They are therefore available to scavenge without requiring an extra spill.
The file was addedllvm/test/CodeGen/AArch64/scavenge-lr.mir
The file was modifiedllvm/lib/CodeGen/LiveRegUnits.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-multivec-spill.ll
Commit 374862d71c1a2f63557a27f1555b37ff0f75117e by Jan Svoboda
[clang][cli] Use variadic macros for parsing/generating

This patch makes all macros forwarding to `PARSE_OPTION_WITH_MARSHALLING` and `GENERATE_OPTION_WITH_MARSHALLING` variadic.

Sice we will be splitting up all CompilerInvocation parts, this will allow us to avoid a lot of boilerplate code.

The local macros prefix forwarded arguments with local variables required by the main macros. The `{THIS,NO}_PREFIX` macros make it possible for forwarding macros in member functions (`parseSimpleArgs`, `generateCC1CommandLine`) to prefix keypaths with `this->`. (Some build bots seem to require that.)

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D95532
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 3ca502a7d60787abe14db1fa541950ff79c7585b by rahmanl
Use DataExtractor to decode SLEB128 in android_relas.

A simple refactoring patch which let us use `DataExtractor::getSLEB128` rather than using a lambda function.

Differential Revision: https://reviews.llvm.org/D95158
The file was modifiedllvm/lib/Object/ELF.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/packed-relocs-errors.s
Commit 2393b03239c56b9bc1f6fd8bef5cdedaf0570bc7 by Jan Svoboda
Revert "[clang][cli] Use variadic macros for parsing/generating"

This reverts commit 374862d7.

Some build bots are failing with:
clang/Driver/Options.inc(4315): warning C4003: not enough arguments for function-like macro invocation 'PARSE_OPTION_WITH_MARSHALLING'
clang/Driver/Options.inc(4315): warning C4003: not enough arguments for function-like macro invocation 'NO_PREFIX'
clang/Driver/Options.inc(4315): error C2059: syntax error: ')'
clang/Driver/Options.inc(4315): error C2143: syntax error: missing ';' before '{'
clang/Driver/Options.inc(4315): error C2059: syntax error: '='
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit fc2f27ccf3c5982a8f89d2c85d83578a713c95c7 by fraser
[RISCV] Add support for RVV int<->fp & fp<->fp conversions

This patch adds support for the full range of vector int-to-float,
float-to-int, and float-to-float conversions on legal types.

Many conversions are supported natively in RVV so are lowered with
patterns. These include conversions between (element) types of the same
size, and those that are half/double the size of the input. When
conversions take place between types that are less than half or more
than double the size we must lower them using sequences of instructions
which go via intermediate types.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D95447
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was addedllvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
Commit 54e570d94af995ff58287a8288389641910a8239 by nemanja.i.ibm
[PowerPC] Do not emit XXSPLTI32DX for sub 64-bit constants

If the APInt returned by BuildVectorSDNode::isConstantSplat() is narrower than
64 bits, the result produced by XXSPLTI32DX is incorrect. The result returned
by the function appears to be incorrect and we'll investigate/fix it in a
follow-up commit. However, since this causes miscompiles, we must
temporarily disable emitting this instruction for such values.
The file was modifiedllvm/test/CodeGen/PowerPC/p10-splatImm32.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 4b422708bac7161e7b1705d0d001a82fa3309e75 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Handle G_PTR_ADD when looking for constant offset

Look throught G_PTRTOINT and G_PTR_ADD nodes when looking for constant
offset for buffer stores. This also helps with merging of these instructions
later on.

Differential Revision: https://reviews.llvm.org/D95242
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/merge-buffer-stores.ll
Commit 3c979ae9ecdd324fa768a189c50103ad0aecfabf by Mirko.Brkusanin
[AMDGPU][GlobalISel] Remove redundant cmp when copying constant to vcc

Differential Revision: https://reviews.llvm.org/D95540
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
Commit 9a2bbfae6c82c8f24107f92f48b52bb2c5416b4b by tomas.matheson
[NFC] Move scavenge-lr.mir From AArch64 to Thumb2 test directory.
The file was addedllvm/test/CodeGen/Thumb2/scavenge-lr.mir
The file was removedllvm/test/CodeGen/AArch64/scavenge-lr.mir
Commit c1c1944e6993c4923031094f5a51ade197ad7e37 by david.green
[ARM] Regenerate constant hoisting test. NFC
The file was modifiedllvm/test/CodeGen/ARM/static-addr-hoisting.ll
Commit 279e7ea63bb898587699339271c19824f829f3dc by kareem.ergawy
[MLIR][LinAlg][Docs] Add missing example code and other small fixes.

Fixes a few small issues in the docs. It seems one of the examples was missing
the expected MLIR output due to a copy-paste typo.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D95599
The file was modifiedmlir/docs/Dialects/Linalg.md
Commit d0c9fb1b8ebf50ea8b489354b946da961a384c8b by nicolas.vasilache
[mlir][Linalg] Improve codegen strategy

This revision improves the usage of the codegen strategy by adding a few flags that
make it easier to control for the CLI.
Usage of ModuleOp is replaced by FuncOp as this created issues in multi-threaded mode.

A simple benchmarking capability is added for linalg.matmul as well as linalg.matmul_column_major.
This latter op is also added to linalg.

Now obsolete linalg integration tests that also take too long are deleted.

Correctness checks are still missing at this point.

Differential revision: https://reviews.llvm.org/D95531
The file was addedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
The file was addedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir
The file was removedmlir/test/mlir-cpu-runner/include/mlir_test_cblas_interface.h
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir
The file was removedmlir/test/mlir-cpu-runner/mlir_test_cblas_interface.cpp
The file was removedmlir/test/mlir-cpu-runner/include/mlir_test_cblas.h
The file was addedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
The file was removedmlir/test/mlir-cpu-runner/linalg_integration_test.mlir
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
The file was removedmlir/test/mlir-cpu-runner/CMakeLists.txt
The file was removedmlir/test/mlir-cpu-runner/mlir_test_cblas.cpp
Commit 8cfa963463d09cd4213a647f3587389612e3dd16 by lebedev.ri
[SimplifyCFG] If provided, preserve Dominator Tree

SimplifyCFG is an utility pass, and the fact that it does not
preserve DomTree's, forces it's users to somehow workaround that,
likely by not preserving DomTrees's themselves.

Indeed, simplifycfg pass didn't know how to preserve dominator tree,
it took me just under a month (starting with e1133179587dd895962a2fe4d6eb0cb1e63b5ee2)
do rectify that, now it fully knows how to,
there's likely some problems with that still,
but i've dealt with everything i can spot so far.

I think we now can flip the switch.

Note that this is functionally an NFC change,
since this doesn't change the users to pass in the DomTree,
that is a separate question.

Reviewed By: kuhar, nikic

Differential Revision: https://reviews.llvm.org/D94827
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 6617529a1dfe6605bd2b4064c7832ace4b0eb564 by lebedev.ri
[CodeGen][DwarfEHPrepare] Preserve Dominator Tree

Now that D94827 has flipped the switch, and SimplifyCFG is officially marked
as production-ready regarding Dominator Tree preservation,
we can update this user pass to also preserve Dominator Tree.

This is a geomean compile-time win of `-0.05%`..`-0.08%`.
https://llvm-compile-time-tracker.com/compare.php?from=51a25846c198cff00abad0936f975167357afa6f&to=082499aac236a5c141e50a9e77870d5be2de5f0b&stat=instructions

Differential Revision: https://reviews.llvm.org/D95548
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/DwarfEHPrepare.cpp
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit 526c42e76c12d9cfe83dfa5957fe1715ab8d1faf by sven.vanhaastregt
[OpenCL] Hide sampler-less read_image builtins before CL1.2

Ensure sampler-less image read functions are not available with
`-fdeclare-opencl-builtins` before OpenCL 1.2.
The file was modifiedclang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
The file was modifiedclang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
Commit 7396f720f9436031e98e3f36ad09c1759f1edf54 by llvm-dev
[DebugInfo] Remove some unused includes. NFCI.

Mainly removing a lot of <vector> includes from files that don't explicitly use std::vector
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
Commit 0164d546d2691c439fc06c8fff126224276c2d02 by llvm-dev
[Support] Add some missing namespace closure comments. NFCI.

Fixes some clang-tidy warnings.
The file was modifiedllvm/lib/Support/APFloat.cpp
The file was modifiedllvm/lib/Support/BuryPointer.cpp
The file was modifiedllvm/lib/Support/CrashRecoveryContext.cpp
The file was modifiedllvm/lib/Support/DynamicLibrary.cpp
The file was modifiedllvm/lib/Support/MathExtras.cpp
The file was modifiedllvm/lib/Support/DAGDeltaAlgorithm.cpp
The file was modifiedllvm/lib/Support/ARMWinEH.cpp
The file was modifiedllvm/lib/Support/Allocator.cpp
The file was modifiedllvm/lib/Support/Debug.cpp
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
The file was modifiedllvm/lib/Support/BinaryStreamRef.cpp
The file was modifiedllvm/lib/Support/ItaniumManglingCanonicalizer.cpp
The file was modifiedllvm/lib/Support/PrettyStackTrace.cpp
Commit aa76cebab59e7ae016a96215b1567b71489a4730 by llvm-dev
Fix "32-bit shift result used in 64-bit comparison" MSVC warning. NFCI.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Commit da8845fc3d3bb0b0e133f020931440511fa72723 by llvm-dev
[X86][AVX] Add PR48908 shuffle test case
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
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/test/CodeGen/X86/vector-shuffle-combining-avx.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
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
The file was modifiedopenmp/runtime/CMakeLists.txt
The file was modifiedopenmp/runtime/src/kmp_config.h.cmake
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/CMakeLists.txt
The file was modifiedopenmp/CMakeLists.txt
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
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/test/CodeGen/AArch64/framelayout-sve.mir
The file was modifiedllvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/debug-info-sve-dbg-value.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
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/test/lib/Transforms/TestLinalgFusionTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir
The file was modifiedmlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
The file was addedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
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-vst4.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
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
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
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/amdgcn/src/target_impl.hip
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was addedopenmp/libomptarget/deviceRTLs/target_interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/debug.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
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
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
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
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
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/test/IR/invalid-ops.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp
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
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
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/tile-and-pad-tensors.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
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/test/MC/ELF/section-omitted-attributes.s
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp
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/lib/Support/APFloat.cpp
The file was modifiedllvm/include/llvm/ADT/APFloat.h
Commit b06ccc74467be33485447eb4b2821954f2bb27aa by llvm-dev
[APFloat] Remove orphan ilogb(DoubleAPFloat) declaration. NFCI.
The file was modifiedllvm/include/llvm/ADT/APFloat.h
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
Commit 303ef609a38e004d41e773be41ede9cc90ea803c by nicolas.vasilache
[mlir] Fix gcc-8 build
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
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
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-cuda-runner/cuda-runtime-wrappers.cpp
The file was modifiedmlir/tools/mlir-rocm-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-rocm-runner/rocm-runtime-wrappers.cpp
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
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 removedllvm/test/DebugInfo/X86/subprogram-across-cus.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
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
The file was modifiedlld/test/wasm/weak-undefined-pic.s
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedlld/wasm/MarkLive.cpp
The file was modifiedlld/wasm/Writer.cpp
Commit 9cbef8c905cb565fea1b2fef51b75b0d00ad7ad9 by nicolas.vasilache
[mlir] Fix integration tests
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir
The file was modifiedmlir/lib/ExecutionEngine/CRunnerUtils.cpp
The file was modifiedmlir/lib/ExecutionEngine/RunnerUtils.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/CRunnerUtils.h
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir
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/include/algorithm
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp
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 modifiedlibcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/test/libcxx/double_include.sh.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/src/CMakeLists.txt
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/format.version.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/docs/Cxx2aStatusPaperStatus.csv
The file was modifiedlibcxx/test/libcxx/no_assert_include.compile.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/test/std/utilities/format/version.compile.pass.cpp
The file was addedlibcxx/include/format
The file was modifiedlibcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.no_new_in_libcxx.abilist
The file was modifiedlibcxx/test/libcxx/min_max_macros.compile.pass.cpp
The file was addedlibcxx/src/format.cpp
The file was addedlibcxx/test/std/utilities/format/format.error/format.error.pass.cpp
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 modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was addedllvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
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/matrix-market-example.mlir
The file was modifiedmlir/integration_test/Sparse/CPU/frostt-example.mlir
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
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/test/CodeGen/RISCV/rv64Zbs.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
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
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/VSCode.cpp
The file was modifiedlldb/tools/lldb-vscode/IOStream.h
The file was modifiedlldb/tools/lldb-vscode/VSCode.h
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedlldb/tools/lldb-vscode/IOStream.cpp
The file was modifiedlldb/tools/lldb-vscode/RunInTerminal.cpp
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
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/test/tools/llvm-nm/ifunc.test
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp
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 modifiedclang/test/CodeGenCXX/debug-info-codeview-display-name.cpp
The file was addedclang/test/CodeGenCXX/lit.local.cfg
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/CoroSplit.cpp
The file was modifiedllvm/test/Transforms/Coroutines/coro-debug.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h
Commit 51457cd50624a5f3f684b80c2ce6feff1a2b3901 by csigg
[mlir] NFC: split --shared-libs option into multiple lines.
The file was modifiedmlir/test/mlir-cuda-runner/two-modules.mlir
The file was modifiedmlir/test/mlir-cuda-runner/shuffle.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-max.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-or.mlir
The file was modifiedmlir/test/mlir-cuda-runner/multiple-all-reduce.mlir
The file was modifiedmlir/test/mlir-rocm-runner/vector-transferops.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-op.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-region.mlir
The file was modifiedmlir/test/mlir-cuda-runner/gpu-to-cubin.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-xor.mlir
The file was modifiedmlir/test/mlir-rocm-runner/gpu-to-hsaco.mlir
The file was modifiedmlir/test/mlir-rocm-runner/vecadd.mlir
The file was modifiedmlir/test/mlir-rocm-runner/two-modules.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-and.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-min.mlir
Commit 39ef0965dfb26a56ee02f5aa513cdf235e8187b2 by jay.foad
[AMDGPU] Simplify some RUN lines. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
Commit 658398c842019636376a00f7267853e96cd0d935 by thakis
[gn build] (semi-manually) port 081c1db02dd2
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
Commit 275c6af7d7f1ed63a03d05b4484413e447133269 by aardappel
[WebAssembly] Fix Fast ISEL not lowering 64-bit function pointers

Differential Revision: https://reviews.llvm.org/D95410
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was addedllvm/test/CodeGen/WebAssembly/fast-isel-call-indirect64.ll
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 modifiedmlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
The file was modifiedmlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/dialect-cast.mlir
The file was addedmlir/test/Conversion/ComplexToLLVM/full-conversion.mlir
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/DwarfDebug.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def
The file was modifiedllvm/include/llvm/CodeGen/DIEValue.def
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIE.cpp
The file was modifiedllvm/include/llvm/CodeGen/DIE.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/test/DebugInfo/X86/ranges_always.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 8c54583b2e02bdb5d857af6100283eb97f29080b by thakis
[gn build] (manually) port 3b625060fc915
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
Commit eae50bb2105abb739477f786c6c821ab1131f90e by thakis
[gn build] (manually) port 081c1db02dd2 more
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
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_storage.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_parallel.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_3d.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_1d.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_nd.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_2d.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_vector.mlir
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
The file was modifiedmlir/include/mlir/IR/TypeUtilities.h
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
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
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/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
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/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
Commit 85b7b5625a009c738cec626cd5b02cd04d1546d5 by dblaikie
Fix memory leak in 4318028cd2d7633a0cdeb0b5d4d2ed81fab87864
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
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/test/CodeGen/PowerPC/p10-splatImm32.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
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
Commit 6f0df3cddb3e3f38df1baa7aa4d743a74bb46688 by steveire
[ASTMatchers] Avoid pathological traversal over nested lambdas

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

Differential Revision: https://reviews.llvm.org/D94865
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
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/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
The file was modifiedlibc/test/src/string/CMakeLists.txt
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/utils/CMakeLists.txt
The file was modifiedlibc/utils/HdrGen/CMakeLists.txt
The file was modifiedlibc/cmake/modules/LLVMLibCHeaderRules.cmake
The file was modifiedlibc/CMakeLists.txt
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 modifiedlld/COFF/Chunks.h
The file was modifiedllvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
The file was modifiedlld/COFF/Chunks.cpp
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/include/llvm/DebugInfo/DWARF/DWARFExpression.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
The file was modifiedllvm/test/tools/llvm-objdump/eh_frame-mipsel.test
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
The file was modifiedllvm/test/DebugInfo/X86/debug-frame-cie-id-dwarf64.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
The file was modifiedllvm/test/DebugInfo/X86/debug_frame-invalid-cie-offset.s
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
The file was modifiedopenmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c
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 modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ignore-hint.mir
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was addedllvm/test/MachineVerifier/test_g_assert_zext.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was addedllvm/test/MachineVerifier/test_g_assert_zext_register_bank_class.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
The file was modifiedllvm/include/llvm/CodeGen/TargetOpcodes.h
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
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/AArch64/GlobalISel/legalize-sadde.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssube.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usube.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-uadde.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uadde.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-usube.mir
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-ssube.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sadde.mir
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
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
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
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
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
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
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
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
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
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
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit 98835e3d9849a17e9f8eb5dcd8aee3c9d32e1e07 by ravishankarm
[mlir][Linalg] Enable TileAndFusePattern to work with tensors.

Differential Revision: https://reviews.llvm.org/D94531
The file was addedmlir/test/Dialect/Linalg/fusion-tensor-pattern.mlir
The file was modifiedmlir/test/lib/Transforms/TestLinalgFusionTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
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
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/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
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
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir
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
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-select.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
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/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
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
The file was modifiedllvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
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
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
Commit a1a3fdcdba52c9d0a045af5f68365c273467b127 by gclayton
Fix windows buildbot build errors from D89845.
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
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/bugprone/SuspiciousMissingCommaCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/ASTUtils.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/StrToNumCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/ExprSequence.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/GlobList.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
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/include/mlir/IR/Identifier.h
The file was modifiedmlir/lib/IR/MLIRContext.cpp
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/GISel/AArch64PreLegalizerCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-icmp-redundant-trunc.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
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
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/include/clang/AST/Mangle.h
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
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
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit 12b9b778d916c721b2239f3c752196728875d290 by Amara Emerson
[AArch64][GlobalISel] Enable CSE for the prelegalizer combiner.

Differential Revision: https://reviews.llvm.org/D95647
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-shift-immed-mismatch-crash.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
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/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/include/clang/AST/Mangle.h
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
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/wqm.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
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
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
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 addedllvm/test/CodeGen/AArch64/GlobalISel/regbank-assert-zext.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
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/lib/Target/AMDGPU/SIWholeQuadMode.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/wqm.mir
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
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
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 addedlibcxx/test/libcxx/thread/thread.latch/version.compile.pass.cpp
The file was removedlibcxx/test/std/thread/thread.semaphore/version.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/format/version.compile.pass.cpp
The file was addedlibcxx/test/libcxx/thread/thread.semaphore/version.compile.pass.cpp
The file was removedlibcxx/test/std/utilities/format/version.compile.pass.cpp
The file was removedlibcxx/test/std/thread/thread.latch/version.pass.cpp
The file was removedlibcxx/test/std/thread/thread.barrier/version.pass.cpp
The file was addedlibcxx/test/libcxx/thread/thread.barrier/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/include/clang/AST/Mangle.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
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
Commit d6d0c09e84d632f3a9954aebabb4933cd7bf64d3 by nullptr.cpp
[NFC][llvm-nm] Fix unused variable warning
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp
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
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
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 addedllvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.cpp
The file was modifiedllvm/utils/TableGen/RegisterInfoEmitter.cpp
The file was addedllvm/test/TableGen/RegisterInfoEmitter-regcost.td
The file was modifiedllvm/include/llvm/Target/Target.td
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.h
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/include/llvm/CodeGen/RegisterClassInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.td
The file was modifiedllvm/lib/CodeGen/RegisterClassInfo.cpp
The file was modifiedllvm/lib/Target/ARC/ARCRegisterInfo.td
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was addedllvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.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 modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Transforms/LoopStrengthReduce/pr48725.ll
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
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/unittests/Format/FormatTestComments.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/BreakableToken.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/lib/Format/BreakableToken.h
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/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/lib/Target/Mips/MipsTargetStreamer.h
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
Commit 7925aa091db0f16b967fc82243601e207a29ebeb by kazu
[llvm] Populate SmallVector at construction time (NFC)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
Commit 6cedffc0ad8d9c48caf42b436acaa1f509925b4a by kazu
[MustExecute] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/MustExecute.cpp
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
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-assert-side-effect.cpp
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 addedclang-tools-extra/test/clang-tidy/checkers/bugprone-assert-side-effect.m
The file was modifiedclang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
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
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
The file was modifiedclang-tools-extra/clangd/IncludeFixer.cpp
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/FormatTest.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/unittests/Format/FormatTestComments.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/lib/Format/BreakableToken.h
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Format/BreakableToken.cpp
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/test/tools/llvm-readobj/basic.test
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit 83bd24220206765b1855514e3435c52ae8be8706 by chennngwang
[libc][Obvious] Remove DEPS for unistd.h in CMake file of memmove.
The file was modifiedlibc/src/string/CMakeLists.txt
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
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/test/clang-query/invalid-command-line.cpp
The file was modifiedclang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
The file was modifiedclang-tools-extra/clang-move/tool/ClangMove.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/invalid-command-line.cpp
The file was modifiedclang/include/clang/Tooling/CommonOptionsParser.h
The file was modifiedclang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
The file was modifiedclang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp
The file was modifiedclang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp
The file was modifiedclang/tools/clang-rename/ClangRename.cpp
The file was modifiedclang/docs/LibASTMatchersTutorial.rst
The file was modifiedclang/lib/Tooling/CommonOptionsParser.cpp
The file was modifiedclang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
The file was modifiedclang/tools/clang-check/ClangCheck.cpp
The file was modifiedclang/tools/clang-refactor/ClangRefactor.cpp
Commit 1c762a81d20f498a93c38c0f0b10ad7c18650422 by chennngwang
[libc][Obvious] Fix typo
The file was modifiedlibc/test/src/math/CMakeLists.txt
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
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir
Commit 27f2fe9163ec9e96f240fa57b5e2d7c55f54e266 by sguelton
Adapt lldb-instr to d47ee525f9e92898 APi change
The file was modifiedlldb/tools/lldb-instr/Instrument.cpp
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
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
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/operations.cpp
The file was modifiedlibcxx/src/filesystem/filesystem_common.h
The file was modifiedlibcxx/src/CMakeLists.txt
The file was addedlibcxx/src/filesystem/posix_compat.h
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/filesystem_common.h
The file was modifiedlibcxx/src/filesystem/posix_compat.h
The file was modifiedlibcxx/src/filesystem/operations.cpp
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/operations.cpp
The file was modifiedlibcxx/src/filesystem/posix_compat.h
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/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
The file was modifiedlibcxx/src/filesystem/posix_compat.h
Commit 64ced3ce89a6dd429136d0ad7832853d8b3fdef0 by thakis
[gn build] (semi-manually) port 2ff8662b5d16
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
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/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/CodeGen/ParallelCG.cpp
The file was modifiedllvm/include/llvm/LTO/LTOBackend.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SplitModule.h
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/lib/Transforms/Utils/SplitModule.cpp
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
The file was modifiedllvm/tools/llvm-split/llvm-split.cpp
The file was modifiedllvm/include/llvm/CodeGen/ParallelCG.h
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
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/dsymutil/debug-map-parsing.test
The file was modifiedclang/test/Frontend/stats-file.c
The file was modifiedllvm/test/tools/dsymutil/X86/papertrail-warnings.test
The file was modifiedllvm/test/Object/archive-extract.test
The file was modifiedlld/test/MachO/invalid/no-filelist.s
The file was modifiedclang/test/Frontend/output-paths.c
The file was modifiedllvm/test/tools/llvm-size/no-input.test
The file was modifiedllvm/test/tools/llvm-lto/error.ll
The file was modifiedllvm/test/tools/llvm-xray/X86/no-such-file.txt
The file was modifiedlld/test/ELF/reproduce-error.s
The file was modifiedllvm/test/tools/llvm-mca/invalid_input_file_name.test
The file was modifiedllvm/test/tools/llvm-ml/basic.test
The file was modifiedllvm/test/tools/llvm-profdata/weight-sample.test
The file was modifiedclang/test/CodeGen/basic-block-sections.c
The file was modifiedllvm/test/tools/dsymutil/archive-timestamp.test
The file was modifiedllvm/test/tools/llvm-objcopy/COFF/add-section.test
The file was modifiedllvm/test/Object/directory.ll
The file was modifiedllvm/test/tools/llvm-lipo/replace-invalid-input.test
The file was modifiedllvm/test/tools/llvm-objcopy/wasm/dump-section.test
The file was modifiedllvm/test/tools/llvm-profdata/weight-instr.test
The file was modifiedllvm/test/tools/llvm-lipo/create-arch.test
The file was modifiedllvm/test/tools/llvm-ar/replace.test
The file was modifiedllvm/test/tools/llvm-lto2/X86/stats-file-option.ll
The file was modifiedllvm/test/tools/obj2yaml/invalid_input_file.test
The file was modifiedclang/test/CodeGen/ubsan-blacklist-vfs.c
The file was modifiedlld/test/ELF/basic.s
The file was modifiedllvm/test/tools/llvm-ar/move.test
The file was modifiedllvm/test/tools/llvm-ar/print.test
The file was modifiedlld/test/ELF/symbol-ordering-file.s
The file was modifiedllvm/test/DebugInfo/symbolize-missing-file.test
The file was modifiedllvm/test/tools/yaml2obj/output-file.yaml
The file was modifiedllvm/test/tools/llvm-readobj/ELF/thin-archive-paths.test
The file was modifiedllvm/test/tools/llvm-readobj/basic.test
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/missing_pdb.test
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/add-section-error.test
The file was modifiedllvm/test/tools/llvm-readobj/thin-archive.test
The file was modifiedllvm/test/tools/llvm-ar/error-opening-directory.test
The file was modifiedllvm/test/Object/archive-extract-dir.test
The file was modifiedllvm/test/tools/llvm-ar/response.test
The file was modifiedlld/test/COFF/nodefaultlib.test
The file was modifiedlld/test/ELF/archive-thin-missing-member.s
The file was modifiedllvm/test/tools/llvm-ar/quick-append.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/error-format.test
The file was modifiedlld/test/COFF/pdb-type-server-missing.yaml
The file was modifiedllvm/test/tools/llvm-ar/missing-thin-archive-member.test
The file was modifiedllvm/test/tools/llvm-libtool-darwin/invalid-input-output-args.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/add-section.test
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was modifiedlld/test/COFF/manifestinput-error.test
The file was modifiedllvm/test/MC/Hexagon/not_found.s
The file was modifiedllvm/test/tools/llvm-cxxdump/trivial.test
The file was modifiedlld/test/COFF/pdb-type-server-invalid-signature.yaml
The file was modifiedllvm/test/tools/llvm-libtool-darwin/filelist.test
The file was modifiedlld/test/COFF/driver.test
The file was modifiedclang/test/Driver/clang-offload-bundler.c
The file was modifiedllvm/test/tools/llvm-mc/basic.test
The file was modifiedllvm/docs/TestingGuide.rst
The file was modifiedllvm/test/tools/llvm-objcopy/redefine-symbols.test
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
The file was addedclang/test/Tooling/clang-check-syntax-tree-dump.cpp
The file was modifiedclang/tools/clang-check/ClangCheck.cpp
Commit 229c1cff510b7a2fe9eb9ddf4cb4787f08cab7bd by thakis
[gn build] port e90e455d2a0cc
The file was modifiedllvm/utils/gn/secondary/clang/tools/clang-check/BUILD.gn
Commit f03f3a84747c788f0f196b309785d322fa4e91a1 by sjoerd.meijer
[MachineLICM] Fix wrong and confusing comment. NFC.
The file was modifiedllvm/lib/CodeGen/MachineLICM.cpp
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
The file was modifiedclang-tools-extra/clangd/quality/CompletionModelCodegen.py
The file was modifiedclang-tools-extra/clangd/Quality.cpp
The file was modifiedclang-tools-extra/clangd/AST.cpp
The file was modifiedclang-tools-extra/clangd/AST.h
The file was modifiedclang-tools-extra/clangd/quality/model/features.json
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang-tools-extra/clangd/Quality.h
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
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.cpp
The file was modifiedclang-tools-extra/clangd/quality/CompletionModelCodegen.py
The file was modifiedclang-tools-extra/clangd/AST.h
The file was modifiedclang-tools-extra/clangd/Quality.h
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang-tools-extra/clangd/quality/model/features.json
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang-tools-extra/clangd/AST.cpp
The file was modifiedclang-tools-extra/clangd/unittests/QualityTests.cpp
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
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/shrink_vmul.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/promote-vec3.ll
The file was modifiedllvm/test/CodeGen/X86/avg.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/udiv_fix.ll
The file was modifiedllvm/test/CodeGen/X86/udiv_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
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 addedclang/test/Driver/cl-sysroot.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/MSVC.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
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/cl-options.c
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
The file was modifiedllvm/lib/TableGen/TGParser.cpp
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/test/Evaluate/test_folding.sh
The file was modifiedflang/test/Evaluate/folding16.f90
The file was modifiedflang/test/Semantics/array-constr-values.f90
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/test/Evaluate/folding09.f90
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Evaluate/check-expression.cpp
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
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
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
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit 9b64e0e205603bd558d180a0b900ccdbe105bf2b by andrzej.warzynski
[flang][docs] Add New Flang Driver Biweekly call
The file was modifiedflang/docs/GettingInvolved.md
Commit 010b176cdefbf904d58dc92b9ed3d19df70dd2a5 by rupprecht
[mlir][docs] Fix typo: even -> event
The file was modifiedmlir/docs/PassManagement.md
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 modifiedclang/lib/Driver/ToolChains/Linux.h
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-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-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/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 modifiedclang/test/Driver/aarch64-features.c
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-10/lib/gcc/aarch64-unknown-linux-gnu/10/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/include/clang/Driver/ToolChain.h
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
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/lib/Driver/ToolChains/Clang.cpp
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
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
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
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
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_dispatch.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
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
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
Commit ee4f8860e5f882a7ed1e1549301006c14ed4e749 by i
[VE] Add include for formatted_raw_ostream after 046cfb856517c6140d5e1c0989232e26d00b05b2
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.h
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
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 modifiedllvm/CMakeLists.txt
The file was modifiedclang/CMakeLists.txt
The file was modifiedlld/CMakeLists.txt
The file was modifiedmlir/CMakeLists.txt
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 modifiedlld/CMakeLists.txt
The file was modifiedmlir/CMakeLists.txt
The file was modifiedllvm/CMakeLists.txt
The file was modifiedclang/CMakeLists.txt
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/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/test/Transforms/parallel-loop-collapsing.mlir
The file was modifiedmlir/test/Transforms/single-parallel-loop-collapsing.mlir
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
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/hash_mismatch_metadata.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was addedllvm/test/Transforms/PGOProfile/Inputs/hash_mismatch_metadata.proftext
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
Commit a78d8feb48a536f50736f97a9ae28d5bae94e8ed by lebedev.ri
[LowerConstantIntrinsics] Preserve Dominator Tree, if avaliable
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
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/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/CodeGen/ShadowStackGCLowering.cpp
The file was modifiedllvm/lib/Transforms/Utils/EscapeEnumerator.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/EscapeEnumerator.h
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/AArch64/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/lib/CodeGen/ExpandMemCmp.cpp
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
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
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
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 modifiedllvm/test/MC/RISCV/attribute-arch.s
The file was modifiedclang/test/Preprocessor/riscv-target-features.c
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoV.td
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedclang/test/Driver/riscv-arch.c
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll
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/lib/Semantics/resolve-names.cpp
The file was modifiedflang/include/flang/Semantics/tools.h
The file was modifiedflang/lib/Semantics/tools.cpp
The file was addedflang/test/Semantics/oldparam02.f90
The file was addedflang/test/Semantics/oldparam03.f90
The file was modifiedflang/include/flang/Common/Fortran-features.h
The file was modifiedflang/include/flang/Semantics/scope.h
The file was modifiedflang/lib/Semantics/scope.cpp
The file was addedflang/test/Semantics/oldparam01.f90
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/lib/Semantics/type.cpp
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/lib/Evaluate/shape.cpp
Commit 9847023660467a4469b5667bcf7a4c73a4780037 by kai.wang
[RISCV]  Update the version number to v0.10 for vector.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
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
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
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 modifiedlldb/source/Host/common/FileSystem.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
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/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
The file was removedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode-rv64.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv64.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv32.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfmul-sdnode-rv32.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfsub-sdnode-rv64.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
The file was removedllvm/test/CodeGen/RISCV/rvv/vfadd-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
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
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/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TileConfig.cpp
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-bf16-intrinsics.ll
The file was addedllvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-across-func.ll
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.td
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
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 modifiedllvm/tools/llvm-objdump/MachODump.cpp
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
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
Commit 49556b87ae9b85b883b9b8be432a6f6a769d6021 by nullptr.cpp
[NFC][VFS] Fix a build warning due to an extra semicolon
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
Commit 7728cc003a87b274ebd611070fe38f0e41fef2aa by kazu
[llvm] Use append_range (NFC)
The file was modifiedllvm/tools/llvm-cov/CoverageExporterJson.cpp
The file was modifiedllvm/tools/lto/lto.cpp
The file was modifiedllvm/tools/llvm-cov/CoverageExporterLcov.cpp
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/tools/obj2yaml/wasm2yaml.cpp
The file was modifiedllvm/include/llvm/Bitstream/BitstreamWriter.h
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit 1a2d67fa23b2b65c7f07481dd0184957f8d058d9 by kazu
[llvm] Use llvm::lower_bound and llvm::upper_bound (NFC)
The file was modifiedllvm/lib/Target/X86/X86IntrinsicsInfo.h
The file was modifiedllvm/lib/CodeGen/LiveRangeCalc.cpp
The file was modifiedllvm/lib/CodeGen/LiveInterval.cpp
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/lib/MC/MCSection.cpp
Commit 8ed163618478dd4e7e03e34a029256b47a95d85c by kazu
[llvm] Use isa instead of dyn_cast (NFC)
The file was modifiedllvm/lib/Target/VE/VEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Transforms/IPO/MergeFunctions.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modifiedllvm/lib/Target/AVR/AVRISelLowering.cpp
The file was modifiedllvm/lib/Target/BPF/BPFAdjustOpt.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/utils/TableGen/FixedLenDecoderEmitter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopSink.cpp
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
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
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
The file was modifiedllvm/test/LTO/X86/disable-verify.ll
The file was modifiedllvm/test/tools/lto/print-stats.ll
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
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
The file was modifiedllvm/test/LTO/X86/disable-verify.ll
The file was modifiedllvm/tools/llvm-lto/llvm-lto.cpp
The file was modifiedllvm/test/Other/X86/lto-hot-cold-split.ll
The file was modifiedllvm/test/LTO/X86/diagnostic-handler-remarks.ll
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
Commit 79125085f16540579d27c7e4987f63eef9c4aa23 by steveire
[ASTMatchers] Fix traversal below range-for elements

Differential Revision: https://reviews.llvm.org/D95562
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
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 addedllvm/test/Transforms/LoopUnswitch/partial-unswitch-update-memoryssa.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp
The file was modifiedllvm/test/Transforms/LoopUnswitch/partial-unswitch.ll
Commit bb57a3422a09dcdd572ccb42767a0dabb5f966dd by steveire
Fix traversal with hasDescendant into lambdas

Differential Revision: https://reviews.llvm.org/D95607
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
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
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
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-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
Commit b10d445307a0f3c7e5522836b4331090aacaf349 by steveire
[ASTMatchers] Fix definition of decompositionDecl
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
Commit e718869bf47af20be0ec7301846f78c82d0f1140 by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/AsmMatcherEmitter.cpp
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
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Commit 627b5bda11a79785a21b1a50070415d4188aba6a by kazu
[llvm] Add missing header guards (NFC)

Identified with llvm-header-guard.
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUExportClustering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64MacroFusion.h
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
The file was modifiedllvm/include/llvm/Support/DataTypes.h
The file was modifiedllvm/lib/Target/PowerPC/PPCMacroFusion.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMacroFusion.h
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
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
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
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
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
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
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/runtime-type-info.cpp
The file was modifiedflang/lib/Evaluate/variable.cpp
The file was modifiedflang/lib/Semantics/check-call.cpp
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was modifiedflang/lib/Evaluate/shape.cpp
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
The file was modifiedmlir/test/Dialect/AVX512/roundtrip.mlir
The file was modifiedmlir/test/Conversion/AVX512ToLLVM/convert-to-llvm.mlir
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
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
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
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp
Commit 60053a9ce28655fc6f635567c62599fa3aad57d2 by sam.mccall
[clangd] Remove references to old future-based API. NFC
The file was modifiedclang-tools-extra/clangd/support/Context.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
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
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
The file was modifiedllvm/test/tools/dsymutil/X86/dwarf5.test
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.h
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
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/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp
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/GlobalCompilationDatabaseTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp
Commit 8f14a08863bf295cdc660f24948ef810731b812d by Matthew.Arsenault
AMDGPU: Add missing consts
The file was modifiedllvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
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 addedllvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir
The file was modifiedllvm/lib/CodeGen/RegAllocBase.cpp
Commit 177b8d1ad3cd78aa789bb246c42cbf10dda8a901 by kazu
[VE] Fix compiler warnings (NFC)
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
Commit 6bfb02cafe4fb31fd0a4f8a9871180df3333bd49 by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/SearchableTableEmitter.cpp
Commit 3d1200b9f6e305ea66080bb93fd34753c46066a1 by kazu
[llvm] Drop unnecessary const from return types (NFC)

Identified with const-return-type.
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was modifiedllvm/include/llvm/Analysis/LoopCacheAnalysis.h
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
The file was modifiedllvm/tools/dsymutil/DebugMap.h
The file was modifiedllvm/include/llvm/Object/WindowsResource.h
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/include/llvm/Analysis/DDG.h
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/include/llvm/Transforms/IPO/SampleContextTracker.h
The file was modifiedllvm/include/llvm/TableGen/DirectiveEmitter.h
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp
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 modifiedlldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.h
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm64.cpp
The file was modifiedlldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp
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/NativeProcessFreeBSD.h
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.cpp
The file was modifiedlldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_arm.h
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/include/llvm/LTO/legacy/LTOCodeGenerator.h
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
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 modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/test/lsan/TestCases/use_registers.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/print_address.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_allocator.h
The file was modifiedcompiler-rt/test/lsan/lit.common.cfg.py
The file was modifiedclang/test/Driver/fsanitize.c
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
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
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
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/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbp.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbb.ll
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
The file was modifiedclang/lib/Analysis/CFG.cpp
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
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
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/ARM/tailcall-dup.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll
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
Commit e94a35a744b780fcbe18e8bc6a4f774191588d45 by michael.p.rice
[OpenMP] Fix comment and assertion strings (NFC).
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
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
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
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
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
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
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/PPCInstrVSX.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
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
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/SelectionDAGDumper.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
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
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
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
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
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
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
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
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
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
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
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp
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
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
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/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-soft-float-abi.ll
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/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
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
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-vcvt.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/dagcombine-anyexttozeroext.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-div-expand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mla.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
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 modifiedlibcxx/www/index.html
The file was modifiedmlir/docs/SPIRVToLLVMDialectConversion.md
The file was modifiedclang/docs/ControlFlowIntegrityDesign.rst
The file was modifiedcompiler-rt/www/menu.html.incl
The file was modifiedclang/www/analyzer/checker_dev_manual.html
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedmlir/docs/ShapeInference.md
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
The file was modifiedclang/docs/ClangPlugins.rst
The file was modifiedmlir/docs/Rationale/RationaleGenericDAGRewriter.md
The file was modifiedclang/docs/LibTooling.rst
The file was modifiedllvm/docs/Vectorizers.rst
The file was modifiedmlir/docs/PatternRewriter.md
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h
The file was modifiedclang-tools-extra/docs/clang-tidy/Contributing.rst
The file was modifiedpolly/www/menu.html.incl
The file was modifiedlibcxx/docs/index.rst
The file was modifiedlibcxx/www/atomic_design.html
The file was modifiedllvm/utils/lit/setup.py
The file was modifiedlldb/docs/use/python-reference.rst
The file was modifiedlibunwind/docs/index.rst
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedlibcxxabi/www/index.html
The file was modifiedmlir/docs/DeclarativeRewrites.md
The file was modifiedclang/www/menu.html.incl
The file was modifiedlibcxx/www/ts1z_status.html
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedlldb/docs/resources/build.rst
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedopenmp/www/index.html
The file was modifiedmlir/docs/Dialects/SPIR-V.md
The file was modifiedflang/README.md
The file was modifiedlibcxx/www/upcoming_meeting.html
The file was modifiedclang/docs/ClangTools.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/Integrations.rst
The file was modifiedflang/docs/flang-c-style.el
The file was modifiedlibcxx/www/atomic_design_b.html
The file was modifiedclang/docs/InternalsManual.rst
The file was modifiedclang-tools-extra/docs/clang-rename.rst
The file was modifiedlibcxx/www/atomic_design_a.html
The file was modifiedmlir/docs/Dialects/Vector.md
The file was modifiedcompiler-rt/include/sanitizer/tsan_interface_atomic.h
The file was modifiedlldb/docs/resources/test.rst
The file was modifiedlibcxx/www/type_traits_design.html
The file was modifiedmlir/docs/Tutorials/UnderstandingTheIRStructure.md
The file was modifiedflang/docs/_templates/indexsidebar.html
The file was modifiedclang-tools-extra/clangd/README.md
The file was modifiedlibcxx/www/atomic_design_c.html
The file was modifiedclang/www/hacking.html
The file was modifiedclang/www/analyzer/open_projects.html
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.h
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
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/test/API/python_api/target/TestTargetAPI.py
The file was modifiedlldb/include/lldb/API/SBTarget.h
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/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx10_err_pos.s
Commit 11e74e512d64ae2a2531156b6f0dde211b1ae19d by martin
[lldb] Remove a stray semicolon, fixing GCC warnings. NFC.
The file was modifiedlldb/tools/lldb-vscode/FifoFiles.cpp
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
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
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/test/API/python_api/debugger/TestDebuggerAPI.py
The file was modifiedlldb/source/API/SBDebugger.cpp
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
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
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
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
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
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
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
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/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
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/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/support/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was addedclang-tools-extra/clangd/support/Path.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
The file was modifiedclang-tools-extra/clangd/support/Path.h
Commit 313a36130f2ab7d2a442820e86009d2834fbe6db by llvmgnsyncbot
[gn build] Port b63cd4db915c
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn
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
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 modifiedlibcxx/include/atomic
The file was addedlibcxx/test/std/atomics/atomics.types.generic/copy_semantics_traits.pass.cpp
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
The file was modifiedllvm/include/llvm/ADT/APFloat.h
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/lib/TableGen/Record.cpp
The file was modifiedllvm/test/TableGen/self-reference.td
The file was modifiedllvm/lib/TableGen/TGParser.cpp
The file was modifiedllvm/include/llvm/TableGen/Record.h
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/XRefsTests.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/XRefs.h
The file was modifiedclang-tools-extra/clangd/unittests/PreambleTests.cpp
The file was modifiedclang-tools-extra/clangd/test/references.test
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
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/test/CodeGen/Thumb2/mve-soft-float-abi.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcreate.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/vcvt.ll
The file was modifiedllvm/test/CodeGen/ARM/func-argpassing-endian.ll
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
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
Commit 657e76968822f6fbfc06826e2af88806025e32cb by llvm-dev
Revert rGce587529ad8b5 - "[APFloat] multiplySignificand - pass IEEEFloat as const reference. NFCI."

Breaks on some buildbots
The file was modifiedllvm/include/llvm/ADT/APFloat.h
The file was modifiedllvm/lib/Support/APFloat.cpp
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/unittests/XRefsTests.cpp
The file was modifiedclang-tools-extra/clangd/index/Index.h
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
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
The file was modifiedopenmp/libomptarget/src/interface.cpp
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/TUScheduler.h
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/index/FileIndex.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/index/Background.h
The file was modifiedclang-tools-extra/clangd/index/Background.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/index/FileIndex.h
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
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
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 modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
Commit e068e236c3b8e5ad4527bd9407cc9900359c3eec by Austin.Kerbow
[AMDGPU] Fix release build after 0397dca0.
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
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/io-parsers.cpp
The file was modifiedflang/lib/Parser/Fortran-parsers.cpp
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
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
The file was modifiedllvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
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
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
Commit 6a3ab66625cf1d440e66d9f438f05ee5ed040672 by craig.topper
[RISCV] Update comment text from D95774. NFC
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
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 addedllvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
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
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 modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/call-lowering-zeroext.ll
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
The file was modifiedlibcxx/include/concepts
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
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
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
The file was modifiedflang/lib/Semantics/check-acc-structure.h
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was modifiedflang/lib/Semantics/check-acc-structure.cpp
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
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedclang/test/Driver/lit.local.cfg
The file was modifiedclang/test/Driver/ps4-visibility-dllstorageclass.c
The file was modifiedclang/test/Driver/cuda-detect.cu
The file was modifiedclang/test/Driver/fsanitize.c
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/enabled_exceptions_test.cpp
The file was modifiedlibc/test/src/fenv/exception_status_test.cpp
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
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/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/minmax-intrinsics.ll
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/test/SemaCXX/lambda-expressions.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
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-stub.test
The file was modifiedllvm/test/tools/llvm-elfabi/preserve-dates-tbe.test
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/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/MC/X86/intel-syntax-x86-64-avx.s
The file was modifiedllvm/test/MC/X86/intel-syntax-x86-64-avx512f_vl.s
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/test/Transforms/SimpleLoopUnswitch/pipeline.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
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
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
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/sigprocmask_test.cpp
The file was modifiedlibc/test/src/stdlib/abort_test.cpp
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp
The file was modifiedlibc/test/src/signal/raise_test.cpp
The file was modifiedlibc/test/src/assert/assert_test.cpp
The file was modifiedlibc/test/src/signal/sigaction_test.cpp
The file was modifiedlibc/test/src/signal/sigdelset_test.cpp
The file was modifiedlibc/utils/UnitTest/FuchsiaTest.h
The file was modifiedlibc/utils/UnitTest/LibcTest.h
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/advance_to.pass.cpp
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/next_arg_id.pass.cpp
The file was modifiedlibcxx/include/format
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/end.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_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
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-layout.ll
The file was modifiedllvm/test/MC/WebAssembly/data-section.s
The file was modifiedlld/test/wasm/data-segments.ll
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/test/MC/WebAssembly/wasm64.s
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
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/lib/Analysis/SliceAnalysis.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
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
The file was modifiedllvm/include/llvm/Analysis/Loads.h
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/include/omp.h.var
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was addedopenmp/runtime/test/api/omp_nteams_api_env.c
The file was modifiedopenmp/runtime/src/kmp_ftn_os.h
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was addedopenmp/runtime/test/api/omp_nteams_api_env2.c
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/include/omp_lib.h.var
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/dllexports
The file was modifiedopenmp/runtime/src/include/omp_lib.f90.var
The file was modifiedopenmp/runtime/src/kmp.h
The file was addedopenmp/runtime/test/api/omp_nteams_api.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
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.h
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serialization.cpp
The file was addedmlir/test/Target/SPIRV/image.mlir
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
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.h
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serialization.cpp
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
The file was removedmlir/test/Target/SPIRV/image.mlir
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
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
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
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/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
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/types.compile.pass.cpp
The file was removedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.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/next_arg_id.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/Utils/LoopUtils.cpp
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
The file was modifiedllvm/include/llvm/IR/Operator.h
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
Commit 68b0595ccb8de1b0a9459f958dda17164341ee87 by steveire
NFC: Re-generate out-of-date matchers docs
The file was modifiedclang/docs/LibASTMatchersReference.html
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 modifiedmlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
The file was addedmlir/test/Target/SPIRV/image.mlir
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.h
The file was modifiedmlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serialization.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
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/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/lib/Format/BreakableToken.h
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp
The file was modifiedclang/unittests/Format/FormatTestComments.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/lib/Format/BreakableToken.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
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 addedllvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp
The file was addedllvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-inline.prof
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
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
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/tools/llvm-objcopy/ELF/Object.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/binary-paddr.test
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 addedcompiler-rt/test/profile/instrprof-gc-sections.c
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was addedllvm/test/Transforms/PGOProfile/associated.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Commit bb6c23b1f50780390eafd73aac1a2a895a8971a4 by listmail
[NFC][X86] Avoid redundant work inspecting callee
The file was modifiedllvm/test/CodeGen/X86/x86-no_caller_saved_registers.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/test/CodeGen/X86/x86-no_caller_saved_registers-preserve.ll
Commit 9d09db941ff882a0be761e5d3d170a474bf047c8 by listmail
[NFC][X86] Use CallBase interface to simplify code
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
Commit 59186902555546b9d864065d03eb1c79cb041409 by eschweitz
[flang][NFC] Rename complex type.

This change renames the CplxType class to ComplexType.
The file was modifiedflang/lib/Lower/IntrinsicCall.cpp
The file was modifiedflang/lib/Lower/IO.cpp
The file was modifiedflang/lib/Lower/ConvertType.cpp
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/lib/Lower/FIRBuilder.cpp
The file was modifiedflang/lib/Optimizer/Dialect/FIRDialect.cpp
The file was modifiedflang/lib/Lower/ComplexExpr.cpp
The file was modifiedflang/lib/Lower/Mangler.cpp
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/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
Commit fbd55071788a3e57d2fdf8cad5c79ee45a273019 by Jonas Devlieghere
[lldb] Use the host architecture in TestAppleSimulatorOSType.py
The file was modifiedlldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py
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
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was addedllvm/test/CodeGen/X86/x86-no_callee_saved_registers.ll
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
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/utils/UpdateTestChecks/common.py
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-different-bodies.test
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/include/mlir/Interfaces/ViewLikeInterface.h
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Interfaces/ViewLikeInterface.cpp
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
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
The file was addedllvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegPressure.cpp
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
Commit 98768bab19b27db71f497b0e5d87dfa9e5a0f05a by i
[test] Fix unuses FileCheck prefixes in clang/test/Modules
The file was modifiedclang/test/Modules/codegen.test
The file was modifiedclang/test/Modules/preprocess-nested.cpp
Commit 3f8dda50cbc89888015b9d2f69db38d9314d6517 by i
[test] Fix unuses FileCheck prefixes in lld
The file was modifiedlld/test/ELF/arm-thumb-interwork-thunk.s
The file was modifiedlld/test/ELF/partition-notes.s
The file was modifiedlld/test/ELF/lto/amdgcn-oses.ll
The file was modifiedlld/test/COFF/wrap-lto-2.ll
The file was modifiedlld/test/ELF/mips-micro-cross-calls.s
Commit 7a37d981d90529a125b425b1ca155da530c3008a by kazu
[llvm] Use pop_back_val (NFC)
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/SparsePropagation.h
Commit 094fc4d5cf9b34edcc1034e00ead287a32dd7804 by kazu
[TableGen] Use ListSeparator (NFC)
The file was modifiedllvm/utils/TableGen/InstrDocsEmitter.cpp
Commit b167303b772d1d07fb831b2110cd26d541138bf7 by kazu
[TableGen] Use range-based for loops (NFC)
The file was modifiedllvm/utils/TableGen/CodeEmitterGen.cpp
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
The file was modifiedllvm/utils/TableGen/SubtargetEmitter.cpp
The file was modifiedllvm/utils/TableGen/DAGISelEmitter.cpp
The file was modifiedllvm/utils/TableGen/AsmMatcherEmitter.cpp
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.h
Commit ecb00a77624c94ce38fccf9b4095e026ecf14aed by nhawes
[VFS] Add support to RedirectingFileSystem for mapping a virtual directory to one in the external FS.

Previously file entries in the -ivfsoverlay yaml could map to a file in the
external file system, but directories had to list their contents in the form of
other file entries or directories. Allowing directory entries to map to a
directory in the external file system makes it possible to present an external
directory's contents in a different location and (in combination with the
'fallthrough' option) overlay one directory's contents on top of another.

rdar://problem/72485443
Differential Revision: https://reviews.llvm.org/D94844
The file was addedclang/test/VFS/Inputs/vfsoverlay-directory.yaml
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedlldb/source/Host/common/FileSystem.cpp
The file was addedclang/test/VFS/Inputs/vfsoverlay-directory-relative.yaml
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was addedclang/test/VFS/directory.c
Commit 0b70c86e2007d3f32968f0a7d9efe8eab3bf0f0a by kadircet
clang-extra: fix incorrect use of std::lock_guard by adding variable name (identified by MSVC [[nodiscard]] error)

`std::lock_guard` is an RAII class that needs a variable name whose scope determines the guard's lifetime. This particular usage lacked a variable name, meaning the guard could be destroyed before the line that it was indented to protect.

This line was identified by building clang with the latest MSVC preview release, which declares the std::lock_guard constructor to be `[[nodiscard]]` to draw attention to such issues.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D95725
The file was modifiedclang-tools-extra/clangd/support/Function.h
Commit 327196d688585ecc6a4aa7dc1323adb7fe203c55 by i
[test] Fix unused FileCheck prefixes in compiler-rt/test
The file was modifiedcompiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-constants.cpp
The file was modifiedcompiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-summary.cpp
The file was modifiedcompiler-rt/test/profile/instrprof-value-prof-2.c
Commit 0426be3df6180747bd68706db87a70580f064f0f by plotfi
[AArch64] Homogeneous Prolog and Epilog Size Optimization

Prologs and epilogs handle callee-save registers and tend to be irregular with
different immediate offsets that are not often handled by the MachineOutliner.
Commit D18619/a5335647d5e8 (combining stack operations) stretched irregularity
further.

This patch tries to emit homogeneous stores and loads with the same offset for
prologs and epilogs respectively. We have observed that this canonicalizes
(homogenizes) prologs and epilogs significantly and results in a greatly
increased chance of outlining, resulting in a code size reduction.

Despite the above results, there are still size wins to be had that the
MachineOutliner does not provide due to the special handling X30/LR. To handle
the LR case, his patch custom-outlines prologs and epilogs in place. It does
this by doing the following:

  * Injects HOM_Prolog and HOM_Epilog pseudo instructions during a Prolog and
    Epilog Injection Pass.
  * Lowers and optimizes said pseudos in a AArchLowerHomogneousPrologEpilog Pass.
  * Outlined helpers are created on demand. Identical helpers are merged by the linker.
  * An opt-in flag is introduced to enable this feature. Another threshold flag
    is also introduced to control the aggressiveness of outlining for application's need.

This reduced an average of 4% of code size on LLVM-TestSuite/CTMark targeting arm64/-Oz.

Differential Revision: https://reviews.llvm.org/D76570
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was addedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was addedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll
The file was addedllvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-no-helper.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
Commit 21724ddcb7033cb010d57ff1a2d593cd70d462f5 by rob.suderman
[MLIR][TOSA] Comparison based elementwise operations for tosa-to-linalg

Comitted log, exp, maximum, minimum, comparison, ceil and floor conversions from TOSA to LinAlg. Support for signless integer and floating point.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D95839
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Commit 45db9d4594bdbb4a304c16f6ad61b87c60eeb300 by i
[test] Fix unused FileCheck prefixes in lldb
The file was modifiedlldb/test/Shell/Reproducer/TestMultipleTargets.test
Commit 80f539526eec31f03aadd96753648686312b1ad1 by i
[test] Default clang/test to FileCheck --allow-unused-prefixes=false
The file was removedclang/test/CodeGen/lit.local.cfg
The file was removedclang/test/Driver/lit.local.cfg
The file was removedclang/test/CodeGenCXX/lit.local.cfg
The file was modifiedclang/test/lit.cfg.py
The file was modifiedclang/test/Analysis/lit.local.cfg
The file was addedclang/test/OpenMP/lit.local.cfg
Commit d475030dc28a85e649cdd3dd4e5941ec82227c26 by gil.rapaport
[SCEV] Apply loop guards to divisibility tests

Extend applyLoopGuards() to take into account conditions/assumes proving some
value %v to be divisible by D by rewriting %v to (%v / D) * D. This lets the
loop unroller and the loop vectorizer identify more loops as not requiring
remainder loops.

Differential Revision: https://reviews.llvm.org/D95521
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Transforms/LoopUnroll/runtime-unroll-assume-no-remainder.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
Commit a59283a74529c74a8ee8682f9acf9d993f7cda08 by i
[test] Fix unused FileCheck prefixes in compiler-rt
The file was modifiedcompiler-rt/test/asan/TestCases/asan_update_allocation.cpp
The file was modifiedcompiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c
The file was modifiedcompiler-rt/test/msan/death-callback.cpp
Commit 86b249c040ca7af31953ef304ac780502f2d285a by Lang Hames
[ORC] Clear unused materializing info entries.

Once a symbol is Ready its MaterializingInfo entry is unused and can be removed
to free up some memory.
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
Commit af6be9a7bb0fca891ec60138608902cd37b9f84f by i
[test] Fix unused FileCheck prefixes in clang-tidy and one llvm/test/Reduce test
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp
The file was modifiedllvm/test/Reduce/remove-function-bodies-used-in-globals.ll
Commit ab1d977a16c4fd2bdaaac539f8f82006234d7c75 by i
[test] Fix unused FileCheck prefixes in test/Reduce
The file was modifiedllvm/test/Reduce/remove-multiple-use-of-global-vars-in-same-instruction.ll
The file was modifiedllvm/test/Reduce/remove-multiple-use-of-args-in-same-instruction.ll
The file was modifiedllvm/test/Reduce/remove-function-attributes.ll
The file was modifiedllvm/test/Reduce/remove-unused-declarations.ll
The file was modifiedllvm/test/Reduce/no-replace-intrinsic-callee-with-undef.ll
Commit 8f7f2c4211caf724e8319976968995bec1894b96 by plotfi
Revert "[AArch64] Homogeneous Prolog and Epilog Size Optimization"

This reverts commit 0426be3df6180747bd68706db87a70580f064f0f.

Reverting due to some expensive-checks failures in tests.
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was removedllvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
The file was removedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-no-helper.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was removedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was removedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-bad-outline.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was removedllvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-frame-tail.ll
Commit 6ee1f64a2e828d27a6c20839232b3ac828367123 by shivam98.tkg
[NFC][Docs] Fix RAVFrontendAction doc's CMakelists.txt for Shared build

[[ https://clang.llvm.org/docs/RAVFrontendAction.html | Example tutorial ]] giving undefine reference error while building with BUILD_SHARED_LIBS=ON.

Differential Revision: https://reviews.llvm.org/D95737
The file was modifiedclang/docs/RAVFrontendAction.rst
Commit 4553821815ebe3101dd7c8514a5a2b45891b29a6 by craig.topper
[SelectionDAG] Prevent scalable vector warning from ComputeNumSignBits on extract_vector_elt on a scalable vector.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 49c9c3a59e21205aabe48f92b9e53bf666348388 by nicolas.vasilache
[mlir][Standard] Extend n-D vector lowering to LLVM to [s|z]exti ops.

[s|z]exti ops do not have the same operand and result type.
As a consequence, the lowering of the n-D vector form needs to be relaxed a bit.
This revision additionally performs a few NFC renamings of variables to make them more intuitive.

Differential Revision: https://reviews.llvm.org/D95760
The file was addedmlir/test/Conversion/StandardToLLVM/convert-nd-vector-to-llvmir.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
Commit 6bae5973c476e16dbbc82030d65c7859a6628e89 by aktoon
[CSSPGO] Call site prioritized inlining for sample PGO

This change implemented call site prioritized BFS profile guided inlining for sample profile loader. The new inlining strategy maximize the benefit of context-sensitive profile as mentioned in the follow up discussion of CSSPGO RFC. The change will not affect today's AutoFDO as it's opt-in. CSSPGO now defaults to the new FDO inliner, but can fall back to today's replay inliner using a switch (`-sample-profile-prioritized-inline=0`).

Motivation

With baseline AutoFDO, the inliner in sample profile loader only replays previous inlining, and the use of profile is only for pruning previous inlining that turned out to be cold. Due to the nature of replay, the FDO inliner is simple with hotness being the only decision factor. It has the following limitations that we're improving now for CSSPGO.
- It doesn't take inline candidate size into account. Since it's doing replay, the size growth is bounded by previous CGSCC inlining. With context-sensitive profile, FDO inliner is no longer limited by previous inlining, so we need to take size into account to avoid significant size bloat.
- The way it looks at hotness is not accurate. It uses total samples in an inlinee as proxy for hotness, while what really matters for an inline decision is the call site count. This is an unfortunate fall back because call site count and callee entry count are not reliable due to dwarf based correlation, especially for inlinees. Now paired with pseudo-probe, we have accurate call site count and callee's entry count, so we can use that to gauge hotness more accurately.
- It treats all call sites from a block as hot as long as there's one call site considered hot. This is normally true, but since total samples is used as hotness proxy, this transitiveness within block magnifies the inacurate hotness heuristic. With pseduo-probe and the change above, this is no longer an issue for CSSPGO.

New FDO Inliner

Putting all the requirement for CSSPGO together, we need a top-down call site prioritized BFS inliner. Here're reasons why each component is needed.
- Top-down: We need a top-down inliner to better leverage context-sensitive profile, so inlining is driven by accurate context profile, and post-inline is also accurate. This is already implemented in https://reviews.llvm.org/D70655.
- Size Cap: For top-down inliner, taking function size into account for inline decision alone isn't sufficient to control size growth. We also need to explicitly cap size growth because with top-down inlining, we can grow inliner size significantly with large number of smaller inlinees even if each individually passes the cost/size check.
- Prioritize call sites: With size cap, inlining order also becomes important, because if we stop inlining due to size budget limit, we'd want to use budget towards the most beneficial call sites.
- BFS inline: Same as call site prioritization, if we stop inlining due to size budget limit, we want a balanced inline tree, rather than going deep on one call path.

Note that the new inliner avoids repeatedly evaluating same set of call site, so it should help with compile time too. For this reason, we could transition today's FDO inliner to use a queue with equal priority to avoid wasted reevaluation of same call site (TODO).

Speculative indirect call promotion and inlining is also supported now with CSSPGO just like baseline AutoFDO.

Tunings and knobs

I created tuning knobs for size growth/cap control, and for hot threshold separate from CGSCC inliner. The default values are selected based on initial tuning with CSSPGO.

Results

Evaluated with an internal LLVM fork couple months ago, plus another change to adjust hot-threshold cutoff for context profile (will send up after this one), the new inliner show ~1% geomean perf win on spec2006 with CSSPGO, while reducing code size too. The measurement was done using train-train setup, MonoLTO w/ new pass manager and pseudo-probe. Note that this is just a starting point - we hope that the new inliner will open up more opportunity with CSSPGO, but it will certainly take more time and effort to make it fully calibrated and ready for bigger workloads (we're working on it).

Differential Revision: https://reviews.llvm.org/D94001
The file was addedllvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll
The file was addedllvm/test/Transforms/SampleProfile/csspgo-inline.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp
The file was addedllvm/test/Transforms/SampleProfile/Inputs/indirect-call-csspgo.prof
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-tracker-debug.ll
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-tracker.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/SampleContextTracker.h
The file was addedllvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit e7f9a834996f40be8dc46a0b059aa850f1f4ef05 by craig.topper
[RISCV] Replace NoX0 SDNodeXForm with a ComplexPattern to do the selection of the VL operand.

I think this is a more standard way of doing this.

Reviewed By: rogfer01

Differential Revision: https://reviews.llvm.org/D95833
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 62af0305b7cc0238a8f0bf138c1fb8745b1041d0 by thomas.symalla
Added clamp i64 to i16 global isel pattern.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCombine.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/clampi64toi16.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Commit ec043967ecb4bbfbf3bcbdad4055e9ba8e5dc21b by thomas.symalla
clang-format
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Commit d722924f20918fd29d342cb2be50393d0fa9347f by thomas.symalla
Added comments.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Commit fce3230be2c84401598e8ff5ce470e7509ecf75b by thomas.symalla
Added early exit.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit d41b7fa9bf80e09a52aa0d392db94a7b971044c9 by thomas.symalla
Renames
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/clampi64toi16.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Commit 88a832aef1a696178c2ec3cb93f913ac937c4f5e by thomas.symalla
Refactored the pattern matching.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Commit dae85e4671416490c6aaf2bac88c3ce1d74cc4d6 by thomas.symalla
Fixed the lit tests and a bug in the implementation.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
Commit 9a8da909f192e576e6aabc0ee5343bfff6db1d69 by thomas.symalla
Reverted unintended git-format change.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit f2ef2fbc692ed17bdb012a88cf0435dcd243cff8 by thomas.symalla
Renamed identifiers in lit
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
Commit cdfd9b3bf52e95705935699de90d3e3be7b33de4 by thomas.symalla
Move Combiner to PreLegalize step
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCombine.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Commit 3a46502264b6a53764e28d55e990f714a31cba70 by thomas.symalla
Move step to PreLegalizer
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
Commit 79e729bdf14c884f13aff010ac9509370676aba7 by thomas.symalla
Fixed tests.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
Commit 7b2e701906c66d765b60f25ee746c713788ec714 by thomas.symalla
Code changes yielded from review.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
Commit ecbed4e0ab3ebc2388a35563e756a62c2d53b24c by thomas.symalla
Resolve formatting changes.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was addeddiff.txt
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
Commit bcd6c2d2031af50ffe9b357e839b8a9dd4d0ddd6 by thomas.symalla
Updating formatting changes.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 7d24026ed2b7493f38e0b6b9d1bfb38db7998171 by thomas.symalla
Formatting changes.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 52bfb50145ab1257d53a2909aeb0c8ec81e511fd by thomas.symalla
Formatting changes
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 6604d81e1bb349597e8c1b919303a2efb4c9ba19 by thomas.symalla
Added and used new target pseudo for v_cvt_pk_i16_i32, changes due to code review.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit c781c254124445259fbea3049cd32544afca1cb5 by thomas.symalla
Implemented a MED3_S32 GIR opcode.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit fa3e840d3d7d14fe131b0df0db359025b9446b9e by thomas.symalla
Removed the generic virtual register creations. Reworked the tests.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll
Commit 602896b9d2f27b1ea0fd1f78db51fee25d4f2de0 by thomas.symalla
Renamed med3 opcode, removed superfluous copy.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit e630dd476ca719cacdd089a88be5faa387f65ec9 by thomas.symalla
Added missing includes.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
Commit 09508d28496069169a8538c96a16b665187db44f by thomas.symalla
Reverted whitespace changes.

Differential Revision: https://reviews.llvm.org/D90968
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 6c85e98f06426c2a1b33e0e862edc1afc0810d5d by thomas.symalla
Fixed includes.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
Commit faeed774d15734618a8928c3d17ce2f41bf607a3 by thomas.symalla
Fixed includes.

Differential Revision: https://reviews.llvm.org/D93708
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 508329922dad8dd8b0eef267a6b72f3ac2440485 by thomas.symalla
Removed Diff file.

Differential Revision: https://reviews.llvm.org/D93708
The file was removeddiff.txt
Commit 9a03058d6322edb8abc803ba3e436cc62647d979 by aktoon
[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline

Refactoring SampleProfileLoader::inlineHotFunctions to use helpers from CSSPGO inlining and reduce similar code in the inlining loop, plus minor cleanup for AFDO path.

Test Plan:

Differential Revision: https://reviews.llvm.org/D95024
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll
The file was modifiedllvm/test/Transforms/SampleProfile/remarks.ll
Commit 09cd849fdef2b2d3de2d0b0a5c512100957e0ef6 by aktoon
Fix build break from D95024
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit fc22de82182e05794123be70df5dfe15600c02b4 by sebastian.neubauer
[AMDGPU] Clarify calling conv about inactive lanes

So far, it was not specified what happens with the VGPRs of inactive
lanes when functions are called. This patch explicitely mentions that
the VGPR values of inactive lanes need to be preserved for all
registers.

This describes the current behavior, as only active lanes of registers
are saved to scratch. Also, as the multi-lane nature of VGPRs is not
properly modeled, we cannot determine the live VGPRs from inactive lanes
at calls. So we cannot save them, even if we intended to do so.

Differential Revision: https://reviews.llvm.org/D95610
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit b91afa474e124514fe7bd3f399af0cbbcbe961fc by sebastian.neubauer
[AMDGPU] Mark epilog restores as frame-destroy

I guess instructions were marked as frame-setup by accident, they are
restores as part of the epilog.

Differential Revision: https://reviews.llvm.org/D95783
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/fix-frame-ptr-reg-copy-livein.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
Commit 0479c53b6c5224c16bdc78cb014e76c0b0dbc6f9 by hans
[dllimport] Honor always_inline when deciding whether a dllimport function should be available for inlining (PR48925)

Normally, Clang will not make dllimport functions available for inlining
if they reference non-imported symbols, as this can lead to confusing
link errors. But if the function is marked always_inline, the user
presumably knows what they're doing and the attribute should be honored.

Differential revision: https://reviews.llvm.org/D95673
The file was modifiedclang/test/CodeGenCXX/dllimport.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 0409eb287414b71cfdcda13796c93794b71ea6d4 by zinenko
[mlir] Keep track of region signature conversions as argument replacements

In dialect conversion, signature conversions essentially perform block argument
replacement and are added to the general value remapping. However, the replaced
values were not tracked, so if a signature conversion was rolled back, the
construction of operand lists for the following patterns could have obtained
block arguments from the mapping and give them to the pattern leading to
use-after-free. Keep track of signature conversions similarly to normal block
argument replacement, and erase such replacements from the general mapping when
the conversion is rolled back.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D95688
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
The file was modifiedmlir/test/Transforms/test-legalize-type-conversion.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit 679ef22f2e553e73eda43c45d4361256c4524c00 by benny.kra
Fold one-use variable into assert. NFCI.

Avoids a warning in Release builds.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
Commit d4d4ceeb8f3be67be94781ed718ceb103213df74 by david.sherwood
[SVE][LoopVectorize] Add masked load/store and gather/scatter support for SVE

This patch updates IRBuilder::CreateMaskedGather/Scatter to work
with ScalableVectorType and adds isLegalMaskedGather/Scatter functions
to AArch64TargetTransformInfo. In addition I've fixed up
isLegalMaskedLoad/Store to return true for supported scalar types,
since this is what the vectorizer asks for.

In LoopVectorize.cpp I've changed
LoopVectorizationCostModel::getInterleaveGroupCost to return an invalid
cost for scalable vectors, since currently this relies upon using shuffle
vector for reversing vectors. In addition, in
LoopVectorizationCostModel::setCostBasedWideningDecision I have assumed
that the cost of scalarising memory ops is infinitely expensive.

I have added some simple masked load/store and gather/scatter tests,
including cases where we use gathers and scatters for conditional invariant
loads and stores.

Differential Revision: https://reviews.llvm.org/D95350
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 760e6c4ce58324856d8f105b37bb974564e0f170 by andrzej.warzynski
[flang][driver] Disallow non-existent input files in the frontend driver

This patch adds a check that verifies that the input file used when
calling the frontend driver (i.e. `flang-new -fc1`) actually exists.
This was not required for the compiler driver, `flang-new`, as that's
already handled in libclangDriver.

Once all input/output file management is moved to the driver, we should
also check that for input from `stdin` the corresponding file descriptor
was successfully acquired.

This patch also makes sure that the default action in the frontend is
`ParseSyntaxOnly`. This is consistent with Clang. Before this change
`flang-new -fc1` would do nothing, which makes testing changes like the
one introduced here a bit tricky.

Reviewed By: SouraVX

Differential Revision: https://reviews.llvm.org/D95127
The file was modifiedflang/test/Flang-Driver/missing-input.f90
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/lib/Frontend/FrontendAction.cpp
Commit 64421988e3958b19a8db6d29433f62f3db2fdb9a by david.green
[ARM] Regenerate LowOverheadLoops mir tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-mov.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/end-positive-offset.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-def.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-while.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/out-of-range-cbz.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-use.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/multiblock-massive.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/size-limit.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/massive.mir
Commit 3a65ec4bf96bccafdb3524f116844ebdd789c76a by akuegel
Revert "Fix build break from D95024"

This reverts commit 09cd849fdef2b2d3de2d0b0a5c512100957e0ef6.
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 48ca6da9d2f534752f5a5263a6209257149dba7d by akuegel
Revert "[CSSPGO] Factor out common part for CSSPGO inline and AFDO inline"

This reverts commit 9a03058d6322edb8abc803ba3e436cc62647d979.
The file was modifiedllvm/test/Transforms/SampleProfile/remarks.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/pseudo-probe-inline.ll
Commit 48230355e930c592ec105ed71963459671c54a42 by david.green
[ARM] Remove DLS lr, lr

A DLS lr, lr instruction only moves lr to itself. It need not be emitted
on it's own to save a instruction in the loop preheader.

Differential Revision: https://reviews.llvm.org/D78916
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-1.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp16-reduce.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
The file was modifiedllvm/test/Transforms/HardwareLoops/ARM/simple-do.ll
The file was modifiedllvm/test/Transforms/HardwareLoops/ARM/calls-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-16.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-3.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unrolled-and-vector.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/skip-debug.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-liveout-lsr-shift.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-load.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-32.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldshuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/non-masked-store.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-threshold.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-nounrolledremainder.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/minloop.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vabdus.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-guards.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/constbound.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/unpredload.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shifts-scalar.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-8.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/ctlz-non-zeros.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
The file was modifiedllvm/test/Transforms/HardwareLoops/ARM/structure.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/multi-block-cond-iter-count.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/inloop-vpnot-2.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vaddv.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/aligned-nonfallthrough.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
Commit dc00c96b2d1bcae56ef598b614ba65a1cc26c4de by sven.vanhaastregt
[OpenCL] Change extension handling for -fdeclare-opencl-builtins

Until now, the `-fdeclare-opencl-builtins` option behaved differently
compared to inclusion of `opencl-c.h`: builtins that are part of an
extension were only available if the extension was enabled using the
corresponding pragma.

Builtins that belong to an extension are guarded using a preprocessor
macro (that is named after the extension) in `opencl-c.h`.  Align the
behaviour of `-fdeclare-opencl-builtins` with this.

Co-authored-by: Anastasia Stulova

Differential Revision: https://reviews.llvm.org/D95616
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
Commit 4d904776a77aa80342c65cf72a962920cc9d1fa9 by llvm-dev
[X86][AVX] Add missing VEX_WIG tags from VPACKUSDW/VPHSUBD/VPCMPISTRI/VPCMPISTRM/VPCMPESTRI/VPCMPESTRM

Fixes PR48877

Differential Revision: https://reviews.llvm.org/D95801
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/test/MC/Disassembler/X86/x86-64-avx2.txt
The file was modifiedllvm/test/MC/Disassembler/X86/x86-64-avx.txt
Commit 0a2a260aab177bfbdef5829ea16e39323ce50916 by nicolas.vasilache
[mlir][Linalg] Refactor Linalg vectorization for better reuse and extensibility.

This revision unifies Linalg vectorization and paves the way for vectorization of Linalg ops with mixed-precision operations.
The new algorithm traverses the ops in the linalg block in order and avoids recursion.
It uses a BlockAndValueMapping to keep track of vectorized operations.

The revision makes the following modifications but is otherwise NFC:
1. vector.transfer_read are created eagerly and may appear in a different order than the original order.
2. a more progressive vectorization to vector.contract results in only the multiply operation being converted to `vector.contract %a, %b, %zero`, where `%zero` is a
constant of the proper type. Later vector canonicalizations are assumed to rewrite vector.contract %a, %b, %zero + add to a proper accumulate form.

Differential revision: https://reviews.llvm.org/D95797
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit 94fedd266125a5425aa33e11332bf414f0b6dc35 by andrew.ng
[X86] Fix disassembly of x86-64 GDTLS code sequence

For x86-64 the REX.w prefix takes precedence over any other size
override (i.e. 0x66). Therefore, for x86-64 when REX.w is present set
'hasOpSize' to false to ensure that any size override is ignored.

Fixes PR48901.

Differential Revision: https://reviews.llvm.org/D95682
The file was modifiedllvm/test/MC/Disassembler/X86/x86-64.txt
The file was addedllvm/test/tools/llvm-objdump/X86/disassemble-gdtls.s
The file was modifiedllvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
Commit d46a6b3d55e601705184c1f819bd1f498a648ce7 by llvm-dev
[X86][AVX512] Support variable-index vector insertion on AVX512 targets (PR47924)

With predicate masks, AVX512 can efficiently perform variable-index vector insertion with 2 broadcasts + 1 comparison, avoiding a lot of aliased memory traffic.

Differential Revision: https://reviews.llvm.org/D95779
The file was modifiedllvm/test/CodeGen/X86/avx512-insert-extract.ll
The file was modifiedllvm/test/CodeGen/X86/insertelement-var-index.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 586df38478b2bf2a85128e72a5300da9b1b09a5e by dmitry.preobrazhensky
[AMDGPU][MC] Corrected parsing of optional modifiers

Fixed bugs in parsing of "no*" modifiers and improved errors handling.
See https://bugs.llvm.org/show_bug.cgi?id=41282.

Differential Revision: https://reviews.llvm.org/D95675
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx8_err_pos.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-modifiers-err.s
The file was modifiedllvm/test/MC/AMDGPU/vop3-modifiers.s
The file was modifiedllvm/test/MC/AMDGPU/gfx9_err_pos.s
The file was modifiedllvm/test/MC/AMDGPU/flat-global.s
The file was modifiedllvm/test/MC/AMDGPU/flat-scratch-instructions.s
Commit 94f540cc7ceb98a25a62f04647ce30974a33a3d6 by benny.kra
[mlir][Linalg] Fix unused variable warning in Release builds. NFC.
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit fbeff2ec2bc6e44b92931207b0063f83ff7a3b3a by usx
[clangd] Report only decl of overridding method in xref.

See: https://github.com/clangd/clangd/issues/668

```
struct A { virtual void foo() = 0; };
struct B : A { void foo() override; };
```

Find refs on `A::foo()` will show:
- decls of `A::foo()`
- decls of `B::foo()`
- refs to `A::foo()`
- no refs to `B::foo()`.

Differential Revision: https://reviews.llvm.org/D95812
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.h
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit f2b4cc91e0830835c251e0525322effda8522b1c by thakis
Revert "[test] Default clang/test to FileCheck --allow-unused-prefixes=false"

This reverts commit 80f539526eec31f03aadd96753648686312b1ad1.
Many test failures on mac: http://45.33.8.238/macm1/2772/summary.html
One on win: http://45.33.8.238/win/32442/summary.html
The file was removedclang/test/OpenMP/lit.local.cfg
The file was modifiedclang/test/Analysis/lit.local.cfg
The file was modifiedclang/test/lit.cfg.py
The file was addedclang/test/CodeGen/lit.local.cfg
The file was addedclang/test/CodeGenCXX/lit.local.cfg
The file was addedclang/test/Driver/lit.local.cfg
Commit 8fce22888bd2aec9eadf8a0f229bfd0dbe06460d by nicolas.vasilache
[mlir][Linalg] Fix and properly test CodegenStrategy API

Fix a bug that was introduced where calling the codegen strategy with actual concrete C++ Op types did not trigger the expected behavior.
Also introduce a test for the behavior that was missing.

Differential Revision: https://reviews.llvm.org/D95863
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
The file was modifiedmlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir
Commit d6a06365cf12bebe20a7d65cf3894608efc089b4 by steveire
[ASTMatchers] Fix matching after generic top-level matcher

With a matcher like

  expr(anyOf(integerLiteral(equals(42)), unless(expr())))

and code such as

  struct B {
    B(int);
  };

  B func1() { return 42; }

the top-level expr() would match each of the nodes which are not spelled
in the source and then ignore-traverse to match the integerLiteral node.
This would result in multiple results reported for the integerLiteral.

Fix that by only running matching logic on nodes which are not skipped
with the top-level matcher.

Differential Revision: https://reviews.llvm.org/D95735
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit 00da3227882654533efe9ae62023e367e4a88e29 by sander.desmalen
NFC: Migrate SimpleLoopUnswitch 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/D95352
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit 3d3ca8f8ebc4a7e50e1bb1f6eb6a92056a69fd71 by sander.desmalen
NFC: Migrate SpeculateAroundPHIs 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: ctetreau

Differential Revision: https://reviews.llvm.org/D95353
The file was modifiedllvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp
Commit 0f2be195d5e5fc79d28692266eae226cd42678b0 by Raphael Isemann
Revert "[lldb] Use current execution context in SBDebugger"

This reverts commit 754ab803b8dc659e3645d369d1b5d6d2f97be29e.

As pointed out in https://reviews.llvm.org/D95761, this patch could lead to
having the wrong execution context in some situations (thanks Jim!).

D92164 is addressing the same issue and will replace this patch, so I'll
revert this one.
The file was modifiedlldb/source/API/SBDebugger.cpp
The file was modifiedlldb/test/API/python_api/debugger/TestDebuggerAPI.py
Commit 8c2e075c2cee76a4ede05b44b4e269264ef62296 by llvm-dev
[X86][SSE] LowerINSERT_VECTOR_ELT - pull out repeated EltSizeInBits calls. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c72257563347b611733b6744cefc0bf49bab4f8d by david.green
[ARM] Select VINS from vector inserts

This patch adds tablegen patterns for pairs of i16/f16 insert/extracts.
If we are inserting into two adjacent vector lanes (0 and 1 for
example), we can use either a vmov;vins or vmovx;vins to insert the pair
together, avoiding a round-trip from GRP registers. This is quite a
large patterns with a number of EXTRACT_SUBREG/INSERT_SUBREG/
COPY_TO_REGCLASS nodes, but hopefully as most of those become copies all
that will be cleaned up by further optimizations.

The VINS pattern was also adjusted to allow it to represent that it is
inserting into the top half of an existing register.

Differential Revision: https://reviews.llvm.org/D95381
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind16-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-minmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpf.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-simple-arith.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmath.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmas.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst3.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovn.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp-negabs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovnstore.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-div-expand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-frint.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld3.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shufflemov.ll
Commit 467a045601430c81e1a7f41f6a134e751f17df55 by steveire
[ASTMatchers] Add matchers for decomposition decls

Differential Revision: https://reviews.llvm.org/D95739
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Commit a8105b3766e4195ca2390cd0714e07406bc8a4a5 by marek.kurdej
[clang-format] Add case aware include sorting.

Adds an option to [clang-format] which sorts headers in an alphabetical manner using case only for tie-breakers. The options is off by default in favor of the current ASCIIbetical sorting style.

Reviewed By: MyDeveloperDay, curdeius, HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D95017
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/unittests/Format/SortImportsTestJava.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/unittests/Format/SortIncludesTest.cpp
Commit c4fe29e0e5b6f637d12997bbd2b9c7634ae5598f by david.green
[ARM] Extra shuffle tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffle.ll
Commit 4f1320b77d1780dd7532f8ca8b123c13ab55bf1a by Tom.Weaver
Revert "[InstrProfiling] Use !associated metadata for counters, data and values"

This reverts commit df3e39f60b356ca9dbfc11e96e5fdda30afa7acb.

introduced failing test instrprof-gc-sections.c
causing build bot to fail:
http://lab.llvm.org:8011/#/builders/53/builds/1184
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was removedllvm/test/Transforms/PGOProfile/associated.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was removedcompiler-rt/test/profile/instrprof-gc-sections.c
Commit 9e5fc578f99aaa3f01374d3f09fda75fa7d0239e by steveire
[ASTMatchers] Ignore parts of BindingDecls which are not spelled in source

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