Changes

Summary

  1. [NFC] Fixed typo in a comment. (details)
  2. FuchsiaBuilder has been removed, so remove the remaining imports. (details)
Commit e2d0810d5f24590c65e40798b53c8c26e13f1c8c by gkistanova
[NFC] Fixed typo in a comment.
The file was modifiedbuildbot/osuosl/master/master.cfg (diff)
Commit 6330f19552c997e2a0f6dec1ea1b6e7d402ed5fa by gkistanova
FuchsiaBuilder has been removed, so remove the remaining imports.
The file was modifiedbuildbot/osuosl/master/config/release_builders.py (diff)

Summary

  1. [clang-format] Handle lambdas in QualifierAlignment (#72456) (details)
  2. [SampleProfileProbe] Downgrade probes too large from error to warning. (#72574) (details)
  3. [flang][OpenMP] Add semantic check for declare target (#71861) (details)
  4. [Driver][NFC] A bit more const for OpenBSD and DragonFly (details)
  5. [SLP][NFC]Make needToDelay constant, NFC. (details)
  6. [ORC] Fix some typos in comments in MachOPlatform. (details)
  7. [ORC-RT] Add bitmask-enum and bit_ceil utilities to the ORC runtime. (details)
  8. [C-API] Fix typo in comment. (details)
  9. [ASan] AddressSanitizerPass constructor should honor the AsanCtorKind argument (#72330) (details)
  10. [mlir][sparse] Use variable instead of inlining sparse encoding (#72561) (details)
  11. [SLP][NFC]Add TreeEntry-based add member functions and use them, where (details)
  12. [mlir][spirv] Fix VectorShuffle assembly format (#72568) (details)
  13. [flang][openacc] Add ability to link acc.declare_enter with acc.declare_exit ops (#72476) (details)
  14. [ORC-RT] Add missing cstdint include. (details)
  15. [mlir][sparse] implement direct IR alloc/empty/new for non-permutations (#72585) (details)
  16. Revert "[flang][OpenMP] Add semantic check for declare target" (#72592) (details)
  17. [SLP][NFC]Fix comparison of integers of different signs warning, NFC. (details)
  18. Remove deprecated warning from cmake files (#72595) (details)
  19. [NFC] Remove outdated comment (#72591) (details)
  20. [libc++][NFC] Fix include guard for simd helper header (details)
  21. [ELF] Make some InputSection/InputFile member functions const. NFC (details)
  22. Remove unused LoopInfo from InlineSpiller and SpillPlacement (NFC) (#71874) (details)
  23. [InstCombine] Preserve NSW flags for neg instructions (#72548) (details)
  24. [clang][Interp][NFC] Properly implement IntegralAP::from(IntegralAP) (details)
  25. [clang][Interp] Implement __builtin_bitreverse (#71687) (details)
  26. [clang] Add bitint classification for __builtin_classify_type (#72036) (details)
  27. [BOLT][NFC] Delete unused declarations (#72596) (details)
  28. [Docs][llvm-exegesis] Fix minor issues in llvm-exegesis docs (details)
  29. [ELF][test] gitBitcodeMachineKind: test EM_ARM (details)
  30. [SCEV][LV] Invalidate LCSSA exit phis more thoroughly (#69909) (details)
  31. [include-cleaner] Make sure exports of stdlib also works for physical files (#72246) (details)
  32. [MC] Fix compression header size check in ELF writer (details)
  33. [mlir][emitc] Rename `call` op to `call_opaque` (#72494) (details)
  34. [ValueTracking] Remove handling of KnownBits assumptions with invert (details)
  35. [mlir] Apply ClangTidy fix (details)
  36. [InstCombine] Pass InstCombineOptions instead of separate flags (NFC). (#72566) (details)
  37. [X86] getTargetConstantBitsFromNode - bail if we're loading from a constant vector element type larger than the target value size (details)
  38. [flang][RFC] Adding a design document for assumed-rank objects (#71959) (details)
  39. [X86] vec_fabs.ll - sort tests into 128/256/512-bit vector types (details)
  40. [X86] vec_fabs.ll - regenerate checks and add common AVX512 prefixes (details)
  41. [include-cleaner] Add regression tests for outliving File&Source Manager (details)
  42. Add llvm-dlltool to the toolchain list (#72563) (details)
  43. [lld][COFF][NFC] Factor out exception table sorting. (#72518) (details)
  44. [APINotes] Upstream APINotesManager (details)
  45. [InstCombine] Preserve NSW flags for `lshr (mul nuw X, C1), C2 -> mul nuw nsw X, (C1 >> C2)` (#72625) (details)
  46. Add libc++ github actions workflow to replace buildkite (#71836) (details)
  47. [LV] Reverse mask up front, not when creating vector pointer. (#72163) (details)
  48. [DebugInfo] Make DIArgList inherit from Metadata and always unique (#72147) (details)
  49. [mlir][vector] Move transpose with unit-dim to shape_cast pattern (#72493) (details)
  50. [AMDGPU] - Add constant folding for s_quadmask (#72381) (details)
  51. [Offloading][NFC] Refactor handling of offloading entries (#72544) (details)
  52. [OpenACC] Initial commits to support OpenACC (#70234) (details)
  53. [X86] Ensure asm comments only print the constant values for the vector load's register width (details)
  54. [Statepoint] Return undef value for the statepoint of the none token (#72552) (details)
  55. [TextAPI] don't write out empty/zeroed out min os (#72603) (details)
  56. [RISCV] Remove custom instruction selection for VFCVT_RM and friends (#72540) (details)
  57. [clang][Interp] Implement __builtin_classify_type (#71972) (details)
  58. [lldb][test] Add the ability to extract the variable value out of the summary. (#72631) (details)
  59. [RISCV] Use correct register class for Z[df]inx inline asm (#71872) (details)
  60. [RISCV] Fix crash in PEI with empty entry block with Zcmp (#72117) (details)
  61. [OpenACC] Rename ParseOpenACCDirective to ParseOpenACCDirectiveDecl (details)
  62. [llvm][InstrProfiling] Remove ptr-to-ptr bitcasts (NFC) (details)
  63. [lldb] Pass important options to dsymForUUID (#72669) (details)
  64. [SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using (details)
  65. [InstSimplify] Simplify calculation of GEP result pointer type (NFC) (details)
  66. [coroutines] Introduce [[clang::coro_return_type]] and [[clang::coro_wrapper]] (#71945) (details)
  67. Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. (details)
  68. [IR] Add GraalVM calling conventions (details)
  69. [AArch64] Additional test coverage for PR67879 (NFC) (details)
  70. [gn build] Port f049395fc8d6 (details)
  71. [gn build] Port ff219ea9ca80 (details)
  72. [Tooling/Inclusion] Avoid narrowing conversions in macro expansion (#72664) (details)
  73. [Clang] Warn on deprecated specializations used in system headers. (#70353) (details)
  74. [ClangModule] Fix decl-params-determinisim test after serialization change (#72572) (details)
  75. Replace getAs with castAs, dyn_cast with cast (NFC) (#72600) (details)
  76. [tsan] Shrink RiscV64 48-bit LowApp region slightly to speed up TSan RestoreAddr (#72316) (details)
  77. [AMDGPU] Pre-commit fdot2 test. NFC. (#72622) (details)
  78. [mlir][sparse] enable 2:4 test for both directIR/libgen path (#72593) (details)
  79. Revert "[DebugInfo] Make DIArgList inherit from Metadata and always unique" (#72682) (details)
  80. [MC][AsmParser] Diagnose improperly nested .cfi frames (details)
  81. [X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data (details)
  82. [NVPTX] Expand EXTLOAD for v8f16 and v8bf16 (#72672) (details)
  83. Add new API in SBTarget for loading core from SBFile (#71769) (details)
  84. Reapply "[DebugInfo] Make DIArgList inherit from Metadata and always unique" (details)
  85. [TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743) (details)
  86. [OpenMP] Add missing pieces in __kmp_launch_worker for Solaris support (#72613) (details)
  87. [mlir][sparse] refine reinterpret_map test cases (#72684) (details)
  88. [NFC][SLP] Remove unnecessary DL argument (#72674) (details)
  89. Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames" (details)
  90. [lldb] Remove unused Status::SetMachError (NFC) (#72668) (details)
  91. Modify llvm-gsymutil lookups to handle overlapping ranges correctly. (#72350) (details)
  92. [llvm][WebAssemblyFixFunctionBitcasts] Remove no-op ptr-to-ptr bitcast (NFC) (details)
  93. [MC][AsmParser] Diagnose improperly nested .cfi frames (details)
  94. [mlir][sparse] Clean up parser (#72571) (details)
  95. [OpenACC] Implement initial parsing for `parallel` construct (#72661) (details)
  96. [flang][NFC] Fix typo (details)
  97. [NFCI][msan] Reduce code duplication by extracting VarArgHelperBase (details)
  98. [OpenACC] Implement 'trivial' construct/directive parsing. (details)
  99. [NFC][msan] Remove unused parameter from getOriginPtrForVAArgument (#72687) (details)
  100. [libc++] Fix char_traits deprecation message (LLVM 18 -> 19) (#72690) (details)
  101. [libc] Add base for target config within cmake (#72318) (details)
  102. [ValueTracking] Ignore poison values in `computeKnownBits` (#72683) (details)
  103. [NFC][SHT_LLVM_BB_ADDR_MAP] Define and use constructor and accessors for BBAddrMap fields. (#72689) (details)
  104. [RISCV] Start vslide1down sequence with a dependency breaking splat (#72691) (details)
  105. [readtapi] Add Merge functionality (#72656) (details)
  106. [test][msan] Precommit tests for vararg improvements (#72612) (details)
  107. [Bazel] fixes for 9c0e64999b23046d0b8987a48ddc41a4c6129f9d (details)
  108. [lld][ELF] Recognize sparcv9 bitcode (#72609) (details)
  109. Revert "[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using" (details)
  110. Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames" (details)
  111. [clang-tidy][NFC][DOC] Add missing HICPP rule id's (#72553) (details)
  112. Fix python SyntaxWarnings in check-all output (#72538) (details)
  113. [SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using (details)
  114. [OpenACC] Handle lack of construct/directive (details)
  115. [runtimes][NFC] Remove trailing whitespace (details)
  116. [test][msan] s390x already passes the test (details)
  117. [libc++] Implement P2467R1: Support exclusive mode for fstreams (details)
  118. [msan][x86] Fix shadow for FP80 or long double (#72706) (details)
  119. [NFC][msan] Fix formating (details)
  120. [builtins] Move cfi start's after the symbol name [NFC] (details)
  121. [MC][AsmParser] Diagnose improperly nested .cfi frames (details)
  122. [clang-format] Fix crashes in AlignArrayOfStructures (#72520) (details)
  123. [NFC] Fix CSPGO clang pass manager test (#72681) (details)
  124. [mlir][memref] Rename ReifyRankedShapedTypeShapeOpInterface in comments (#72663) (details)
  125. [msan][x86] Fix shadow if vararg overflow beyond kParamTLSSize (details)
  126. [X86] Place data in large sections for large code model (#70265) (details)
  127. [mlir][sparse] stress test BSR (#72712) (details)
  128. [AArch64] Simplify legalizer info for G_JUMP_TABLE and G_BRJT. (#71962) (details)
  129. [msan][aarch64] Fix cleanup of unused part of overflow area (details)
  130. [msan][test] Add ptr test case (details)
  131. [msan][aarch64] Improve argument classification (details)
  132. [RISCV][GISel] Allow G_SELECT to have s32 type on RV64. (details)
  133. [test][msan] Remove redundant --check-prefixes (details)
  134. [LV] Pre-committing tests for changing loop interleaving count computation (#70272) (details)
  135. [clang-format][NFC] Remove a redundant isLiteral() call (details)
  136. Revert "[mlir][sparse] stress test BSR" (#72735) (details)
  137. [ELF] -r: rename orphan SHT_REL/SHT_RELA when the relocated input section is placed in an output section (details)
  138. [SimplifyCFG] Add optimization for switches of powers of two (#70977) (details)
  139. [InstCombine] Infer shift flags with unknown shamt (#72535) (details)
  140. Change libc++ builder group name to match what I am using in the infra (details)
  141. [Github] Print diff in code format helper (#72742) (details)
  142. [GreedyRA] Improve RA for nested loop induction variables (#72093) (details)
  143. [CGOpenMPRuntimeGPU] Replace unneeded use of CreatePointerBitCastOrAddrSpaceCast (NFC) (details)
  144. [llvm][RelLookupTableConverter] Remove no-op ptr-to-ptr bitcast (NFC) (details)
  145. [CodeGen][DebugInfo] Add missing debug info for jump table BB (#71021) (details)
  146. [clang-tidy] Improve alternate snake case warnings (#71385) (details)
  147. [LLVM][DWARF] Add support for monolithic types in .debug_names (#70515) (details)
  148. [SelectionDAG] Fix crash for salvaging with indirect debug values (#72645) (details)
  149. [mlir][affine] remove divide zero check when simplifer affineMap (#64622) (#68519) (details)
  150. [MC] Remove duplicate Contents field from MCLEBFragment. (details)
  151. [RISCV][GISel] Remove the rv32/rv64 subdirectories for legalizer tests. NFC (details)
  152. [mlir][affine] Remove unused captures (details)
  153. [bazel] Port dc4786b4877d67d73d3892c45baf6811af0e6f57 (details)
  154. [CGObjCGNU] Remove unneeded method 'CGObjCGNUstep2::EnforceType' (NFC) (details)
  155. [AArch64] Add some testing for BE shuffles. NFC (details)
  156. [Github] Add build Flang docs in CI if autogenerated files change (#72721) (details)
  157. [RISCV][GISel] Add s32 G_SELECT instruction select test for RV64. NFC (details)
  158. [RISCV][GISel] Instruction selection for G_JUMP_TABLE and G_BRJT. (#71987) (details)
  159. [LV] Retain mask-reversal comment as suggested after e5e71af. (details)
  160. [LV] Don't crash on vector masks during scalar VPReductionRecipe::exec. (details)
  161. [DAG] Fix ShrinkDemandedOp doxygen description to match behaviour. NFC. (details)
  162. Revert rGbfbfd1caa4da "[X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data" (details)
  163. [CGObjCMac] Replace calls to ConstantAggregateBuilderBase::addBitCast (NFC) (details)
  164. Apply clang-tidy fixes for performance-unnecessary-value-param in IRAttributes.cpp (NFC) (details)
  165. Apply clang-tidy fixes for llvm-else-after-return in IRCore.cpp (NFC) (details)
  166. Apply clang-tidy fixes for misc-include-cleaner in IRCore.cpp (NFC) (details)
  167. Apply clang-tidy fixes for readability-identifier-naming in IRCore.cpp (NFC) (details)
  168. Apply clang-tidy fixes for misc-include-cleaner in IRInterfaces.cpp (NFC) (details)
  169. Apply clang-tidy fixes for performance-unnecessary-value-param in IRInterfaces.cpp (NFC) (details)
  170. [DebugInfo][RemoveDIs] Support finding DPValues like dbg.values (#71952) (details)
  171. [clang] Remove ConstantAggregateBuilderBase::addBitCast (NFC) (details)
  172. [clang] Remove unused selStructPtrTy in CGObjCGNU.cpp (NFC) (details)
  173. [NFC] Fix typos in comments (details)
  174. [Github] Prevent scorecard action from running on forks (#72780) (details)
  175. [Github] Fix typo (details)
  176. [Driver] Enable __float128 support on X86 on FreeBSD / NetBSD (#72788) (details)
  177. Revert "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)" (details)
  178. [libc++] Use __is_pointer_in_range for char_traits checks (#72643) (details)
  179. [InstCombine] Propagate NSW/NUW flags for `(X - Y) - Z -> X - (Y + Z)` (#72693) (details)
  180. [InstCombine] Add tests for improving `sub X, ~Y` -> `add X, -Y`; NFC (details)
  181. [InstCombine] Don't transform `sub X, ~Y` -> `add X, -Y` unless `Y` is actually negatable (details)
  182. [X86] Add more tests for transform `(icmp eq/ne (and X,C0),(shift X,C1))`; PR71598 (details)
  183. Recommit "[DAGCombiner] Transform `(icmp eq/ne (and X,C0),(shift X,C1))` to use rotate or to getter constants." (2nd Try) (details)
  184. [InstCombine] Add tests for transforming `(icmp eq/ne trunc(x), truncOrZext(y))`; NFC (details)
  185. [InstCombine] Add transforms for `(icmp uPred (trunc x),(truncOrZext(y)))`->`(icmp uPred x,y)` (details)
  186. [mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547) (details)
  187. [test] Fix misused Joined -e options (details)
  188. Revert "[mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)" (details)
  189. [RISCV] Don't set nsw/nuw/exact flag after MachineCombiner reassociation. (details)
  190. Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames" (details)
  191. [clang-format][NFC] Skip alignArrayInitializers() for 1-row matrices (#72166) (details)
  192. [clang-format] Fix a bug in aligning comments above PPDirective (#72791) (details)
  193. [clang-format] Fix a bug in isStartOfName() on macro definitions (#72768) (details)
  194. [clang-format] Correctly annotate braces of empty functions (#72733) (details)
  195. [mailmap] Add my entry (details)
  196. [PowerPC][EarlyIfConversion] Do not insert `isel` if subtarget doesn't support `isel` (#72211) (details)
  197. [NFC][Clang] Refactor code to calculate flexible array member size (#72790) (details)
  198. [RISCV] postpone removal in initundef pass (#71661) (details)
  199. [InstCombine] Convert or concat to fshl if opposite or concat exists (#68502) (details)
  200. [RISCV] Use DemandedFields instead of checking for vmv.s.x/vmv.x.s. NFC (details)
  201. [RISCV] Remove checks that MI's info is valid. NFC (details)
  202. Add @MaheshRavishankar to CODEOWNERS on relevant source files. (#72449) (details)
  203. Revert "Add new API in SBTarget for loading core from SBFile (#71769)" (details)
  204. [PowerPC] Disable float128 on AIX in Clang (#67298) (details)
  205. [PowerPC] Precommit test to show codegen while `isel` is unavailable. NFC. (details)
  206. [ARM][FPEnv] Lowering of fpenv intrinsics (details)
  207. [AArch64][SME] Add support for sme-fa64 (#70809) (details)
  208. [mlir][vector] Extend TransferReadDropUnitDimsPattern to support partially-static memrefs (#72142) (details)
  209. [NewPM] Remove GuardWideningLegacyPass (#72810) (details)
  210. [NewPM] Remove LoopSinkLegacy Pass (#72811) (details)
  211. [NewPM] Remove LoopInstSimplifyLegacyPass (#72812) (details)
  212. [NewPM] Remove MergedLoadStoreMotionLegacyPass (#72813) (details)
  213. Revert "Apply clang-tidy fixes for misc-include-cleaner in IRCore.cpp (NFC)" (details)
  214. [AMDGPU] Emit backend_stack_size PAL metadata (#72509) (details)
  215. [NewPM] Remove UnifyFunctionExitNodesLegacyPass (#72816) (details)
  216. [NewPM] Remove AssumeBundleBuilderPassLegacyPass (#72817) (details)
  217. [NewPM] Remove LowerWidenableConditionLegacyPass (#72818) (details)
  218. [OpenMP] atomic compare fail : Parser & AST support (details)
  219. [NewPM] Remove ScalarizerLegacyPass (#72814) (details)
  220. [llvm-exegesis] Fix race condition in subprocess mode (#72778) (details)
  221. [llvm-exegesis] Preserve rcx and r11 around system call (#72807) (details)
  222. Apply clang-tidy fixes for llvm-else-after-return in AMDGPUToROCDL.cpp (NFC) (details)
  223. Apply clang-tidy fixes for llvm-include-order in ComplexToLLVM.cpp (NFC) (details)
  224. Apply clang-tidy fixes for llvm-qualified-auto in ConvertToLLVMPass.cpp (NFC) (details)
  225. Apply clang-tidy fixes for llvm-qualified-auto in ToLLVMInterface.cpp (NFC) (details)
  226. Apply clang-tidy fixes for llvm-else-after-return in GPUToLLVMConversion.cpp (NFC) (details)
  227. [PowerPC] Use MIR test so that it's not affected by instruction selection. NFC. (details)
  228. [AArch64][SME] Remove immediate argument restriction for svldr and svstr (#68565) (details)
  229. [MachineLICM][AArch64] Hoist COPY instructions with other uses in the loop (#71403) (details)
  230. [AArch64] Fix big endian shuffle vector miscompile (#68673) (details)
  231. [mlir][vector] Modernize `vector.transpose` op (#72594) (details)
  232. [InstSimplify] Fold converted urem to 0 if there's no overlapping bits (#71528) (details)
  233. [DAG] narrowExtractedVectorBinOp - ensure we limit late node creation to LegalOperations only (#72130) (details)
  234. Fix typo in DiagnosticSemaKinds.td (details)
  235. [LAA] Add extra test for #70819 showing incorrect Forward dep. (details)
  236. [AArch64] Add missing bf16 store pattern (#72844) (details)
  237. [clang][Interp][NFC] Factor array element init into its own function (details)
  238. [X86] vector-half-conversions.ll - regenerate with AVX512 slow/fast lane shuffles (details)
  239. [DAG] clang-format createBranchMacroFusionDAGMutation calls. NFC. (details)
  240. [clang][Interp][NFC] Use isArrayRoot() when comparing pointers (details)
  241. Add llvm-mca to the list of toolchain tools (#72840) (details)
  242. [AMDGPU] Add live-through register set printing to GCNRegPressurePrinter pass. (#71096) (details)
  243. [NFC][SROA] Remove implementation details from SROA header (#72846) (details)
  244. [llvm-c] Fix outdated comment (NFC) (details)
  245. [mlir][Docs] Code review is now done on GitHub (details)
  246. [LV] Refactor vector function variant selection to prepare for uniform args (#68879) (details)
  247. [LV] Precommit tests for uniform arguments for vector function variants (details)
  248. [AMDGPU] Fix PromoteAlloca size check of alloca for store (#72528) (details)
  249. [mlir][ArmSME] Move vector.extract/insert lowerings to vector-to-arm-sme (NFC) (#72852) (details)
  250. [SLP]Do not emit int bitcast after minbitwidth analysis. (details)
  251. [LV] Stability fix for outerloop vectorization (#68118) (details)
  252. [X86] Regenerate constant-pool-sharing.ll with AVX test coverage (details)
  253. [X86] constant-pool-sharing.ll - add test showing failure to reuse subvectors when storing larger vector types (details)
  254. [InstrProf] Add pgo use block coverage test (#72443) (details)
  255. [InstSimplify] Remove redundant gep zero fold (NFC) (details)
  256. [InstCombine] Propagate NUW flags for `shl (lshr X, C1), C2 -> shl X, C2-C1` (#72525) (details)
  257. [X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data (REAPPLIED) (details)
  258. Add @ftynse as GitHub codeowner for MLIR Transform dialect (#72882) (details)
  259. [C23] Complete support for WG14 N2508 (#71398) (details)
  260. NFCI: update debug-names-types test to use an output file unique to the test (details)
  261. [clang][driver] Add <executable>/../include/c++/v1 to include path on Darwin (#70817) (details)
  262. [libc++] Stop checking for trailing whitespace in check-generated-output (#72711) (details)
  263. [SLP]Fix PR72833: do not crash if only operand is casted but the use (details)
  264. [Flang][OpenMP] NFC: Formatting change (details)
  265. Revert "[OpenMP] atomic compare fail : Parser & AST support" (details)
  266. [flang] Remove extra space added with --dependent-lib option (details)
  267. [clang][Interp][NFC] Add const InterpBlock::deref() overload (details)
  268. [DebugInfo][RemoveDIs] Add local-utility plumbing for DPValues (#72276) (details)
  269. [NFC] Simplify the tiling implementation using cloning. (#72178) (details)
  270. [libc] Adjust headers for some implementations of 'stdio.h' (details)
  271. [mlir][spirv][nfc] Sort CL ops (#72868) (details)
  272. [Clang] Correct handling of negative and out-of-bounds indices (#71877) (details)
  273. [build_symbolizer] Fix a missing mkdir cmd (details)
  274. [BOLT][TEST] Remove LTO flag from a test (#72896) (details)
  275. [mlir][sparse] code cleanup using the assumption that dim2lvl maps ar… (#72894) (details)
  276. [libc++] Reduce the compilation time required by SIMD tests (#72602) (details)
  277. [libc++] Don't open-close namespace std in __config (#72695) (details)
  278. [Libomptarget] Handle dynamic stack sizes for AMD COV5 (#72606) (details)
  279. LoopVectorize: Add better heuristic for vectorized epilogue skip test (#72589) (details)
  280. Fix to attribute plugins reaching an unreachable (#70877) (details)
  281. [llvm-profdata] Fix binary ids with multiple raw profiles in a single… (#72740) (details)
  282. [OpenACC] Implement compound construct parsing (#72692) (details)
  283. Move all libc++ builders to one machine type. (details)
  284. [lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230) (details)
  285. [mlir][sparse] test four row/col major versions of BSR (#72898) (details)
  286. [DebugInfo][RemoveDIs] Don't convert debug-intrinsics to Unreachable (#72380) (details)
  287. [CUDA][HIP] ignore implicit host/device attr for override (#72815) (details)
  288. [SelectionDAG] Add support to filter SelectionDAG dumps during ISel by function names (#72696) (details)
  289. [clang] Add support for new loop attribute [[clang::code_align()]] (#70762) (details)
  290. Revert "[clang-format][NFC] Remove a redundant isLiteral() call" (details)
  291. [CodeGenModule] Remove no-op ptr-to-ptr bitcasts (NFC) (details)
  292. [ConstraintElim] Add extra info transfer tests for #72879. (details)
  293. [MemorySSA] Update test to use NewPM (#72915) (details)
  294. [nfc][InstrProfTest]Factor out common code for value profile test (#72611) (details)
  295. Revert "[nfc][InstrProfTest]Factor out common code for value profile test" (#72921) (details)
  296. [libc] Remove the optional arguments for NVPTX constructors (#69536) (details)
  297. [flang][openacc][NFC] Check only HLFIR lowering for atomic tests (#72922) (details)
  298. Fix command escape bug in lldb-dap (#72902) (details)
  299. [InstCombine] Add tests for folding `(X + Y) - (W + Z)`; NFC (details)
  300. [InstCombine] Add folds for `(X + Y) - (W + Z)` (details)
  301. [InstCombine] Make `isFreeToInvert` check recursively. (details)
  302. [InstCombine] Add additional tests for free inversion; NFC (details)
  303. [InstCombine] add `getFreeInverted` to perform folds for free inversion of op (details)
  304. [InstCombine] Replace `isFreeToInvert` + `CreateNot` with `getFreelyInverted` (details)
  305. [InstCombine] Add transform for `~X + ~Y)` -> `-2 - Y - X` (details)
  306. [DebugInfo][RemoveDIs] Make dropping variable locations explicit (#72399) (details)
  307. [Clang] Fix finding instantiated decls for class template specializations during instantiation (#72346) (details)
  308. [LoongArch][MC] Pre-commit tests for instr bl fixupkind testing (#72826) (details)
  309. [mlir] Non-void lambda does not return a value in all control paths in yieldReplacementForFusedProducer (NFC) (details)
  310. [OpenMP][NFC] Remove std::move to silence warnings (details)
  311. [OpenMP][FIX] Ensure recording works properly w/ late allocations (details)
  312. [OpenMP] Be more forgiving during record and replay (details)
  313. [flang][OpenMP] Add semantic check for device clause (#72789) (details)
  314. [mlir][python] remove eager loading of dialect module (for type and value casting) (#72338) (details)
  315. [flang][doc] Added remark about array element references in data clauses. (#72332) (details)
  316. Reland [clang-format][NFC] Remove a redundant isLiteral() call (details)
  317. Make MLIR Value more consistent in terms of `const` "correctness" (NFC) (#72765) (details)
  318. [BOLT] Fix C++ exceptions when LPStart is specified (#72737) (details)
  319. [lld][ELF] Add armeb support when incoming bc is arm big endian (#72604) (details)
  320. [flang][openacc][NFC] Check only HLFIR lowering for data tests (#72926) (details)
  321. [RISCV] DAG combine (mul (add x, 1), y) -> vmadd (#71495) (details)
  322. [RISCV] Fix spelling error in test name. NFC (details)
  323. [MachineBlockPlacement][X86] Use max of MDAlign and TLIAlign to align Loops. (#71026) (details)
  324. Fix tab spaces in coroutine-hostile-raii.cpp (details)
  325. [Driver,test] Remove -v from mkdir & ln -s from a test since it fails on AIX (#72924) (details)
  326. Revert "Fix tab spaces in coroutine-hostile-raii.cpp" (details)
  327. Fix build error from #72178 (#72905) (details)
  328. [Driver] Make ELF -nopie specific to OpenBSD (#72578) (details)
  329. [AMDGPU] Move ballot64 wave32 mode tests to the appropriate place. NFC. (#72959) (details)
  330. [mlir][async] Avoid crash when not using `func.func` (#72801) (details)
  331. Fix clang/test/Sema/code_align.c for Arm v7 #70762 (details)
  332. [AMDGPU] - Add bitreplicate const folding tests (#72649) (details)
  333. [mlir][tensor] Fix crash when canonicalizing invalid IR (#72888) (details)
  334. [BasicAA] Make isNotCapturedBeforeOrAt() check for calls more precise (#69931) (details)
  335. [NewPM] Remove LoopSimplifyCFGLegacyPass (#72930) (details)
  336. [NewPM] Remove SimpleLoopUnswitchLegacyPass (#72934) (details)
  337. [NewPM] Remove InstCountLegacyPass (#72936) (details)
  338. [NewPM] Remove LoopGuardWideningLegacyPass (#72937) (details)
  339. [NewPM] Remove CostModelAnalysis Legacy Pass (#72941) (details)
  340. [NewPM] Remove LoopPredicationLegacyPass (#72944) (details)
  341. [NewPM] Remove MakeGuardsExplicitLegacyPass (#72946) (details)
  342. [NewPM] Remove Delinearization legacy pass (#72942) (details)
  343. [llvm] Specialize 'NoCFIValue::getType()' (#72923) (details)
  344. [SVE2.1][Clang][LLVM]Add 128bits builtin in Clang and LLVM intrinisc (#71930) (details)
  345. [ConstraintElim] Use isKnownNonNegative for condition transfer. (#72879) (details)
  346. [MachineSink][AArch64] Preserve debug location when rematerialising an instruction to replace a COPY (#72685) (details)
  347. [DebugInfo][RemoveDIs] Implement redundant elimination for DPValues (#72284) (details)
  348. [LLD] [COFF] Add tests to observe details about LTO and __imp_ prefixes. NFC. (#72764) (details)
  349. [LoopUtils] Freeze compare results for diff checks instead of pointers. (details)
  350. [LoongArch][MC] Support to get the FixupKind for BL (#72938) (details)
  351. [LoopInfo] Avoid redundant DomTree lookup (NFC) (details)
  352. [BasicAA] Don't assume DT is nonnull (details)
  353. [BOLT][NFC] Extract a function for dump MCInst (#67225) (details)
  354. [mlir][spirv] Add some op decorations (#72809) (details)
  355. [mlir][spirv] Add `CL.mix` op (#72800) (details)
  356. [clang][Analyzer] Move checker 'alpha.unix.Errno' to 'unix.Errno'. (#69469) (details)
  357. [Offload] Initial support for registering offloading entries on COFF targets (#72697) (details)
  358. [SystemZ][z/OS] Replace unconventional characters that are not within the ASCII range (#72906) (details)
  359. [RegBankInfo] Add brackets around || in assert. NFC (details)
  360. [CodeGen] getPointerMemTy - move FIXME to start of comment line so editors are more likely to detect it. NFC. (details)
  361. [X86] Regenerate ispow2.ll. NFC. (details)
  362. [analyzer] Add std::variant checker (#66481) (details)
  363. [LTO] [LLD] Don't alias the __imp_func and func symbol resolutions (#71376) (details)
  364. [libc] Update the AMDGPU implementation to use code object 5 (#72580) (details)
  365. [gn build] Port 527fcb8e5d6b (details)
  366. [ValueTracking] Handle operand bundle assumes in same loop (NFCI) (details)
  367. [APINotes] Introduce APINotes infrastructure in Clang Sema and Frontend (details)
  368. [BasicAA] Add wrapping test for #72831. (details)
  369. [SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang and LLVM intrinisc (#70362) (details)
  370. [libc][math] Implement nexttoward functions (#72763) (details)
  371. Revert "[mlir][vector] Move transpose with unit-dim to shape_cast pattern (#72493)" (#72918) (details)
  372. Fold `linalg.fill` -> `linalg.copy` (#72920) (details)
  373. [BasicAA] Don't use MinAbsVarIndex = 1. (#72993) (details)
  374. [gn] port e6ef31524729fc (details)
  375. [MLIR][OpenMP] remove now unnecessary getUsedValuesDefinedAbove call from convertTargetOp (#72904) (details)
  376. [clang] Fix lit test failure caused by https://github.com/llvm/llvm-project/pull/70762 (#72928) (details)
  377. [LV] Add test case for diff checks with nested AddRecs. (details)
  378. [InstCombine] Add tests for incorrect shift nneg inference (NFC) (details)
  379. [InstCombine] Fix incorrect nneg inference on shift amount (details)
  380. [mlir][mesh] Add collective communication operations (#71960) (details)
  381. [clang][dataflow] Remove deprecated synonyms from `Environment`. (#72987) (details)
  382. [mlir] use TypeSize and uint64_t in DataLayout (#72874) (details)
  383. [RISCV] Convert all floating point vector type operands to integer vector type (#69559) (details)
  384. [BasicAA] Optimize index size adjustment (NFC) (details)
  385. [AArch64][SVE2.1] Add intrinsics for quadword loads/stores with unscaled offset (#70474) (details)
  386. [AMDGPU] - Add constant folding to s_wqm intrinsic (#72382) (details)
  387. [mlir][spirv] Add more CL math ops (#72995) (details)
  388. [ELF] Support R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 in non-SHF_ALLOC sections (#72610) (details)
  389. [OpenACC] Implement enter data/exit data construct parsing (#72916) (details)
  390. [llvm][IRMover] Remove no-op ptr-to-ptr bitcast (NFC) (details)
  391. [AArch64] Add SVE2.1 intrinsics for indexed quadword gather loads and scatter stores (#70476) (details)
  392. reapply "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)" (#72910) (details)
  393. [DebugInfo][RemoveDIs] Interpret DPValue objects in SelectionDAG (#72253) (details)
  394. [flang][openacc][NFC] Check only HLFIR lowering for declare tests (#73011) (details)
  395. [mlir][sparse] add a csr x bsr matmul test case (#73012) (details)
  396. [flang][NFC] Move lowering test to correct folder (details)
  397. [gn build] Add a generic `compiler_wrapper` gn arg (#72757) (details)
  398. [mlir][sparse] test on read/convert permuted 3d sparse tensors (#72925) (details)
  399. [mlir] fix overflow in LLVM dialect inlining (#72878) (details)
  400. [OpenMP] Optimized trivial multiple edges from task dependency graph (details)
  401. [llvm][NFC] Autoupdater x86 detection (#72808) (details)
  402. [NFC] Fix typos in llvm-mc doc (#72457) (details)
  403. [X86] X86FixupVectorConstantsPass - attempt to match VEX logic ops back to EVEX if we can create a broadcast fold (details)
  404. Reland "[MC][AsmParser] Diagnose improperly nested .cfi frames" (details)
  405. Enable customer lowering for fabs_v16f16 with AVX2 (#72914) (details)
  406. [AMDGPU] NFC. Run auto-update on a few tests (details)
  407. [RISCV] Add rv32 command line to short-forward-branch-opt.ll. NFC (details)
  408. [RISCV] Use short forward branch for ISD::ABS. (details)
  409. [mlir][vector][nfc] Refactor vector.contract matvec tests (#72832) (details)
  410. [OpenACC] Implement Atomic construct variants (#73015) (details)
  411. Revert "[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang and LLVM intrinisc (#70362)" (details)
  412. [RISCV] Replace XLenVT in RV64 only pattern with i64. NFC (details)
  413. [clang codegen][regression] Add dso_local/hidden/etc. markings to VTT definitions and declarations (#72452) (details)
  414. [libc++] Promote android to supported. (#72949) (details)
  415. [compiler-rt] Fix interceptors with Solaris as (#72973) (details)
  416. [Bazel][clang] Fix build for e6ef315 (details)
  417. [libc++][hardening] Categorize all `ryu` assertions as internal (#71853) (details)
  418. [flang] Remove dead code and update test (NFC)  (#73004) (details)
  419. workflows/release-binaries: Do a preliminary build to fill ccache (#72576) (details)
  420. [nfc][InstrProfTest]Un-parameterize test cases that doesn't use profile reader and writer (#73026) (details)
  421. [AMDGPU] NFC: Add flag to disable clustered low occupancy phase (#73025) (details)
  422. [SelectionDAG] Fix copy/paste mistake in SDNodeFlags::intersectWith (details)
  423. [clang][NFC] Reorder Atomic builtins to be consistent. (#72718) (details)
  424. Allow multiple sanitizers on baremetal targets. (#72933) (details)
  425. test-release.sh: Only build the clang target in stage 1 and 2 (#72703) (details)
  426. [libc++] Make common_iterator's data member private (#72564) (details)
  427. [NFC sanitizer_symbolizer] Make some functions non virtual in StackTracePrinter. (#73029) (details)
  428. [sanitizer_symbolizer] Add MarkupStackTracePrinter (#73032) (details)
  429. [nfc][InstrProfTest]Add a test fixture to parameterize the read-write test of value profiles (#73038) (details)
  430. [mlir][sparse] code cleanup (#73047) (details)
  431. [flang][openacc][NFC] Remove run line for FIR only checks (#73050) (details)
  432. Supports viewing class member variables in lambda when using the vs debugger (#71564) (details)
  433. [flang][openacc][NFC] Check only HLFIR lowering for enter/exit data tests (#73035) (details)
  434. [flang][openacc][NFC] Check only HLFIR lowering for compute construct tests (#73051) (details)
  435. [flang][openacc][NFC] Check only HLFIR lowering for remaining tests (#73054) (details)
  436. [TargetLowering][RISCV] Introduce shouldFoldSelectWithSingleBitTest and RISC-V implement. (#72978) (details)
  437. [mlir][sparse] fixed naming consistency (#73053) (details)
  438. Support BranchProbabilityInfo in update_analyze_test_checks.py (#72943) (details)
  439. [X86][MC] Support encoding/decoding for JMPABS (#72835) (details)
  440. [BOLT] Fix type mismatch error (#73016) (details)
  441. [test][hwasan] Deflake release-shadow.c (details)
  442. [Clang][Coroutines] Properly emit EH code for initial suspend `await_resume`  (#73073) (details)
  443. [RISCV] Add more Zbs patterns for -riscv-experimental-rv64-legal-i32. (details)
  444. [RISCV] Fix the order of arguments of setTruncStoreAction and setLoadExtAction (#73090) (details)
  445. [IR] Don't include GenericDomTreeConstruction.h in header (NFC) (details)
  446. [llvm][TypeSize] Fix addition/subtraction in TypeSize. (#72979) (details)
  447. [mlir] Fix a few more TypeSize::Fixed->TypeSize::getFixed following #72979. (details)
  448. [llvm][ARM] Emit MVE .arch_extension after .fpu directive if it does not include MVE features (#71545) (details)
  449. [IR][TLI] Cache getLibFunc() result on Function (NFC) (#72867) (details)
  450. [clang] Ensure minimal alignment of global vars of incomplete type. (#72886) (details)
  451. [FuncSpec] Update function specialization to handle phi-chains (#72903) (details)
  452. [DomTree] Remove unnecessary check (NFC) (details)
  453. [LV] Reduce memory-check-threshold for test to preserve original test. (details)
  454. [X86] combineFaddCFmul - use KnownBits to detect FNEG patterns. (details)
  455. [flang][OpenMP] Fix min reduction initialization (#73102) (details)
  456. [libc++] Floating Point Atomic (#67799) (details)
  457. [coroutines] Introduce [[clang::coro_lifetimebound]] (#72851) (details)
  458. [LV] Add test with a number of redundant runtime check instructions. (details)
  459. [mlir][tosa] Fix lowering of tosa.matmul with dynamic outputs (#72724) (details)
  460. [LV] Use SCEV for subtraction of src/sink for diff runtime checks. (details)
  461. [X86] combineFMulcFCMulc - use KnownBits to detect conjugate patterns. (details)
  462. Fix for TOSA-to-linalg lowering of tosa.transpose op (#72698) (details)
  463. [Tosa] Add local_bound attribute (#73001) (details)
  464. Revert "Revert "[SVE2.1][Clang][LLVM]Add BFloat16 builtin in Clang an… (#73110) (details)
  465. [mlir][ArmSME] Move ArmSME -> intrinsics lowerings to `convert-arm-sme-to-llvm` pass (#72890) (details)
  466. [libc] Disable nexttoward tests on the GPU (details)
  467. [X86][AVX10] Add no-evex512 for MMX intrinsics, NFCI (details)
  468. [Bazel] Fixes for dff97c1e4c30183dbd056c6a648b17f2cc87c972 (details)
  469. [AArch64] Add quadword gather load/scatter store intrinsics with unscaled vector offset (#71290) (details)
  470. [mlir] `im2col` & `l2cache` on cp.async.bulk.tensor.shared.cluster.global` (#72967) (details)
  471. [Driver] Simply some gcc search logic (#72558) (details)
  472. [DebugInfo][RemoveDIs] Handle DPValues in LCSSA (#72996) (details)
  473. [mlgo] Fix test post 42d484082cd190400e0e493a8d679762ce0efbba (details)
  474. [Flang][OpenMP] NFC: Minor refactoring of Reduction lowering code (#70790) (details)
  475. [mlir][vector] Add patterns to simplify chained reductions (#73048) (details)
  476. [clang][dataflow] Clear `ExprToLoc` and `ExprToVal` at the start of a block. (#72985) (details)
  477. [libc][bazel] Enable __support tests (#73125) (details)
  478. Revert "[Flang][OpenMP] NFC: Minor refactoring of Reduction lowering code" (#73139) (details)
  479. [MCP] Enhance MCP copy Instruction removal for special case (#70778) (details)
  480. [SLP][NFC]Use SmallVector instead of std::vector and remove unused (details)
  481. [AArch64] Add check that prologue insertion doesn't clobber live regs. (#71826) (details)
  482. [Flang] Add partial support for lowering procedure pointer assignment. (#70461) (details)
  483. [mlir][sparse] change dim level type -> level type (#73058) (details)
  484. [MCP] fix PowerPC redundant copy instructions removal fail test cases, NFC (details)
  485. [code-format] Also include libc++ extensionless headers and .inc and .cppm (#73142) (details)
  486. Remove `__cdecl` from _ReturnAddress (#72919) (details)
  487. Sink variable into #ifndef NDEBUG where it is used (details)
  488. [libc++][test][msan] Fix bots after #67799 (#73152) (details)
  489. [IROutliner] Skip dbg values during the candidate search. (#72945) (details)
  490. [SLP]Improve detection of gathered loads, if no other deps are detected. (details)
  491. [libc++] Re-introduce special support for narrowing conversions to bool in variant (#73121) (details)
  492. [libc++] Refactor atomic_{unsigned,signed}_lock_free (#73041) (details)
  493. [ConstraintElim] Treat ConstantPointerNull as constant offset 0. (details)
  494. [CMake] Fix the condition to include asan_rtl_x86_64.S in libclang_rt.asan_static.a (details)
  495. [libc++] Document upcoming removal of _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT in LLVM 19 (details)
  496. [libc++] Remove the ignore_format.txt file (#73135) (details)
  497. [IR] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC (#73154) (details)
  498. [SLP][NFC]Remove extra unused vars, add TODO, NFC. (details)
  499. [flang][openacc] Avoid crash when collapse loop nest has extra directive (#73166) (details)
  500. [mlir] Fix `TileUsingForOp` attr-dict printing/parsing (#72745) (details)
  501. [libc++] Add missing check for C++17 in test (details)
  502. Revert "[ConstraintElim] Treat ConstantPointerNull as constant offset 0." (details)
  503. [runtimes] Add missing test dependencies to check-all (#72955) (details)
  504. [flang][OpenMP] Add semantic check for declare target (#72770) (details)
  505. [AArch64] Use the same fast math preservation for MachineCombiner reassociation as X86/PowerPC/RISCV. (#72820) (details)
  506. Revert "[mlir] Fix `TileUsingForOp` attr-dict printing/parsing, cleanup assembly format" (#73178) (details)
  507. [libc++] Remove the deprecated _LIBCPP_AVAILABILITY_CUSTOM_VERBOSE_ABORT_PROVIDED macro (#73164) (details)
  508. [PowerPC] Silence -Woverloaded-virtual warning. NFC (details)
  509. [CMake] Support building shared library for NetBSD (details)
  510. [flang] Make .exe extension of the linker optional (NFC) (#73157) (details)
  511. [RISCV][NFC] Rename `RISCVISD::FPCLASS` to `RISCVISD::FCLASS` (details)
  512. [RISCV][GISel] Add support for G_IS_FPCLASS in F and D extensions (#72000) (details)
  513. [AArch64] Fix -Wunused-function of getLivePhysRegsUpTo in AArch64FrameLowering.cpp (NFC) (details)
  514. [Driver] Default Generic_GCC aarch64_be to -fasynchronous-unwind-tables (#72971) (details)
  515. Revert "[CUDA][HIP] ignore implicit host/device attr for override (#72815)" (details)
  516. [compiler-rt] Fix the HWCAP2_EBF16 and HWCAP2_SVE_EBF16 macro value (#70905) (details)
  517. Revert "[CUDA][HIP] make trivial ctor/dtor host device (#72394)" (details)
  518. [LinkerWrapper] Accept some needed lld-link linker arguments for COFF targets (#72889) (details)
  519. [X86] Reject fpsr in inline asm constraints other than clobber. (details)
  520. [RISCV] Use Float type instead of Half type for Fixed RVV vector type mangling (#73091) (details)
  521. [X86] Remove unused IES_IDENTIFIER state from IntelExprState. NFC (details)
  522. [nfc][InstrProfTest]Parameterize the edge cases of value profile merge by value kind (#73165) (details)
  523. [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677) (details)
  524. [RISCV] Add MinimumJumpTableEntries to TuneInfo (#72963) (details)
  525. [flang][openacc][NFC] Merge acc-declare.f90 tests (#73055) (details)
  526. [LoongArch] Precommit a test for smul with overflow (NFC) (#73212) (details)
  527. Revert "[Flang] Add partial support for lowering procedure pointer assignment. (#70461)" (details)
  528. clang/CodeGen/RISCV: test lowering of math builtins (#71399) (details)
  529. [AMDGPU][NFC] Update GISel memory-legalizer-atomic-fence test (#72829) (details)
  530. [X86][MC] Support encoding/decoding for PUSHP/POPP (#73092) (details)
  531. [AArch64] Allow LDR merge with same destination register by renaming (#71908) (details)
  532. [mlir][linalg] `BufferizeToAllocationOp`: fix side effects (#72986) (details)
  533. [LoongArch][MC] Modify branch evaluation for MCInstrAnalysis (#73205) (details)
  534. [RISCV][GISel] Suppport G_BSWAP with Zbb. (details)
  535. [mlir][linalg] Add an e2e test for linalg.matmul to ArmSME (#72144) (details)
  536. [libc][NFC] Split builtin_wrapper into bit and math_extras (#73113) (details)
  537. [libc][NFC] Remove unused define (#73222) (details)
  538. [Gisel][AArch64] legalize G_IS_FPCLASS (#72796) (details)
  539. [AMDGPU] Reindent some tables (details)
  540. [AMDGPU] Add some clang-format off/on markers (details)
  541. [mlir][LLVM] Support `immargs` in LLVM_IntrOpBase intrinsics (#73013) (details)
  542. [libc][NFC] Sink "PlatformDefs.h" into "FloatProperties.h" (#73226) (details)
  543. Revert "[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)" (details)
  544. [DWARFLinkerParallel] Add support for -odr mode. (#68721) (details)
  545. [gn build] Port b61ac4a88f93 (details)
  546. [LoongArch] Disable mulodi4 and muloti4 libcalls (#73199) (details)
  547. [LV] Re-use existing compare if possible for diff checks. (details)
  548. [mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73117) (details)
  549. [LLVM] Make s_getpc_b64 rematerializable (#71823) (details)
  550. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  551. [mlir] Workaround for export lib generation on Windows for `mlir_arm_sme_abi_stubs` (#73147) (details)
  552. [DebugInfo][RemoveDIs] Instrument loop-deletion for DPValues (#73042) (details)
  553. [SystemZ] Move new test into existing CodeGen test. (#73230) (details)
  554. [NFC][OpenMP][MLIR] Add MLIR test for lowering parallel if (#71788) (details)
  555. Revert "[mlir] Workaround for export lib generation on Windows for `mlir_arm_sme_abi_stubs` (#73147)" (details)
  556. [mlir] do not inject malloc/free in to-LLVM translation (#73224) (details)
  557. [LV] Remove TODO addressed in 32d1197a8fa. (details)
  558. [Flang] Add partial support for lowering procedure pointer assignment. (#70461) (details)
  559. [AMDGPU] Fix CPol operands of MUBUF atomics. (#73118) (details)
  560. [mlir] fix CAPI/translation.c test (details)
  561. Reland [mlir] Workaround for export lib generation on Windows for mlir_arm_sme_abi_stubs #73147  (#73238) (details)
  562. [Bazel] Fixes for c43c88501e3bc273a7c1074a19e86dc305ad7234 (details)
  563. [X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126) (details)
  564. [flang] Add runtimes using --dependent-lib on MSVC targets (#72519) (details)
  565. [clang][analyzer] Support `fgetc` in StreamChecker (#72627) (details)
  566. [libc++] Simplify the conditions for generating a linker script (#73151) (details)
  567. [clang][CGExprConstant] Remove no-op ptr-to-ptr bitcast (NFC) (details)
  568. [libc++][test][msan] Refine XFAIL after #67799 (#73213) (details)
  569. [libc++][NFC] Run clang-format on uses_alloc_types.h (details)
  570. [libc++] Refactor the creation of the global and classic locales (#72581) (details)
  571. [NFC] Use TypeSize for comparison in EVT::isExtendedXBitVector functions (#73131) (details)
  572. Recommit "[ConstraintElim] Treat ConstantPointerNull as constant offset 0." (details)
  573. [libc++][NFC] Adjust synopsis for std::launder (details)
  574. [clang][CodeGen] Remove ptr-to-ptr bitcasts (NFC) (#73020) (details)
  575. [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677) (details)
  576. [AMDGPU] Define new targets gfx1200 and gfx1201 (#73133) (details)
  577. Revert rG67275263b3b781a "[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126)" (details)
  578. [VPlan] Remove dead IsEpilogueVec argument from prepareToExecute (NFC). (details)
  579. [DebugInfo][RemoveDIs] Instrument jump-threading to update DPValues (#73127) (details)
  580. [StackColoring] Do not drop AA metadata when not doing remappings (#71958) (details)
  581. [SVE] Don't require lookup when demangling vector function mappings (#72260) (details)
  582. [ClangRepl] Type Directed Code Completion (#67349) (details)
  583. [Bazel] Add Bazel build files for Python bindings of the GPU dialect (#73256) (details)
  584. Extra assertions in RS4GC (#71201) (details)
  585. [GlobalISel] Fix a bit of formatting. NFC (details)
  586. [APINotes] Upstream Driver and Frontend options that enable API Notes (details)
  587. [libc++] Unify __is_trivial_equality_predicate and __is_trivial_plus_operation into __desugars_to (#68642) (details)
  588. Revert "[ClangRepl] Type Directed Code Completion" (#73259) (details)
  589. mp (details)
  590. Revert "[clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677)" (details)
  591. Revert "mp" (details)
  592. [BOLT] Extend calculateEmittedSize() for block size calculation (#73076) (details)
  593. [gn build] Port aea7929b0a04 (details)
  594. [ConstraintElim] Add tests with GEPs with variable and negative offsets (details)
  595. [JITLink][AArch32] Add tests for BLX interworking calls (details)
  596. [RISCV][GISel] Support G_CTPOP with Zbb. (details)
  597. [RISCV][GISel] Rename some variables to be more consistent. NFC (details)
  598. [libc++][NFC] Move QoI attributes into a single place inside <__config> (#70870) (details)
  599. [mlir] fix LLVM type converter for structs (#73231) (details)
  600. [LAA] Factor out logic to compute dependence distance. (NFCI) (details)
  601. [RISCV][GISel] Support G_CTTZ/CTLZ with Zbb. (details)
  602. [libc++abi] Avoid raw calls to assert() in libc++abi (#71121) (details)
  603. [libc++] <experimental/simd> Add implicit type conversion constructor for class simd/simd_mask (#71132) (details)
  604. Revert "[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using" (details)
  605. [NFC][X86] Clang-format X86DisassemblerDecoderCommon.h (#73272) (details)
  606. [NFC][X86] Clang-format X86BaseInfo.h and refine some comments (#73274) (details)
  607. [NFC][X86] Clang-format X86RecognizableInstr.cpp (#73278) (details)
  608. [NFC][X86] Clang-format X86RecognizableInstr.h (#73279) (details)
  609. [SelectionDAG] Format BuiltinOpcodes (details)
  610. [X86][MC] Support encoding/decoding for PUSH2[P]/POP2[P] (#73233) (details)
  611. [X86][AVX10] Allow AVX10 use VBMI2 instructions (#73276) (details)
  612. Adding missing `useSoftFloat` check, NFCI (details)
  613. [NFC][X86] Move the comments to a right place (#73284) (details)
  614. [NFC][X86] Clang-format X86FrameLowering.cpp (#73287) (details)
  615. [lld][ELF] Add getBitcodeMachineKind test for LoongArch (#71931) (details)
  616. Try to fix good-first-issue bot (#71816) (details)
  617. [RISCV] Support target attribute for function (details)
  618. [Support] Implement getMainExecutable for Haiku (details)
  619. [clang][analyzer] Support `fprintf` in the SecuritySyntaxChecker (#73247) (details)
  620. [clang][analyzer] Move `security.cert.env.InvalidPtr` out of `alpha` (#71912) (details)
  621. Update links in AttrDocs.td for coro_lifetimebound (details)
  622. clang/APINotes: squelch a -Wparantheses warning (NFC) (details)
  623. [MachineSink] Some more preserving of debug location when rematerialising an instruction to replace a COPY (#73155) (details)
  624. [AArch64] Add extra vecreduce.fmul tests. NFC (details)
  625. [llvm-exegesis] Refactor ExecutableFunction to use a named constructor (#72837) (details)
  626. [Github] Build clang docs in CI if autogenerated files change (#72623) (details)
  627. [AMDGPU] New AMDGPUInsertSingleUseVDST pass (#72388) (details)
  628. [mlir][vector][spirv] Lower vector.load and vector.store to SPIR-V (#71674) (details)
  629. [gn build] Port 28233b11ac0e (details)
  630. Fix build failure on certain bots (details)
  631. [TargetLowering] Don't include ComplexDeinterleavingPass.h (NFC) (details)
  632. [Flang][OpenMP] Remove use of non reference values from MapInfoOp (#72444) (details)
  633. [MLIR][OpenMP] Fix the assertion failure for VariableCaptureKind::ByCopy (#72424) (details)
  634. [MLIR][NFC] Fix build on recent GCC with C++20 enabled (#73308) (details)
  635. [clang] Fix sorting module headers (#73146) (details)
  636. [TLI][AArch64] Add TLI Mappings of @llvm.exp10 for ArmPL and SLEEF. (details)
  637. Remove extraneous ` in AttrDocs.td (details)
  638. [DebugInfo] Clone dbg.values in SimplifyCFG like normal instructions (#72526) (details)
  639. [libc][NFC] Remove dead code (#73315) (details)
  640. [clang][ASTImporter] Fix import of SubstTemplateTypeParmType in return type of function. (#69724) (details)
  641. [clang] Classify vector types in __builtin_classify_type (#73299) (details)
  642. [CodeGen] Make some includes explicit (NFC) (details)
  643. [llvm-jitlink] Avoid assertion failure in make_error parameter (details)
  644. [JITLink] Fix typos: symobls -> symbols (NFC) (details)
  645. [AArch64] Add artificial clobbers to swift async context test. (details)
  646. [CI] Skip libcxx in non-llvm repo (#73282) (details)
  647. [SCEV] Regenerate test checks (NFC) (details)
  648. [CVP] Regenerate test checks (NFC) (details)
  649. [libc][NFC] Move float macro into its own header / add target os detection (#73311) (details)
  650. [DebugInfo][RemoveDIs] Allow speculative-DPMarker creation (details)
  651. [DebugInfo][RemoveDIs] Support cloning and remapping DPValues (#72546) (details)
  652. [libc][cmake] Add missing dependencies for type_traits (#73339) (details)
  653. [Clang] Fix `-Wdocumentation` warning (NFC) (details)
  654. [lldb] correct inconsistent order of messages on process launch (#73173) (details)
  655. [libc] Provide compiler version properties (#73344) (details)
  656. [Flang] Add new Integration tests directory to Flang (#73141) (details)
  657. [SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using (details)
  658. [clang] Add missing LinkageSpec case to getCursorKindForDecl (#72401) (details)
  659. [MLIR][OpenMP] NFC: Remove unused variable (details)
  660. [libc++] Implements Runtime format strings II. (#72543) (details)
  661. [libc++] Removes codecvt. (#72496) (details)
  662. [GISel][RISCV] Fix several boundary cases in narrow G_SEXT_INREG. (#72719) (details)
  663. [IR] Add disjoint flag for Or instructions. (#72583) (details)
  664. [GlobalISel] Treat shift amounts as unsigned in `matchShiftImmedChain` (details)
  665. [PowerPC] Do not string pool globals that are part of llvm used. (#66848) (details)
  666. [mlir][spirv] Handle all zero-element memref types (#73351) (details)
  667. [llvm-exegesis] Switch from MCJIT to LLJIT (#72838) (details)
  668. [SimpleLoopUnswitch] Remove callbacks (#73300) (details)
  669. Revert "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)" (details)
  670. [mlir][spirv] Split codegen for float min/max reductions and others v2. [NFC] (#73363) (details)
  671. [Thumb] Add test case where the machine-outliner clobbers LR. (details)
  672. [llvm-jitlink] Support plain AArch32 stubs in jitlink-check's stub_addr() expressions (#73268) (details)
  673. [JITLink][AArch32] Add dynamic lookup for relocation fixup infos (#71649) (details)
  674. [Clang][OpenMP] Emit unsupported directive error (#70233) (details)
  675. [NFC] fix failed ompt tests on M1 device (#65696) (details)
  676. [libc++][NFC] Refactor _LIBCPP_AVAILABILITY_HAS_* macros to always be defined (#71002) (details)
  677. [clang] Avoid memcopy for small structure with padding under -ftrivial-auto-var-init (#71677) (details)
  678. [RISCV] Add C intrinsics for scalar bitmanip and crypto (details)
  679. [clang-linker-wrapper] Re-use type returned from 'PointerType::getUnqual(C)' (NFC) (#73374) (details)
  680. [gn build] Port 1a3b14d26152 (details)
  681. [llvm][Transforms][Utils] Remove no-op ptr-to-ptr bitcasts (NFC) (details)
  682. [llvm][X86WinEHState] Replace calls to 'Type::getPointerTo' (NFC) (details)
  683. [Flang] Fix a test case that depends on stderr output of nullptr. (#73349) (details)
  684. [MSP430] Add missed mayStore flag for MSP430 PUSH instructions (#73377) (details)
  685. [RISCV][GISel] Add G_FRAME_INDEX support to selectAddrRegImm. (details)
  686. [RISCV][GISel] Add more G_SEXTLOAD instruction selection tests. NFC (details)
  687. [mlir][doc] Remove duplicate syntax formats (#73343) (details)
  688. [GlobalISel] Add identity fold for fadd -0.0 (#73296) (details)
  689. [CI] Add check-mlir-python to MLIR pre-merge checks (#72847) (details)
  690. [JITLink][AArch32] Reflow code structure after llvm::endianness refactor (NFC) (details)
  691. [JITLink][AArch32] Fix GetEdgeKindName function in error tests (details)
  692. [MLIR][Vector] Refactor tests for contract -> OP transforms (#73348) (details)
  693. [llvm][MC][ARM][Assembly] Emit relocations for LDRs (#72873) (details)
  694. [lld][LoongArch] Add a another corner testcase for elf::getLoongArchPageDelta (details)
  695. [libc++] Removes basic_string::reserve(). (#73354) (details)
  696. [llvm][NFC] Autoupdater x86 intrinsic selection (#73046) (details)
  697. [JITLink][AArch32] Split invalid edge kind test out into readAddendDataErrors (details)
  698. [libc++][doc] Fixes grammar issues. (details)
  699. [libc++] Updates mdspan synopsis, (details)
  700. [JITLink][AArch32] Add test fixture with helper functions in error tests (details)
  701. [CGOpenMPRuntimeGPU] Remove no-op ptr-to-ptr bitcasts (NFC) (details)
  702. [RISCV][GISel] Test G_FRAME_INDEX folding into store address. NFC (details)
  703. [RISCV][GISel] Add simplest case of folding add with immediate into load/store address. (details)
  704. Reland "[clang][Sema] Use original template pattern when declaring implicit deduction guides for nested template classes" (#73087) (details)
  705. Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)" (details)
  706. [DWARFLinkerParallel] fix build on 32-bit platform. (#73388) (details)
  707. [NewPM] Remove Reg2Mem Legacy Pass (#73404) (details)
  708. [NewPM] Remove PredicateInfoPrinterLegacyPass (#73407) (details)
  709. [NewPM] Remove CallGraphPrinterLegacyPass (#73409) (details)
  710. [NewPM] Remove CFGViewerLegacyPass (#73410) (details)
  711. [NewPM] Remove CFGOnlyViewerLegacyPass (#73411) (details)
  712. [NewPM] Remove Legacy RedudantDbgInstEliminationPass (#73405) (details)
  713. [NewPM] Remove CFGOnlyPrinterLegacyPass (#73412) (details)
  714. [X86[MC][test] Error for EGPR in 32-bit mode (details)
  715. [X86][MC] Remove duplicated code in getX86SubSuperRegister by using macros, NFCI (details)
  716. [XCOFF] make related SD symbols as isFunction (#69553) (details)
  717. [BOLT][NFC] Refactor function state check (#73420) (details)
  718. Add "REQUIRES: asserts" to test as it requires the compiler to hit an assertion failure to pass and was failing in release builds. (details)
  719. [BOLT] Reset output addresses for deleted blocks (#73429) (details)
  720. [Bazel] Fix llvm-exegesis build post 12b0ab2 (details)
  721. [NewPM] Remove CFGPrinterLegacyPass (#73414) (details)
  722. [llvm][Coroutines] Remove no-op ptr-to-ptr bitcasts (NFC) (#73427) (details)
  723. test-release.sh: Default to letting ninja select the number of build jobs (#73187) (details)
  724. [GitHub] Update bot message to suggest GitHub pull requests (#65914) (details)
  725. [libc++][test] Fix unused and nodiscard warnings (#73437) (details)
  726. [readtapi] Use consistent error handling diagnostics (#73419) (details)
  727. [OpenMP] atomic compare fail : Parser & AST support (details)
  728. [libc++] Fix a few tests that are missing proper suffixes (#73444) (details)
  729. [libc++][NFC] Use __construct_at and __destroy_at instead of using preprocessor conditionals (#70866) (details)
  730. [LVI] Add NewPM printer pass (#73425) (details)
  731. [NewPM] Remove StripGCRelocatesLegacyPass (#73403) (details)
  732. [DebugInfo][RemoveDIs] Instrument inliner for non-instr debug-info (#72884) (details)
  733. [gn] port 92b821f2dcdd (details)
  734. [gn] manually re-sync llvm-exegesis tool deps (details)
  735. Suppressed unused-var warning from c672ba7dde (details)
  736. [DebugInfo][RemoveDIs] Instrument loop-rotate for DPValues (#72997) (details)
  737. [libc++] Add missing headers to the modulemap (#71127) (details)
  738. Fix for building llvm-flang with gcc 7.5.0 (minimum LLVM required gcc version (#73265) (details)
  739. [clang-format] Fix a bug in formating `#define A x:` (#73220) (details)
  740. [mlir][spirv] Add floating point dot product (#73466) (details)
  741. [LLDB] Add more helper functions to CompilerType class. (#73467) (details)
  742. [mlir][spirv] Update integer dot product op syntax (#73468) (details)
  743. Revert "[LLDB]  Add more helper functions to CompilerType class." (details)
  744. [libc++][test] Cleanup typos and unnecessary semicolons (#73435) (details)
  745. [libc++][test] Use `LIBCPP_STATIC_ASSERT` for `std::__mdspan_detail` (#73436) (details)
  746. AMDGPU: Move intrinsic definition out of subtarget specific section (details)
  747. [llvm][SROA] Replace calls to Type::getPointerTo (NFC) (details)
  748. [X86][MC] Update condition about ExplicitVEXPrefix (#73312) (details)
  749. [Driver] Allow -e entry but reject -eentry (#72804) (details)
  750. [SelectionDAG] Add instantiated OPC_EmitInteger and OPC_EmitStringInteger (#73241) (details)
  751. [mlir][spirv] Add missing group non-uniform bitwise and logical ops (#73475) (details)
  752. [mlir] Fix a warning (details)
  753. [RISCV] Don't combine store of vmv.x.s/vfmv.f.s to vp_store with VL of 1 when it's indexed store (#73219) (details)
  754. [libc++] Speed up classic locale (#72112) (details)
  755. [gn build] Port f8afc53d641c (details)
  756. [clang-format][NFC] Improve an `if` conditional in the annotator (details)
  757. [X86][MC] Allow to specify any of the 8/16/32/64 register names interchangeably for R16-R31 (#73421) (details)
  758. [mlir][affine][gpu] Replace DivSIOp to CeilDivSIOp when lowering to GPU launch (#73328) (details)
  759. [CVP] Don't try to fold load/store operands to constant (#73338) (details)
  760. [JumpThreading] Remove LVI printer flag (#73426) (details)
  761. [AArch64][GlobalISel] Better vecreduce.fadd lowering. (PR #73294) (details)
  762. [DomTree] Reduce number of hash table lookups (NFC) (#73097) (details)
  763. [InstCombine] Add more inbounds tests for indexed compare fold (NFC) (details)
  764. [ConstraintElim] Refactor GEP offset collection. (details)
  765. [lldb] Improve error message for script commands when there's no interpreter (#73321) (details)
  766. [lldb][AArch64][Linux] Correct name of FPCR field (details)
  767. AArch64: remove duplicate SHA3 feature from Apple CPUs. NFC. (details)
  768. [Clang][SME2] Add outer product and accumulate/subtract builtins (#71176) (details)
  769. [mlir][gpu] Support Cluster of Thread Blocks in `gpu.launch_func` (#72871) (details)
  770. [LAA] Auto-generate checks for forward-loop-carried.ll (details)
  771. [clang] Print static_assert values of arithmetic binary operators (#71671) (details)
  772. [LAA] Check HasSameSize before couldPreventStoreLoadForward. (details)
  773. [DomTree] Remove unnecessary domtree level check in SemiNCA (NFC) (#73107) (details)
  774. [mlir][spirv][doc] Remove duplicate syntax formats (#73386) (details)
  775. [clang][Interp][NFC] const qualify a local variable (details)
  776. [X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the same ptr (#73126) (details)
  777. Revert "Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)"" (details)
  778. Revert "[gn] port 92b821f2dcdd" (details)
  779. [mlir][cuda] Guard mgpuLaunchClusterKernel for Cuda 12.0+ (NFC) (#73495) (details)
  780. Re-commit "[MachineSink][AArch64] Enable sink-and-fold by default (#72132)" (details)
  781. Revert "[runtimes] Add missing test dependencies to check-all (#72955)" (details)
  782. [clang][AArch64][NFC] Remove trailing space in SME intriniscs header (details)
  783. [X86][CodeGen] Teach frame lowering to spill/reload registers w/ PUSHP/POPP, PUSH2[P]/POP2[P] (#73292) (details)
  784. [X86] Regenerate vector-interleaved-store-i64-stride-4.ll (details)
  785. [clang][dataflow] Strengthen widening of boolean values. (#73484) (details)
  786. [llvm][TypeSize] Consider TypeSize of '0' to be fixed/scalable-agnostic. (#72994) (details)
  787. [DomTree] Avoid duplicate hash lookup (NFC) (details)
  788. [llvm] Disable HandleLLVMOptions in runtimes mode (#73031) (details)
  789. [libcxxabi][test][NFC] Turn off clang-format for demangler test-case array (#73503) (details)
  790. [MachineLICM] Fix incorrect CSE on hoisted const load (#73007) (details)
  791. [libc] Use file lock to join newline on RPC puts call (#73373) (details)
  792. [OpenACC] Implement 'routine' construct parsing (#73143) (details)
  793. Revert "[Bazel] Fix llvm-exegesis build post 12b0ab2" (details)
  794. [X86] vector-interleaved tests - add AVX512F/AVX512DQ/AVX512BW/AVX512DQBW-ONLY common prefixes to merge more SLOW/FAST checks (details)
  795. [libc] Add detection support for float16 (#73372) (details)
  796. [flang] Enable alias tags pass by default (#73111) (details)
  797. [libc++] fix some inconsistencies on libcxx status pages (#73471) (details)
  798. [clangtidy] Allow safe suspensions in coroutine-hostile-raii check (#72954) (details)
  799. [libc] Fix forward octal prefix (#73526) (details)
  800. [OpenMP] Fix missing CMake function in runtimes build (details)
  801. [libc++][test] Avoid C++23 Core features that MSVC lacks (#73438) (details)
  802. ms inline asm: Fix {call,jmp} fptr (#73207) (details)
  803. [libc++][NFC] Fix typo in comment (details)
  804. [InstCombine] Remove over-generalization from computeKnownBitsFromCmp() (#72637) (details)
  805. [libc++] Remove experimental pmr headers now shipped in mainline (#73172) (details)
  806. [Flang][OpenMP] Fix issue with empty critical or critical without surrounding context (#71944) (details)
  807. [libc][NFC] Decouple FP properties from C++ types (#73517) (details)
  808. [mlir][spirv] Handle non-innerprod float vector add reductions (#73476) (details)
  809. [mlir][gpu] Align reduction operations with vector combining kinds (#73423) (details)
  810. [AArch64] Add a test to show scheduling aliasing between SVE loads and stores. NFC (details)
  811. [unittest,examples] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC (details)
  812. Revert "[mlir][gpu] Align reduction operations with vector combining kinds (#73423)" (details)
  813. [RISCV] Partially move doPeepholeMaskedRVV into RISCVFoldMasks (#72441) (details)
  814. [ValueTracking] Pass unpacked arguments to computeKnownBitsFromCmp() (NFC) (details)
  815. Reland "[mlir][gpu] Align reduction operations with vector combining kinds (#73423)" (details)
  816. [llvm] Replace calls to Type::getPointerTo (NFC) (details)
  817. [clang] Fix a new test to not write temp files to the git repository (details)
  818. [RISCV] Add Zbs Write classes to SiFive7AnyToGPRBypass. (#72560) (details)
  819. [RISCV][GISel] Merge selectGlobalValue and selectJumpTable. NFC (#72759) (details)
  820. Revert "[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)" (details)
  821. [llvm-objdump] Fix lma display issue for non-bss sections (#72141) (details)
  822. Changes to support running tests for Windows arm64 asan (#66973) (details)
  823. [libc++] Fix UTF-8 decoding in codecvts (#68442) (details)
  824. [mlir][spirv] Simplify gpu reduction to spirv logic (#73546) (details)
  825. [mlir][vector] Fix patterns for dropping leading unit dims from masks (#73525) (details)
  826. [ORC-RT] Add SPS serialization for std::tuple. (details)
  827. [ORC] Add a public unsafe-operations helper for SymbolStringPtr. (details)
  828. [RISCV][GISel] Use setDesc in some cases instead of creating new instructions. (#72769) (details)
  829. [runtime] Have the runtime use the compiler builtin for alloca on NetBSD (#73480) (details)
  830. [OpenMP][Tools] Have sort(1) not use long name parameters (#73477) (details)
  831. [RISCV] Fix a warning (details)
  832. [RISCV] Add register bank and instruction selection support for FP G_SELECT. (#72726) (details)
  833. Revert "[MCP] Enhance MCP copy Instruction removal for special case (#70778)" (details)
  834. [mlir] Add narrow type emulation for `memref.reinterpret_cast` (#73144) (details)
  835. [BOLT][test] Replace /dev/null with temp file (#73485) (details)
  836. [OpenMP][NFC] Remove unused (un)register_lib plugin API (details)
  837. [OpenMP][NFC] Remove no-op __tgt_rtl_deinit_plugin (details)
  838. [OpenMP][NFC] Minor name and code simplification (details)
  839. Fix ISel crash when lowering BUILD_VECTOR (#73186) (details)
  840. [unittest][Support] Fix bad negation of signed integer in LEB128Test.SLEB128Size (#72700) (details)
  841. [OpenMP] Tear down GenericDeviceTy's with GenericPluginTy (#73557) (details)
  842. [libc++] Add missing REQUIRES for exception handling test (details)
  843. [llvm] Disable HandleLLVMOptions in runtimes mode (#73031) (details)
  844. [AArch64] Update comment on GHC CC (#72761) (details)
  845. Revert "[libc++] Speed up classic locale (#72112)" (details)
  846. [Bazel] Fix for 7eccd5284290fea26df44fbc5a604b54e7b115a2 (details)
  847. [OpenMP] Add back implicit flags manually (details)
  848. [OpenMP] Enable position independent code for libomptarget (details)
  849. [libc++] Move compiler-detection Lit features first (#73544) (details)
  850. [InstCombine] Set disjoint flag when turning Add into Or. (#72702) (details)
  851. [RISCV][GISel] Fix 2 indirect call bugs. (#73170) (details)
  852. [clang-format] Add BreakAdjacentStringLiterals option (#73432) (details)
  853. [RISCV][GISel] Legalize and select G_BRINDIRECT. (#73059) (details)
  854. [cross-project-tests] Fix struct-dse example so that it fails again (#73566) (details)
  855. [NFC] Cleanup and sort hlsl_intrinsics.h (#72414) (details)
  856. [mlir][vector] Distribute all non-permutation or broadcasted masked transfer reads (#73539) (details)
  857. [lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845) (details)
  858. [SystemZ][z/OS] This change adds support for the PPA2 section in zOS (#68926) (details)
  859. [libc] Move in_use into OptionalStorage (#73569) (details)
  860. Include <vector> in WatchpointResource.h (details)
  861. [sanitizer] Add re-execution on FreeBSD when ASLR is detected (#73439) (details)
  862. [OpenMP] Temporarily disable OMPT tests for x64 (details)
  863. [GitHub] Add @hanhanW to CODEOWNERS for relevant files. (#73571) (details)
  864. [mlir][python] add type wrappers (#71218) (details)
  865. [sanitizer][nfc] Reformat sanitizer_linux sources (#73573) (details)
  866. [readtapi] Add Extract & Remove architecture functionality (#72657) (details)
  867. [mlir][sparse] rename DimLevelType to LevelType (#73561) (details)
  868. [RISCV] Use subreg extract for extract_vector_elt when vlen is known (#72666) (details)
  869. [NFC] Map changed file through envar (details)
  870. [BOLT] Use deterministic xxh3 for computing BF/BB hashes (#72542) (details)
  871. [vim] set commentstring (#71838) (details)
  872. [mlir][sparse] code cleanup, remove FIXMEs (#73575) (details)
  873. [NewPM] Remove LazyValueInfoPrinter Pass (#73408) (details)
  874. Revert "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73117)" (details)
  875. [docs] Fix issues in SourceLevelDebugging (#73528) (details)
  876. [gn] port 12bb2910c3e3 (details)
  877. [gn] add a bunch of missing libc++ headers (details)
  878. [gn] port 12bb2910c3e3 more (details)
  879. [RISCV][GISel] Select trap and debugtrap. (#73171) (details)
  880. [lldb] try to fix build on linux after fc6b72523f3d7 (details)
  881. [gn build] Port 4e0c48b907f1 (details)
  882. [gn build] Port fc6b72523f3d (details)
  883. [OpenMP][Docs] Cleanup libomptarget README (details)
  884. [OpenMP][NFC] Remove unused variable (details)
  885. [OpenMP][NFC] Remove else after return (details)
  886. [OpenMP][NFC] Fix diagnostic warnings (details)
  887. [OpenMP][NFC] Simplify code (details)
  888. [mlir] Add support for `memref.alloca` sub-byte emulation (#73138) (details)
  889. [NFC sanitizer_symbolizer] Move Fuchsia specific code. (details)
  890. [DAG] Fix a miscompile in insert_subvector undef (insert_subvector undef, ..), idx combine (#73587) (details)
  891. [mlir][arith] doc updates for ub semantics, and int representations (#72932) (details)
  892. [RISCV] Precommit tests for buildvector lowering with exact VLEN (details)
  893. [libc][bazel] Add copts to libc_support_library (#73591) (details)
  894. [libc++][test] Avoid using `allocator<const T>` (#73545) (details)
  895. [mlir][python] enable registering dialects with the default `Context` (#72488) (details)
  896. [mlir][sparse] remove unused COO method (#73595) (details)
  897. Add `REQUIRES: systemz-registered-target` to test added in #68926 (9a38a72). (details)
  898. [sanitizer_symbolizer] Add initial symbolizer markup support for linux. (details)
  899. [libc++][test] Avoid preprocessor directives in macro argument lists (#73440) (details)
  900. [mlir][sparse] code simplification: always use synthetical tensor for… (#73597) (details)
  901. [X86][MC] Keep backward compatibility in inline asm for constraints (#73529) (details)
  902. [gn] port 93a2be26e7cb (details)
  903. [BPF] Add asm support for JSET insn (#73161) (details)
  904. [X86][CodeGen] Remove CodeSize settings for instructions, NFCI (details)
  905. [Clang] Improve support for expression messages in `static_assert` (#73234) (details)
  906. [PowerPC] Precommit test of building vector via load and zeros. NFC. (details)
  907. [X86][CodeGen] Not compress EVEX into VEX when R16-R31 is used (#73604) (details)
  908. [RISCV][GISel] Select G_FENCE. (#73184) (details)
  909. Reland "Reland "[llvm-exegesis] Switch from MCJIT to LLJIT (#72838)" (details)
  910. [mlir,polly] Replace uses of IRBuilder::getInt8PtrTy with getPtrTy. NFC (details)
  911. [X86][CodeGen] Cleanup code for EVEX2VEX pass, NFCI (details)
  912. [Frontend] Remove unneeded -frtti check. NFC (details)
  913. [libc][math] Add unit tests for raising excepts in nextafter (#73556) (details)
  914. [X86][CodeGen] Remove duplicated code for the table checks, NFCI (details)
  915. [mlir][affine] Fix dim index out of bounds crash (#73266) (details)
  916. Reland "[Bazel] Fix llvm-exegesis build post 12b0ab2" (details)
  917. Revert "[Bazel] Fixes for c43c88501e3bc273a7c1074a19e86dc305ad7234" (details)
  918. Reland "[gn] port 92b821f2dcdd" (details)
  919. [DomTree] Store ReverseChildren as indices (NFC) (#73505) (details)
  920. [InstCombine] Make indexed compare fold GEP source type independent (#71663) (details)
  921. [AMDGPU] Fixed folding of inline imm into dot w/o opsel (#73589) (details)
  922. [CodeGen] Port DwarfEHPrepare to new pass manager (#72500) (details)
  923. [mlir][Python] Add filegroup for files in mlir/extras. (details)
  924. [Clang] Regenerate test checks (NFC) (details)
  925. [lldb][PDB] Fix message order in test case (details)
  926. Revert "[lldb] [mostly NFC] Large WP foundation: WatchpointResources (#68845)" (details)
  927. [gn build] Port b0af8a1ede89 (details)
  928. [mlir][linalg] Add TransposeConv2D Transform Op (#68567) (details)
  929. [UTC] Support arm64-apple-macosx in update_llc_test_checks.py. (#73568) (details)
  930. [X86] X86DAGToDAGISel - fix typo in #73126 (details)
  931. [TableGen] Split GlobalISelCombinerEmitter into multiple files (#73325) (details)
  932. [gn build] Port dd0973be58b8 (details)
  933. [AMDGPU] PromoteAlloca - bail always if load/store is volatile (#73228) (details)
  934. [Clang] Fix compilation with GCC 7.5 (details)
  935. [X86] Rename some variables for memory fold and format code, NFCI (details)
  936. [LLDB] Respect the DW_AT_alignment attribute. (#73307) (details)
  937. [RISCV] Avoid looking up base opcode when converting vmerge -> vmv. NFC (details)
  938. Revert "[llvm] Disable HandleLLVMOptions in runtimes mode (#73031)" (details)
  939. [RISCV] Order includes. NFC (details)
  940. [X86] Rename X86MemoryFoldTableEntry to X86FoldTableEntry, NFCI (details)
  941. [ValueTracking] Remove unused computeKnownBits() overload (NFC) (details)
  942. [InstCombine] Use SimplifyQuery for computeKnownBits() (NFC) (details)
  943. [AArch64][SVE] Remove pseudo from LD1_IMM (#73631) (details)
  944. [clang][analyzer] Support `fputs` in the StreamChecker (#73335) (details)
  945. [Clang] CWG2789 Overload resolution with implicit and explicit object… (#73493) (details)
  946. [clang][ExtractAPI] Add support for blocks in declaration fragments (#73369) (details)
  947. [OpenMP][Runtime][test] Fix ompt task testcase fail randomly (#72337) (details)
  948. [AssumptionCache] Remove unnecessary bitcast/not handling (details)
  949. Improve clang-format-diff help output (#73491) (details)
  950. [X86][fold-table] Add an assertion in addEntryWithFlags, NFCI (details)
  951. [ValueTracking] Rename computeKnownBitsFrom{Assume -> Context} (NFC) (details)
  952. [NFC][NVPTX] Add a simpler test case for 0b80288e9e0b (#73379) (details)
  953. [clang] fix typo (#73644) (details)
  954. [AMDGPU] Allow folding to FMAAK with SGPR and immediate operand on GFX10+ (#72266) (details)
  955. [AMDGPU] Document that PAL uses Elf64_Rel relocation records (#73648) (details)
  956. AMDGPU: Remove let Predicates from PredicateControl'd InstAliases (#73474) (details)
  957. clang: Add pragma clang fp reciprocal (#68267) (details)
  958. [LoopPeel] Regenerate test checks (NFC) (details)
  959. [InstCombine] Regenerate test checks (NFC) (details)
  960. [LoopVectorize] Regenerate test checks (NFC) (details)
  961. [SimpleLoopUnswitch] Regenerate test checks (NFC) (details)
  962. [BOLT][test] Update perf2bolt/perf_test.test (#73482) (details)
  963. [LV] Add support for uniform parameters on vectorized function variants (#72891) (details)
  964. [MLIR][Vector] Refactor tests for contract -> OP transforms (2/N) (#73445) (details)
  965. [readtapi][tests] add descriptions to tests (#73576) (details)
  966. [SLP][NFC]Improve aliasing support in SLP, NFC. (details)
  967. [RISCV] Minor style cleanup to cf17a24 [nfc] (details)
  968. [analyzer] Use AllocaRegion in MallocChecker (#72402) (details)
  969. [SLP][NFC]Improve/fix auto declarations, NFC. (details)
  970. [RISCV] Split build_vector into vreg sized pieces when exact VLEN is known (#73606) (details)
  971. [clang][DebugInfo] Revert to attaching DW_AT_const_value on static member declarations (#73626) (details)
  972. [JITLink][AArch32] Split out error test for invalid edge in applyFixup() (details)
  973. [AArch64] Assembly support for Armv9.5-A Debug/PMU Extensions (#73537) (details)
  974. [RISCV] Precommit test coverage for insert_vector_elt with exact VLEN (details)
  975. [flang][openacc] Enforce no branching out of compute region for combined construct (#73581) (details)
  976. [BOLT][utils] Bump default time threshold to 1s in nfc-stat-parser (details)
  977. [AMDGPU] Clarify description of _HI relocation types (#73663) (details)
  978. [AMDGPU] Fix folding of v2i16/v2f16 splat imms (#72709) (details)
  979. [SLP][NFC]Fix naming of variables/functions, NFC. (details)
  980. [clang] Remove unused argument. NFC. (#73594) (details)
  981. [OpenMP][NFC] Merge elf_common into PluginInterface (#73677) (details)
  982. [asan] Fix Windows i386 regression (#73650) (details)
  983. [MsgPack] Handle Expected<T> errors in document reader (#73183) (details)
  984. [libc][docs] Update implementation docs (#73590) (details)
  985. [OpenMP][NFC] Merge MemoryManager into PluginInterface (#73678) (details)
  986. [NFC][libc++] Refactors the time.cal tests. (#73356) (details)
  987. [SLP][NFC]Fix loops variables names, NFC. (details)
  988. [clang] Non-object types are non-trivially relocatable (#69734) (details)
  989. [lldb][progress] Always report progress upon Progress object destruction (#73605) (details)
  990. [RISCV] Work on subreg for insert_vector_elt when vlen is known (#72666) (#73680) (details)
  991. [Flang] Add code-object-version option (#72638) (details)
  992. [NFC][docs] Add AMDGPU documentation for `LIBOMPTARGET_STACK_SIZE` (details)
  993. Revert "[Flang] Add code-object-version option (#72638)" (details)
  994. [SLP][NFC]Use DenseSet instead of SetVector, NFC. (details)
  995. [ASan] Allow for passing AddressSanitizer command line options through the AddressSanitizerOptions struct. (#72439) (details)
  996. [mlir] Add subbyte emulation support for `memref.store`. (#73174) (details)
  997. [flang][Driver] Let the linker fail on multiple definitions of main() (#73124) (details)
  998. [llvm][HWASan] Replace calls to Type::getPointerTo (NFC) (details)
  999. [X86] With large code model, put functions into .ltext with large section flag (#73037) (details)
  1000. Mark some std::string functions noinline. (#72869) (details)
  1001. [libc++][PSTL] Implement std::equal (#72448) (details)
  1002. [HLSL] Parameter modifier parsing and AST (#72139) (details)
  1003. [gn build] Port ed27a4edb038 (details)
  1004. [libcxxabi][ItaniumDemangle] Demangle explicitly named object parameters (#72881) (details)
  1005. Fix clang Attribute doc build (details)
  1006. [OpenMP][NFC] Move Utils.h and Debug.h into a "Shared" include folder (#73701) (details)
  1007. Add support for parsing type unit entries in .debug_names. (#72952) (details)
  1008. Revert "[X86] With large code model, put functions into .ltext with large section flag (#73037)" (details)
  1009. [compiler-rt][sanitizer_common] Increase min user-map/freearray round… (#73600) (details)
  1010. [OpenMP][NFC] Move Environment.h and SourceInfo.h into "Shared" folder (#73703) (details)
  1011. [libc][NFC] unify nextafter and nexttoward code (#73698) (details)
  1012. [libc++][test] Change forbidden `extents<char>` to `extents<signed char>` (#73535) (details)
  1013. [OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412) (details)
  1014. [CMake] Always define runtimes-test-depends (#73629) (details)
  1015. Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA (#71412)" (details)
  1016. [OpenMP][NFC] Create an "OpenMP" folder in the include folder (#73713) (details)
  1017. [libc++] Properly guard std::filesystem with >= C++17 (#72701) (details)
  1018. [BOLT][DWARF] Fix handling of DWARF5 DWP (#72729) (details)
  1019. [OpenMP] Use simple VLA implementation to replace uses of actual VLA (details)
  1020. Revert "[OpenMP] Use simple VLA implementation to replace uses of actual VLA" (details)
  1021. [mlir][sparse] move toCOOType into SparseTensorType class (#73708) (details)
  1022. [OpenMP] Use simple VLA implementation to replace uses of actual VLA (details)
  1023. [clang][CodeGen] Handle template parameter objects with explicit address spaces (#69266) (details)
  1024. Revert "[libc][bazel] Add copts to libc_support_library" (#73723) (details)
Commit f0ad9ea36ad65cec8c5e5d1d59c00192b87f287d by github
[clang-format] Handle lambdas in QualifierAlignment (#72456)

Fixed #62780.
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.h (diff)
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.cpp (diff)
The file was modifiedclang/unittests/Format/QualifierFixerTest.cpp (diff)
Commit 615ebfc3e5e338cb40fa84405da0f70f0961c6b6 by github
[SampleProfileProbe] Downgrade probes too large from error to warning. (#72574)

The file was modifiedllvm/lib/Transforms/IPO/SampleProfileProbe.cpp (diff)
Commit 7ff8094a397127c8204c34079f8893fc8acbf1dd by github
[flang][OpenMP] Add semantic check for declare target (#71861)

This patch adds the following check from OpenMP 5.2.

```
If the directive has a clause, it must contain at least one enter clause
or at least one link clause.
```

Also added a warning for the deprication of `TO` clause on `DECLARE
TARGET` construct.

```
The clause-name to may be used as a synonym for the clause-name enter.
This use has been deprecated.
```

Based on the tests for to clause, the tests for enter clause are added.

This patch does not add tests where both to and enter clause are used together.
The file was modifiedflang/test/Lower/OpenMP/declare-target-data.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/declare-target06.f90 (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.h (diff)
The file was modifiedflang/test/Semantics/OpenMP/requires04.f90 (diff)
The file was addedflang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
The file was modifiedflang/test/Parser/OpenMP/declare_target-device_type.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/requires05.f90 (diff)
The file was modifiedflang/lib/Lower/OpenMP.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/declare-target-func-and-subr.f90 (diff)
The file was modifiedflang/lib/Parser/openmp-parsers.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/FIR/declare-target-data.f90 (diff)
The file was modifiedflang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/declare-target01.f90 (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90 (diff)
The file was addedflang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
The file was modifiedflang/test/Lower/OpenMP/function-filtering-2.f90 (diff)
The file was modifiedflang/lib/Semantics/resolve-directives.cpp (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedflang/test/Semantics/OpenMP/declare-target02.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/declarative-directive.f90 (diff)
The file was modifiedflang/test/Lower/OpenMP/function-filtering.f90 (diff)
Commit 49795d27761b9f398302354acd30980a319b1502 by brad
[Driver][NFC] A bit more const for OpenBSD and DragonFly
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/DragonFly.cpp (diff)
Commit 484a27e412297b56027bb9fbb2f90462c668d20e by a.bataev
[SLP][NFC]Make needToDelay constant, NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit b2e752731856dc0dcd8948cf5518b8ca62d91c83 by Lang Hames
[ORC] Fix some typos in comments in MachOPlatform.
The file was modifiedllvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp (diff)
Commit b2bbe8cc1c7653fb33f8aef69bbf77c1d3af4f26 by Lang Hames
[ORC-RT] Add bitmask-enum and bit_ceil utilities to the ORC runtime.

bitmask_enum.h is essentially a copy of llvm/ADT/BitmaskEnum.h, with some minor
cleanup and renaming.

The bit_ceil function is a placeholder for std::bit_ceil, which we can use once
compiler-rt can use c++20.

These utilities will be used to simplify bitfield enum usage in upcoming
ORC-RT patches.
The file was addedcompiler-rt/lib/orc/tests/unit/bitmask_enum_test.cpp
The file was modifiedcompiler-rt/lib/orc/stl_extras.h (diff)
The file was addedcompiler-rt/lib/orc/bitmask_enum.h
The file was modifiedcompiler-rt/lib/orc/tests/unit/CMakeLists.txt (diff)
Commit c11be311047c4ae4a79f0b95af0323c1d99a14dd by Lang Hames
[C-API] Fix typo in comment.
The file was modifiedllvm/include/llvm-c/Orc.h (diff)
Commit 4fe29d0dc2f65e60ae7dde63e7f4595446f3baca by github
[ASan] AddressSanitizerPass constructor should honor the AsanCtorKind argument (#72330)

Currently, the ConstructorKind member variable in AddressSanitizerPass
gets overriden by the ClConstructorKind whether the option is passed
from the command line or not. This override should only happen if the
ClConstructorKind argument is passed from the command line. Otherwise,
the constructor should honor the argument passed to it. This patch makes
this fix.

rdar://118423755
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp (diff)
Commit c5a67e16b6117d0c37d004dd5467b56be006ad8f by github
[mlir][sparse] Use variable instead of inlining sparse encoding (#72561)

Example:

#CSR = #sparse_tensor.encoding<{
  map = (d0, d1) -> (d0 : dense, d1 : compressed),
}>

// CHECK: #[[$CSR.*]] = #sparse_tensor.encoding<{ map = (d0, d1) -> (d0
: dense, d1 : compressed) }>
// CHECK-LABEL: func private @sparse_csr(
// CHECK-SAME: tensor<?x?xf32, **#[[$CSR]]**>)
func.func private @sparse_csr(tensor<?x?xf32, #CSR>)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_pack.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/vectorize_reduction.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_int_ops.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/one_trip.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_foreach.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_parallel_reduce.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/GPU/gpu_matmul_lib.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/GPU/gpu_matvec_lib.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_3d.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_reshape.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_out.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_tensor_reshape.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_sddmm.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_perm.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_nd.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_index.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_1d.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_concat.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/fold.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_transpose.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/dense.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/GPU/gpu_sddmm_lib.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower_col.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/semi_ring.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_vector_index.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_scalars.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_sddmm_org.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_extract_slice.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/codegen.mlir (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/spy_sddmm.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/rewriting_for_codegen.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/unused-tensor.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/GPU/gpu_sampled_matmul_lib.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/rejected.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sorted_coo.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_kernels.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/pre_rewriting.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_affine.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_2d.mlir (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir (diff)
Commit cb678708e620c21aaf4bb75823b18943937902d7 by a.bataev
[SLP][NFC]Add TreeEntry-based add member functions and use them, where
possible, NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit c6f7b631a9c0757130a8a7bb6b0ccc10da340e42 by github
[mlir][spirv] Fix VectorShuffle assembly format (#72568)

Align with the rest of the spirv dialect by using a functional type
syntax.

Regex for updating existing code:
`spirv\.VectorShuffle (\[.+\]) (%[^:]+): ([^,]+), (%[^:]+): ([^\s]+) ->(.+)`
==>
`spirv.VectorShuffle $1 $2, $4 : $3, $5 ->$6`
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td (diff)
The file was modifiedmlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir (diff)
The file was modifiedmlir/test/Target/SPIRV/composite-op.mlir (diff)
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir (diff)
The file was modifiedmlir/test/Dialect/SPIRV/IR/composite-ops.mlir (diff)
Commit 9365ed1e10e92c48ad3dbe4b257b0fdc045b74a3 by github
[flang][openacc] Add ability to link acc.declare_enter with acc.declare_exit ops (#72476)

The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td (diff)
The file was modifiedflang/test/Lower/OpenACC/HLFIR/acc-declare.f90 (diff)
The file was modifiedflang/lib/Lower/OpenACC.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td (diff)
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp (diff)
Commit d97981c98a70ebeaa8901f34921b0a69a068ff5d by Lang Hames
[ORC-RT] Add missing cstdint include.

This should have been included in b2bbe8cc1c7. Adding it should fix the bot
failures in https://lab.llvm.org/buildbot/#/builders/85/builds/20288
The file was modifiedcompiler-rt/lib/orc/stl_extras.h (diff)
Commit 83cf0dc98234bbd8cb0d0959baa570477a8daf92 by github
[mlir][sparse] implement direct IR alloc/empty/new for non-permutations (#72585)

This change implements the correct *level* sizes set up for the direct
IR codegen fields in the sparse storage scheme. This brings libgen and
codegen together again.

This is step 3 out of 3 to make sparse_tensor.new work for BSR
The file was modifiedmlir/test/Dialect/SparseTensor/codegen_buffer_initialization.mlir (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp (diff)
The file was modifiedmlir/test/Dialect/SparseTensor/codegen.mlir (diff)
The file was modifiedmlir/include/mlir/ExecutionEngine/SparseTensor/File.h (diff)
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir (diff)
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir (diff)
Commit c06700bd75fcff8187ec70b3d34d274554f93a81 by github
Revert "[flang][OpenMP] Add semantic check for declare target" (#72592)

Reverts llvm/llvm-project#71861
The file was modifiedflang/test/Semantics/OpenMP/requires05.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/declarative-directive.f90 (diff)
The file was modifiedflang/lib/Parser/openmp-parsers.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90 (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.h (diff)
The file was modifiedflang/test/Semantics/OpenMP/declare-target02.f90 (diff)
The file was modifiedflang/lib/Semantics/resolve-directives.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedflang/test/Lower/OpenMP/declare-target-data.f90 (diff)
The file was modifiedflang/test/Lower/OpenMP/FIR/declare-target-data.f90 (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/function-filtering.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/requires04.f90 (diff)
The file was removedflang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
The file was removedflang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
The file was modifiedflang/test/Semantics/OpenMP/declare-target06.f90 (diff)
The file was modifiedflang/test/Parser/OpenMP/declare_target-device_type.f90 (diff)
The file was modifiedflang/test/Semantics/OpenMP/declare-target01.f90 (diff)
The file was modifiedflang/test/Lower/OpenMP/declare-target-func-and-subr.f90 (diff)
The file was modifiedflang/test/Lower/OpenMP/function-filtering-2.f90 (diff)
The file was modifiedflang/lib/Lower/OpenMP.cpp (diff)
Commit 72b97630bc91efdf7671b08629b08c7b1c371a0b by a.bataev
[SLP][NFC]Fix comparison of integers of different signs warning, NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 09ac2ec3ad368f82e6b0814a6427b2cb93591ef6 by github
Remove deprecated warning from cmake files (#72595)

`LIBCXXABI_SYSROOT`, `LIBCXXABI_TARGET_TRIPLE` and
`LIBCXXABI_GCC_TOOLCHAIN` are not supported anymore. Based on the
comment, the warning should be removed after branching for LLVM 15.
The file was modifiedlibunwind/CMakeLists.txt (diff)
The file was modifiedlibcxxabi/CMakeLists.txt (diff)
Commit 00da5eb86ed0b86002b0947643f7da72faa4fd42 by github
[NFC] Remove outdated comment (#72591)

Special-casing has been already removed.
The file was modifiedlibcxx/include/deque (diff)
Commit b034da7dad150a54661557cc3f712948b1e474e4 by Louis Dionne
[libc++][NFC] Fix include guard for simd helper header
The file was modifiedlibcxx/test/std/experimental/simd/test_utils.h (diff)
Commit ae7fb21b5ad434e920fe394587ac13c899d8ee84 by i
[ELF] Make some InputSection/InputFile member functions const. NFC
The file was modifiedlld/ELF/InputFiles.h (diff)
The file was modifiedlld/ELF/InputSection.cpp (diff)
The file was modifiedlld/ELF/InputSection.h (diff)
The file was modifiedlld/ELF/InputFiles.cpp (diff)
Commit 5353d3f509814a44093a61c2725fdfe7273aa25a by github
Remove unused LoopInfo from InlineSpiller and SpillPlacement (NFC) (#71874)

The file was modifiedllvm/lib/CodeGen/CalcSpillWeights.cpp (diff)
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SpillPlacement.h (diff)
The file was modifiedllvm/lib/CodeGen/SpillPlacement.cpp (diff)
Commit 865c1fda6f3e258b47a4f7992bb19ca2e9edcfa1 by github
[InstCombine] Preserve NSW flags for neg instructions (#72548)

Alive2: https://alive2.llvm.org/ce/z/F9HG3M

This missed optimization is discovered with the help of
https://github.com/AliveToolkit/alive2/pull/962.
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-exact-by-negative-power-of-two.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/div.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp (diff)
Commit 894a38753e8c4cfef7a1dae17a76b405208b2708 by tbaeder
[clang][Interp][NFC] Properly implement IntegralAP::from(IntegralAP)

This used to just pass on the given parameter, but we need to respect
the given bit width.
The file was modifiedclang/lib/AST/Interp/IntegralAP.h (diff)
Commit 3defe8facc55431c040f964802588473e2d4452b by github
[clang][Interp] Implement __builtin_bitreverse (#71687)

Since the return value of this function is slightly more involved than
the void/bool/int/size_t return values we've seen so far, also refactor
this.
The file was modifiedclang/test/AST/Interp/builtin-functions.cpp (diff)
The file was modifiedclang/lib/AST/Interp/InterpBuiltin.cpp (diff)
Commit ea316625d1c984d63610a580b138c800115bfd86 by github
[clang] Add bitint classification for __builtin_classify_type (#72036)

See #71911
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/test/SemaCXX/builtin-classify-type.cpp (diff)
The file was modifiedclang/test/Sema/builtin-classify-type.c (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit f653f6d57a8703b5b098d5cdbae40715ef3677fa by github
[BOLT][NFC] Delete unused declarations (#72596)

The file was modifiedbolt/lib/Core/BinaryFunction.cpp (diff)
Commit d8ab8b95baa43fbc1dfedf83ca2e5ef7cbed74ee by agrossman154
[Docs][llvm-exegesis] Fix minor issues in llvm-exegesis docs
The file was modifiedllvm/docs/CommandGuide/llvm-exegesis.rst (diff)
Commit 47b8763f8a814c0e755e154516537d8deb57e4b0 by i
[ELF][test] gitBitcodeMachineKind: test EM_ARM
The file was addedlld/test/ELF/lto/arm.ll
Commit de176d8c5496d6cf20e82aface98e102c593dbe2 by github
[SCEV][LV] Invalidate LCSSA exit phis more thoroughly (#69909)

This an alternative to #69886. The basic problem is that SCEV can look
through trivial LCSSA phis. When the phi node later becomes non-trivial,
we do invalidate it, but this doesn't catch uses that are not covered by
the IR use-def walk, such as those in BECounts.

Fix this by adding a special invalidation method for LCSSA phis, which
will also invalidate all the SCEVUnknowns/SCEVAddRecExprs used by the
LCSSA phi node and defined in the loop.

We should probably also use this invalidation method in other places
that add predecessors to exit blocks, such as loop unrolling and loop
peeling.

Fixes #69097.
Fixes #66616.
Fixes #63970.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h (diff)
The file was addedllvm/test/Transforms/LoopVectorize/pr66616.ll
Commit fd2d5add437b2b324492b1bc29374699fe7b614b by github
[include-cleaner] Make sure exports of stdlib also works for physical files (#72246)

This was creating discrepancy in cases where we might have a physical
file entry (e.g. because we followed a source location from a stdlib
file) and tried to find its exporters.
The file was modifiedclang-tools-extra/include-cleaner/lib/Record.cpp (diff)
The file was modifiedclang-tools-extra/include-cleaner/unittests/RecordTest.cpp (diff)
Commit 76a441a6efa5b7e73d96a3d67512493f3873b1cb by i
[MC] Fix compression header size check in ELF writer

This is #66888 with a test. For MC we only use a zstd test, as zlib has
a lot of versions/forks with different speed/size tradeoff, which would
make the test more brittle. If clang/test/Misc/cc1as-compress.s turns
out to be brittle, we could make the string longer.
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp (diff)
The file was modifiedclang/test/Misc/cc1as-compress.s (diff)
The file was modifiedllvm/test/MC/ELF/compress-debug-sections-zstd.s (diff)
Commit c4fd1fd6d4e0d21b2315fadecbcdc0892f3c6925 by github
[mlir][emitc] Rename `call` op to `call_opaque` (#72494)

This renames the `emitc.call` op to `emitc.call_opaque` as the existing
call op does not refer to the callee by symbol. The rename allows to
introduce a new call op alongside with a future `emitc.func` op to model
and facilitate functions and function calls.
The file was modifiedmlir/test/Dialect/EmitC/attrs.mlir (diff)
The file was modifiedmlir/test/Dialect/EmitC/types.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/EmitC/IR/EmitC.td (diff)
The file was modifiedmlir/test/Conversion/SCFToEmitC/if.mlir (diff)
The file was modifiedmlir/docs/Dialects/emitc.md (diff)
The file was modifiedmlir/test/Dialect/EmitC/invalid_ops.mlir (diff)
The file was modifiedmlir/test/Target/Cpp/common-cpp.mlir (diff)
The file was modifiedmlir/test/Dialect/EmitC/ops.mlir (diff)
The file was modifiedmlir/test/Target/Cpp/control_flow.mlir (diff)
The file was modifiedmlir/test/Target/Cpp/if.mlir (diff)
The file was modifiedmlir/test/Target/Cpp/for.mlir (diff)
The file was modifiedmlir/test/Target/Cpp/literal_call_operand.mlir (diff)
The file was modifiedmlir/lib/Dialect/EmitC/IR/EmitC.cpp (diff)
The file was modifiedmlir/test/Target/Cpp/call.mlir (diff)
The file was modifiedmlir/lib/Target/Cpp/TranslateToCpp.cpp (diff)
The file was modifiedmlir/test/Target/Cpp/attrs.mlir (diff)
The file was modifiedmlir/test/Target/Cpp/types.mlir (diff)
Commit 8775232c49cde288c429e27dd0f4f492fbb0cefa by npopov
[ValueTracking] Remove handling of KnownBits assumptions with invert

For all practical purposes, we only care about comparisons with
constant RHS in this code. In that case, an invert will be
canonicalized into the constant and it will be handled by other cases.

Given the complete lack of test coverage, I'm removing this code.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp (diff)
Commit b4c1421466bd1a8b024d557b259eb4406073be8d by akuegel
[mlir] Apply ClangTidy fix

Remove redundant return.
The file was modifiedmlir/lib/Analysis/Presburger/IntegerRelation.cpp (diff)
Commit 1c05fe350064aa3a1784bb09829a07d501842d97 by github
[InstCombine] Pass InstCombineOptions instead of separate flags (NFC). (#72566)

This makes it simpler to pass additional flags/options in the future.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
Commit 58253dcbcdfafb1fb1fb5ffc43d6f11a31f35e2a by llvm-dev
[X86] getTargetConstantBitsFromNode - bail if we're loading from a constant vector element type larger than the target value size

This can be improved upon by just truncating the constant value, but the crash needs to be addressed first.

Fixes #72539
The file was addedllvm/test/CodeGen/X86/pr72539.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit 915f6c3d6a4377e2672a95c656374d71df62e95a by github
[flang][RFC] Adding a design document for assumed-rank objects (#71959)

This patch adds a document describing assumed-rank objects and the
related features as well as how they will be implemented in Flang.
The file was modifiedflang/docs/index.md (diff)
The file was addedflang/docs/AssumedRank.md
Commit a66085c84c829f1685a3d73f7f7ffa2ad1e9f81f by llvm-dev
[X86] vec_fabs.ll - sort tests into 128/256/512-bit vector types
The file was modifiedllvm/test/CodeGen/X86/vec_fabs.ll (diff)
Commit 0b0440613f94cced3b047f0105a7770b07662e20 by llvm-dev
[X86] vec_fabs.ll - regenerate checks and add common AVX512 prefixes
The file was modifiedllvm/test/CodeGen/X86/vec_fabs.ll (diff)
Commit 7aaa86b28ddc3deded6e357b27f2bbebb97a3864 by kadircet
[include-cleaner] Add regression tests for outliving File&Source Manager
The file was modifiedclang-tools-extra/include-cleaner/unittests/RecordTest.cpp (diff)
Commit a67b85ef63c7ec29c2076294e3f7c7f923144a53 by github
Add llvm-dlltool to the toolchain list (#72563)

This adds dlltool to the list of tools which don't get excluded from
installation when LLVM_INSTALL_TOOLCHAIN_ONLY is set.

The most important effect here is that this tool will now be included in
the official Windows release.

While llvm-lib reuses the dlltool machinary internally and has many of
the same capabilities, it does not expose the functionality controller
by the '-k' flag, which is currently the only way to create import
libraries for i386 with stdcall symbols from a module definition alone.

We avoid changing llvm-lib tool, since it is designed to emulate LIB.EXE
from MSVC toolchain, and as this functionality is not supported there,
we would have had to introduce an LLVM extension flag in order to
support it.

See https://reviews.llvm.org/D36548 for reference on rationale for
dlltool '-k' flag.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake (diff)
Commit ec42d547eba5c0ad0bddbecc8902d35383968e78 by github
[lld][COFF][NFC] Factor out exception table sorting. (#72518)

This is a preparation for ARM64EC support, which needs to sort both ARM
and x86_64 tables separately.
The file was modifiedlld/COFF/Writer.cpp (diff)
Commit f049395fc8d6d8bbbc711c7a2ce293210c580240 by github
[APINotes] Upstream APINotesManager

This upstreams more of the Clang API Notes functionality that is
currently implemented in the Apple fork:
https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.def (diff)
The file was modifiedclang/include/clang/Basic/Module.h (diff)
The file was addedclang/include/clang/Basic/SourceMgrAdapter.h
The file was modifiedclang/lib/Basic/CMakeLists.txt (diff)
The file was modifiedclang/lib/APINotes/CMakeLists.txt (diff)
The file was addedclang/lib/Basic/SourceMgrAdapter.cpp
The file was modifiedclang/include/clang/APINotes/Types.h (diff)
The file was addedclang/lib/APINotes/APINotesManager.cpp
The file was addedclang/include/clang/APINotes/APINotesManager.h
Commit 26ce3e4239150ccc3328c43e4b47264989c07411 by github
[InstCombine] Preserve NSW flags for `lshr (mul nuw X, C1), C2 -> mul nuw nsw X, (C1 >> C2)` (#72625)

Alive2: https://alive2.llvm.org/ce/z/TU_V9M

This missed optimization is discovered with the help of
https://github.com/AliveToolkit/alive2/pull/962.
The file was modifiedllvm/test/Transforms/InstCombine/shift-logic.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)
Commit 9ed4a57e31ddabd9628b31fe1c0abe75d3789ecf by github
Add libc++ github actions workflow to replace buildkite (#71836)

This change ports almost all of the linux buildkite builders to github
actions.

I would like to have this transition occur as soon as possible.
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml (diff)
The file was added.github/workflows/libcxx-build-and-test.yaml
Commit e5e71affb72178ccfedae2083c686999d9fa4941 by github
[LV] Reverse mask up front, not when creating vector pointer. (#72163)

Reverse mask early on when populating BlockInMask. This will enable
separating mask management and address computation from the memory
recipes in the future and is also needed to enable explicit unrolling in
VPlan.
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll (diff)
Commit e77af7e1b07ac648c026922e4a0b07e9af35f714 by github
[DebugInfo] Make DIArgList inherit from Metadata and always unique (#72147)

This patch changes the `DIArgList` class's inheritance from `MDNode` to
`Metadata, ReplaceableMetadataImpl`, and ensures that it is always
unique, i.e. a distinct DIArgList should never be produced.

This should not result in any changes to IR or bitcode parsing and
printing, as the format for DIArgList is unchanged, and the order in which it
appears should also be identical. As a minor note, this patch also fixes
a gap in the verifier, where the ValueAsMetadata operands to a DIArgList
would not be visited.
The file was modifiedllvm/include/llvm/IR/Metadata.h (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp (diff)
The file was modifiedllvm/include/llvm/AsmParser/LLParser.h (diff)
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.h (diff)
The file was modifiedllvm/lib/IR/TypeFinder.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Metadata.def (diff)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h (diff)
The file was modifiedllvm/lib/IR/Metadata.cpp (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
Commit 95acb33b458128b7ff2314efa3b41b93b3897179 by github
[mlir][vector] Move transpose with unit-dim to shape_cast pattern (#72493)

Moved from lowering to canonicalization.
The file was modifiedmlir/lib/Dialect/Vector/IR/VectorOps.cpp (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-transpose-lowering.mlir (diff)
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir (diff)
The file was modifiedmlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp (diff)
Commit b1e039f3b757dbcf4928e075e2120070e9d92a85 by github
[AMDGPU] - Add constant folding for s_quadmask (#72381)

If the input is a constant we can constant fold the `s_quadmask`
intrinsic.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.quadmask.ll (diff)
Commit 9c0e64999b23046d0b8987a48ddc41a4c6129f9d by github
[Offloading][NFC] Refactor handling of offloading entries (#72544)

Summary:
This patch is a simple refactoring of code out of the linker wrapper
into a common location. The main motivation behind this change is to
make it easier to change the handling in the future to accept a triple
to be used to emit entries that function on that target.
The file was modifiedllvm/include/llvm/Frontend/Offloading/Utility.h (diff)
The file was modifiedclang/test/Driver/linker-wrapper-image.c (diff)
The file was modifiedclang/tools/clang-linker-wrapper/CMakeLists.txt (diff)
The file was modifiedllvm/lib/Frontend/Offloading/Utility.cpp (diff)
The file was modifiedclang/tools/clang-linker-wrapper/OffloadWrapper.cpp (diff)
Commit ff219ea9ca80f46ff85dbdb94622ffb319a0d237 by github
[OpenACC] Initial commits to support OpenACC (#70234)

Initial commits to support OpenACC.  This patchset:

adds a clang-command line argument '-fopenacc', and starts
to define _OPENACC, albeit to '1' instead of the standardized
value (since we don't properly implement OpenACC yet).

The OpenACC spec defines `_OPENACC` to be equal to the latest standard
implemented. However, since we're not done implementing any standard,
we've defined this by default to be `1`. As it is useful to run our
compiler against existing OpenACC workloads, we're providing a
temporary override flag to change the `_OPENACC` value to be any
entirely digit value, permitting testing against any existing OpenACC
project.

Exactly like the OpenMP parser, the OpenACC pragma parser needs to
consume and reprocess the tokens. This patch sets up the infrastructure
to do so by refactoring the OpenMP version of this into a more general
version that works for OpenACC as well.

Additionally, this adds a few diagnostics and token kinds to get us
started.
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td (diff)
The file was addedclang/test/ParserOpenACC/unimplemented.c
The file was addedclang/test/ParserOpenACC/unimplemented.cpp
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/lib/Serialization/ASTReader.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTWriter.cpp (diff)
The file was addedclang/test/ParserOpenACC/disabled.c
The file was addedclang/test/Driver/openacc.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/lib/Parse/ParsePragma.cpp (diff)
The file was modifiedclang/lib/Parse/CMakeLists.txt (diff)
The file was modifiedclang/lib/Parse/Parser.cpp (diff)
The file was addedclang/test/Preprocessor/openacc.c
The file was modifiedclang/include/clang/Basic/TokenKinds.def (diff)
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp (diff)
The file was modifiedclang/lib/Parse/ParseStmt.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/lib/Parse/ParseDecl.cpp (diff)
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.def (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was addedclang/lib/Parse/ParseOpenACC.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.h (diff)
Commit 2ed15877e7427801d1699611d0b29f23718b01ab by llvm-dev
[X86] Ensure asm comments only print the constant values for the vector load's register width

We were printing the entire Constant, which if we were loading from a wider constant pool entry meant that we were confusing the asm comment with upper bits that aren't actually part of the load result
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/insert-into-constant-vector.ll (diff)
Commit 44af5924b1cbbb395e7e71250a5445053c4ec4a3 by github
[Statepoint] Return undef value for the statepoint of the none token (#72552)

Helps avoid the crash in verifier when it tries to print the error.
`none` token might be produced by llvm-reduce, since it's a default
value, so by extension this also fixes llvm-reduce crash, allowing it to
just discard invalid IR.

---------

Co-authored-by: arpilipe <apilipenko@azul.com>
The file was addedllvm/test/Verifier/gc_none_token.ll
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp (diff)
Commit f5016597687c404ea5205f1e40d80ce139d20d72 by github
[TextAPI] don't write out empty/zeroed out min os (#72603)

The file was modifiedllvm/lib/TextAPI/TextStubV5.cpp (diff)
Commit 8f81c605f5f450c4b4b641f805935a85b9409d98 by github
[RISCV] Remove custom instruction selection for VFCVT_RM and friends (#72540)

We already have the pseudo's for lowering these as MI nodes with
rounding mode operands, and the generic FRM insertion pass. Doing the
insertion later in the backend allows SSA level passes to avoid
reasoning about physical register copies, and happens to produce better
code in practice. The later is mostly an accident of our insertion
order; we happen to place the frm write after the vsetvli, and it's very
common for a register to be killed at the vsetvli. End result is that we
get slightly better scalar register allocation.

I'm a bit unclear on the history here. I was surprised to find this code
in ISEL lowering at all, but am also surprised once I found it that all
the patterns and pseudos seem to already exist. My best guess is that
maybe we didn't do all the possible cleanup after introducing the
HasRoundMode mechanism?
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/half-round-conv.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/float-round-conv.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/ceil-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/round-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/floor-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/double-round-conv.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
Commit 965d301dff1837e2a7a0671c549bcf7ddb350486 by github
[clang][Interp] Implement __builtin_classify_type (#71972)

This adds some infrastructure for unevaluated builtin calls, and uses the implementation from ExprConstant.cpp
The file was modifiedclang/lib/AST/Interp/Function.h (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/lib/AST/Interp/ByteCodeEmitter.cpp (diff)
The file was modifiedclang/test/SemaCXX/builtin-classify-type.cpp (diff)
The file was modifiedclang/test/Sema/builtin-classify-type.c (diff)
The file was modifiedclang/lib/AST/Interp/ByteCodeExprGen.cpp (diff)
The file was modifiedclang/lib/AST/Interp/Function.cpp (diff)
The file was modifiedclang/lib/AST/Interp/InterpBuiltin.cpp (diff)
The file was addedclang/lib/AST/ExprConstShared.h
The file was modifiedclang/lib/AST/Interp/Interp.cpp (diff)
Commit 06effaf43e9669c55ee4a1e2254166b5e7dc5b29 by github
[lldb][test] Add the ability to extract the variable value out of the summary. (#72631)

Fix for https://github.com/llvm/llvm-project/issues/71897
When it comes to test infrastructure the test (TestDAP_variables.py:
test_scopes_variables_setVariable_evaluate_with_descriptive_summaries)
will fail if the variable has a summary along with value.

I just tried to add a summary to a variable before we set a value to the
variable using below expression from “request_setVariable” function.
RunLLDBCommands(llvm::StringRef(), {std::string("type summary add
--summary-string "{sample summary}" (const char **) argv")});

As value has nonnumeric characters where we are trying to convert into
integer, python is throwing an error. We did not see this issue in
upstream as we are not adding summary explicitly, by default we are
getting empty summary & value for all children’s of argv parameter (even
after auto summary).

The test is failing with below error:
ERROR:
test_scopes_variables_setVariable_evaluate_with_descriptive_summaries
(TestDAP_variables.TestDAP_variables)
Traceback (most recent call last):
File
"/llvm/llvm-project/lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py",
line 372, in
test_scopes_variables_setVariable_evaluate_with_descriptive_summaries
enableAutoVariableSummaries=True
File
"/llvm/llvm-project/lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py",
line 266, in do_test_scopes_variables_setVariable_evaluate
argv = self.get_local_as_int("argv")
File
"//llvm/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py",
line 199, in get_local_as_int
return int(value, 16)
ValueError: invalid literal for int() with base 16: '0x0000000000001234
sample summary'
Config=x86_64-//llvm/llvm-build/bin/clang

Co-authored-by: Santhosh Kumar Ellendula <sellendu@hu-sellendu-hyd.qualcomm.com>
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py (diff)
Commit 0765f6451ff964c4e209133e4ddef00a52dc9e7f by github
[RISCV] Use correct register class for Z[df]inx inline asm (#71872)

Allocate a register of the correct register class for inline asm
constraint "r" when used for FP values with -Zfinx/-Zdinx.

---------

Co-authored-by: Nemanja Ivanovic <nemanja@synopsys.com>
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
Commit 227607190e68c303920bcbd148043dbb1aa5d3b1 by github
[RISCV] Fix crash in PEI with empty entry block with Zcmp (#72117)

We check the opcode of the first instruction in the block where the
prologue is inserted without checking if the iterator points to any
instructions. When the basic block is empty, that causes a crash. One
way the prologue block can be empty is when it starts with a call to
__builtin_readcyclecounter on RV32 since that produces a loop.

Co-authored-by: Nemanja Ivanovic <nemanja@synopsys.com>
The file was addedllvm/test/CodeGen/RISCV/pei-crash.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp (diff)
Commit 7d1a9e81b0b59d020a52c789d659acb5ee5fdc41 by erichkeane
[OpenACC] Rename ParseOpenACCDirective to ParseOpenACCDirectiveDecl

The former name is more useful as a callee of the function in a future
patch, so as suggested in that review, move the rename here.
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/lib/Parse/Parser.cpp (diff)
The file was modifiedclang/lib/Parse/ParseOpenACC.cpp (diff)
The file was modifiedclang/lib/Parse/ParseDecl.cpp (diff)
Commit 3f225708c4b69fc2ef5dd317f87a9e37956d045d by youngsuk.kim
[llvm][InstrProfiling] Remove ptr-to-ptr bitcasts (NFC)

Opaque ptr cleanup effort (NFC).
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp (diff)
Commit ec6a34e2a781fcfc6fe1d30e7cd358fb779157cf by github
[lldb] Pass important options to dsymForUUID (#72669)

On macOS, we usually use the DebugSymbols framework to find dSYMs, but
we have a few places (including crashlog.py) that calls out directly to
dsymForUUID. Currently, this invocation is missing two important
options:

* `--ignoreNegativeCache`: Poor network connectivity or lack of VPN can
lead to a negative cache hit. Avoiding those issues is worth the penalty
of skipping these caches.
* `--copyExecutable`: Ensure we copy the executable as it might not be
available at its original location.

rdar://118480731
The file was modifiedlldb/examples/python/crashlog.py (diff)
Commit cfd0f41f4effb5d31654dcb28c1a577c152ee23b by a.bataev
[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using
Expr container, NFC.

Saves the memory and may improve compile time.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 2310066faab21996a52513c5475552f0e28f0624 by npopov
[InstSimplify] Simplify calculation of GEP result pointer type (NFC)

The result type is the same as the input pointer type, except for
splat geps.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)
Commit c601be9c8400929f7b5c015a2bceae57e3aab550 by github
[coroutines] Introduce [[clang::coro_return_type]] and [[clang::coro_wrapper]] (#71945)

First step in the implementation of
[RFC](https://discourse.llvm.org/t/rfc-lifetime-bound-check-for-parameters-of-coroutines/74253)
([final approved
doc](https://docs.google.com/document/d/1hkfXHuvIW1Yv5LI-EIkpWzdWgIoUlzO6Zv_KJpknQzM/edit)).

This introduces the concepts of a **coroutine return type** and explicit
**coroutine wrapper** functions.

---------

Co-authored-by: Chuanqi Xu <yedeng.yd@linux.alibaba.com>
The file was addedclang/test/SemaCXX/coro-return-type-and-wrapper.cpp
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/include/clang/Basic/Attr.td (diff)
The file was modifiedclang/include/clang/Basic/AttrDocs.td (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/lib/Sema/SemaDecl.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test (diff)
Commit 19e745890b8658825de63ce4d839537c7707e425 by llvm-dev
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp (diff)
Commit aeedc0763772b398a725ab34d8a9cc1d698c60cb by llvm-dev
[IR] Add GraalVM calling conventions

Adds GraalVM calling conventions. The only difference with the default calling conventions is that GraalVM reserves two registers for the heap base and the thread. Since the registers are then accessed by name, getRegisterByName has to be updated accordingly.

This patch implements the calling conventions only for X86, AArch64 and RISC-V.

For X86, the reserved registers are X14 and X15. For AArch64, they are X27 and X28. For RISC-V, they are X23 and X27.

This patch has been used by the LLVM backend of GraalVM's Native Image project in production for around 4 months with no major issues.

Differential Revision: https://reviews.llvm.org/D151107
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/X86/graalcc.ll
The file was modifiedllvm/include/llvm/IR/CallingConv.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp (diff)
The file was modifiedllvm/include/llvm/AsmParser/LLToken.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/graalcc.ll
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/graalcc.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp (diff)
Commit 88d0ceb68936d8905bfc1724a18690b3b6115f94 by me
[AArch64] Additional test coverage for PR67879 (NFC)

Introduce further test exercizing `isAArch64FrameOffsetLegal`.
The file was modifiedllvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-rcpc_immo.ll (diff)
Commit b469d1d6208573cb9fa5be7982c75115414b6e8e by llvmgnsyncbot
[gn build] Port f049395fc8d6
The file was modifiedllvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/clang/lib/APINotes/BUILD.gn (diff)
Commit 33e41c457a20e5872a20ad40ed28a7ed78693217 by llvmgnsyncbot
[gn build] Port ff219ea9ca80
The file was modifiedllvm/utils/gn/secondary/clang/lib/Parse/BUILD.gn (diff)
Commit 764c3afd43128f7ccddb070953c330b340ebe811 by github
[Tooling/Inclusion] Avoid narrowing conversions in macro expansion (#72664)

```
clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp:144:65: warning:
narrowing conversion of ‘llvm::StringRef(((const char*)"std::experiment
al::filesystem::")).llvm::StringRef::size()’ from ‘size_t’ {aka ‘long un
signed int’} to ‘unsigned int’ [-Wnarrowing]
  144 | #define SYMBOL(Name, NS, Header) {#NS #Name, StringRef(#NS).size
(), #Header},
      |                                              ~~~~~~~~~~~~~~~~~~~
^~
clang/lib/Tooling/Inclusions/Stdlib/StdTsSymbolMap.inc:51:1: note: in ex
pansion of macro ‘SYMBOL’
   51 | SYMBOL(temp_directory_path, std::experimental::filesystem::, <ex
perimental/filesystem>)
      | ^~~~~~
```
The file was modifiedclang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp (diff)
Commit aafad2d214246bae4d53ce3178b11486ebc83890 by github
[Clang] Warn on deprecated specializations used in system headers. (#70353)

When the top of the instantiation stack is in user code.

The goal of this PR is to allow deprecation of some char_traits
specializations in libc++ as done in https://reviews.llvm.org/D157058
which was later reverted by
https://github.com/llvm/llvm-project/pull/66153#issuecomment-1719578384
as Clang never emitted the libc++ warnings.

Because Clang likes to eagerly instantiate, we can look for the location
of the top of the instantiation stack, and emit a warning if that
location is in user code.

The warning emission is forced by temporarily instructing the diag
engine not to silence warning in system headers.
The file was addedclang/test/SemaCXX/warn-deprecated-specializations-in-system-headers.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Sema/SemaAvailability.cpp (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
Commit 6e31709283478aec409af924d9e9c13843f13c42 by github
[ClangModule] Fix decl-params-determinisim test after serialization change (#72572)

Fix decl-params-determinisim test after 48be81e1 packed some information
in the clang module. The test is to make sure the decls are appearing in
a strict ordering and it relies on check the correct field in the
bitcode format.

Add more explanation in the comments to help future updates when
serialization format affects this test.
The file was modifiedclang/test/Modules/decl-params-determinisim.m (diff)
Commit 3ce5c04ad0585e5e14ba9d2f594492a257edf7b1 by github
Replace getAs with castAs, dyn_cast with cast (NFC) (#72600)

Make the code clear that nullptrs are not expected.
The file was modifiedclang/lib/AST/ASTContext.cpp (diff)
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp (diff)
Commit b1338d1e3a8c4b1b4c7364696852f67401fa40ca by github
[tsan] Shrink RiscV64 48-bit LowApp region slightly to speed up TSan RestoreAddr (#72316)

The RiscV64 48-bit mappings introduced in
46cb8d9a325233ac11ed5e90367c43774294d87e necessitated changing
RestoreAddr to use 4-bits as the indicator. This roughly halves the
speed of RestoreAddr, because it is now brute-force testing addresses in
1TB increments, rather than 2TB increments. Crucially, this slowdown
applies to TSan on all platforms, not just RiscV64 48-bit.

This patch slightly shrinks the RiscV64 48-bit LowApp region mapping
(from 5TB to 4TB); we hope that 4TB ought to be enough for anybody,
especially since there is no ASLR applied to the binary in this region.
This allows restoring RestoreAddr to use 3-bits as the indicator again,
thus speeding up TSan on all platforms.

Co-authored-by: Thurston Dang <thurston@google.com>
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h (diff)
Commit 7057f8f676b6037e67ab6bb604b60235d2d629a1 by github
[AMDGPU] Pre-commit fdot2 test. NFC. (#72622)

This test exposes a bug where we violate constant bus restriction.
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll (diff)
Commit 6b56dd6a9362a7060565d3ba9ba67702773ad22d by github
[mlir][sparse] enable 2:4 test for both directIR/libgen path (#72593)

The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir (diff)
Commit 0fd5dc94380d5fe666dc6c603b4bb782cef743e7 by github
Revert "[DebugInfo] Make DIArgList inherit from Metadata and always unique" (#72682)

Reverts llvm/llvm-project#72147

Reverted due to buildbot failure:
https://lab.llvm.org/buildbot/#/builders/5/builds/38410
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Metadata.def (diff)
The file was modifiedllvm/lib/IR/TypeFinder.cpp (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.h (diff)
The file was modifiedllvm/include/llvm/IR/Metadata.h (diff)
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was modifiedllvm/include/llvm/AsmParser/LLParser.h (diff)
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h (diff)
The file was modifiedllvm/lib/IR/Metadata.cpp (diff)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)
Commit a4051932895d9ef6c4516c42309a49912f69f740 by Jon Roelofs
[MC][AsmParser] Diagnose improperly nested .cfi frames

This showed up when simplifying some large testcase, where the cfi directives
became out of sync with the proc's they enclose.

rdar://111459507

Differential revision: https://reviews.llvm.org/D155245
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was addedllvm/test/MC/AArch64/cfi-bad-nesting.s
Commit bfbfd1caa4da70774547c1c298e482661822a137 by llvm-dev
[X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data

If we already have a YMM/ZMM constant that a smaller XMM/YMM has matching lower bits, then ensure we reuse the same constant pool entry.

Extends the similar combines we already have to reuse VBROADCAST_LOAD/SUBV_BROADCAST_LOAD constant loads.

This is a mainly a canonicalization, but should make it easier for us to merge constant loads in a future commit (related to both #70947 and better X86FixupVectorConstantsPass usage for #71078).
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll (diff)
Commit 4263b2ecf8c4b9b62094a731bb92c501197531b0 by github
[NVPTX] Expand EXTLOAD for v8f16 and v8bf16 (#72672)

In openai/triton#2483 I've encountered a bug in the NVPTX codegen. Given
`load<8 x half>` followed by `fpext to <8 x float>` we get

```
ld.shared.v4.b16 {%f1, %f2, %f3, %f4}, [%r15+8];
ld.shared.v4.b16 {%f5, %f6, %f7, %f8}, [%r15];
```

Which loads float16 values into float registers without any conversion
and the result is simply garbage.

This PR brings `v8f16` and `v8bf16` into line with the other vector
types by expanding it to load + cvt.

cc @manman-ren @Artem-B @jlebar
The file was modifiedllvm/test/CodeGen/NVPTX/vector-loads.ll (diff)
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/NVPTX/bf16-instructions.ll (diff)
Commit e2fb816c4f0286ddf8b1030148a343d5efc14e01 by github
Add new API in SBTarget for loading core from SBFile (#71769)

Add a new API in SBTarget to Load Core from a SBFile.
This will enable a target to load core from a file descriptor.
So that in coredumper, we don't need to write core file to disk, instead
we can pass the input file descriptor to lldb directly.


Test:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> file_object = open("/home/hyubo/210hda79ms32sr0h", "r")
>>> fd=file_object.fileno()
>>> file = lldb.SBFile(fd,'r', True)
>>> error = lldb.SBError()
>>> target = lldb.debugger.CreateTarget(None)
>>> target.LoadCore(file,error)
SBProcess: pid = 56415, state = stopped, threads = 1
```
The file was modifiedlldb/include/lldb/API/SBTarget.h (diff)
The file was modifiedlldb/source/API/SBTarget.cpp (diff)
The file was modifiedlldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py (diff)
Commit f99a02005970cdcb0aad0de80fa4e5b546c6546b by stephen.tozer
Reapply "[DebugInfo] Make DIArgList inherit from Metadata and always unique"

This reverts commit 0fd5dc94380d5fe666dc6c603b4bb782cef743e7.

The original commit removed DIArgLists from being in an MDNode map, but did
not insert a new `delete` in the LLVMContextImpl destructor. This
reapply adds that call to delete, preventing a memory leak.
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.h (diff)
The file was modifiedllvm/lib/IR/Metadata.cpp (diff)
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Metadata.def (diff)
The file was modifiedllvm/include/llvm/AsmParser/LLParser.h (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp (diff)
The file was modifiedllvm/lib/IR/TypeFinder.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Metadata.h (diff)
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp (diff)
Commit 99ee2db198d86f685bcb07a1495a7115ffc31d7e by github
[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)


foldMemoryOperand looks at pairs of instructions (generally a load to
virt reg then use of the virtreg, or def of a virtreg then a store) and
attempts to combine them.  This can reduce register pressure.

A prior commit added the ability to mark such a MachineOperand as
foldable. In terms of INLINEASM, this means that "rm" was used (rather
than just "r") to denote that the INLINEASM may use a memory operand
rather than a register operand. This effectively undoes decisions made
by the instruction selection framework.  Callers will be added in the
register allocation frameworks. This has been tested with all of the
above (which will come as follow up patches).

Thanks to @topperc who suggested this at last years LLVM US Dev Meeting
and @qcolombet who confirmed this was the right approach.

Link: https://github.com/llvm/llvm-project/issues/20571
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h (diff)
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp (diff)
Commit 3425e11a11c32704f7d70221bf1d073851682de3 by github
[OpenMP] Add missing pieces in __kmp_launch_worker for Solaris support (#72613)

The file was modifiedopenmp/runtime/src/z_Linux_util.cpp (diff)
Commit 573c4db9478fb8374292f39ae168dbd6a20d9ff5 by github
[mlir][sparse] refine reinterpret_map test cases (#72684)

The file was modifiedmlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir (diff)
Commit 94e86751e5789fa32e1298a48f5b2d5e5072f84b by github
[NFC][SLP] Remove unnecessary DL argument (#72674)

The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 4172fcc1ebbe0a7b699bfcbdaae9d5f688b62b09 by Jon Roelofs
Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames"

This reverts commit a4051932895d9ef6c4516c42309a49912f69f740.

It broke: lld/test/COFF/gc-dwarf-eh.s
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was removedllvm/test/MC/AArch64/cfi-bad-nesting.s
Commit 94ce378ec051a120d640073b885fcd90f1cf10f8 by github
[lldb] Remove unused Status::SetMachError (NFC) (#72668)

This function is never used, neither here nor downstream in the Swift
fork. As far as I can tell, the same is true for the corresponding
eErrorTypeMachKernel but as that's part of the SB API we cannot remove
that.
The file was modifiedlldb/source/Utility/Status.cpp (diff)
The file was modifiedlldb/include/lldb/Utility/Status.h (diff)
Commit 18eefc186d75f60c9a828e13a8379769eb5c1812 by github
Modify llvm-gsymutil lookups to handle overlapping ranges correctly. (#72350)

llvm-gsymutil allows address ranges to overlap. There was a bug where if
we had debug info for a function with a range like [0x100-0x200) and a
symbol at the same start address yet with a larger range like
[0x100-0x300), we would randomly get either only information from the
first or second entry. This could cause lookups to fail due to the way
the binary search worked.

This patch makes sure that when lookups happen we find the first address
table entry that can match an address, and also ensures that we always
select the first FunctionInfo that could match. FunctionInfo entries are
sorted such that the most debug info rich entries come first. And if we
have two ranges that have the same start address, the smaller range
comes first and the larger one comes next. This patch also adds the
ability to iterate over all function infos with the same start address
to always find a range that contains the address.

Added a unit test to test this functionality that failed prior to this
fix and now succeeds.

Also fix an issue when dumping an entire GSYM file that has duplicate address entries where it used to always print out the binary search match for the FunctionInfo, not the actual data for the address index.
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymReader.cpp (diff)
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/GsymReader.h (diff)
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp (diff)
Commit fac5ab662e6556f6e552196daaa8fe5280f26f2f by youngsuk.kim
[llvm][WebAssemblyFixFunctionBitcasts] Remove no-op ptr-to-ptr bitcast (NFC)

Opaque ptr cleanup effort (NFC)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp (diff)
Commit 2fd343e56c9fe3cdb1f9afe0fc9e1ec6d52d2f44 by Jon Roelofs
[MC][AsmParser] Diagnose improperly nested .cfi frames

This showed up when simplifying some large testcase, where the cfi directives
became out of sync with the proc's they enclose.

rdar://111459507

Differential revision: https://reviews.llvm.org/D155245

This reverts commit 4172fcc1ebbe0a7b699bfcbdaae9d5f688b62b09.
The file was addedllvm/test/MC/AArch64/cfi-bad-nesting.s
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was modifiedlld/test/COFF/gc-dwarf-eh.s (diff)
Commit 704c22473641e26d95435c55aa482fbf5abbbc2c by github
[mlir][sparse] Clean up parser (#72571)

Remove unused functions in parser.
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/Detail/Var.h (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.cpp (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/Detail/DimLvlMap.h (diff)
Commit 64b6ef02e263a8ee48bd91f8b06dd3945eb9be44 by github
[OpenACC] Implement initial parsing for `parallel` construct (#72661)

As the first real parsing effort for the OpenACC implementation effort,
this implements the parsing for first construct/directive name. This
does not do any semantic analysis, nor any of the clauses. Those will
come in a future patch.

For the time being, we warn when we hit a point that we don't implement
the parsing for either of these situations.
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/lib/Parse/ParseOpenACC.cpp (diff)
The file was modifiedclang/include/clang/Parse/RAIIObjectsForParser.h (diff)
The file was modifiedclang/lib/Parse/Parser.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/test/ParserOpenACC/unimplemented.c (diff)
The file was addedclang/test/ParserOpenACC/parse-constructs.c
The file was modifiedclang/test/ParserOpenACC/unimplemented.cpp (diff)
The file was addedclang/include/clang/Basic/OpenACCKinds.h
The file was modifiedflang/lib/Optimizer/Transforms/LoopVersioning.cpp (diff)
Commit 9052ac954dde20f94e6c649053411bbff14fc45c by github
[NFCI][msan] Reduce code duplication by extracting VarArgHelperBase



Reviewers: thurstond, kstoimenov

Reviewed By: thurstond, kstoimenov

Pull Request: https://github.com/llvm/llvm-project/pull/72686
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
Commit 9bd5f808ccacef0acc84529a0bdd22b448d06e4a by erichkeane
[OpenACC] Implement 'trivial' construct/directive parsing.

Now that the `parallel` support has landed, add the other 'trivial' to
implement ones that don't require any additional work other than adding
them to the StringSwitch.
The file was modifiedclang/include/clang/Basic/OpenACCKinds.h (diff)
The file was modifiedclang/lib/Parse/ParseOpenACC.cpp (diff)
The file was modifiedclang/test/ParserOpenACC/parse-constructs.c (diff)
Commit 07d4680dc16b0e6b5cef640fcf959f3de1afd282 by Vitaly Buka
[NFC][msan] Remove unused parameter from getOriginPtrForVAArgument (#72687)

The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
Commit a1ae7e97de24b7d9f3cd331ff47fc5a0cb5c29fe by github
[libc++] Fix char_traits deprecation message (LLVM 18 -> 19) (#72690)

We intend to remove the base specialization in LLVM 19, not LLVM 18. We
simply forgot to update the deprecation message accordingly.
The file was modifiedlibcxx/include/__string/char_traits.h (diff)
Commit 4db99c8b541592729cc0f8b2d1918bcb8c45f99f by github
[libc] Add base for target config within cmake (#72318)

Currently the only way to add or remove entrypoints is to modify the
entrypoints.txt file for the current target. This isn't ideal since
a user would have to carry a diff for this file when updating their
checkout. This patch adds a basic mechanism to allow the user to remove
entrypoints without modifying the repository.
The file was addedlibc/cmake/modules/system_features/check_sys_random.cpp
The file was modifiedlibc/config/CMakeLists.txt (diff)
The file was addedlibc/config/linux/x86_64/exclude.txt
The file was modifiedlibc/CMakeLists.txt (diff)
Commit be32e39892372d9fe069af6bfb829aa0071176a6 by github
[ValueTracking] Ignore poison values in `computeKnownBits` (#72683)

This patch handles `poison` elements of non-splat vectors in
`computeKnownBits`. It addresses test changes after I delete the
duplicate logic in https://github.com/llvm/llvm-project/pull/72535.

See also @nikic's comment:
https://github.com/llvm/llvm-project/pull/72535#pullrequestreview-1736991557
The file was modifiedllvm/test/Transforms/InstCombine/add.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/extractelement.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-vector-shifts-inseltpoison.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll (diff)
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/lshr.ll (diff)
Commit fab690d6b5d50f263bdb2413c913c9bd34d47625 by github
[NFC][SHT_LLVM_BB_ADDR_MAP] Define and use constructor and accessors for BBAddrMap fields. (#72689)

The fields are still kept as public for now since our tooling accesses
them. Will change them to private visibility in a later patch.
The file was modifiedllvm/lib/Object/ELF.cpp (diff)
The file was modifiedllvm/include/llvm/Object/ELFTypes.h (diff)
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp (diff)
The file was modifiedllvm/unittests/Object/ELFObjectFileTest.cpp (diff)
Commit 144b2f579ef06e663cf233431d291a913b895074 by github
[RISCV] Start vslide1down sequence with a dependency breaking splat (#72691)

If we are using entirely vslide1downs to initialize an otherwise undef
vector, we end up with an implicit_def as the source of the first
vslide1down. This register has to be allocated, and creates false
dependencies with surrounding code.

Instead, start our sequence with a vmv.v.x in the hopes of creating a
dependency breaking idiom. Unfortunately, it's not clear this will
actually work as due to the VL=0 special case for T.A. the hardware has
to work pretty hard to recognize that the vmv.v.x actually has no source
dependence. I don't think we can reasonable expect all hardware to have
optimized this case, but I also don't see any downside in prefering it.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll (diff)
Commit ae182dbb1d199f92b9c146e3db8a738a30b587b9 by github
[readtapi] Add Merge functionality (#72656)

Merge allows a user to merge different files (tbds for now or dylibs in
the future) to emit out a single tbd with all input contents. This does
require that all inputs represent the same library.
The file was modifiedllvm/include/llvm/TextAPI/TextAPIWriter.h (diff)
The file was modifiedllvm/test/tools/llvm-readtapi/command-line.test (diff)
The file was modifiedllvm/tools/llvm-readtapi/DiffEngine.cpp (diff)
The file was addedllvm/test/tools/llvm-readtapi/merge.test
The file was addedllvm/test/tools/llvm-readtapi/write.test
The file was addedllvm/test/tools/llvm-readtapi/merge-invalid.test
The file was modifiedllvm/tools/llvm-readtapi/DiffEngine.h (diff)
The file was modifiedllvm/tools/llvm-readtapi/TapiOpts.td (diff)
The file was modifiedllvm/tools/llvm-readtapi/llvm-readtapi.cpp (diff)
The file was modifiedllvm/test/tools/llvm-readtapi/compare-incorrect-format.test (diff)
Commit 37db332cf9aaf6047da9cc07ff544a4f91f49d24 by github
[test][msan] Precommit tests for vararg improvements (#72612)

The file was addedllvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
The file was addedllvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
The file was addedcompiler-rt/test/msan/vararg_shadow.cpp
Commit becd1cb9d3dfc8a962ec2e4b3fe373de1abce9ba by jgorbe
[Bazel] fixes for 9c0e64999b23046d0b8987a48ddc41a4c6129f9d
The file was modifiedutils/bazel/llvm-project-overlay/clang/BUILD.bazel (diff)
Commit 3a120019259c9ae44f41471de9072e721c859e7b by github
[lld][ELF] Recognize sparcv9 bitcode (#72609)

The file was modifiedlld/ELF/InputFiles.cpp (diff)
The file was addedlld/test/ELF/lto/sparcv9.ll
Commit 6a126e279dedc9fb8c204d29cfc227b0652ffe6c by aeubanks
Revert "[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using"

This reverts commit cfd0f41f4effb5d31654dcb28c1a577c152ee23b.

Causes crashes, see https://github.com/llvm/llvm-project/commit/cfd0f41f4effb5d31654dcb28c1a577c152ee23b.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit bd934fcbfda71fe5f332544a1c90fd8f59913d79 by aeubanks
Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames"

This reverts commit 2fd343e56c9fe3cdb1f9afe0fc9e1ec6d52d2f44.

Breaks building aarch64 builtins, see https://reviews.llvm.org/D155245.
The file was removedllvm/test/MC/AArch64/cfi-bad-nesting.s
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was modifiedlld/test/COFF/gc-dwarf-eh.s (diff)
Commit 12bdbe2792b53ee1253c508b44f24d43735e7de9 by github
[clang-tidy][NFC][DOC] Add missing HICPP rule id's (#72553)

Add HICPP rule identities to the documentation for
`hicpp-avoid-c-arrays` and `hicpp-no-assembler`.

Includes an update of `hicpp-avoid-goto` to look like other aliased
checks.

References:
* avoid-c-arrays
  Commit: 2634bd599567842385e11d1fd70f5486c166f935
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst (diff)
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst (diff)
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst (diff)
Commit 2402b14046b9628b584c07789830d7ed481f7d74 by github
Fix python SyntaxWarnings in check-all output (#72538)

By converting the offending strings to raw string literals.
The file was modifiedllvm/test/lit.cfg.py (diff)
The file was modifiedclang/lib/Tooling/DumpTool/generate_cxx_src_locs.py (diff)
The file was modifiedcompiler-rt/test/lit.common.cfg.py (diff)
Commit 52df67ba76a03ad33132d1d4f4202d5a2313a3cd by a.bataev
[SLP][NFC]Make collectValuesToDemote member of BoUpSLP to avoid using
Expr container, NFC.

Saves the memory and may improve compile time.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 6168337640addcf137c780d83770bd5e6e06a8c2 by erichkeane
[OpenACC] Handle lack of construct/directive

Discovered while working on another patch, this patch fixes the case
where are construct/directive name isn't provided.
The file was modifiedclang/test/ParserOpenACC/parse-constructs.c (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/lib/Parse/ParseOpenACC.cpp (diff)
Commit 0133e25d99df9468ec3d9b523f14733a4b5e7180 by Louis Dionne
[runtimes][NFC] Remove trailing whitespace
The file was modifiedlibcxx/utils/data/unicode/emoji-data.txt (diff)
The file was modifiedlibcxxabi/test/vendor/ibm/aix_xlclang_passing_excp_obj_32.pass.sh.S (diff)
The file was modifiedlibunwind/src/UnwindRegistersSave.S (diff)
The file was modifiedlibunwind/src/DwarfInstructions.hpp (diff)
The file was modifiedlibcxxabi/test/vendor/ibm/aix_xlclang_passing_excp_obj_64.pass.sh.S (diff)
Commit 341ca1ad0c32fc757680e9d5d302789b6458a7de by github
[test][msan] s390x already passes the test

3bc439bdff8bb5518098bd9ef52c56ac071276bc implemented overflow copying in a different way.

It's lucky to pass this test, but may fails in a different way.

Reviewers: thurstond, iii-i

Reviewed By: thurstond

Pull Request: https://github.com/llvm/llvm-project/pull/72710
The file was modifiedcompiler-rt/test/msan/vararg_shadow.cpp (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
Commit a3f17ba3febbd546f2342ffc780ac93b694fdc8d by Louis Dionne
[libc++] Implement P2467R1: Support exclusive mode for fstreams

This patch brings std::ios_base::noreplace from P2467R1 to libc++.
This requires compiling the shared library in C++23 mode since otherwise
fstream::open(...) doesn't know about the new flag.

Differential Revision: https://reviews.llvm.org/D137640
Co-authored-by: Louis Dionne <ldionne.2@gmail.com>
The file was modifiedlibcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp (diff)
The file was modifiedlibcxx/include/ios (diff)
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst (diff)
The file was modifiedlibcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp (diff)
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py (diff)
The file was modifiedlibcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp (diff)
The file was modifiedlibcxx/docs/Status/Cxx23Papers.csv (diff)
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp (diff)
The file was modifiedlibcxx/include/version (diff)
The file was modifiedlibcxx/docs/ReleaseNotes/18.rst (diff)
The file was modifiedlibcxx/include/fstream (diff)
Commit fbb2d9383ca5d5adb46b26366237559a853f228f by github
[msan][x86] Fix shadow for FP80 or long double (#72706)

FP80 is passed using stack.
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll (diff)
Commit a30e9a1a57bd1d9ee13362d85b9355d38eac3d12 by Vitaly Buka
[NFC][msan] Fix formating
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
Commit 7939ce39dac0078fef7183d6198598b99c652c88 by Jon Roelofs
[builtins] Move cfi start's after the symbol name [NFC]

... in preparation for diagnosing improperly nested .cfi regions.

See https://reviews.llvm.org/D155245
The file was modifiedcompiler-rt/lib/builtins/assembly.h (diff)
Commit 4323da926f12672daec7f59384bd153a7cf28674 by Jon Roelofs
[MC][AsmParser] Diagnose improperly nested .cfi frames

This showed up when simplifying some large testcase, where the cfi directives
became out of sync with the proc's they enclose.

rdar://111459507

Differential revision: https://reviews.llvm.org/D155245

This reverts commit 4172fcc1ebbe0a7b699bfcbdaae9d5f688b62b09.
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was addedllvm/test/MC/AArch64/cfi-bad-nesting.s
The file was modifiedlld/test/COFF/gc-dwarf-eh.s (diff)
Commit 5679f5515b8ba83c804ad871452a95565af76e19 by github
[clang-format] Fix crashes in AlignArrayOfStructures (#72520)

Fixed #54815.
Fixed #55269.
Fixed #55493.
Fixed #68431.
The file was modifiedclang/lib/Format/WhitespaceManager.h (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
The file was modifiedclang/lib/Format/WhitespaceManager.cpp (diff)
Commit 10025d947c0b6bfc60a8b0c0f2af40585d173485 by github
[NFC] Fix CSPGO clang pass manager test (#72681)

Fix a `CHECK-NOT` line in a cspgo clang test
The file was modifiedclang/test/CodeGen/cspgo-instrumentation_thinlto.c (diff)
Commit 506c47df00bbd9e527ecc5ac6e192b5fe5daa2c5 by github
[mlir][memref] Rename ReifyRankedShapedTypeShapeOpInterface in comments (#72663)

ReifyRankedShapedTypeShapeOpInterface does not exis.
ReifyRankedShapedTypeShapeOpInterface ->
ReifyRankedShapedTypeOpInterface.
The file was modifiedmlir/include/mlir/Dialect/MemRef/Transforms/Passes.h (diff)
Commit a05e736d288a7f2009ee9d057e78713d9adeeb5f by github
[msan][x86] Fix shadow if vararg overflow beyond kParamTLSSize

Caller puts argument shadow one by one into __msan_va_arg_tls, until it
reaches kParamTLSSize. After that it still increment OverflowOffset but
does not store the shadow.

Callee needs OverflowOffset to prepare a shadow for the entire overflow
area. It's done by creating "varargs shadow copy" for complete list of
args, copying available shadow from __msan_va_arg_tls, and clearing the
rest.

However callee does not know if the tail of __msan_va_arg_tls was not
able to fit an argument, and callee will copy tail shadow into "varargs
shadow copy", and later used as a shadow for an omitted argument.

So that unused tail of the __msan_va_arg_tls must be cleared if left
unused.

This allows us to enable compiler-rt/test/msan/vararg_shadow.cpp for
x86.

Reviewers: kstoimenov, thurstond

Reviewed By: thurstond

Pull Request: https://github.com/llvm/llvm-project/pull/72707
The file was modifiedcompiler-rt/test/msan/vararg_shadow.cpp (diff)
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
Commit 635756e4f3c5c0d31c11cea7b80108ea38570323 by github
[X86] Place data in large sections for large code model (#70265)

This allows better interoperability mixing small/medium/large code model
code since large code model data can be put into separate large
sections.

And respect large data threshold under large code model.
gcc also does this: https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html.

See https://groups.google.com/g/x86-64-abi/c/jnQdJeabxiU.
The file was modifiedllvm/test/CodeGen/X86/code-model-elf-sections.ll (diff)
The file was modifiedllvm/lib/Target/TargetMachine.cpp (diff)
Commit 813aaf39f94609a46f38f1e3a15a763a2cc0d2cf by github
[mlir][sparse] stress test BSR (#72712)

I always enjoy a good stress test. This end-to-end integration test
ensures the major ordering of both the block and within the block are
correctly handled (giving row-row, row-col, col-row and col-row as
options).
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
Commit d5ab48e583c843393a86a4e166007688baeb1263 by github
[AArch64] Simplify legalizer info for G_JUMP_TABLE and G_BRJT. (#71962)

Remove s64 as a valid type for G_JUMP_TABLE since I think it is always a
pointer?

Replace custom predicate for G_BRJT with a legalFor that checks 2 types.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir (diff)
Commit e7f350951b304f0426832b0b6482c8bedf239c23 by github
[msan][aarch64] Fix cleanup of unused part of overflow area

Similar to a05e736d288a7f2009ee9d057e78713d9adeeb5f.

Reviewers: thurstond, kstoimenov

Reviewed By: thurstond

Pull Request: https://github.com/llvm/llvm-project/pull/72722
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
Commit faaea79ed58b365c19ba4a0581d7f8d6e0ec8351 by Vitaly Buka
[msan][test] Add ptr test case
The file was modifiedcompiler-rt/test/msan/vararg_shadow.cpp (diff)
Commit 66e9429e750401e34e5f2d8a97c956dfa61e3582 by github
[msan][aarch64] Improve argument classification

Arm64 use multiple registers (varg slots) to pass arrays.

Reviewers: kstoimenov, thurstond

Reviewed By: thurstond

Pull Request: https://github.com/llvm/llvm-project/pull/72728
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp (diff)
The file was modifiedcompiler-rt/test/msan/vararg_shadow.cpp (diff)
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll (diff)
Commit 35ad44ebe4a02b0be57495230c2de859cf313a3d by craig.topper
[RISCV][GISel] Allow G_SELECT to have s32 type on RV64.
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-umin.mir (diff)
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-select.mir (diff)
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-umax.mir (diff)
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-smax.mir (diff)
The file was modifiedllvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-smin.mir (diff)
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-icmp.mir (diff)
Commit 9aa88b0f02a4a5dbc4072c11ed992eb617a6b2e2 by Vitaly Buka
[test][msan] Remove redundant --check-prefixes
The file was modifiedcompiler-rt/test/msan/vararg_shadow.cpp (diff)
Commit e2210cefb18171496573957945f9bd48eb631170 by github
[LV] Pre-committing tests for changing loop interleaving count computation (#70272)

Added tests for evaluating changes to loop interleaving count computation and for removing loop interleaving threshold in subsequent patches.
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/interleave_count.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/unroll-small-loops.ll (diff)
Commit f6033699646b7650123a273c043a93e5eeaac6d8 by owenpiano
[clang-format][NFC] Remove a redundant isLiteral() call
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
Commit 2b71f91b06ad4f5a0c54725b06283fd731620b92 by github
Revert "[mlir][sparse] stress test BSR" (#72735)

Reverts llvm/llvm-project#72712

This causes timeouts on the bots.
The file was removedmlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
Commit b8dface221f4490933b0d39deb769e97ca134e5f by i
[ELF] -r: rename orphan SHT_REL/SHT_RELA when the relocated input section is placed in an output section

This ports https://reviews.llvm.org/D40652 (--emit-relocs) to -r and
matches GNU ld.
Close #67910
The file was modifiedlld/ELF/LinkerScript.cpp (diff)
The file was modifiedlld/test/ELF/linkerscript/emit-relocs-multiple.s (diff)
The file was modifiedlld/test/ELF/linkerscript/emit-reloc-section-names.s (diff)
Commit 424c4249cc55ef515914318b246ea9e408be75ab by github
[SimplifyCFG] Add optimization for switches of powers of two (#70977)

Optimization reduces the range for switches whose cases are positive powers
of two by replacing each case with count_trailing_zero(case).

Resolves #70756
The file was modifiedllvm/test/CodeGen/AArch64/switch-unreachable-default.ll (diff)
The file was addedllvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
Commit 6da4ecdf9285225ccc8fa4441b7e9f65e8f4f49c by github
[InstCombine] Infer shift flags with unknown shamt (#72535)

Alive2: https://alive2.llvm.org/ce/z/82Wr3q

Related patch:
https://github.com/llvm/llvm-project/commit/2dd52b4527667837cc525aa48435ab5cbfa30a0b
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-and-shift.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/onehot_merge.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/redundant-right-shift-input-masking.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/signbit-lshr-and-icmpeq-zero.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/shl-sub.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-shr.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-lshr-shl-to-masking.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-ashr-shl-to-masking.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll (diff)
Commit f8df86e34555b5947208d597013ba73e5757f335 by eric
Change libc++ builder group name to match what I am using in the infra

Also change over to using group names instead of specific runner names.
This will prevent future downtime.
The file was modified.github/workflows/libcxx-build-and-test.yaml (diff)
Commit 56d0e8ccf424ddcd74a505837b8966204aaba415 by github
[Github] Print diff in code format helper (#72742)

Currently, when the code format action fails, it leaves no log of the
diff in the output within the action itself. This has caused confusion
for some users of the action, especially when the comment becomes buried
in a 100+ comment review and someone isn't super familiar with the inner
workings of the CI. This patch prints the diff produced by the code
formatter to stdout so that it is viewable by clicking on the failed
action. This should have very little cost and make things slightly less
confusing for those that run into this situation.
The file was modifiedllvm/utils/git/code-format-helper.py (diff)
Commit 303a7835ff833278a0de20cf5a70085b2ae8fee1 by github
[GreedyRA] Improve RA for nested loop induction variables (#72093)

Imagine a loop of the form:
```
  preheader:
    %r = def
  header:
    bcc latch, inner
  inner1:
    ..
  inner2:
    b latch
  latch:
    %r = subs %r
    bcc header
```

It can be possible for code to spend a decent amount of time in the
header<->latch loop, not going into the inner part of the loop as much.
The greedy register allocator can prefer to spill _around_ %r though,
adding spills around the subs in the loop, which can be very detrimental
for performance. (The case I am looking at is actually a very deeply
nested set of loops that repeat the header<->latch pattern at multiple
different levels).

The greedy RA will apply a preference to spill to the IV, as it is live
through the header block. This patch attempts to add a heuristic to
prevent that in this case for variables that look like IVs, in a similar
regard to the extra spill weight that gets added to variables that look
like IVs, that are expensive to spill. That will mean spills are more
likely to be pushed into the inner blocks, where they are less likely to
be executed and not as expensive as spills around the IV.

This gives a 8% speedup in the exchange benchmark from spec2017 when
compiled with flang-new, whilst importantly stabilising the scores to be
less chaotic to other changes. Running ctmark showed no difference in
the compile time. I've tried to run a range of benchmarking for
performance, most of which were relatively flat not showing many large
differences. One matrix multiply case improved 21.3% due to removing a
cascading chains of spills, and some other knock-on effects happen which
usually cause small differences in the scores.
The file was modifiedllvm/test/CodeGen/AArch64/nested-iv-regalloc.mir (diff)
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SplitKit.h (diff)
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp (diff)
The file was modifiedllvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir (diff)
Commit b4db24e33008660d11d703c19d8affaf5f9a843e by youngsuk.kim
[CGOpenMPRuntimeGPU] Replace unneeded use of CreatePointerBitCastOrAddrSpaceCast (NFC)

Opaque ptr cleanup effort (NFC)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp (diff)
Commit bda785a3e2c02fc5006023b5f304edd3e3bb771a by youngsuk.kim
[llvm][RelLookupTableConverter] Remove no-op ptr-to-ptr bitcast (NFC)

Opaque ptr cleanup effort (NFC).
The file was modifiedllvm/lib/Transforms/Utils/RelLookupTableConverter.cpp (diff)
Commit 394bba766ddd2f5ea8ac8007dcadb724f79bafc4 by github
[CodeGen][DebugInfo] Add missing debug info for jump table BB (#71021)

visitJumpTable is called on FinishBasicBlock. At that time, getCurSDLoc
will always return SDLoc without DebugLoc since CurInst was set to
nullptr after visiting each instruction.
This patch passes SDLoc to buildJumpTable when visiting SwitchInst so
that visitJumpTable can use it later.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)
The file was modifiedllvm/test/DebugInfo/X86/debug-info-jump-table.ll (diff)
The file was modifiedllvm/lib/CodeGen/SwitchLoweringUtils.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/SwitchLoweringUtils.h (diff)
Commit f9974f7fe15a9e97ceb7514d437bef6ee46ccc38 by github
[clang-tidy] Improve alternate snake case warnings (#71385)

Improves the accuracy of `readability-identifier-naming` for cases
`Camel_Snake_Case` and `camel_Snake_Back`. Prior to this commit, these
cases matched identifiers with **only** a leading upper case letter or
leading lower case letter respectively. Now, uppercase letters can only
appear at the start of an identifier or directly following an
underscore.

---

Currently, the regex for `Camel_Snake_Case` matches any identifier that
starts with a capital letter:

```
^[A-Z]([a-z0-9]*(_[A-Z])?)*
                ^^^^^^^^^-- underscore + capital letter after the first capital is optional
```

This means that `Camel_Snake_Case` matches other cases - in particular
`CamelCase` and `Leading_upper_snake_case` - which causes clang-tidy to
sometimes not flag incorrect casing. It also matches `UPPER_CASE`, but I
think it's reasonable to consider this a subset of `Camel_Snake_Case`
since some users may prefer e.g. `XML_Parser` to `Xml_Parser`. It's
really easy to accidentally type an identifier that clang-tidy doesn't
catch; all you have to do is omit an underscore or forget to capitalize
a letter. The same problem also applies to `camel_Snake_Back` except
that any identifier starting with a lower case letter matches, so I went
ahead and adjusted its regex too. Fixing it also uncovered a minor error
in an existing test.
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp (diff)
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp (diff)
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst (diff)
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-match.cpp
Commit b00e2f2a5f3e48fbbe2324b0b371e5657ccd969c by github
[LLVM][DWARF] Add support for monolithic types in .debug_names (#70515)

Enable Type Units with DWARF5 accelerator tables for monolithic DWARF.
Implementation relies on linker to tombstone offset in LocalTU list to
-1 when
it deduplciates type units using COMDAT.
The file was modifiedllvm/test/DebugInfo/X86/accel-tables-dwarf5.ll (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AccelTable.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfFile.h (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was modifiedllvm/lib/DWARFLinker/DWARFStreamer.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h (diff)
The file was modifiedllvm/test/DebugInfo/X86/debug-names-dwarf64.ll (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h (diff)
The file was modifiedllvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.cpp (diff)
The file was modifiedllvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.h (diff)
The file was addedllvm/test/DebugInfo/X86/debug-names-types.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/AccelTable.h (diff)
The file was modifiedllvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.h (diff)
The file was modifiedllvm/test/MC/WebAssembly/comdat-sections.ll (diff)
Commit c093383ffadff8dfadfd6bc0ab7107a0e194aa7e by github
[SelectionDAG] Fix crash for salvaging with indirect debug values (#72645)

This is a follow-up to #68981, and fix for #72630, #72447.

We may end up in SelectionDAG::salvageDebugInfo() with indirect debug
values, and attempting to salvage ADD nodes with non-constant RHS would
lead us to try to turn those indirect debug values variadic, which is
not allowed.

This triggered the following assert in the SDDbgValue constructor:

  Assertion `!(IsVariadic && IsIndirect)' failed.

This also adds a lit test for salvaging when having an indirect debug
value and constant RHS, as there seems like there was no such lit test.
However, I am not sure if the use of the stack_value operation is
correct in that case (which is existing behavior before #68981), but
that at least documents the current behavior.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was addedllvm/test/DebugInfo/X86/salvage-add-node-indirect.ll
Commit dc4786b4877d67d73d3892c45baf6811af0e6f57 by github
[mlir][affine] remove divide zero check when simplifer affineMap (#64622) (#68519)

When performing constant folding on the affineApplyOp, there is a
division of 0 in the affine map.
[related issue](https://github.com/llvm/llvm-project/issues/64622)

---------

Co-authored-by: Javier Setoain <jsetoain@users.noreply.github.com>
The file was modifiedmlir/include/mlir/IR/AffineMap.h (diff)
The file was modifiedmlir/lib/Analysis/FlatLinearValueConstraints.cpp (diff)
The file was modifiedmlir/test/Dialect/Affine/constant-fold.mlir (diff)
The file was modifiedmlir/include/mlir/IR/AffineExprVisitor.h (diff)
The file was modifiedmlir/lib/IR/AffineExpr.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/IR/CMakeLists.txt (diff)
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp (diff)
The file was modifiedmlir/lib/IR/AffineMap.cpp (diff)
Commit 3b916ad6733b04a86ca0aec57be647daf4647d5b by craig.topper
[MC] Remove duplicate Contents field from MCLEBFragment.

There's already a Contents field in the MCEncodedFragmentWithFixups
base class. The Contents field in MCLEBFragment is private and there
is no accessor for it. It is initialized in the constructor, but that
should probably initialize the base class version.
The file was modifiedllvm/include/llvm/MC/MCFragment.h (diff)
Commit 0154e53bf307aa501a6d9d6a1bafa6a6fcb2a7ad by craig.topper
[RISCV][GISel] Remove the rv32/rv64 subdirectories for legalizer tests. NFC

Add -rv32 -rv64 as suffix to test name. First step towards trying
to merge the content of these tests.
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-shl.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-div.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-extload.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-abs.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-extload.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-inttoptr.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-bitreverse.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-fcmp.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-global-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-implicit-def.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-phi.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-abs.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-itofp-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-mul.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fptoi-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-sub.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-ctlz.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-icmp.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-xor-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-addo-subo.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-fptoi.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sub-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-add.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-mul.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-smin.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-load.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-shl-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fcmp-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-or.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-div.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-mul-ext.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-lshr-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-add.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-shl-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-umax.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-const-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-dyn-alloca.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-smax.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-phi.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-inttoptr.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ext-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-store.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-rem.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-smax.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frame-index-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-xor.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-global.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-store.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-and.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-bitreverse.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-select.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fshl-fshr-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-frame-index.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-sub.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-icmp.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ashr-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-ptrtoint.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fcmp-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ptrtoint-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-bswap.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-global.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ashr-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-and-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-and-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-extload-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-add-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-lshr-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-smin.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-itofp.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-frame-index.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frame-index-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-fshl-fshr.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-mulo.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-implicit-def.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-rotate.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-itofp.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-ashr.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fshl-fshr-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-const-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-umax.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-xor.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-jump-table-brjt.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-or.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-or-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-load.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-dyn-alloca-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-inttoptr-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-shl.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-ashr.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-umin.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-ctlz.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-mulo.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fptoi-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-cttz.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-rotate.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-const.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-implicit-def-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-xor-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-fptoi.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-rem.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-jump-table-brjt.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-lshr.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-inttoptr-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-select-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-implicit-def-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sub-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-global-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-extload-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-select.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-bswap.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-itofp-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-ctpop.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-addo-subo.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-ext.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-umin.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-fshl-fshr.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-ptrtoint.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-ctpop.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ptrtoint-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-cttz.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-fcmp.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-select-rv32.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv64/legalize-const.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-and.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-mul-ext.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-ext-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
The file was removedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/rv32/legalize-lshr.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-or-rv32.mir
Commit d9c5e8a2303ff10d211cf1abf722dcde8d6ae468 by benny.kra
[mlir][affine] Remove unused captures
The file was modifiedmlir/lib/IR/AffineMap.cpp (diff)
Commit f0da97de468ac928530e51238c67e8f12147fde7 by benny.kra
[bazel] Port dc4786b4877d67d73d3892c45baf6811af0e6f57
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel (diff)
Commit a540808de254b18b304aa0915638a0900b36d9fa by youngsuk.kim
[CGObjCGNU] Remove unneeded method 'CGObjCGNUstep2::EnforceType' (NFC)

Method CGObjCGNUstep2::EnforceType is called from 2 call-sites to perform
bitcasts which are no-ops given that opaque pointers are enabled in LLVM.

Remove the method. Opaque ptr cleanup effort (NFC).
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp (diff)
Commit 396e650ef35659e40f5c5c37b942fb447d2bef69 by david.green
[AArch64] Add some testing for BE shuffles. NFC
The file was modifiedllvm/test/CodeGen/AArch64/shuffles.ll (diff)
Commit 48c5c1b1f9ccb1b6ea05153b5a54f691f778c78b by github
[Github] Add build Flang docs in CI if autogenerated files change (#72721)

Currently, when changes are made to the tablegen files that build the
docs, the docs build is not tested. This should rarely cause breakages,
but it's cheap to test and there isn't a major reason not to.
The file was modified.github/workflows/docs.yml (diff)
Commit 8ad4df8327e617c7ef1a727df61e4600ef13ed85 by craig.topper
[RISCV][GISel] Add s32 G_SELECT instruction select test for RV64. NFC
The file was modifiedllvm/test/CodeGen/RISCV/GlobalISel/instruction-select/select-rv64.mir (diff)
Commit 20f544d047e34283884d09e24db400de5077487f by github
[RISCV][GISel] Instruction selection for G_JUMP_TABLE and G_BRJT. (#71987)

The file was addedllvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-medium-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-pic-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-pic-rv64.mir
The file was modifiedllvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-rv32.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-small-rv64.mir
The file was addedllvm/test/CodeGen/RISCV/GlobalISel/jumptable.ll
Commit 2a9aed17302c8363883a228d35f398110b575db3 by flo
[LV] Retain mask-reversal comment as suggested after e5e71af.

Address post-commit comment to retain comment.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
Commit 7fd021a0929094bc4b6407896b735b7d360df36c by flo
[LV] Don't crash on vector masks during scalar VPReductionRecipe::exec.

VPReductionRecipe may be executed for scalar VFs. Make sure to access
part 0 of the condition, as it could be an active-lane-mask, which is a
vector <1 x i1>

Fixes https://github.com/llvm/llvm-project/issues/72720.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll (diff)
Commit 98efa8f9aad3e81224d826113620f1cef7708c4a by llvm-dev
[DAG] Fix ShrinkDemandedOp doxygen description to match behaviour. NFC.

ShrinkDemandedOp checks for both isTruncateFree AND isZExtFree but extends with ANY_EXTEND.
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
Commit aeccab5664ed05ccd490302a699144d2c2dea59d by llvm-dev
Revert rGbfbfd1caa4da "[X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data"

Investigating reports of this causing infinite loops
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll (diff)
Commit b08960f18888e96d64874486354c16b4116c5f8f by youngsuk.kim
[CGObjCMac] Replace calls to ConstantAggregateBuilderBase::addBitCast (NFC)

Replace calls to `ConstantAggregateBuilderBase::addBitCast` that involve a
no-op ptr-to-ptr bitcast.

Opaque ptr cleanup effort (NFC)
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp (diff)
Commit 962bf002fec2672ea61de49cfb945ff031830819 by joker.eph
Apply clang-tidy fixes for performance-unnecessary-value-param in IRAttributes.cpp (NFC)
The file was modifiedmlir/lib/Bindings/Python/IRAttributes.cpp (diff)
Commit be03b14d3c7f073cf45600dd28cc5b532d68a95c by joker.eph
Apply clang-tidy fixes for llvm-else-after-return in IRCore.cpp (NFC)
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp (diff)
Commit 0d109035c29408f06efc148d67aab7e4b2aada5d by joker.eph
Apply clang-tidy fixes for misc-include-cleaner in IRCore.cpp (NFC)
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp (diff)
Commit b1d682e05a63dfafa0c016498527f02edb9b69b2 by joker.eph
Apply clang-tidy fixes for readability-identifier-naming in IRCore.cpp (NFC)
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp (diff)
Commit dc81dfa029e09f4e26ec8820bb5c3cfc9d5c5460 by joker.eph
Apply clang-tidy fixes for misc-include-cleaner in IRInterfaces.cpp (NFC)
The file was modifiedmlir/lib/Bindings/Python/IRInterfaces.cpp (diff)
Commit 89b0f1ee340b31f09d148ca542a41a9870fb0fad by joker.eph
Apply clang-tidy fixes for performance-unnecessary-value-param in IRInterfaces.cpp (NFC)
The file was modifiedmlir/lib/Bindings/Python/IRInterfaces.cpp (diff)
Commit 4259198d65c1454b5cb5e60a46b2cce2544f1ca5 by jeremy.morse
[DebugInfo][RemoveDIs] Support finding DPValues like dbg.values (#71952)

This patch extends findDbgValue and friends to optionally fill out a vector
of DPValue pointers, containing DPValues that refer to the sought Value.
This will allow us to incrementally add instrumentation to other
optimisation passes one-at-a-time, while un-instrumented passes will not
(yet) update DPValues.

Unit tests to check this behaves in the same way as dbg.values.
The file was modifiedllvm/unittests/IR/ValueTest.cpp (diff)
The file was modifiedllvm/unittests/IR/DebugInfoTest.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DebugInfo.h (diff)
The file was modifiedllvm/lib/IR/DebugInfo.cpp (diff)
The file was modifiedllvm/lib/IR/Value.cpp (diff)
Commit 695662b00c993dc33f7196c6d156c967a0aad6af by youngsuk.kim
[clang] Remove ConstantAggregateBuilderBase::addBitCast (NFC)

* Replace all existing uses of ConstantAggregateBuilderBase::addBitCast,
  as they involve a no-op ptr-to-ptr bitcast
* Remove method ConstantAggregateBuilderBase::addBitCast

Opaque ptr cleanup effort (NFC)
The file was modifiedclang/include/clang/CodeGen/ConstantInitBuilder.h (diff)
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp (diff)
Commit 1c1227846425883a3d39ff56700660236a97152c by jiefu
[clang] Remove unused selStructPtrTy in CGObjCGNU.cpp (NFC)

/llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp:3674:15: error: variable 'selStructPtrTy' set but not used [-Werror,-Wunused-but-set-variable]
  llvm::Type *selStructPtrTy = SelectorTy;
              ^
1 error generated.
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp (diff)
Commit 5237193b87721134541f228e28edfd544a9c8ac8 by phoebe.wang
[NFC] Fix typos in comments
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp (diff)
Commit 934245891361ab8568aba10d4381d21fe1e8b699 by github
[Github] Prevent scorecard action from running on forks (#72780)

Currently, the scorecard action runs on forks. This means that every
recent fork will be periodically running a job that doesn't really make
a lot of sense to run outside the main monorepo. This patch fixes that
by restricting the job to only run in the monorepo.
The file was modified.github/workflows/scorecard.yml (diff)
Commit aafd2119fa497e234a28ad7d912910e0a3e1296d by agrossman154
[Github] Fix typo

I swore I copied the if statement from somewhere, but whatever I did to
it while moving it over dropped one of the equals signs. This patch
fixes that so the action will actually work properly.
The file was modified.github/workflows/scorecard.yml (diff)
Commit 23c47eba879769a29772c999be2991201c2fe399 by github
[Driver] Enable __float128 support on X86 on FreeBSD / NetBSD (#72788)

The file was modifiedclang/test/CodeGenCXX/float128-declarations.cpp (diff)
The file was modifiedclang/lib/Basic/Targets/OSTargets.h (diff)
Commit 42204c94ba9fcb0b4b1335e648ce140a3eef8a9d by morbo
Revert "[TargetInstrInfo] enable foldMemoryOperand for InlineAsm (#70743)"

This reverts commit 99ee2db198d86f685bcb07a1495a7115ffc31d7e.

It's causing ICEs in the ARM tests. See the comment here:

https://github.com/llvm/llvm-project/commit/99ee2db198d86f685bcb07a1495a7115ffc31d7e
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h (diff)
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp (diff)
Commit 5a305cea52bf45d4070b366fd7bc7592b6db0072 by github
[libc++] Use __is_pointer_in_range for char_traits checks (#72643)

This allows us to also check the constraints during constant evaluation.
The file was modifiedlibcxx/include/__string/char_traits.h (diff)
Commit dfe1d35c629f2948c0e8cf29d926729b1dbc1709 by github
[InstCombine] Propagate NSW/NUW flags for `(X - Y) - Z -> X - (Y + Z)` (#72693)

Alive2: https://alive2.llvm.org/ce/z/gqeaVo

Related patch:
https://github.com/llvm/llvm-project/commit/31d219d2997fed1b7dc97e0adf170d5aaf65883e
The file was modifiedllvm/test/Transforms/InstCombine/sub-from-sub.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)
Commit 3af514e5aea2a3e7774c667232ccd0d611cf911a by goldstein.w.n
[InstCombine] Add tests for improving `sub X, ~Y` -> `add X, -Y`; NFC
The file was modifiedllvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll (diff)
Commit f112e4693a9718ef55019ab4d68ede739b2dca3d by goldstein.w.n
[InstCombine] Don't transform `sub X, ~Y` -> `add X, -Y` unless `Y` is actually negatable

This combine was previously adding instruction in some cases (see the
tests).

Closes #72767
The file was modifiedllvm/test/Analysis/ValueTracking/knownbits-and-or-xor-lowbit.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp (diff)
Commit 160a13a0cc98afc15c08bdeb07bec8f72b04e051 by goldstein.w.n
[X86] Add more tests for transform `(icmp eq/ne (and X,C0),(shift X,C1))`; PR71598
The file was modifiedllvm/test/CodeGen/X86/cmp-shiftX-maskX.ll (diff)
Commit ed7c97e0ad335eec8d65c00d8f963fea3455d4cf by goldstein.w.n
Recommit "[DAGCombiner] Transform `(icmp eq/ne (and X,C0),(shift X,C1))` to use rotate or to getter constants." (2nd Try)

Added missing check that the mask and shift amount added up to correct
bitwidth as well as test cases for the bug.

Closes #71729
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/cmp-shiftX-maskX.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit 0f3a9efcbdc90b9e29dce405ee6c2ac5703fd63f by goldstein.w.n
[InstCombine] Add tests for transforming `(icmp eq/ne trunc(x), truncOrZext(y))`; NFC
The file was addedllvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Commit 99387e33dc750b35223a86f59f755d41d8614bd5 by goldstein.w.n
[InstCombine] Add transforms for `(icmp uPred (trunc x),(truncOrZext(y)))`->`(icmp uPred x,y)`

Three transforms (all commutative):
https://alive2.llvm.org/ce/z/Bc-nh4

Closes #71309
The file was modifiedllvm/test/Transforms/InstCombine/eq-of-parts.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)
Commit aa6be2f7c94ea3302fcc1ab034a85cd375eaa800 by github
[mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)

The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/LoopUtils.h (diff)
The file was modifiedmlir/lib/Dialect/Affine/Utils/LoopUtils.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp (diff)
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h (diff)
Commit 5603bb5f5001e88a490b8f9c11c6e8969037183b by i
[test] Fix misused Joined -e options

Some tests for the obsoleted NaCl misuse the -e for linking.
The file was modifiedclang/test/Driver/x86_64-nacl-defines.cpp (diff)
The file was modifiedclang/test/Driver/wasm64-unknown-unknown.cpp (diff)
The file was modifiedclang/test/Driver/lanai-unknown-unknown.cpp (diff)
The file was modifiedclang/test/Driver/wasm32-unknown-unknown.cpp (diff)
The file was removedclang/test/Driver/mipsel-nacl-defines.cpp
Commit d1e9c7b68c80992decec5b23e92019c7263f066d by maksim.levental
Revert "[mlir][affine] implement `promoteIfSingleIteration` for `AffineForOp` (#72547)"

This reverts commit aa6be2f7c94ea3302fcc1ab034a85cd375eaa800.
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h (diff)
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h (diff)
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/LoopUtils.h (diff)
The file was modifiedmlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp (diff)
The file was modifiedmlir/lib/Dialect/Affine/Utils/LoopUtils.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td (diff)
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp (diff)
Commit 9ae04a77d12667d1fe8a2392240a85bde9e490fc by craig.topper
[RISCV] Don't set nsw/nuw/exact flag after MachineCombiner reassociation.

This matches what PowerPC and X86 do.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp (diff)
Commit 797b68c0ba699994e1038ac33d3083541482bf19 by martin
Revert "[MC][AsmParser] Diagnose improperly nested .cfi frames"

This reverts commit 4323da926f12672daec7f59384bd153a7cf28674.

This broke building libffi for ARM on Windows (and probably Darwin),
where one extern function intentionally falls through to another
one, while sharing one CFI region.

As long as one isn't using .subsections_via_symbols on MachO,
this probably shouldn't be a hard error.

Secondly, the tested pattern only produces an error on MachO and
COFF targets, but not for ELF, making the error case even more
inconsistent.

Reverting this commit for now, to figure out the best way forward.
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp (diff)
The file was removedllvm/test/MC/AArch64/cfi-bad-nesting.s
The file was modifiedlld/test/COFF/gc-dwarf-eh.s (diff)
Commit e16a8344d0efa33caddc147f9b316ba4734c99ff by github
[clang-format][NFC] Skip alignArrayInitializers() for 1-row matrices (#72166)

The file was modifiedclang/lib/Format/WhitespaceManager.h (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
Commit 5860d248a780aaef860db3d54184b49fc758c3c1 by github
[clang-format] Fix a bug in aligning comments above PPDirective (#72791)

Fixed #72785.
The file was modifiedclang/unittests/Format/FormatTestComments.cpp (diff)
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
Commit cb3a605c5d453f9c6af8c44f84a11815aed7fe85 by github
[clang-format] Fix a bug in isStartOfName() on macro definitions (#72768)

Fixed #72751.
The file was modifiedclang/unittests/Format/TokenAnnotatorTest.cpp (diff)
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
Commit edad025d1e1f8043637c65fed91060b327e85313 by github
[clang-format] Correctly annotate braces of empty functions (#72733)

Also fixed some existing test cases.

Fixed #57305.
Fixed #58251.
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
The file was modifiedclang/unittests/Format/TokenAnnotatorTest.cpp (diff)
The file was modified.mailmap (diff)
Commit eb7698254ab668e53133062fbc53b9635de95c4d by github
[PowerPC][EarlyIfConversion] Do not insert `isel` if subtarget doesn't support `isel` (#72211)

Some subtargets of PPC don't support `isel` instruction, early-ifcvt
should not insert this instruction.
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/early-ifcvt-no-isel.mir (diff)
Commit a76adfb992c6f5a9b05fbcc2de5889d2531607db by github
[NFC][Clang] Refactor code to calculate flexible array member size (#72790)

The code that calculates the flexible array member size is big enough to
warrant its own method.
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
Commit 3494c555c93c5f5cf5c36a84a819b80a4d922a82 by github
[RISCV] postpone removal in initundef pass (#71661)

InitUndef pass need replace the implicit def with Undef pseudo, but
current remove method will make noreg2implicit borken.

This patch postpone the removal until all basicblock be processed.
The file was modifiedllvm/lib/Target/RISCV/RISCVRVVInitUndef.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
The file was modifiedllvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll (diff)
Commit 95d584c6ac5b518a66992293b4ff63fc05a81685 by github
[InstCombine] Convert or concat to fshl if opposite or concat exists (#68502)

If there are two 'or' instructions concat variables in opposite order
and the first 'or' dominates the second one, the second 'or' can be
optimized to fshl to rotate shift first 'or'. This can eliminate an shl
and expose more optimization opportunity for bswap/bitreverse.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll (diff)
Commit 69f64dedb09bf39bd3ad66bcbc2c947b23342a11 by luke
[RISCV] Use DemandedFields instead of checking for vmv.s.x/vmv.x.s. NFC

The property we're explicitly looking for is whether or not MI only cares about
VL zeroness and not VL itself, so we can just use DemandedFields for this. This
should simplify an upcoming change in #72352
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp (diff)
Commit 933dd03386df3c0cfedf4fe6bc984d776f1298ca by luke
[RISCV] Remove checks that MI's info is valid. NFC

It's always guaranteed to be valid since we compute it ourselves from MI.
This should simplify an upcoming change in #72352
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp (diff)
Commit 7cc54da16f25b1a4149b45d73e0fa42a2ee38e03 by github
Add @MaheshRavishankar to CODEOWNERS on relevant source files. (#72449)

The file was modified.github/CODEOWNERS (diff)
Commit c1fe1900491ae773e45e41604af25312e5fc6559 by omair.javaid
Revert "Add new API in SBTarget for loading core from SBFile (#71769)"

This reverts commit e2fb816c4f0286ddf8b1030148a343d5efc14e01.
It breaks TestLinuxCore.py on lldb-*-windows. See buildbot below:
https://lab.llvm.org/buildbot/#/builders/219/builds/7014
The file was modifiedlldb/source/API/SBTarget.cpp (diff)
The file was modifiedlldb/include/lldb/API/SBTarget.h (diff)
The file was modifiedlldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py (diff)
Commit d572c4cdef4b3a2b1f57769233f33a1788f5172e by github
[PowerPC] Disable float128 on AIX in Clang (#67298)

PowerPC AIX backend does not support float128 at all. Diagnose even when
specifying -mfloat128 to avoid backend crash.

---------

Co-authored-by: Kai Luo <gluokai@gmail.com>
The file was modifiedclang/test/Sema/128bitfloat.cpp (diff)
The file was modifiedclang/lib/Basic/Targets/PPC.cpp (diff)
Commit 592386400d515cdd043fe787e702fe96d150986a by lkail
[PowerPC] Precommit test to show codegen while `isel` is unavailable. NFC.
The file was addedllvm/test/CodeGen/PowerPC/select-cc-no-isel.ll
Commit a2e1de193477e7d92ec5c0a2ecd17a622cbf7aed by sepavloff
[ARM][FPEnv] Lowering of fpenv intrinsics

The change implements lowering of `get_fpenv`, `set_fpenv` and
`reset_fpenv`.

Differential Revision: https://reviews.llvm.org/D81843
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td (diff)
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/ARM/fpenv.ll (diff)
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td (diff)
Commit cdf6693f072b97ec42a95f569115ad7f0afd37d5 by github
[AArch64][SME] Add support for sme-fa64 (#70809)

The file was addedllvm/test/MC/AArch64/SME/fa64-implies-sve2.s
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA64FX.td (diff)
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
The file was modifiedclang/lib/Basic/Targets/AArch64.h (diff)
The file was modifiedllvm/include/llvm/TargetParser/AArch64TargetParser.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td (diff)
The file was modifiedllvm/unittests/TargetParser/TargetParserTest.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64.td (diff)
Commit bf897d5d77e974486e37d33e83f50f5ea95390fa by github
[mlir][vector] Extend TransferReadDropUnitDimsPattern to support partially-static memrefs (#72142)

This patch extends TransferReadDropUnitDimsPattern to support dropping
unit dims from partially-static memrefs, for example:

%v = vector.transfer_read %base[%c0, %c0], %pad {in_bounds = [true, true]} :
  memref<?x1xi8, strided<[?, ?], offset: ?>>, vector<[16]x1xi8>

Is rewritten as:

%dim0 = memref.dim %base, %c0 : memref<?x1xi8, strided<[?, ?], offset: ?>>
%subview = memref.subview %base[0, 0] [%dim0, 1] [1, 1] :
  memref<?x1xi8, strided<[?, ?], offset: ?>> to memref<?xi8, #map1>
%v = vector.transfer_read %subview[%c0], %pad {in_bounds = [true]}
  : memref<?xi8, #map1>, vector<[16]xi8>

Scalable vectors are now also supported, the scalable dims were being
dropped when creating the rank-reduced vector type. The xfer op can also
have a mask of type 'vector.create_mask', which gets rewritten as long
as the mask of the unit dim is a constant of 1.
The file was modifiedmlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir (diff)
Commit d715e2c65b4449f00b39493b1e0a19c04b75bc7c by github
[NewPM] Remove GuardWideningLegacyPass (#72810)

This legacy pass isn't used anywhere and there is no test coverage, so
at this point it should be removed.
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
The file was modifiedllvm/include/llvm/LinkAllPasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/GuardWidening.cpp (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
Commit b9975cec0ea0a2f10d65b7bd1197d9e1706cbd3d by github
[NewPM] Remove LoopSinkLegacy Pass (#72811)

This pass isn't used anywhere and thus has no test coverage. For these
reasons, remove it.
The file was modifiedllvm/include/llvm/LinkAllPasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopSink.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
Commit cd11a7fba44d92ca018a2b418da69b8a680614f3 by github
[NewPM] Remove LoopInstSimplifyLegacyPass (#72812)

This pass isn't used anywhere and thus has no test coverage. Remove it
for these reasons.

For whatever reason, there was no entry in
`llvm/include/llvm/LinkAllPasses.h` to remove.
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopInstSimplify.cpp (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
Commit 8319e222c89bf9a0df42a17df771645eaf4beb95 by github
[NewPM] Remove MergedLoadStoreMotionLegacyPass (#72813)

This pass isn't used anywhere and thus isn't tested anywhere. Because of
these reasons, remove it.
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
The file was modifiedllvm/include/llvm/LinkAllPasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp (diff)
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
Commit 7e65dc72c4251cb7409545686bc2751d50d4efae by zinenko
Revert "Apply clang-tidy fixes for misc-include-cleaner in IRCore.cpp (NFC)"

This reverts commit 0d109035c29408f06efc148d67aab7e4b2aada5d.

Changes make Python bindings unbuildable without additional cmake
modifications (or modified `$PATH`).

```
/llvm-project/mlir/lib/Bindings/Python/IRCore.cpp:33:10: fatal error: 'funcobject.h' file not found
```

This header is provided by cpython, and we are not looking for that in
cmake.

Moreover, the nature of this change is not very clear to me. Seems to
replace one include with two dozens, presumably because the code is only
using transitively included headers, but the value for readability is
dubious. LLVM is also not strictly following IWYU.
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp (diff)
Commit 61332cb047faca2dffce9a0ae68bf0d1c0cdee39 by github
[AMDGPU] Emit backend_stack_size PAL metadata (#72509)

For chain functions, PAL uses a `backend_stack_size` metadata item,
which at the moment has the same meaning as `stack_frame_size_in_bytes`.
We emit both for now in order to simplify coordination with PAL.

The new item must be emitted in the `shader_functions` section, just as
the metadata for other module entry functions. For simplicity, we mark
chain functions as module entry functions and emit the same metadata for
all of them.
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/amdpal-chain-metadata.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-callable.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp (diff)
Commit 3cc523d935427baf62766e9e2cc7b65eca5925bb by github
[NewPM] Remove UnifyFunctionExitNodesLegacyPass (#72816)

UnifyFunctionExitNodesLegacyPass isn't used anywhere in upstream and
thus isn't tested at all. For these reasons, remove it.
The file was modifiedllvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp (diff)
The file was modifiedllvm/include/llvm/LinkAllPasses.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h (diff)
Commit 72ab99500f45d8672f91fe4d75ffdc6f5146b007 by github
[NewPM] Remove AssumeBundleBuilderPassLegacyPass (#72817)

This pass isn't used upstream anywhere and doesn't have have a
create...() function, thus isn't tested anywhere. Because of this,
remove it.
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp (diff)
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp (diff)
Commit 4671f18906ad2149df1720b5a0513f23f17abde1 by github
[NewPM] Remove LowerWidenableConditionLegacyPass (#72818)

This legacy pass isn't used anywhere upstream and thus has no test
coverage, so remove it.
The file was modifiedllvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
Commit edd675ac283909397880f85ba68d0d5f99dc1be2 by kosuris
[OpenMP] atomic compare fail : Parser & AST support

Diff Revision: https://reviews.llvm.org/D123235
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReader.cpp (diff)
The file was modifiedclang/test/OpenMP/atomic_ast_print.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/test/OpenMP/atomic_messages.cpp (diff)
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h (diff)
The file was modifiedclang/lib/AST/OpenMPClause.cpp (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/lib/Serialization/ASTWriter.cpp (diff)
The file was modifiedclang/include/clang/AST/OpenMPClause.h (diff)
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
Commit 2470857fe701f41278dac33580ca8b0bdb38031f by github
[NewPM] Remove ScalarizerLegacyPass (#72814)

This pass isn't used anywhere upstream and thus has no test coverage.
Because of these reasons, remove it.
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp (diff)
The file was modifiedllvm/include/llvm/LinkAllPasses.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar/Scalarizer.h (diff)
Commit 3300bc34f7bccf29c14221fa4b651f7bc82c46d5 by github
[llvm-exegesis] Fix race condition in subprocess mode (#72778)

If there were some scheduler effects where something like the parent
process got interrupted while the child process continued to run, there
would be nothing blocking it from exiting before the parent process
issued a PTRACE_ATTACH call. This would cause transient failures as this
occurred pretty rarely. This patch removes the possibility of a
transient failure by ensuring that the parent process attaches to the
child process before sending the counter file descriptor through the
socket, ensuring that the child process has at most progressed to being
blocked in the read call for the counter file descriptor.
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/memory-annotations-livein.s (diff)
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/memory-annotations.s (diff)
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/subprocess-abnormal-exit-code.s (diff)
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/subprocess-preserved-registers.s (diff)
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp (diff)
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/subprocess.s (diff)
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/subprocess-segfault.s (diff)
Commit 27c98958c067c341dd3f65b7218c376d333fbed5 by github
[llvm-exegesis] Preserve rcx and r11 around system call (#72807)

Currently, when making the ioctl system call, we're not preserving rcx
and r11. The system call will clobber these registers, meaning that the
values of the registers in the snippet will be different than expected.
This patch fixes that be preserving the registers around the system
call, similar to how the other registers involved in the making the
system call get preserved.

Fixes #72741.
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp (diff)
The file was modifiedllvm/test/tools/llvm-exegesis/X86/latency/subprocess-preserved-registers.s (diff)
Commit 5c1650e7f43f6abab2c5790507ffc04dcbd19e76 by joker.eph
Apply clang-tidy fixes for llvm-else-after-return in AMDGPUToROCDL.cpp (NFC)
The file was modifiedmlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp (diff)
Commit d09e86359b1bd21b906126536d7fe31b5bc63947 by joker.eph
Apply clang-tidy fixes for llvm-include-order in ComplexToLLVM.cpp (NFC)
The file was modifiedmlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp (diff)
Commit 8b51b62559e6cd9b59b592c42a84e3362e5bba47 by joker.eph
Apply clang-tidy fixes for llvm-qualified-auto in ConvertToLLVMPass.cpp (NFC)
The file was modifiedmlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp (diff)
Commit ad7937d338303d8d98b29f8947cf9d407f34b5de by joker.eph
Apply clang-tidy fixes for llvm-qualified-auto in ToLLVMInterface.cpp (NFC)
The file was modifiedmlir/lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp (diff)
Commit e204b9198aebec16f28da79ec00105fceba0d755 by joker.eph
Apply clang-tidy fixes for llvm-else-after-return in GPUToLLVMConversion.cpp (NFC)
The file was modifiedmlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp (diff)
Commit bfd3734610cb2cef6a6a40314bcd4156deef8a50 by lkail
[PowerPC] Use MIR test so that it's not affected by instruction selection. NFC.
The file was removedllvm/test/CodeGen/PowerPC/aix-csr-alloc.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-csr-alloc.mir
The file was addedllvm/test/CodeGen/PowerPC/aix64-csr-alloc.mir
Commit f7b5c255070ef2d8a4492a45613a6a7df0b5f0cb by github
[AArch64][SME] Remove immediate argument restriction for svldr and svstr (#68565)

The svldr_vnum and svstr_vnum builtins always modify the base register
and tile slice and provide immediate offsets of zero, even when the
offset provided to the builtin is an immediate. This patch optimises the
output of the builtins when the offset is an immediate, to pass it
directly to the instruction and to not need the base register and tile
slice updates.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h (diff)
The file was modifiedllvm/lib/Target/AArch64/SMEInstrFormats.td (diff)
The file was modifiedclang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c (diff)
The file was modifiedmlir/test/Target/LLVMIR/arm-sme.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll (diff)
The file was modifiedclang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c (diff)
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
Commit befa925acac8fd6a9266e76acdec8d8c664abdc8 by github
[MachineLICM][AArch64] Hoist COPY instructions with other uses in the loop (#71403)

When there is a COPY instruction in the loop with other uses, we want to
hoist the COPY, which in turn leads to the users being hoisted as well.

Co-authored-by David Green : David.Green@arm.com
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll (diff)
The file was modifiedllvm/lib/CodeGen/MachineLICM.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-i1test.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/local-atomics-fp.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-shift-by-select-loop.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/remat-fp64-constants.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pr53842.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/tbl-loops.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pr38795.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/zext-to-tbl.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pr63108.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/sdwa-peephole.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll (diff)
Commit abcbca21cc2e8a2b256cd519df2b1559f29e8edd by github
[AArch64] Fix big endian shuffle vector miscompile (#68673)

Fixes https://github.com/llvm/llvm-project/issues/65884
The file was modifiedllvm/test/CodeGen/AArch64/neon-bitcast.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/zext-to-tbl.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-uzp1-combine.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-load-ext.ll (diff)
The file was addedllvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
Commit 32c3decb773b0cc7fd1736fe1b47d889c8c0011c by github
[mlir][vector] Modernize `vector.transpose` op (#72594)

* Declare arguments/results with `let` statements.
* Rename `transp` to `permutation`.
* Change type of `transp` from `I64ArrayAttr` to `DenseI64ArrayAttr`
(provides direct access to `ArrayRef<int64_t>` instead of `ArrayAttr`).
The file was modifiedmlir/lib/IR/AffineMap.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Vector/IR/VectorOps.td (diff)
The file was modifiedmlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp (diff)
The file was modifiedmlir/lib/Dialect/Vector/IR/VectorOps.cpp (diff)
The file was modifiedmlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp (diff)
The file was modifiedmlir/lib/Dialect/Vector/Utils/VectorUtils.cpp (diff)
The file was modifiedmlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp (diff)
The file was modifiedmlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp (diff)
The file was modifiedmlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp (diff)
The file was modifiedmlir/include/mlir/IR/AffineMap.h (diff)
The file was modifiedmlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp (diff)
Commit 4028dd2e93fa1697b68339b04b89f5ddbf7f9aea by github
[InstSimplify] Fold converted urem to 0 if there's no overlapping bits (#71528)

When folding urem instructions we can end up not recognizing that
the output will always be 0 due to Value*s being different, despite
generating the same data (in this case, 2 different calls to vscale).

This patch recognizes the (x << N) & (add (x << M), -1) pattern that
instcombine replaces urem with after the two vscale calls have been
reduced to one via CSE, then replaces with 0 when x is a power of 2
and N >= M.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)
The file was modifiedllvm/test/Transforms/InstSimplify/po2-shift-add-and-to-zero.ll (diff)
Commit 761a963dfc8f80af9c5487997d5bdacb3e2c0062 by github
[DAG] narrowExtractedVectorBinOp - ensure we limit late node creation to LegalOperations only (#72130)

Avoids infinite issues in some upcoming patches to help D152928 - x86 sees a number of regressions that are addressed by extending SimplifyDemandedVectorEltsForTargetNode to cover more binop opcodes
The file was modifiedllvm/test/CodeGen/X86/kshift.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-minmaxv.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-select.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-insert-extract.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit 661a73ff712c54d05042eb37d536be4bade307b4 by github
Fix typo in DiagnosticSemaKinds.td

s/makred/marked
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
Commit 5d353423c97517ae1dc66506186e265538b0111f by flo
[LAA] Add extra test for #70819 showing incorrect Forward dep.

Add an additional test case where we currently incorrectly identify a
dependence as Foward instead of ForwardButPreventsForwarding.

Also cleans up the names in the tests a bit to improve readability.
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/forward-negative-step.ll (diff)
Commit 4594d5bb3ac6772bb20e429bbb04842ef6eaea35 by github
[AArch64] Add missing bf16 store pattern (#72844)

We have STURHi store patterns but would fail to select from unscaled
offsets. This adds the missing pattern.
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td (diff)
The file was modifiedllvm/test/CodeGen/AArch64/bf16.ll (diff)
Commit 4a8b43ba3bd5427dd98a7a93d1b1ed25051c31e8 by tbaeder
[clang][Interp][NFC] Factor array element init into its own function
The file was modifiedclang/lib/AST/Interp/ByteCodeExprGen.cpp (diff)
The file was modifiedclang/lib/AST/Interp/ByteCodeExprGen.h (diff)
Commit dfc03c45c1e1d80482963ceb5dd3eb48079dd8c0 by llvm-dev
[X86] vector-half-conversions.ll - regenerate with AVX512 slow/fast lane shuffles

Adds missing check prefixes
The file was modifiedllvm/test/CodeGen/X86/vector-half-conversions.ll (diff)
Commit cfee7152d4eb673976b51b831295dcf5b1811634 by llvm-dev
[DAG] clang-format createBranchMacroFusionDAGMutation calls. NFC.

Reduces diff in #72227
The file was modifiedllvm/lib/Target/ARM/ARMMacroFusion.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCMacroFusion.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86MacroFusion.cpp (diff)
Commit 9bdbb8226e70fb248b40a4b5002699ee9eeeda93 by tbaeder
[clang][Interp][NFC] Use isArrayRoot() when comparing pointers

The previous code was just an open-coded version of isArrayRoot().
The file was modifiedclang/lib/AST/Interp/Interp.h (diff)
Commit 54984f58f5437af39f05771449c53462aa8b8963 by github
Add llvm-mca to the list of toolchain tools (#72840)

It's a user-facing tool, so including it makes sense.

Fixes https://github.com/llvm/llvm-project/issues/72754
The file was modifiedllvm/cmake/modules/AddLLVM.cmake (diff)
Commit 57a11b7f75742ba74b563b8af75bc106a1e9d29e by github
[AMDGPU] Add live-through register set printing to GCNRegPressurePrinter pass. (#71096)

Add live-through register set printing, assuming live-through register
is in live-in and live-out sets, has no redefinitions but may have uses
in the block.
The file was modifiedllvm/test/CodeGen/AMDGPU/regpressure_printer.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegPressure.cpp (diff)
Commit cd88047765a3242f1ebc8d25ec2eeb7752d44867 by github
[NFC][SROA] Remove implementation details from SROA header (#72846)

This moves the SROA implementation from SROAPass into a separate SROA
class that is defined in the cpp file, and reduces the SROAPass class to
a thin NewPM wrapper. This allows to remove all implementation details
from the SROA header, and the SROALegacyPass can wrap the SROA class
instead of the NewPM SROAPass.

The trigger for this change is a GCC warning about visibility of
implementation details in the SROA header after D138238. Credits to
Nikita Popov for suggesting this reorganization.
The file was modifiedllvm/include/llvm/Transforms/Scalar/SROA.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp (diff)
Commit ba24b814f2a20a136f0a7a0b492b6ad8a62114c6 by npopov
[llvm-c] Fix outdated comment (NFC)

Use the function value type instead of the element type of the
function pointer type.

Fixes https://github.com/llvm/llvm-project/issues/72798.
The file was modifiedllvm/lib/IR/Core.cpp (diff)
Commit 1716c5b614c004cf4a890eeaa113d18c8f7cb1f7 by david.spickett
[mlir][Docs] Code review is now done on GitHub
The file was modifiedmlir/docs/Tools/MLIRLSP.md (diff)
Commit 4d64a2bcd31818aa0aed0ce9e6b64898a6f0eb55 by github
[LV] Refactor vector function variant selection to prepare for uniform args (#68879)

Parameters marked as uniform take a scalar value, assuming the value is
invariant in the scalar loop. In order to support this, we need to stop
asking for a vector function variant with a default shape assuming that all
arguments will become vector arguments, and instead consider all available
variants and their parameter types.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanRecipes.cpp (diff)
Commit 84ebe5b7e8cdd9084097fa82d841ab0707b8067a by graham.hunter
[LV] Precommit tests for uniform arguments for vector function variants

See https://github.com/llvm/llvm-project/pull/68879
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
The file was addedllvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
Commit 28b5054751899c9e96c2f42f0f91f1a3d73f0381 by github
[AMDGPU] Fix PromoteAlloca size check of alloca for store (#72528)

When storing a subvector, too many element were written when the
size of the alloca is smaller than the size of the vector store.
This patch checks for the minimum of the alloca vector and the
store vector to determine the number of elements to store.
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp (diff)
Commit c4c52d4199e13125fd9560f9f3b2d8a6bf2582f2 by github
[mlir][ArmSME] Move vector.extract/insert lowerings to vector-to-arm-sme (NFC) (#72852)

These were placed in LegalizeForLLVMExport.cpp, which is the wrong stage
for these, as these lower to high-level ArmSME ops, not intrinsics.
The file was modifiedmlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp (diff)
The file was modifiedmlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp (diff)
Commit 40e46b6effd38ee93c0de76f1b898230209bca1c by a.bataev
[SLP]Do not emit int bitcast after minbitwidth analysis.

No need to emit bitcat op for integer operands if it is detected that
after minbitwidth analysis the type is the same.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit f9c47e89c1d6433e3bc28e756e08ebc600a38946 by github
[LV] Stability fix for outerloop vectorization (#68118)

HCFG builder doesn't correctly handle cases when non-outermost loop is
requested to be vectorized

[Original] Differential Revision: https://reviews.llvm.org/D150700
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp (diff)
The file was addedllvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
Commit 23e1b6159ea1a327fa8ee1fbaec5c503bdcdd518 by llvm-dev
[X86] Regenerate constant-pool-sharing.ll with AVX test coverage

Shows failure to share the constant pool load (broadcast) on AVX targets
The file was modifiedllvm/test/CodeGen/X86/constant-pool-sharing.ll (diff)
Commit 2fdf283c3f7977b12965183ed64c8c0d3f22fa82 by llvm-dev
[X86] constant-pool-sharing.ll - add test showing failure to reuse subvectors when storing larger vector types

We do correctly use implicit zero-extension of xmm constant load -> ymm constant store though.
The file was modifiedllvm/test/CodeGen/X86/constant-pool-sharing.ll (diff)
Commit b0154c36d6387272f7f961c22582693d2850d21c by github
[InstrProf] Add pgo use block coverage test (#72443)

Back in https://reviews.llvm.org/D124490 we added a block coverage mode
that instruments a subset of basic blocks using single byte counters to
get coverage for the whole function.

This commit adds a test to make sure that we correctly assign branch
weights based on the coverage profile.

I noticed this test was missing after seeing that we had no coverage on
`PGOUseFunc::populateCoverage()`

https://lab.llvm.org/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp.html#L1383
The file was modifiedllvm/test/Transforms/PGOProfile/coverage.ll (diff)
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp (diff)
The file was addedllvm/test/Transforms/PGOProfile/Inputs/coverage.proftext
The file was modifiedllvm/lib/ProfileData/InstrProfWriter.cpp (diff)
Commit 9ca9c2cf7e05a0fe44a8a688d0c322d5229511d9 by npopov
[InstSimplify] Remove redundant gep zero fold (NFC)

We already higher the all zero indices case above, no need to
also handle the special case of a single zero index.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)
Commit a2cf44b72cbf9361f37dd6f680502bb18070cba3 by github
[InstCombine] Propagate NUW flags for `shl (lshr X, C1), C2 -> shl X, C2-C1` (#72525)

Alive2: https://alive2.llvm.org/ce/z/KNXNQA
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-lshr-shl-to-masking.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/known-signbit-shift.ll (diff)
Commit 59d14b623357d9b0514a9575e6d92474694b2f74 by llvm-dev
[X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data (REAPPLIED)

If we already have a YMM/ZMM constant that a smaller XMM/YMM has matching lower bits, then ensure we reuse the same constant pool entry.

Extends the similar combines we already have to reuse VBROADCAST_LOAD/SUBV_BROADCAST_LOAD constant loads.

This is a mainly a canonicalization, but should make it easier for us to merge constant loads in a future commit (related to both #70947 and better X86FixupVectorConstantsPass usage for #71078).

Reapplied with fix to ensure we don't 'flip-flop' between multiple matching constants - only perform the fold if the new constant pool entry is larger than the current entry.
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll (diff)
Commit 37fa32785e23198fc9585296e990b18abfd2ba90 by github
Add @ftynse as GitHub codeowner for MLIR Transform dialect (#72882)

The file was modified.github/CODEOWNERS (diff)
Commit 8bd06d5b65845e5e01dd899a2deb773580460b89 by github
[C23] Complete support for WG14 N2508 (#71398)

In Clang 16, we implemented the ability to add a label at the end of a
compound statement. These changes complete the implementation by
allowing a label to be followed by a declaration in C.

Note, this seems to have fixed an issue with some OpenMP stand-alone
directives not being properly diagnosed as per:
https://www.openmp.org/spec-html/5.1/openmpsu19.html#x34-330002.1.3
(The same requirement exists in OpenMP 5.2 as well.)
The file was modifiedclang/test/C/C2x/n2508.c (diff)
The file was modifiedclang/test/OpenMP/barrier_messages.cpp (diff)
The file was modifiedclang/test/OpenMP/scan_messages.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/www/c_status.html (diff)
The file was modifiedclang/test/OpenMP/flush_messages.cpp (diff)
The file was modifiedclang/test/OpenMP/cancel_messages.cpp (diff)
The file was modifiedclang/test/OpenMP/barrier_ast_print.cpp (diff)
The file was modifiedclang/test/OpenMP/taskyield_messages.cpp (diff)
The file was modifiedclang/test/OpenMP/taskwait_messages.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/test/OpenMP/error_message.cpp (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/lib/Parse/ParseStmt.cpp (diff)
The file was modifiedclang/test/OpenMP/cancellation_point_messages.cpp (diff)
The file was modifiedclang/test/OpenMP/depobj_messages.cpp (diff)
Commit 197f30597d086e4466687fa533d3142fa404b1fc by krasimir
NFCI: update debug-names-types test to use an output file unique to the test

This makes it work in environments where the test is running in a write-protected
current directory. Updated similarly to other such tests, like
https://github.com/llvm/llvm-project/blob/8bd06d5b65845e5e01dd899a2deb773580460b89/llvm/test/tools/llvm-dwp/X86/absolute_paths.test#L3.
The file was modifiedllvm/test/DebugInfo/X86/debug-names-types.ll (diff)
Commit a32a2b2ceb6b4c1bbcbcb39363c8dee44daf86ab by github
[clang][driver] Add <executable>/../include/c++/v1 to include path on Darwin (#70817)

On macOS, when clang is invoked via a symlink, since the InstalledDir is
where the link is located, the C++ headers are not identified and the
default system headers from the SDK are used.

This can be undesirable if a toolchain is created by symlinking clang
into a directory and placing libc++ headers in that directory with the
intent of those headers overriding the SDK headers. This change solves
that problem by also looking for libc++ headers in the toolchain-relative
location of the executable symlink, if any.
The file was modifiedclang/test/Driver/darwin-header-search-libcxx.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp (diff)
Commit c38ae74b48c1cb8aedf384686eaa05815d366609 by github
[libc++] Stop checking for trailing whitespace in check-generated-output (#72711)

Trailing whitespace is removed by clang-format, so if someone tries to
check-in new code with trailing whitespaces, it'll be caught by the
clang-format job. Removing this duplication helps reduce the confusion
around our numerous ways of enforcing formatting rules.
The file was modifiedlibcxx/utils/ci/run-buildbot (diff)
Commit f609d4ba1d940c781f4fed44f7c69422d1766f09 by a.bataev
[SLP]Fix PR72833: do not crash if only operand is casted but the use
instruction.

Need to check if only operand is casted, not the user instruction
itself, if the types of the operands does not match the actual type.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
The file was addedllvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
Commit 882d4006b96c067e9c14ba93cdb41f278923438e by kiran.chandramohan
[Flang][OpenMP] NFC: Formatting change
The file was modifiedflang/lib/Lower/OpenMP.cpp (diff)
Commit ddfed815c930979414d403e01caca23875072676 by Krzysztof.Parzyszek
Revert "[OpenMP] atomic compare fail : Parser & AST support"

This reverts commit edd675ac283909397880f85ba68d0d5f99dc1be2.

This breaks clang build where every component is a shared library.

The file clang/lib/Basic/OpenMPKinds.cpp, which is a part of
libclangBasic.so, uses `getOpenMPClauseName` which isn't:

/usr/bin/ld: CMakeFiles/obj.clangBasic.dir/OpenMPKinds.cpp.o: in functio
n `clang ::getOpenMPSimpleClauseTypeName(llvm::omp::Clause, unsigned int
)':
OpenMPKinds.cpp:(.text._ZN5clang29getOpenMPSimpleClauseTypeNameEN4llvm3o
mp6ClauseEj+0x9b): undefined reference to `llvm::omp::getOpenMPClauseNam
e(llvm::omp::Clause)'
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/test/OpenMP/atomic_ast_print.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTWriter.cpp (diff)
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReader.cpp (diff)
The file was modifiedclang/test/OpenMP/atomic_messages.cpp (diff)
The file was modifiedclang/include/clang/AST/OpenMPClause.h (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedclang/lib/AST/OpenMPClause.cpp (diff)
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
Commit 5e36c64cb6e8f9c6c0c2db8a9a7120b28fbc36df by david
[flang] Remove extra space added with --dependent-lib option

This patch fixes a bug with the --dependent-lib option where an
extra space is added to the directive causing linking to fail.
The file was modifiedflang/test/Driver/dependent-lib.f90 (diff)
The file was modifiedflang/lib/Frontend/FrontendActions.cpp (diff)
Commit 6e547ce1c072f6f086a4f44fb8168df23413f597 by tbaeder
[clang][Interp][NFC] Add const InterpBlock::deref() overload
The file was modifiedclang/lib/AST/Interp/InterpBlock.h (diff)
The file was modifiedclang/lib/AST/Interp/Interp.h (diff)
Commit 80d3a4c39f5065ef620d7b3e73935cf491f0c394 by github
[DebugInfo][RemoveDIs] Add local-utility plumbing for DPValues (#72276)

This patch re-implements a variety of debug-info maintenence functions
to use DPValues instead of DbgValueInst's: supporting the "new"
non-intrinsic representation of debug-info. As per [0], we need to have
parallel implementations of various utilities for a time, and these are
the most fundamental utilities used throughout the compiler.

I've added --try-experimental-debuginfo-iterators to a variety of RUN
lines: this is a flag that turns on "new debug-info" if it's built into
LLVM, and not otherwise. This should ensure that we have the same
behaviour for the same IR inputs, but using a different internal
representation. For the most part these changes affect SROA/Mem2Reg
promotion of dbg.declares into dbg.value intrinsics (now DPValues),
we're leaving dbg.declares as instructions until later in the day.
There's also some salvaging changes made.

I believe the tests that I've added cover almost all the code being
updated here. The only thing I'm not confident about is SimplifyCFG,
which calls rewriteDebugUsers down a variety of code paths. Those
changes can't immediately get full coverage as an additional patch is
needed that updates handling of Unreachable instructions, will upload
that shortly.

[0]
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939/9
The file was modifiedllvm/test/Transforms/SafeStack/X86/debug-loc2.ll (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-phi-2.ll (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-phi.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/salvage-dbg-declare.ll (diff)
The file was modifiedllvm/test/Transforms/SROA/dbg-inline.ll (diff)
The file was modifiedllvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
The file was modifiedllvm/test/Transforms/SROA/dbg-single-piece.ll (diff)
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo-dce.ll (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/dbg_declare_to_value_conversions.ll (diff)
The file was modifiedllvm/test/DebugInfo/salvage-cast-debug-info.ll (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/ConvertDebugInfo2.ll (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-vla-2.ll (diff)
The file was modifiedllvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll (diff)
The file was modifiedllvm/test/Transforms/SafeStack/X86/debug-loc.ll (diff)
The file was modifiedllvm/test/Transforms/Util/salvage-debuginfo.ll (diff)
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-vla-1.ll (diff)
The file was modifiedllvm/lib/IR/BasicBlock.cpp (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/dbg-inline-scope-for-phi.ll (diff)
The file was modifiedllvm/test/DebugInfo/salvage-gep.ll (diff)
The file was modifiedllvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll (diff)
Commit 4a020018ce7abdee21e976f7ed5746ef2eb2c0fd by github
[NFC] Simplify the tiling implementation using cloning. (#72178)

The current implementation of tiling using `scf.for` is convoluted to
make sure that the destination passing style of the untiled program is
preserved. The addition of support to tile using `scf.forall` (adapted
from the transform operation in Linalg) in
https://github.com/llvm/llvm-project/pull/67083 used cloning of the
tiled operations to better streamline the implementation. This PR adapts
the other tiling methods to use a similar approach, making the
transformations (and handling destination passing style semantics) more
systematic.

---------

Co-authored-by: Abhishek-Varma <avarma094@gmail.com>
The file was modifiedmlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp (diff)
The file was modifiedmlir/test/Interfaces/TilingInterface/tile-using-interface.mlir (diff)
The file was modifiedmlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp (diff)
The file was modifiedmlir/test/Dialect/Tensor/tiling.mlir (diff)
The file was modifiedmlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h (diff)
Commit 88b672b0a79e9f68253abf7edcfa5a42d1321cae by huberjn
[libc] Adjust headers for some implementations of 'stdio.h'

Summary:
This is sometimes a macro, undefine it so we can declare it as the GPU
needs.
The file was modifiedclang/lib/Headers/llvm_libc_wrappers/stdio.h (diff)
Commit 4376f8c949a95914856199941ebed18c8c27b5cc by github
[mlir][spirv][nfc] Sort CL ops (#72868)

Extracted from https://github.com/llvm/llvm-project/pull/72800
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVCLOps.td (diff)
Commit d8447c78ab16c16eb17abab76e0bc77f58d2d9be by github
[Clang] Correct handling of negative and out-of-bounds indices (#71877)

GCC returns 0 for a negative index on an array in a structure. It also
returns 0 for an array index that goes beyond the extent of the array.
In addition. a pointer to a struct field returns that field's size, not
the size of it plus the rest of the struct, unless it's the first field
in the struct.

  struct s {
    int count;
    char dummy;
    int array[] __attribute((counted_by(count)));
  };

  struct s *p = malloc(...);

  p->count = 10;

A __bdos on the elements of p return:

  __bdos(p, 0) == 30
  __bdos(p->array, 0) == 10
  __bdos(&p->array[0], 0) == 10
  __bdos(&p->array[-1], 0) == 0
  __bdos(&p->array[42], 0) == 0

Also perform some refactoring, putting the "counted_by" calculations in
their own function.
The file was modifiedclang/test/CodeGen/attr-counted-by.c (diff)
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
Commit 97f96172ad90b5ae9975f09361e9fa523b73a3a2 by wlei
[build_symbolizer] Fix a missing mkdir cmd
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh (diff)
Commit 445f6f1373429fb2c86ead77ec2ff64f17948899 by github
[BOLT][TEST] Remove LTO flag from a test (#72896)

The LTO flag is not needed for the test to work properly. However, it
may not build on a system where compiler and linker versions don't match
one another. Remove the LTO flag.
The file was removedbolt/test/lsda.cpp
The file was addedbolt/test/lsda-section-name.cpp
Commit 2cc4b3d07c230f9c38d7693490d6d5b5ed0e1248 by github
[mlir][sparse] code cleanup using the assumption that dim2lvl maps ar… (#72894)

…e simplified.
The file was modifiedmlir/test/Dialect/SparseTensor/codegen.mlir (diff)
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp (diff)
Commit 5cd24759c41864215e67c280234b6c745a4cd369 by github
[libc++] Reduce the compilation time required by SIMD tests (#72602)

Testing all the SIMD widths exhaustively is nice in theory, however in
practice it leads to extremely slow tests. Given that
1. our testing resources are finite and actually pretty costly
2. we have thousands of other tests we also need to run
3. the value of executing these SIMD tests for absolutely all supported
SIMD widths is fairly small compared to cherry-picking a few relevant
widths

I think it makes a lot of sense to reduce the exhaustiveness of these
tests. I'm getting a ~4x speedup for the worst offender
(reference_assignment.pass.cpp) after this patch.

I'd also like to make this a reminder to anyone seeing this PR that
tests impact everyone's productivity. Slow unit tests contribute to
making the CI slower as a whole, and that has a direct impact on
everyone's ability to iterate quickly during PRs. Even though we have a
pretty robust CI setup in place, we should remember that it doesn't come
for free and should strive to keep our tests at a good bang for the buck
ratio.
The file was modifiedlibcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp (diff)
The file was modifiedlibcxx/test/std/experimental/simd/test_utils.h (diff)
Commit 9824040ad56103e350e6edbd59f05c606227c2c5 by github
[libc++] Don't open-close namespace std in __config (#72695)

This doesn't seem necessary and it is just kind of weird to do that in
__config, so remove it.
The file was modifiedlibcxx/include/__config (diff)
Commit 47a3ad5be1c60fc0bd40bef5b53907bb1792b6e5 by github
[Libomptarget] Handle dynamic stack sizes for AMD COV5 (#72606)

Summary:
One of the changes in the AMD code-object version five was that kernels
that use an unknown amount of private stack memory now no longer default
to 16 KBs. Instead it emits a flag that indicates the runtime must
provide a value. This patch checks if we must provide such a stack, and
uses the existing handling of the stack environment variable to
configure it.
The file was modifiedopenmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h (diff)
The file was modifiedopenmp/libomptarget/plugins-nextgen/common/PluginInterface/PluginInterface.h (diff)
The file was modifiedopenmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp (diff)
Commit 2404477219f87dd9fdd3ed46cc9257699af475a8 by github
LoopVectorize: Add better heuristic for vectorized epilogue skip test (#72589)

This is a follow-up to PR #72450 correcting the branch_weights used
for the test whether the vectorized epilogue loop should be skipped.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/branch-weights.ll (diff)
Commit 0ba5f6e6bd971d74c530e50587c69489e625ce8e by github
Fix to attribute plugins reaching an unreachable (#70877)

[0faee97](https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a)
broke attribute plugins. Specifically, it added a call to
`getAttributeSpellingListIndex()` in situations that reached an
unreachable statement. This patch adds a check before calling that to
avoid hitting the unreachable.

`clang/test/Frontend/plugin-attribute.cpp` has been broken since
[0faee97](https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a),
and this patch fixes it.

Bug: [70702](https://github.com/llvm/llvm-project/issues/70702)
The file was modifiedclang/lib/Sema/ParsedAttr.cpp (diff)
Commit b9951b3fe67075a1ed1d8d0c01d7f372d9e6a842 by github
[llvm-profdata] Fix binary ids with multiple raw profiles in a single… (#72740)

Save binary ids when iterating through `RawInstrProfReader`.

Fixes #72699.
The file was modifiedllvm/include/llvm/ProfileData/InstrProfReader.h (diff)
The file was modifiedcompiler-rt/test/profile/Linux/binary-id.c (diff)
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp (diff)
Commit 70f41022546ea8b2b41ad70702124acd4ed488dc by github
[OpenACC] Implement compound construct parsing (#72692)

This patch implements the compound construct parsing, which allows
'parallel loop', 'serial loop', and 'kernel loop' to act as their own
constructs.
The file was modifiedclang/test/ParserOpenACC/parse-constructs.c (diff)
The file was modifiedclang/include/clang/Basic/OpenACCKinds.h (diff)
The file was modifiedclang/lib/Parse/ParseOpenACC.cpp (diff)
Commit f4c6947a18d5c07d5743eb435c2854e61804ad24 by eric
Move all libc++ builders to one machine type.

There are ongoing issues with the libc++ bots, some of them seem
related to a new release of the gha action runner controllers.

Until I get this figured out, it's a lot easier to have 99% of the
bots using a single machine shape
The file was modified.github/workflows/libcxx-build-and-test.yaml (diff)
Commit 69a5869da4906f61caf59ff021559ca7d974c5f9 by github
[lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (#71230)

Small change to get `image dump separate-debug-info` working when using
`symbols.load-on-demand`.

Added tests to `TestDumpDwo`, and enabled the test for all platforms. If we fail to build, we skip the test, so this shouldn't cause the test to fail on unsupported platforms.
```
bin/lldb-dotest -p TestDumpDwo
```

It's easy to verify this manually by running
```
lldb --one-line-before-file "settings set symbols.load-on-demand true" <some_target>
(lldb) image dump separate-debug-info
...
```

---------

Co-authored-by: Tom Yang <toyang@fb.com>
The file was modifiedlldb/include/lldb/Symbol/SymbolFileOnDemand.h (diff)
The file was modifiedlldb/test/API/commands/target/dump-separate-debug-info/dwo/Makefile (diff)
The file was modifiedlldb/test/API/commands/target/dump-separate-debug-info/oso/TestDumpOso.py (diff)
The file was removedlldb/test/API/commands/target/dump-separate-debug-info/dwo/main.cpp
The file was addedlldb/test/API/commands/target/dump-separate-debug-info/dwo/main.c
The file was removedlldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.cpp
The file was addedlldb/test/API/commands/target/dump-separate-debug-info/dwo/foo.c
The file was modifiedlldb/test/API/commands/target/dump-separate-debug-info/dwo/TestDumpDwo.py (diff)
Commit 6352a07ba65301b60ace8e5e67e54f4967e375ae by github
[mlir][sparse] test four row/col major versions of BSR (#72898)

Note, this is a redo of https://github.com/llvm/llvm-project/pull/72712
which was reverted due to time outs in the bot. I have timed the tests
on various settings, and it does not even hit the top 20 of integration
tests. To be safe, I removed the SIMD version of the tests, just keeping
libgen/direcIR paths (which are the most important to test for us).

I will also keep an eye on
https://lab.llvm.org/buildbot/#/builders/264/builds after submitting to
make sure there is no repeat.
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
Commit f42482def236999b0f7896c09cd714b708861c8b by github
[DebugInfo][RemoveDIs] Don't convert debug-intrinsics to Unreachable (#72380)

It might seem obvious, but it's not a good idea to convert a
debug-intrinsic instruction into an UnreachableInst, as this means
things operate differently with and without the -g option. However this
can happen due to the "mutate the next instruction" API calls we make.
With RemoveDIs eliminating debug intrinsics, this behaviour is at risk
of changing, hence this patch ensures we only ever mutate the next _non_
debuginfo instruction into an Unreachable.

The tests instrumented with the --try... flag all exercise this, I've
added some metadata to a SCCP test to ensure it's exercised.
The file was modifiedllvm/lib/Transforms/IPO/SCCP.cpp (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/dbginfo.ll (diff)
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp (diff)
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-branch-unresolved-undef.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/assume.ll (diff)
The file was modifiedllvm/test/Transforms/InstCombine/unreachable-dbg-info-modified.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll (diff)
Commit a1e2c6566305061c115954b048f2957c8d55cb5b by github
[CUDA][HIP] ignore implicit host/device attr for override (#72815)

When deciding whether a previous function declaration is an overload or
override, implicit host/device attrs should not be considered.

This fixes the failure for the following code:

`template <typename T>
class C {
    explicit C() {};
};

template <> C<int>::C() {};
`

The issue was introduced by
https://github.com/llvm/llvm-project/pull/72394

sine the template specialization is treated as overload due to implicit
host/device attrs are considered for overload/override differentiation.
The file was modifiedclang/lib/Sema/SemaOverload.cpp (diff)
The file was modifiedclang/test/SemaCUDA/implicit-member-target-inherited.cu (diff)
The file was modifiedclang/test/SemaCUDA/trivial-ctor-dtor.cu (diff)
Commit 0e24179797faf5d309fcc5024131c2293accff26 by github
[SelectionDAG] Add support to filter SelectionDAG dumps during ISel by function names (#72696)

`-debug-only=isel-dump` is the new debug type for printing SelectionDAG
after each ISel phase. This can be furthered filter by
`-filter-print-funcs=<function names>`.
Note that the existing `-debug-only=isel` will take precedence over the
new behavior and print SelectionDAG dumps of every single function
regardless of `-filter-print-funcs`'s values.
The file was addedllvm/test/CodeGen/Generic/selectiondag-dump-filter.ll
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGISel.h (diff)
The file was modifiedllvm/docs/CodeGenerator.rst (diff)
The file was modifiedllvm/docs/ReleaseNotes.rst (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (diff)
Commit 48ff35415c06cdbd9115bfe5318449afddcc7ff5 by github
[clang] Add support for new loop attribute [[clang::code_align()]] (#70762)

This patch adds support for new loop attribute:
[[clang::code_align(N)]].
This attribute applies to a loop and specifies the byte alignment for a
loop.
The attribute accepts a positive integer constant initialization
expression
indicating the number of bytes for the minimum alignment boundary.
Its value must be a power of 2, between 1 and 4096 (inclusive).
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/lib/CodeGen/CGLoopInfo.cpp (diff)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGLoopInfo.h (diff)
The file was modifiedclang/docs/ReleaseNotes.rst (diff)
The file was modifiedclang/include/clang/Basic/AttrDocs.td (diff)
The file was modifiedclang/include/clang/Basic/Attr.td (diff)
The file was addedclang/test/Sema/code_align.c
The file was modifiedclang/lib/Sema/SemaStmtAttr.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was addedclang/test/CodeGen/code_align.c
The file was addedclang/test/Sema/code_align_ast.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
Commit 3e6d629ccff6e3561be07f66f8f0dc2774dab279 by gulfem
Revert "[clang-format][NFC] Remove a redundant isLiteral() call"

This reverts commit f6033699646b7650123a273c043a93e5eeaac6d8.
This change is labeled as NFC, but introduces a functional change
without a test, and caused a breakage as reported in
https://reviews.llvm.org/rGf6033699646b7650123a273c043a93e5eeaac6d8.
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
Commit ed73121ffeb636e75162f116bfeca56e7ec310de by youngsuk.kim
[CodeGenModule] Remove no-op ptr-to-ptr bitcasts (NFC)

Opaque ptr cleanup effort (NFC)
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
Commit 97a6c1534f65f2a9ac4490269b0051475d8384d9 by flo
[ConstraintElim] Add extra info transfer tests for #72879.

Extend test coverage to include all predicates we support transfers for.
The file was addedllvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
The file was addedllvm/test/Transforms/ConstraintElimination/transfer-unsigned-facts-to-signed-is-known-non-negative.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll (diff)
Commit 523c0d3e4912d70f2f26f58c03069647165b90f7 by github
[MemorySSA] Update test to use NewPM (#72915)

This test is the last holdout that still uses the legacy loop simplify
CFG pass. The issues originally pointed out in the test comments seem to
have been fixed now as there are no MemorySSA verification failures.
The file was modifiedllvm/test/Analysis/MemorySSA/update-remove-dead-blocks.ll (diff)
Commit c597dc3566db27b3c2ad2a4c1f5ae61693d5465b by github
[nfc][InstrProfTest]Factor out common code for value profile test (#72611)

Three existing test cases {get_icall_data_read_write, get_icall_data_read_write_with_weight,get_icall_data_read_write_big_endian} have common test data and testing
logic. Extract common code into `testICallDataReadWrite`.
- Add helper function `addValueProfData` and `testValueDataArray`. This two helper functions are used by `testICallDataReadWrite`, and possibly other test cases.
The file was modifiedllvm/unittests/ProfileData/InstrProfTest.cpp (diff)
Commit 44c796d5669e78dc020fc4b00865ed6fea42dd4d by github
Revert "[nfc][InstrProfTest]Factor out common code for value profile test" (#72921)

Reverts llvm/llvm-project#72611 for more follow-up discussions
The file was modifiedllvm/unittests/ProfileData/InstrProfTest.cpp (diff)
Commit abd85cd473afedf112bf00630a22382fee4a7853 by github
[libc] Remove the optional arguments for NVPTX constructors (#69536)

Summary:
We call the global constructors by function pointer. For whatever reason
the NVPTX architecture relies very specifically on the arguments to the
function pointer invocation matching what the function is implemented
as. This is problematic as most of these constructors are generated
with no arguments. This patch removes the extended arguments that GNU
and LLVM use for the constructors optionally so that it can support the
common case.
The file was modifiedlibc/test/integration/startup/gpu/init_fini_array_test.cpp (diff)
The file was modifiedlibc/startup/gpu/nvptx/start.cpp (diff)
Commit dfcf9fe1408168699c27bc8e8c877bf78b8fd390 by github
[flang][openacc][NFC] Check only HLFIR lowering for atomic tests (#72922)

HLFIR lowering has been set by default now and FIR lowering support will
be removed in the near future. This patch is the first of a series to
update the OpenACC lowering tests to check only the HLFIR lowering and
remove and specific FIR check lines.
The file was modifiedflang/test/Lower/OpenACC/acc-atomic-write.f90 (diff)
The file was modifiedflang/test/Lower/OpenACC/acc-atomic-update-array.f90 (diff)
The file was modifiedflang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90 (diff)
The file was modifiedflang/test/Lower/OpenACC/acc-atomic-update.f90 (diff)
The file was modifiedflang/test/Lower/OpenACC/acc-atomic-capture.f90 (diff)
The file was modifiedflang/test/Lower/OpenACC/acc-atomic-read.f90 (diff)
Commit 85ee3fc7ec15f432430ee0c73fe81f3d6382d9df by github
Fix command escape bug in lldb-dap (#72902)

https://github.com/llvm/llvm-project/pull/69238 caused breakage in
VSCode debug console usage -- the user's input is always treated as
commands instead of expressions (the same behavior as if empty command
escape prefix is specified).

The bug is in one overload of `GetString()` which did not respect the
default value of "\`". But more important, I am puzzled to find out why
the regression is not caught by lldb test (testdap_evaluate). Turns out
https://github.com/llvm/llvm-project/pull/69238 specifies
commandEscapePrefix default value in test framework to be "\`" while
VSCode will default not specify any commandEscapePrefix at all. Changing
it to None will fail `testdap_evaluate`. We should align the default
behavior between DAP client and testcase.

This patches fixes the bug in `GetString()` and changed the default
value of commandEscapePrefix in testcases to be None (be consistent with
IDE).

Co-authored-by: jeffreytan81 <jeffreytan@fb.com>
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py (diff)
The file was modifiedlldb/tools/lldb-dap/JSONUtils.cpp (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py (diff)
Commit c4d8d9167938aa09fd7b1492a4abcfcf5bc1a9ca by goldstein.w.n
[InstCombine] Add tests for folding `(X + Y) - (W + Z)`; NFC
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll (diff)
Commit dbf6f30926891dfab4d59d0ff0e960c2a31ab472 by goldstein.w.n
[InstCombine] Add folds for `(X + Y) - (W + Z)`

If `Y` and `Z` are constant then we can simplify to `(X - W) + (Y -
Z)`. If `Y == Z` we can fold to `X - W`.

Note these transform exist outside of InstCombine. The purpose of this
commit is primarily to make it so that folds can generate these
simplifiable patterns without having to worry about creating an inf
loop.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll (diff)
Commit d01857803f3593c26118b7f9fe59db71234a3359 by goldstein.w.n
[InstCombine] Make `isFreeToInvert` check recursively.

Some Instructions (select/min/max) are inverted by just inverting the
operands. So the answer of whether they are free to invert is really
just whether the operands are free to invert.

Differential Revision: https://reviews.llvm.org/D159056
The file was modifiedllvm/test/Transforms/InstCombine/minmax-intrinsics.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/InstCombine/InstCombiner.h (diff)
Commit 742c15adcb28701709de7a01f2dc5374e63b9908 by goldstein.w.n
[InstCombine] Add additional tests for free inversion; NFC
The file was addedllvm/test/Transforms/InstCombine/free-inversion.ll