FailedChanges

Summary

  1. Temporarily disable email notification for test-suite pipeline jobs (details)
  2. jenkins/jobs: Move lnt-ctmark-* jobs running on green-dragon-04 to 05 (details)
Commit 17e1c3a1e4acbebc29a0a913b1a80d7fc387e749 by Azharuddin Mohammed
Temporarily disable email notification for test-suite pipeline jobs
The file was modifiedzorg/jenkins/common.groovy (diff)
Commit 6e68cd8d5047703f01a15e0b9978219584c57887 by Azharuddin Mohammed
jenkins/jobs: Move lnt-ctmark-* jobs running on green-dragon-04 to 05
The file was modifiedzorg/jenkins/jobs/jobs/lnt-ctmark-aarch64-O3-flto (diff)
The file was modifiedzorg/jenkins/jobs/jobs/lnt-ctmark-aarch64-O0-g (diff)

Summary

  1. [mlir][OpFormatGen] Add support for resolving variadic types from non-variadic (details)
  2. Add parenthesized expression to SyntaxTree (details)
  3. This patch adds basic debug info support with basic block sections. (details)
  4. [clang] Re-add deleted forward declaration. (details)
  5. [X86] Enable multibyte NOPs in 64-bit mode for padding/alignment. (details)
  6. [lldb][NFC] Fix a variable name in ClangDiagnosticManagerAdapter (details)
  7. Revert "[clang-tidy] For `run-clang-tidy.py` escape the paths that are used for analysis." (details)
  8. [CodeGen] Fix warnings in getCopyToPartsVector (details)
  9. Fix missing build dependency on omp_gen. (details)
  10. [ARM] Rearrange SizeReduction when using -Oz (details)
  11. [NFC] Fix typo in triples from unkown to unknown (details)
  12. [lldb][NFC] Don't pass around passthrough from ClangDiagnosticManagerAdapter (details)
  13. [SVE] ACLE: Fix builtins for svdup_lane_bf16 and svcvtnt_bf16_f32_x (details)
  14. [AArch64][SVE] Add unpred load/store patterns for bf16 types (details)
  15. [CodeGen][SVE] Don't drop scalable flag in DAGCombiner::visitEXTRACT_SUBVECTOR (details)
  16. [AMDGPU] Fix formatting in MIR tests (details)
  17. DSE: fix builtin function recognition to take decl into account (details)
  18. [Support][Windows] Prevent 2s delay when renaming a file that does not exist (details)
  19. [SVE] Add warnings checks in four more LLVM SVE tests (details)
  20. [VE] Rename VE toolchain source files (details)
  21. [gn build] Port 804d9687443 (details)
  22. [BasicAA] New basic-aa-recphi test. NFC (details)
  23. [ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem` (details)
  24. Regenerate llvm/test/CodeGen/X86/optimize-max-0.ll (details)
  25. [LV] Enable the LoopVectorizer to create pointer inductions (details)
  26. Fix some typos (unkown -> unknown); NFC (details)
  27. Regenerate apint-shift tests and replace %tmp variable names to silence update_test_checks warnings (details)
  28. [InstCombine] Add some (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) tests for non-uniform vectors (details)
  29. [AArch64][SVE] Add reg+imm addressing mode for unpredicated stores (details)
  30. [Alignment][NFC] VectorLayout now uses Align internally (details)
  31. [Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment (details)
  32. [NFC][clang] Add missing VALIDATE_DIAG_SIZE() (details)
  33. [clangd] Switch FindSymbolsTests to use TestTU (details)
  34. [analyzer][StdLibraryFunctionsChecker] Add POSIX file handling functions (details)
  35. [lldb] Skip TestLimitDebugInfo on windows (details)
  36. [clang] Fix a null-NSS-access crash in DependentNameType. (details)
  37. [BasicAA] Fix recursive phi MustAlias calculations (details)
  38. [flang] Add changes to codegen to convert it to tablegen passes. (details)
  39. [flang] Add inliner pass. (details)
  40. [clang][Serialization] Don't duplicate the body of LambdaExpr during deserialization (details)
  41. [AArch64][SVE] Put zeroing pseudos and patterns under flag. (details)
  42. Regenerate sext/trunc tests and replace %tmp variable names to silence update_test_checks warnings (details)
  43. call ::pthread_detach on llvm_execute_on_thread_impl (details)
  44. [lldb] Add a host-independent test for handling -flimit-debug-info (details)
  45. [ASTMatchers] Enhanced support for matchers taking Regex arguments (details)
  46. Fix missing build dependencies on omp_gen (details)
  47. [AMDGPU][CODEGEN] Added support of new inline assembler constraints (details)
  48. [MLIR] Exact integer emptiness checks for FlatAffineConstraints (details)
  49. [ASTImporter] Add unittest case for friend decl import (details)
  50. Preserve GlobalsAA analysis result in LowerConstantIntrinsics (details)
  51. [ELF][test] Add some additional .eh_frame/.eh_frame_hdr testing (details)
  52. [InstCombine] Add some (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) tests for vectors with undef elements (details)
  53. [InstCombine] Add (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) support for non-uniform vectors (details)
  54. [AArch64][SVE] NFC: Rename isOrig -> isReverseInstr (details)
  55. [lldb] Fix type conversion in the Scalar getters (details)
  56. [InstCombine] Add some sext/trunc tests to show missing support for non-uniform vectors (details)
  57. [MLIR][SPIRVToLLVM] Implementation of spv.BitFieldInsert pattern (details)
  58. [MLIR][SPIRVToLLVM] SPIR-V function call conversion pattern (details)
  59. [MLIR][SPIRV] Support two memory access attributes in OpCopyMemory. (details)
  60. [PowerPC] Remove undefs from splat input when changing shuffle mask (details)
  61. [LLD] Add required dependency after shared libs break due to ba5087f13025 (details)
  62. [OpenMP][CMake] Fix version detection of testing compiler (details)
  63. [OpenMPOpt][Fix] Remove double initialization of omp::types. (details)
  64. [NewPM][LSR] Rename strength-reduce -> loop-reduce (details)
  65. [gn build] make building on an arm mac work (details)
  66. [MLIR][SPIRVToLLVM] Convert spv.constant scalars and vectors (details)
  67. [NewPM] Add -basic-aa to pr33196.ll (details)
  68. [clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper (details)
  69. [DebugInfo] Fix LineTest byteswap for cross-targeting builds (details)
  70. Revert "[clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper" (details)
  71. [flang] Fix bug determining alternate return (details)
  72. [flang] Clean up binary dependences of runtime libraries (details)
  73. ld64.lld: Make janky support for tbd files actually work sometimes (details)
  74. [PowerPC]Implement Vector Permute Extended Builtin (details)
  75. Revert "[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory." (details)
  76. [X86] Add test cases for v32i8 rotate with min-legal-vector-width=256 (details)
  77. [X86] Modify the conditions for when we stop making v16i8/v32i8 rotate Custom based on having avx512 features. (details)
  78. [x86] add tests for vector select with bit-test condition; NFC (details)
  79. [mlir] [VectorOps] Add choice between dot and axpy lowering of vector.contract (details)
  80. [InstSimplify] Add test for sext/zext comparisons (NFC) (details)
  81. [test] Deflake test/profile/ContinuousSyncMode/online-merging.c (details)
  82. [X86] Add test case for unfolding broadcast load from vpternlog. (details)
  83. [X86] Add vpternlog to the broadcast unfolding table. (details)
  84. [PowerPC]Add Vector Insert Instruction Definitions and MC Test (details)
  85. [SelectionDAG] don't split branch on logic-of-vector-compares (details)
  86. [x86] remove redundant tests with no check lines; NFC (details)
  87. Fix typo and check commit access. (details)
  88. [PowerPC] Implement Vector Blend Builtins in LLVM/Clang (details)
  89. [flang] External I/O runtime work, repackaged (part 1) (details)
  90. [X86] Teach lower512BitShuffle to try bitmask and bitblend before splitting v32i16/v64i8 on av512f only targets. (details)
  91. [gn build] get everything to build when llvm_targets_to_build is just AArch64 (details)
  92. [NFC][Scalarizer] Add some insertelement/extractelement tests (details)
  93. [NFC][Scalarizer] Also scalarize loads in newly-added tests (details)
  94. [flang] External I/O runtime work, repackaged (part 2) (details)
  95. [AMDGPU] Unify early PS termination blocks (details)
  96. [AMDGPU] Insert PS early exit at end of control flow (details)
  97. [PowerPC][NFC] Refactor lowerDynamicAlloc (details)
  98. Revert "[AMDGPU] Insert PS early exit at end of control flow" (details)
  99. [lld-macho] Support binding dysyms to any section (details)
  100. [PowerPC][NFC] Prevent unused error when assertion is disabled. (details)
  101. [AMDGPU] Insert PS early exit at end of control flow (details)
  102. [X86] Add back support for matching VPTERNLOG from back to back logic ops. (details)
  103. [PowerPC] Implement probing for dynamic stack allocation (details)
  104. [CostModel] Fix cast crash (details)
  105. [clang] Check ValueDependent instead of InstantiationDependent before executing the align expr for builtin align functions. (details)
  106. [X86] Remove MODRM_SPLITREGM from the disassembler tables. (details)
  107. [NFC] Use ADT/Bitfields in Instructions (details)
  108. Fix stack-clash probing for large static alloca (details)
  109. [Attributor] Create getName() method for abstract attribute (details)
  110. [OpenMP][OMPT]Add event callbacks for taskwait with depend (details)
  111. [Alignment][NFC] Use proper getter to retrieve alignment from ConstantInt and ConstantSDNode (details)
  112. [flang][NFC] Move and rework pgmath description used in folding (details)
  113. [Alignment][NFC] Use 5 bits to store Instructions Alignment (details)
  114. [llvm-readelf] - Do not error out when dumping symbols. (details)
  115. [llvm-readelf] - Do not report a misleading warning when there is no string table. (details)
  116. Regenerate PR19420 tests (details)
  117. [InstCombine] Add sext(ashr(shl(trunc(x),c),c)) folding support for vectors (details)
  118. [clangd] Improve hover on arguments to function call (details)
  119. Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. (details)
  120. [DWARFYAML][debug_gnu_*] Add the missing context `IsGNUStyle`. NFC. (details)
  121. [lldb] Fix missing characters when autocompleting LLDB commands in REPL (details)
  122. Regenerate mul-trunc tests, add vector variants and replace %tmp variable names to silence update_test_checks warnings (details)
  123. Add nonuniform vector trunc(or(shl(zext(x),c1),srl(zext(x),c2))) tests (details)
  124. Regenerate apint-cast tests and replace %tmp variable names to silence update_test_checks warnings (details)
  125. [DebugInfo] Use Cursor to detect errors in debug line prologue parser (details)
  126. [libcxx testing] Remove ALLOW_RETRIES from another test (details)
  127. Added tests for RecursiveASTVisitor for AST nodes that are special cased (details)
  128. RecursiveASTVisitor: don't call WalkUp unnecessarily in post-order traversal (details)
  129. Make RecursiveASTVisitor call WalkUpFrom for unary and binary operators in post-order traversal mode (details)
  130. Make RecursiveASTVisitor call WalkUpFrom for operators when the data recursion queue is absent (details)
  131. Revert RecursiveASTVisitor fixes. (details)
  132. [ARM] Add Cortex-A77 Support for Clang and LLVM (details)
  133. [AMDGPU] Don't combine DPP if DPP register is used more than once per instruction (details)
  134. [LLD][ELF][Windows] Allow LLD to overwrite existing output files that are in use (details)
  135. Add vector trunc(or(shl(zext(x),c1),zext(x))) tests (details)
  136. Add tests for trunc(shl/lshr/ashr(*ext(x),zext(and(y,c)))) patterns with variable shifts with clamped shift amounts (details)
  137. [clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper (details)
  138. [clang][NFC] Also test for serialization in test/AST/ast-dump-comment.cpp (details)
  139. [clang][NFC] Add a missing /dev/null in test/AST/ast-dump-lambda.cpp (details)
  140. [IR] Short-circuit comparison with itself for Attributes (details)
  141. [llvm-readobj] - Use cantFail() for all `Obj->sections()` calls. NFCI. (details)
  142. [NFC][SimplifyCFG] Move X86 tests into subdir (details)
  143. [mlir] Add redundant copy removal transform (details)
  144. [DWARFYAML][unittest] Use parseDWARFYAML() in unit test. NFC. (details)
  145. [lldb/Utility] Simplify more Scalar methods (details)
  146. [ObjectYAML][ELF] Add support for emitting the .debug_gnu_pubnames/pubtypes sections. (details)
  147. [mlir] Add check for ViewLikeOpInterface that creates additional aliases. (details)
  148. [lldb/DWARF] Look for complete member definitions in other modules (details)
  149. [ARM] Generate [SU]RHADD from (b - (~a)) >> 1 (details)
  150. [AMDGPU] Added support of new inline assembler constraints (details)
  151. [InstCombine] canEvaluateTruncated - use KnownBits to check for inrange shift amounts (details)
  152. [clang][NFC] Removed unused parameters in InitializeSourceManager (details)
  153. [flang] Improve API for runtime allocator (I/O runtime work part 3) (details)
  154. [DWARFYAML][test] Use --ignore-case to suppress errors. (details)
  155. [InstCombine] add tests to show missing one-use checks; NFC (details)
  156. [InstCombine] add one-use check to cast+select narrowing transform (details)
  157. Enable basepointer for AIX. (details)
  158. [InstCombine] Precommit tests for PR43580. (details)
  159. [SLP] Precommit test for which spill cost is computed incorrectly. (details)
  160. [ARM][HWLoops] Create hardware loops for sibling loops (details)
  161. [SLP] Make sure instructions are ordered when computing spill cost. (details)
  162. [ELF] Resolve R_DTPREL in .debug_* referencing discarded symbols to -1 (details)
  163. [InstSimplify] Fold icmp with dominating assume (details)
  164. [NFC][InstCombine] Add some more tests for select based on non-canonical bit-test (details)
  165. [InstCombine] add tests for mul of bools; NFC (details)
  166. [InstCombine] fold mul of zext bools to 'and' (details)
  167. [llvm-ar][test] Unsupport error-opening-directory.test on FreeBSD (details)
  168. [XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout (details)
  169. [flang] Add FIRBuilder.cpp (details)
  170. [libc++/libc++abi] Automatically detect whether exceptions are enabled (details)
  171. [InstCombine] Try to narrow expr if trunc cannot be removed. (details)
  172. [flang] Define new runtime error IOSTAT values (I/O runtime work part 4) (details)
  173. [flang] Track known file size, add IsATerminal (ext. I/O work part 5) (details)
  174. Revert AST Matchers default to AsIs mode (details)
  175. [PowerPC] Implement Vector Insert Builtins in LLVM/Clang (details)
  176. [clangd] Fix hover crash on invalid decls (details)
  177. [libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr (details)
  178. [InstCombine] add more tests for mul of bools; NFC (details)
  179. [InstCombine] fold mul of sext bools to 'and' (details)
  180. [x86] improve codegen for bit-masked vector compare and select (PR46531) (details)
  181. [NFCI][InstCombine] shift.ll: s/%tmp/%i/ to silence update script warning (details)
  182. [NFCI][LoopUnroll] s/%tmp/%i/ in one test to silence update script warning (details)
  183. [PowerPC][NFC] Fix indentation (details)
  184. [LoopDeletion] Emit a remark when a dead loop is deleted (details)
  185. [gcov][test] Reorganize some compiler-rt/test/profile tests (details)
  186. [gcov][test] Add `UNSUPPORTED: host-byteorder-big-endian` to gcov-fork.c (details)
  187. [WebAssembly] Do not omit range checks for i64 switches (details)
  188. [flang] Further implementation of external I/O unit operations (part 6) (details)
  189. [X86] Add matching support for X86ISD::ANDNP to X86DAGToDAGISel::tryVPTERNLOG. (details)
  190. [PowerPC] Implement probing for prologue (details)
  191. [X86] Directly emit VPTERNLOG from canonicalizeBitSelect when possible. (details)
  192. [clangd] Config: loading and caching config from disk. (details)
  193. [gn build] Port 8bd000a65fe (details)
  194. [InstSimplify] Add additional zext/sext comparison tests (NFC) (details)
  195. [InstSimplify] Simplify comparison between zext(x) and sext(x) (details)
  196. [clangd] Config: compute config in TUScheduler and BackgroundIndex (details)
  197. [SVE] Fix invalid assert in expand_DestructiveOp. (details)
  198. [MLIR][Linalg] Generate the right type of load/store when lowering max/min pooling ops (details)
  199. [clangd] Try to fix windows buildbot. NFC (details)
  200. [analyzer][NFC] Move the data structures from CheckerRegistry to the Core library (details)
  201. [gn build] Port b6cbe6cb039 (details)
  202. [X86][AVX] Fold PACK(LOSUBVECTOR(SHUFFLE(X)),HISUBVECTOR(SHUFFLE(X))) -> SHUFFLE(PACK(LOSUBVECTOR(X),HISUBVECTOR(X))) (details)
  203. [MLIR] Parallelize affine.for op to 1-D affine.parallel op (details)
  204. [X86][SSE] Add add/fadd reduction shuffle+subvector tests (details)
  205. [libcxx testing] Remove ALLOW_RETRIES from another test (details)
  206. [DAG] matchBinOpReduction - match subvector reduction patterns beyond a matched shufflevector reduction (details)
  207. [InstCombine] add test for miscompile (PR46561); NFC (details)
  208. [InstCombine] improve debug value names; NFC (details)
  209. [InstCombine] Always try to invert non-canonical predicate of an icmp (details)
  210. [InstCombine] fix miscompile from umul_with_overflow matching (details)
  211. [clang] Fix two tests that are affected by llvm opt change (details)
  212. Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr" (details)
  213. [X86] Disable VPBLENDVB formation in combineLogicBlendIntoPBLENDV if VPTERNLOG is supported. (details)
  214. [X86] Teach lowerShuffleAsBlend to use bit blend for v16i8/v32i8/v16i16 when avx512vl is enabled but not avx512bw. (details)
  215. [profile] Mark gcov test as unsupported on Darwin. (details)
  216. [flang] Extend & fix per-I/O-statement state (ext. I/O work part 7) (details)
  217. [Utils] Make -assume-builder/-assume-simplify actually work on Old-PM (details)
  218. [X86] Add test caes for pr46585. NFC (details)
  219. [DAGCombiner] Don't fold zext_vector_inreg/sext_vector_inreg(undef) to undef. Fold to 0. (details)
  220. [flang] Add fixes and missing stmts to I/O runtime API handlers (ext. I/O part 8) (details)
  221. Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions" (details)
  222. Revert "[MLIR] Parallelize affine.for op to 1-D affine.parallel op" (details)
  223. [OpenMPOpt] ICV Tracking (details)
  224. [DAGCombiner] visitSIGN_EXTEND_INREG should fold sext_vector_inreg(undef) to 0 not undef. (details)
  225. [llvm-reduce] extractArgumentsFromModule(): don't crash when deleting instr twice (details)
  226. [llvm-reduce] extractGVsFromModule(): don't crash when deleting instr twice (details)
  227. [gn build] make stage2_unix_toolchain set clang_base_path (details)
  228. [gn build] fix link of libclang_rt.asan_osx_dynamic.dylib if command line tools are not installed (details)
  229. Fix two -Wrange-loop-analysis warnings that Xcode 12 beta incorrectly complains about (details)
  230. [WebAssembly] Do not assume br_table range checks will be gt_u (details)
  231. [llvm-objcopy] Fix crash when removing symbol table at same time as adding a symbol (details)
  232. [clang][PowerPC] Enable -fstack-clash-protection option for ppc64 (details)
  233. Add tests for clang -fno-zero-initialized-in-bss and llc -nozero-initialized-in-bss (details)
  234. [OpenMP][Tests] NFC use type macro in printf (details)
  235. [lldb][NFC] Remove an unnecessary cast in SBCommandInterpreter (details)
  236. [lldb][NFC] Clarify that spaces can't be in breakpoint names (details)
  237. [NFC] Clean up braces and anon namespace (details)
  238. [llvm] Cast to (void) the unused variable. (details)
  239. [clangd] Fix stack-use-after-scope (details)
  240. [X86][SSE] Add PACKSS/PACKUS style patterns tests (details)
  241. [ARM] Remove hasSideEffects from FP converts (details)
  242. Revert "Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr"" (details)
  243. [Driver] Pass -gno-column-info instead of -dwarf-column-info (details)
  244. [SCCP] Add test for range metadata (NFC) (details)
  245. [libomptarget][test] Fix text relocations by adding -fPIC (details)
  246. [OpenMP][OMPT] Fix ifdefs for OMPT code (details)
  247. [OpenMP][Tests] Flag compatibility of OpenMP runtime tests with GCC versions (details)
  248. [Fuchsia] Set projects and runtimes in the cache file (details)
  249. [Coroutines] Warning if return type of coroutine_handle::address is not void* (details)
  250. [lldb/DWARF] Look for complete array element definitions in other modules (details)
  251. [VE] Correct stack alignment (details)
  252. [lldb/Utility] Merge Scalar::Get(Value)TypeAsCString (details)
  253. Fix 46594 - Alignment assertion failure in instcombine (details)
  254. Fix off by one error in Bitfields (details)
  255. Fix indentation in FixedPoint.h. NFC. (details)
  256. [ARM] Use BaseT::getMemoryOpCost for getMemoryOpCost (details)
  257. Revert "Revert "Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr""" (details)
  258. [InstCombine] Lower infinite combine loop detection thresholds (details)
  259. [Scalarizer] InsertElement handling w/ constant insert index (details)
  260. [Scalarizer] ExtractElement handling w/ constant extract index (details)
  261. [Scalarizer] InsertElement handling w/ variable insert index (PR46524) (details)
  262. [Scalarizer] ExtractElement handling w/ variable insert index (PR46524) (details)
  263. [Support] Add path::user_config_directory for $XDG_CONFIG_HOME etc (details)
  264. [ARM] Add extra extend and trunc costs for cast instructions (details)
  265. [Scalarizer] visit{Insert,Extract}ElementInst(): avoid call arg evaluation order deps (details)
  266. [SystemZ/ZOS] Define Endian constants for z/OS. (details)
  267. [SystemZ/ZOS] Implement getMainExecutable() and is_local_impl() (details)
  268. [Support] fix user_cache_directory on mac (details)
  269. [analyzer] Force dependency checkers to be hidden (details)
  270. [TargetLowering] Improve expansion of ROTL/ROTR (details)
  271. [TargetLowering] Improve expansion of FSHL/FSHR by non-zero amount (details)
  272. RecursiveASTVisitor: don't call WalkUp unnecessarily in post-order traversal (details)
  273. Make RecursiveASTVisitor call WalkUpFrom for unary and binary operators in post-order traversal mode (details)
  274. Make RecursiveASTVisitor call WalkUpFrom for operators when the data recursion queue is absent (details)
  275. Removed a RecursiveASTVisitor feature to visit operator kinds with different methods (details)
  276. [PowerPC] Legalize SREM/UREM directly on P9. (details)
  277. [mlir][Vector] Add a VectorUnrollInterface and expose UnrollVectorPattern. (details)
  278. [mlir][Vector] Add custom slt / SCF.if folding to VectorToSCF (details)
  279. [analyzer][NFC] Don't allow dependency checkers to emit diagnostics (details)
  280. Regenerate neon copy tests. NFC. (details)
  281. Regenerate subreg liverange tests. NFC. (details)
  282. [X86][XOP] Add XOP target vselect-pcmp tests (details)
  283. AMDGPU/GlobalISel: Add some missing return tests (details)
  284. AMDGPU: Fix fixed ABI SGPR arguments (details)
  285. AMDGPU/GlobalISel: Fix hardcoded register number checks in test (details)
  286. AMDGPU/GlobalISel: Don't emit code for unused kernel arguments (details)
  287. GlobalISel: Move finalizeLowering call later (details)
  288. [ARM] Adjust default fp extend and trunc costs (details)
  289. [analyzer] Don't allow hidden checkers to emit diagnostics (details)
  290. [clang-tidy] Added alias llvm-else-after-return. (details)
  291. [clang-tidy] Fix incorrect default option in fc3c693b61 (details)
  292. [x86] add tests for vector select with non-splat bit-test condition; NFC (details)
  293. [OpenMP] Temporarily disable failing runtime tests for OpenMP 5.0 (details)
  294. [LV] Pass dbgs() to verifyFunction call. (details)
  295. Revert "[ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem`" (details)
  296. [clang] Fix the incorrect dependence bits for DependentExtIntType. (details)
  297. [ARM] MVE FP16 cost adjustments (details)
  298. [lldb] Always round down in NSDate's formatter to match NSDate's builtin format (details)
  299. Reland "[ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem`" (details)
  300. [clangd] More complete fix for hover crashes on invalid record. (details)
  301. [Support] Fix formatted_raw_ostream for UTF-8 (details)
  302. [XCOFF][AIX] Give symbol an internal name when desired symbol name contains invalid character(s) (details)
  303. [clang] Fix modules build after D82585 (details)
  304. [clang][utils] make-ast-dump-check.sh: strip line and column numbers when generating serialization tests (details)
  305. [MLIR] Add a NoRegionArguments trait (details)
  306. [RISCV] Fold ADDIs into load/stores with nonzero offsets (details)
  307. [ELF][ARM] Represent R_ARM_LDO32 as R_DTPREL instead of R_ABS (details)
  308. [AIX] Add system-aix to lit config file (details)
  309. [mlir] Change ODS to have include and exclude regex (details)
  310. [FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support. (details)
  311. [flang] Basic tests of external I/O runtime (part 9/9) (details)
  312. [SemaCXX] Fix false positive of -Wuninitialized-const-reference in empty function body. (details)
  313. [FPEnv][Clang][Driver] Failing tests are now expected failures. (details)
  314. [flang] Bug fix for ambiguous references to data and functions (details)
  315. AMDGPU: Don't ignore carry out user when expanding add_co_pseudo (details)
  316. [FPEnv][Clang][Driver] Failing tests are now expected failures only on PowerPC (details)
  317. [VE] Change to use isa (details)
  318. Revert "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." (details)
  319. [ELF] Drop an unneeded reference to `symtab` from SymbolTable::addSymbol (details)
  320. [Sanitizer] Fix demangling for Swift symbol names (details)
  321. [VE] Support symbol with offset in assembly (details)
  322. [WebAssembly] 64-bit memory limits (details)
  323. [libc] Add documentation for integration tests. (details)
  324. [WebAssembly] Added 64-bit memory.grow/size/copy/fill (details)
  325. DomTree: Remove getChildren() accessor (details)
  326. DomTree: Remove the releaseMemory() method (details)
  327. DomTree: Remove getRoots() accessor (details)
  328. DomTree: add private create{Child,Node} helpers (details)
  329. [flang] Add missing include for std::min (details)
  330. Use CMAKE_OSX_SYSROOT instead of the environment variable SYSROOT (details)
  331. Add option LLVM_NM to allow specifying the location of the llvm-nm tool (details)
  332. AMDGPU/GlobalISel: Add types to special inputs (details)
  333. [clang] Rework how and when APValues are dumped (details)
  334. [AMDGPU] Tweak getTypeLegalizationCost() (details)
  335. [Support][NFC] Fix Wdocumentation warning in ADT/Bitfields.h (details)
  336. Fix [-Werror,-Wsign-compare] in dominator unit test. (details)
  337. [clang] Enable errors for undefined TARGET_OS_ macros in Darwin driver (details)
  338. [OpenMP][Tests] Fix/Mark compatibilty for GCC (details)
  339. [X86] Centalize the 'sse4' hack to a single place in X86TargetInfo::setFeatureEnabledImpl. NFCI (details)
  340. [Scalarizer] Centralize instruction DCE (details)
  341. [llvm-install-name-tool] Merge install-name options (details)
  342. [NFCI][IR] Introduce CallBase::Create() wrapper (details)
  343. [llvm-reduce] Reducing call operand bundles (details)
  344. [OpenMP] Add GOMP 5.0 loop entry points (details)
  345. Modifications to the algorithm sort benchmark (details)
  346. [NFCI][llvm-reduce] ReduceOperandBundles: actually put Module forward-declaration back into llvm namespace (details)
  347. [NFC] change getLimitedCodeGenPipelineReason to static function (details)
  348. Temporarily Revert "[llvm-install-name-tool] Merge install-name options" as it breaks the objcopy build. (details)
  349. [DAGCombiner] reassociate reciprocal sqrt expression to eliminate FP division (details)
  350. Fix sdk version test to use 99.99.99 as a max dummy version instead of 10.99.99. (details)
  351. Correct 3 spelling errors in headers and doc strings. (details)
  352. fix typos to cycle bots (details)
  353. [gn build] Port (details)
  354. [gn build] Port 05f2b5ccfc5 (details)
  355. Revert "[LV] Enable the LoopVectorizer to create pointer inductions" (details)
  356. [ModuloSchedule] Devirtualize PeelingModuloScheduleExpander::expand as it's not needed (details)
  357. [libc] Add documentation for clang-tidy checks. (details)
  358. [PowerPC][Power10] Exploit the xxsplti32dx instruction when lowering VECTOR_SHUFFLE. (details)
  359. [PowerPC] Implement Vector Splat Immediate Builtins in Clang (details)
  360. Create the framework and testing environment for MLIR Reduce - a tool (details)
  361. [X86-64] Support Intel AMX Intrinsic (details)
  362. [openmp] Move isAllowedClauseForDirective to tablegen + add clause version to OMP.td (details)
  363. [gn build] Port 939d8309dbd (details)
  364. [PowerPC] Do not RAUW combined nodes in VECTOR_SHUFFLE legalization (details)
  365. [llvm-install-name-tool] Merge install-name options (details)
  366. [mlir] resolve types from attributes in assemblyFormat (details)
  367. [X86] Remove duplicate SSE4A feature bit from X86TargetParser.def. NFC (details)
  368. [Test] Add one more missing optimization opportunity test (details)
  369. [X86] Move the feature dependency handling in X86TargetInfo::setFeatureEnabledImpl to a table based lookup in X86TargetParser.cpp (details)
  370. [AMDGPU] Change Clang AMDGCN atomic inc/dec builtins to take unsigned values (details)
  371. [libomptarget] Implement atomic inc and fence functions for AMDGCN using clang builtins (details)
  372. [AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions (details)
  373. [X86] Merge X86TargetInfo::setFeatureEnabled and X86TargetInfo::setFeatureEnabledImpl. NFC (details)
  374. [X86] Remove assert for missing features from X86::getImpliedFeatures (details)
  375. [X86] Add 64bit and retpoline-external-thunk to list of featuers in X86TargetParser.def. (details)
  376. [CodeGen] Fix warnings in sve-vector-splat.ll and sve-trunc.ll (details)
  377. [SVE][CodeGen] Fix bug when falling back to DAG ISel (details)
  378. [SVE] Add more warnings checks to clang and LLVM SVE tests (details)
  379. [mlir][NFC] Remove usernames and google bug numbers from TODO comments. (details)
  380. [flang][OpenMP] Enhance parser support for flush construct to OpenMP 5.0 (details)
  381. [llvm-readobj] - Fix a crash scenario in GNUStyle<ELFT>::printHashSymbols(). (details)
  382. [lldb/DWARF] Add a utility function for (forceful) completion of types (details)
  383. [NFC] Adding the align attribute on Atomic{CmpXchg|RMW}Inst (details)
  384. Hand Allocator and IdentifierTable into FormatTokenLexer. (details)
  385. [SVE][CodeGen] Legalisation of unpredicated load instructions (details)
  386. [llvm-readobj] - Allow dumping partially corrupted SHT_LLVM_CALL_GRAPH_PROFILE sections. (details)
  387. [llvm-readobj] - Refactor ELFDumper<ELFT>::getStaticSymbolName. (details)
  388. [SVE][CodeGen] Legalisation of unpredicated store instructions (details)
  389. [llvm-readobj] - Split the printHashSymbols. NFCI. (details)
  390. [llvm-readobj] - Refine the error reporting in LLVMStyle<ELFT>::printELFLinkerOptions. (details)
  391. [clang-tidy] Fix an unused-raii check crash on objective-c++. (details)
  392. [llvm-readobj] - Add prepending # to mips-got.test and mips-plt.test. NFC. (details)
  393. [lldb] Make TestIOHandlerResizeNoEditline pass with Python 2 (details)
  394. [LV] Vectorize without versioning-for-unit-stride under -Os/-Oz (details)
  395. [mlir][spirv] Introduce OwningSPIRVModuleRef for ownership (details)
  396. [mlir][VectorOps] Lower vector.outerproduct of int vectors (details)
  397. [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' (details)
  398. [llvm-readobj] - Don't abort when dumping dynamic relocations when an object has both REL and RELA. (details)
  399. [llvm-readobj] - Fix indentation in broken-dynamic-reloc.test. NFC. (details)
  400. [NFC] Use hasAnyName matcher in place of anyOf(hasName()...) (details)
  401. [llvm-readobj] - Refactor the MipsGOTParser<ELFT> to stop using report_fatal_error(). (details)
  402. [OpenMP][NFC] Remove hard-coded line numbers from more tests (details)
  403. [X86] Fix a bug that when lowering byval argument (details)
  404. [Scalarizer] When gathering scattered scalar, don't replace it with itself (details)
  405. [lldb/test] Fix lldbutil.run_to_***_breakpoint for shared libraries (details)
  406. [DEBUGINFO]Add dwarf versions to the test, NFC. (details)
  407. [OpenMP] Use primary context in CUDA plugin (details)
  408. [ASTImporter] Corrected import of repeated friend declarations. (details)
  409. [flang] Add lowering of I/O statements. (details)
  410. [Bitfields][NFC] Make sure bitfields are contiguous (details)
  411. [CodeMoverUtils] Make specific analysis dependent checks optional (details)
  412. [lldb/Utility] Fix float->integral conversions in Scalar APInt getters (details)
  413. [ASTMatchers] Added hasDirectBase Matcher (details)
  414. [Clang] Handle AIX Include management in the driver (details)
  415. Combine multiple defs of arm64 register sets (details)
  416. Revert "Create the framework and testing environment for MLIR Reduce - a tool" (details)
  417. [x86] add test for buildvector lowering miscompile (PR46586); NFC (details)
  418. [HIP] Use default triple in llvm-mc for system ld (details)
  419. [ELF] Ignore --no-relax for RISC-V (details)
  420. [NativeSession] Add column numbers to NativeLineNumber. (details)
  421. [x86] fix miscompile in buildvector v16i8 lowering (details)
  422. [GlobalOpt] Don't remove inalloca from musttail-called functions (details)
  423. [lldb] Fix unaligned load in DataExtractor (details)
  424. Disable interception of sigaltstack on i386 macOS. (details)
  425. Revert "Temporarily disable the following failing tests on Darwin:" (details)
  426. orrectly generate invert xor value for Binary Atomics of int size > 64 (details)
  427. [PowerPC] Implement Vector Replace Builtins in LLVM (details)
  428. [SemaObjC] Add a warning for @selector expressions that potentially refer to objc_direct methods (details)
  429. [SemaObjC] Fix a -Wobjc-signed-char-bool false-positive with binary conditional operator (details)
  430. Expand the LLVM Developer Policy to include new sections on adding (details)
  431. Warn pointer captured in async block (details)
  432. [X86][AVX] Add AVX2 tests to extractelement-load.ll (details)
  433. [X86][AVX] Add test case showing incorrect extraction from VBROADCAST_LOAD on AVX2 targets (details)
  434. [mlir] Convert function signatures before converting globals (details)
  435. [NewPM][LoopFusion] Rename loop-fuse -> loop-fusion (details)
  436. [mlir] Support unranked types in func signature conversion in BufferPlacement. (details)
  437. [BasicAA] Remove -basicaa alias (details)
  438. [WebAssembly] Avoid scalarizing vector shifts in more cases (details)
  439. [gn build] Port dfa0db79d0e (details)
  440. Speculatively fix the sphinx build. (details)
  441. [SystemZ ABI] Allow class types in GetSingleElementType (details)
  442. [x86][lvi][seses] Use SESES at O0 for LVI mitigation (details)
  443. [X86][AVX] Don't fold PEXTR(VBROADCAST_LOAD(X)) -> LOAD(X). (details)
  444. [SCCP] Handle assume predicates (details)
  445. [lldb/Core] Fix crash in ValueObject::CreateChildAtIndex (details)
  446. Clang crashed while checking for deletion of copy and move ctors (details)
  447. LIS: fix handleMove to properly extend main range (details)
  448. [llvm] [docs] Do not require recommonmark for manpage build (details)
  449. [SCCP] Use range metadata for loads and calls (details)
  450. [flang] Make 'num_images()' intrinsic (details)
  451. [flang] Added missing runtime I/O definitions (details)
  452. [mlir] [VectorOps] [integration-test] Add i64 typed outer product (details)
  453. [Inliner] Don't skip inlining alwaysinline in optnone functions (details)
  454. Minor fixups to LLDB AArch64 register infos macros for SVE register infos (details)
  455. [x86][seses] Add clang flag; Use lvi-cfi with seses (details)
  456. [Statepoint] Factor out logic for non-stack non-vreg lowering [almost NFC] (details)
  457. AMDGPU/GlobalISel: Fix skipping unused kernel arguments (details)
  458. GlobalISel: Handle EVT argument lowering correctly (details)
  459. [SVE] Make Constant::getSplatValue work for scalable vector splats (details)
  460. [mlir][Vector] Add ExtractOp folding (details)
  461. [ms] [llvm-ml] Add initial MASM STRUCT/UNION support (details)
  462. [libc] Add memchr implementation. (details)
  463. [lldb/api] Add checks for StackFrame::GetRegisterContext calls (NFC) (details)
  464. [SVE] Remove calls to VectorType::getNumElements from AsmParserTest (details)
  465. [llvm-readobj][test] Fix ELF/verneed-flags.yaml (details)
  466. Do not set LLDB_DEBUGSERVER_PATH if --out-of-tree-debugserver is passed. (details)
  467. [dotest] Log a warning when --server and --out-of-tree-debugserver are set (details)
  468. [RuntimeDyld][test] Fix ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml after D60122 (details)
  469. Revert "[SLP] Make sure instructions are ordered when computing spill cost." (details)
  470. [X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846 (details)
  471. [OpenMP][Tests] Update compatibility with GCC (NFC) (details)
  472. [clang] Include missing LangOpts in `getModuleHash`. (details)
  473. [Statepoint] Reduce intendation and change a variable name [NFC] (details)
  474. [Statepoint] Use early return to reduce nesting and clarify comments [NFC] (details)
  475. [flang] Fix CHARACTER length folding problem (details)
  476. Create the MLIR Reduce framework (details)
  477. [Sema] Teach -Wcast-align to compute alignment of CXXThisExpr (details)
  478. [compiler-rt][Hexagon] Remove fma/fmin/max code (details)
  479. [WebAssembly] fix gcc 10 warning (details)
  480. [X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def. (details)
  481. Revert "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def." (details)
  482. [MLIR] Combine the 2 overloads of FuncOp::build() into one. (details)
  483. PR45521: Preserve the value kind when performing a standard conversion (details)
  484. [mlir][spirv] Add MatrixTimesMatrix operation (details)
  485. [RISCV] Optimize multiplication by constant (details)
  486. [RISCV] optimize addition with a pair of (addi imm) (details)
  487. Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def." (details)
  488. [LLDB] Disable flaky lldb-vscode tests on arm (details)
  489. [gn build] Port baca8f977ed (details)
  490. [openmp][NFC] Remove duplicate clause defaultmap for target parallel do (details)
  491. Revert "[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846" (details)
  492. Rename `xla_lhlo.terminator` into `return` in SCF parallel loop test (NFC) (details)
  493. Upgrade TypePromotionTransaction to be able to report changes in CodeGenPrepare (details)
  494. [analyzer] Warning for default constructed unique_ptr dereference (details)
  495. [gn build] Port 20e271a98de (details)
  496. [DSE,MSSA] Eliminate stores by terminators (free,lifetime.end). (details)
  497. [WebAssembly] Generate unreachable after __stack_chk_fail (details)
  498. [MLIR][SPIRVToLLVM] Miscellaneous ops conversion: select, fmul and undef (details)
  499. [CodeGen] Fix warnings in sve-ld1-addressing-mode-reg-imm.ll (details)
  500. [analyzer] Silence gcc -Wparentheses warning [NFC] (details)
  501. [CodeGen] Fix wrong use of getVectorNumElements in PromoteIntRes_EXTRACT_SUBVECTOR (details)
  502. [CodeGen] Fix wrong use of getVectorNumElements() in DAGTypeLegalizer::SplitVecRes_ExtendOp (details)
  503. [llvm-readobj] - Refine error reporting in MipsGOTParser<ELFT> helper. (details)
  504. [DebugInfo/DWARF] - Test invalid CFI opcodes properly and refine related `CFIProgram::parse` code. (details)
  505. [X86][AVX] Remove redundant EXTRACT_VECTOR_ELT(VBROADCAST(SCALAR())) fold (details)
  506. Fix MSVC "not all control paths return a value" warnings. NFC. (details)
  507. [NFCI][llvm-reduce] Cleanup Delta passes to use Oracle abstraction (details)
  508. [DWARF] Add cuttoff guarding quadratic validThroughout behaviour (details)
  509. [MLIR][SPIRVToLLVM] Implementation of spv.BitFieldSExtract and spv.BitFieldUExtract patterns (details)
  510. [lldb] Skip TestIOHandlerResizeNoEditline on Windows (details)
  511. [SVE] Custom ISel for fixed length extract/insert_subvector. (details)
  512. [UpdateTestChecks] Move more update_test_checks.py logic to common.py (details)
  513. [UpdateTestChecks] Add UTC_ARGS support for update_{llc,cc}_test_checks.py (details)
  514. [Support] Fix signed/unsigned comparison warning (details)
  515. [X86][AVX] Add SimplifyDemandedVectorEltsForTargetShuffle test for v32i8->v16i8 PSHUFB (details)
  516. [GlobalISel][InlineAsm] Fix matching input constraints to mem operand (details)
  517. [lldb][NFC] Fix indentation in expect_expr (details)
  518. Add missing REQUIRES: x86-registered-target (details)
  519. [X86][AVX] SimplifyDemandedVectorEltsForTargetShuffle - ensure mask is same size as constant size (details)
  520. [cmake] Use CMAKE_GENERATOR to determine if Ninja is used (details)
  521. [lldb/API] Overwrite variables with SBLaunchInfo::SetEnvironment(append=true) (details)
  522. [AST][RecoveryExpr] Fix the value category for recovery expr. (details)
  523. [lldb/Utility] Simplify Scalar float accessors (details)
  524. clang: Don't show a trailing space with --version when not built from the repo (details)
  525. [lldb/Core] Update comment to make it more explicit (NFC) (details)
Commit c59aec0ca1edac409d8789956049ae13af24e370 by riddleriver
[mlir][OpFormatGen] Add support for resolving variadic types from non-variadic

This enables better support for traits such as SameOperandsAndResultType, and other situations in which a variadic operand may be resolved from a non-variadic.

Differential Revision: https://reviews.llvm.org/D83011
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit fdbd78333fc6f1deb3037d0961130f05dce059e7 by ecaldas
Add parenthesized expression to SyntaxTree

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82960
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
Commit e4b3c138deb8b4e7fd6afbf301b85da7e812d505 by tmsriram
This patch adds basic debug info support with basic block sections.

This patch uses ranges for debug information when a function contains basic block sections rather than using [lowpc, highpc]. This is also the first in a series of patches for debug info and does not contain the support for linker relaxation. That will be done as a follow up patch.

Differential Revision: https://reviews.llvm.org/D78851
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/include/llvm/CodeGen/DebugHandlerBase.h
The file was addedllvm/test/DebugInfo/X86/basicblock-sections_1.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinterHandler.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Commit 2a36f29fce91b6242ebd926d7c08381c31138d2c by pifon
[clang] Re-add deleted forward declaration.
The file was modifiedclang/lib/CodeGen/ABIInfo.h
Commit 0aad82943af946d1a1821998c0804ae40227051d by craig.topper
[X86] Enable multibyte NOPs in 64-bit mode for padding/alignment.

The default CPU used by llvm-mc doesn't have the NOPL feature, but
if we know we're compiling in 64-bit mode we should be able to
use nopl.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedlld/test/COFF/lto.ll
The file was modifiedllvm/test/MC/X86/align-branch-pad-max-prefix.s
The file was modifiedllvm/test/MC/X86/align-branch-bundle.s
Commit 11b1eeeaec642052e7299181c6a087f68807ae8b by Raphael Isemann
[lldb][NFC] Fix a variable name in ClangDiagnosticManagerAdapter
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Commit d3bf1f3af2f26a7c100c3aa6b8ae93feb7034cb8 by n.james93
Revert "[clang-tidy] For `run-clang-tidy.py` escape the paths that are used for analysis."

This reverts commit 068fa35746637fde29355a43d17d554a92b32cdf.

Based on a regression reported in https://bugs.llvm.org/show_bug.cgi?id=46536
The file was modifiedclang-tools-extra/clang-tidy/tool/run-clang-tidy.py
Commit c7df35d2b28eae824cded70663a2becf359a5402 by david.sherwood
[CodeGen] Fix warnings in getCopyToPartsVector

Whilst trying to assemble the following test:

  clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c

I discovered we were hitting some warnings about possible invalid
calls to getVectorNumElements() in getCopyToPartsVector(). I've
tried to fix these by using ElementCount types where possible and
I've made the assumption that we don't support using a fixed width
vector to copy parts of a scalable vector, and vice versa. Looking
at how the copy is implemented I think that's the right thing for
now.

Differential Revision: https://reviews.llvm.org/D82744
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit 9e6f19fd8390d39a0351941da1582f888d18c369 by simon.tatham
Fix missing build dependency on omp_gen.

Summary:
`include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target
called `omp_gen` which builds the generated include file `OMP.h.inc`.
This target must therefore be a dependency of every compilation step
whose transitive #include dependencies contain `OMP.h.inc`, or else
it's possible for builds to fail if Ninja (or make or whatever)
schedules that compilation step before building `OMP.h.inc` at all.

A few of those dependencies are currently missing, which leads to
intermittent build failures, depending on the order that Ninja (or
whatever) happens to schedule its commands. As far as I can see,
compiles in `clang/lib/CodeGen`, `clang/lib/Frontend`, and
`clang/examples` all depend transitivily on `OMP.h.inc` (usually via
`clang/AST/AST.h`), but don't have the formal dependency in the ninja
graph.

Adding `omp_gen` to the dependencies of `clang-tablegen-targets` seems
to be the way to get the missing dependency into the `clang/examples`
subdirectory. This also fixes the other two clang subdirectories, as
far as I can see.

Reviewers: clementval, thakis, chandlerc, jdoerfert

Reviewed By: clementval

Subscribers: cfe-commits, jdenny, mgorny, sstefan1, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D82659
The file was modifiedclang/CMakeLists.txt
Commit dc8e4d856615806dc4c7bbd898cf0428b005e790 by nicholas.guy
[ARM] Rearrange SizeReduction when using -Oz

Move the Thumb2SizeReduce pass to before IfConversion when optimising
for minimal code size.

Running the Thumb2SizeReduction pass before IfConversionallows T1
instructions to propagate to the final output, rather than the
ifConverter modifying T2 instructions and preventing them from being
reduced later.

This change does introduce a regression regarding execution time, so
it's only applied when optimising for size.

Running the LLVM Test Suite with this change produces a geomean
difference of -0.1% for the size..text metric.

Differential Revision: https://reviews.llvm.org/D82439
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/constant-hoisting.ll
The file was modifiedllvm/test/CodeGen/ARM/t2-shrink-ldrpost.ll
Commit aa4fd7d848d78611b4e6b6768edc6ab9d2b1efa5 by qiucofan
[NFC] Fix typo in triples from unkown to unknown
The file was modifiedllvm/test/CodeGen/X86/codegen-prepare-collapse.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
The file was modifiedclang/test/SemaOpenCL/block-array-capturing.cl
The file was modifiedllvm/test/MC/WebAssembly/atomics-encodings.s
The file was modifiedllvm/test/MC/WebAssembly/bulk-memory-encodings.s
The file was modifiedllvm/test/CodeGen/PowerPC/preemption.ll
The file was modifiedllvm/test/MC/WebAssembly/tail-call-encodings.s
Commit 83aa58d795b92cd864c6c09d9a65817a14e63acc by Raphael Isemann
[lldb][NFC] Don't pass around passthrough from ClangDiagnosticManagerAdapter

The passthrough DiagnosticConsumer is an implementation detail of
ClangDiagnosticManagerAdapter and we can just hide it behind the normal
DiagnosticConsumer interface that ClangDiagnosticManagerAdapter is supposed
to implement.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Commit f255656a97f7c83f7e049fd916278bbf7446651e by sander.desmalen
[SVE] ACLE: Fix builtins for svdup_lane_bf16 and svcvtnt_bf16_f32_x

bfloat16 variants of svdup_lane were missing, and svcvtnt_bf16_x
was implemented incorrectly (it takes an operand for the inactive
lanes)

Reviewers: fpetrogalli, efriedma

Reviewed By: fpetrogalli

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82908
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
The file was modifiedclang/utils/TableGen/SveEmitter.cpp
Commit 07bda98b6afdef7bed0bf7d47f5a8f6cfc64d973 by sander.desmalen
[AArch64][SVE] Add unpred load/store patterns for bf16 types

Reviewers: kmclaughlin, c-rhodes, efriedma

Reviewed By: efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82909
The file was modifiedllvm/test/CodeGen/AArch64/spillfill-sve.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit 143e324e7501e127ae1275c93c743cf06e9e18b1 by sander.desmalen
[CodeGen][SVE] Don't drop scalable flag in DAGCombiner::visitEXTRACT_SUBVECTOR

There was a rogue 'assert' in AArch64ISelLowering for the tuple.get intrinsics,
that shouldn't really have been there (I suspect this was a remnant from when
we expected the wider vector always to have come from a vector CONCAT).

When I tried to create a more minimal reproducer, I found a bug in
DAGCombiner where it drops the scalable flag when trying to fold:

      extract_subv (bitcast X), Index --> bitcast (extract_subv X, Index')

This patch fixes both issues.

Reviewers: david-arm, efriedma, spatel

Reviewed By: efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82910
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-extract-subvector.ll
Commit 6f1694759cc0de5c7ade8b465be4bb71ca4021e2 by jay.foad
[AMDGPU] Fix formatting in MIR tests
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-image-load.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/phi-elimination-end-cf.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-trunc.v2s16.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/gws-hazards.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-trunc.mir
Commit 7f903873b8a937acec2e2cc232e70cba53061352 by nunoplopes
DSE: fix builtin function recognition to take decl into account
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit a27478e54f5fa99ed17ad6ef149046f9d391f293 by Ben.Dunbobbin
[Support][Windows] Prevent 2s delay when renaming a file that does not exist

Differential Revision: https://reviews.llvm.org/D82542
The file was modifiedllvm/lib/Support/Windows/Path.inc
Commit 00f5921609a5eabcac2ca1300243291fbdd7721d by david.sherwood
[SVE] Add warnings checks in four more LLVM SVE tests

I have added CHECK lines to the following tests:

  llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll
  llvm/test/CodeGen/AArch64/sve-calling-convention-tuple-types.ll
  llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll
  llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll

since they are now free of warnings related to invalid use of
EVT::getVectorNumElements() and VectorType::getNumElements().

Differential Revision: https://reviews.llvm.org/D82957
The file was modifiedllvm/test/CodeGen/AArch64/sve-calling-convention-tuple-types.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll
Commit 804d9687443e1132157a9bb3696cb5327ae0558c by marukawa
[VE] Rename VE toolchain source files

Summary:
Rename VE.cpp and VE.h to VEToolchain.cpp and VEToolchain.h respectively
in order to avoid link warning message.  Linker warns that VE.cpp.o and
Arch/VE.cpp.o have the same name.

Reviewers: simoll, k-ishizaka

Reviewed By: simoll

Subscribers: mgorny, cfe-commits

Tags: #llvm, #ve, #clang

Differential Revision: https://reviews.llvm.org/D82968
The file was removedclang/lib/Driver/ToolChains/VE.h
The file was addedclang/lib/Driver/ToolChains/VEToolchain.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was removedclang/lib/Driver/ToolChains/VE.cpp
The file was addedclang/lib/Driver/ToolChains/VEToolchain.h
The file was modifiedclang/lib/Driver/CMakeLists.txt
Commit 559685d0bbde50db6f71dc07eb5b7a8029d8b39c by llvmgnsyncbot
[gn build] Port 804d9687443
The file was modifiedllvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Commit 68498ce8af375a97a87738676fc2917c0c9659d6 by david.green
[BasicAA] New basic-aa-recphi test. NFC
The file was addedllvm/test/Analysis/BasicAA/recphi.ll
Commit 2c16100e6f72075564ea1f67fa5a82c269dafcd3 by lebedev.ri
[ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem`

Summary:
While InstCombine trivially converts that `srem` into a `urem`,
it might happen later than wanted, in particular i'd like
for that to happen on  https://godbolt.org/z/bwuEmJ test case
early in pipeline, before first instcombine run, just before `-mem2reg`.

SCEV should recognize this case natively.

Reviewers: mkazantsev, efriedma, nikic, reames

Reviewed By: efriedma

Subscribers: clementval, hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82721
The file was modifiedllvm/test/Analysis/ScalarEvolution/srem.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/sdiv.ll
Commit 58a56ef4e7a8bcbbad377e820a23f0e8d95a0fbd by lebedev.ri
Regenerate llvm/test/CodeGen/X86/optimize-max-0.ll

It surprizingly appears to be affected by the last SCEV patch
The file was modifiedllvm/test/CodeGen/X86/optimize-max-0.ll
Commit a8fe12065ec8137e55a6a8b35dd5355477c2ac16 by anna.welker
[LV] Enable the LoopVectorizer to create pointer inductions

This patch enables the LoopVectorizer to build a phi of pointer
type and provide the vector loads and stores with vector type
getelementptrs built from the pointer induction variable, which
produces much less instructions than the previous approach of
creating scalar getelementpointers and glue them together to a
vector.

Differential Revision: https://reviews.llvm.org/D81267
The file was addedllvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit d4cf4c66b5b75393fd68e3aee8ab6c788bb628e3 by aaron
Fix some typos (unkown -> unknown); NFC
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was modifiedclang/test/Analysis/fuchsia_handle.cpp
The file was modifiedclang/lib/Parse/ParseStmtAsm.cpp
Commit 11c4bb0c7cbd91c1e58395363d4dec2b2a803450 by llvm-dev
Regenerate apint-shift tests and replace %tmp variable names to silence update_test_checks warnings
The file was modifiedllvm/test/Transforms/InstCombine/apint-shift.ll
Commit 421c02e5c6b376fbbd8cc61c20feb35f1cee7a5a by llvm-dev
[InstCombine] Add some (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) tests for non-uniform vectors

As noticed on PR46531
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/apint-shift.ll
Commit fd6193d5ea4e4a021b9578b4271329f46b27e89c by kerry.mclaughlin
[AArch64][SVE] Add reg+imm addressing mode for unpredicated stores

Reviewers: sdesmalen, efriedma, david-arm

Reviewed By: efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82985
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
Commit d2dcff60fe230bf5e5f7aeae931c982af4ef3721 by gchatelet
[Alignment][NFC] VectorLayout now uses Align internally

By rewritting `ScalarizerVisitor::getVectorLayout` in such a way it returns `VectorLayout` (or `None`) it becomes obvious that `VectorLayout::VecAlign` cannot be `0`.

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82981
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
Commit 8dbafd24d6dad9ace4447084a517823ea1d6e6b4 by gchatelet
[Alignment][NFC] Transition and simplify calls to DL::getABITypeAlignment

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82977
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
Commit 4cf24cb868b9fe9e65d2e4b27b8ec5fd5d5fb599 by whisperity
[NFC][clang] Add missing VALIDATE_DIAG_SIZE()

Originally when libCrossTU was introduced in commit
e350b0a19629c4cce87f28913b3137f4c7015de3, the macro which thus had all
diagnostic kinds covered was not added.
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp
Commit 37cc3ee8c5553ec02c133e80e9ac98f5ffa525d1 by kadircet
[clangd] Switch FindSymbolsTests to use TestTU

Summary:
This gets rid of the dependency on ClangdServer and a bunch of extra
infrastructure coming with it. Also enables us to clear SyncAPI, as it was the
sole user of runWorkspace/DocumentSymbols.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82944
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
The file was modifiedclang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
Commit db4d5f7048a26a7708821e46095742aecfd8ba46 by gabor.marton
[analyzer][StdLibraryFunctionsChecker] Add POSIX file handling functions

Adding file handling functions from the POSIX standard (2017).
A new checker option is introduced to enable them.
In follow-up patches I am going to upstream networking, pthread, and other
groups of POSIX functions.

Differential Revision: https://reviews.llvm.org/D82288
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was addedclang/test/Analysis/std-c-library-functions-POSIX.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
Commit d6343e607ac8fa71fa6d99f9c86369ae9e66e671 by pavel
[lldb] Skip TestLimitDebugInfo on windows

The test does not work on windows, because clang will emit full type
information for __declspec(dllexport) types even under
-flimit-debug-info. __declspec(dllexport) is needed to be able to use
the type across shared library boundaries on windows, which makes this a
pretty good heuristic, but defeats the purpose of this test.

I am going to create (in another patch) an basic assembly test, so that
the relevant code gets at least some coverage on windows hosts.

This also reverts commit 1276855f2b4485ec312b379c1b8eaf5510d9b157, which
added the __declspec annotations -- they are not necessary anymore, and
they needlessly complicate the test.
The file was modifiedlldb/test/API/functionalities/limit-debug-info/Makefile
The file was modifiedlldb/test/API/functionalities/limit-debug-info/onetwo.h
The file was modifiedlldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py
Commit 8c5133f1855767a16a6045777bed4652bd114d84 by hokein.wu
[clang] Fix a null-NSS-access crash in DependentNameType.

The DependentNameType must have a non-null NSS. This property could be
violated during typo correction.

Differential Revision: https://reviews.llvm.org/D82738
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/Parser/cxx-template-decl.cpp
Commit 30bd66544d7a1e602dfaf412158d4bd759352e36 by david.green
[BasicAA] Fix recursive phi MustAlias calculations

With the option -basic-aa-recphi we can detect recursive phis that loop
through constant geps, which allows us to detect more no-alias case for
pointer IV's. If the other phi operand and the other alias value are
MustAlias though, we cannot presume that every element in the loop is
also MustAlias. We need to instead be conservative and return MayAlias.

Differential Revision: https://reviews.llvm.org/D82987
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
Commit ffa1f8198e6e8be6ca1044975a67e646188210da by eschweitz
[flang] Add changes to codegen to convert it to tablegen passes.

This upstreams changes to codegen to convert the passes to the new
tablegen pass support from MLIR.

Differential revision: https://reviews.llvm.org/D83018
The file was addedflang/include/flang/Optimizer/CodeGen/CGPasses.td
The file was modifiedflang/include/flang/Optimizer/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/CodeGen/CMakeLists.txt
The file was modifiedflang/include/flang/Optimizer/CodeGen/CodeGen.h
Commit 5c02a2421b951a14d1294598d0082b32659c7082 by eschweitz
[flang] Add inliner pass.

This adds a minimalist inliner implementation. Along with the inliner, a
minimum number of support files are also included. These will pave the
way for future diffs to add more transformation passes to flang. A
future diff will add the inline test, which cannot be run successfully
quite yet as some components have not yet been upstreamed.

Differential revision:
The file was addedflang/include/flang/Optimizer/Transforms/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Transforms/Passes.td
The file was addedflang/include/flang/Optimizer/Transforms/Passes.h
The file was modifiedflang/include/flang/Optimizer/CMakeLists.txt
The file was addedflang/lib/Optimizer/Transforms/Inliner.cpp
The file was modifiedflang/lib/Optimizer/CMakeLists.txt
Commit e4d178a752444453f0ab8d2b9085087208aa8296 by riccibrun
[clang][Serialization] Don't duplicate the body of LambdaExpr during deserialization

05843dc6ab97a00cbde7aa4f08bf3692eb83109d changed the serialization of the body
of LambdaExpr to avoid a mutation in LambdaExpr::getBody and to avoid a missing
body in LambdaExpr::children.

Unfortunately this replaced one bug by another: we are now duplicating the body
during deserialization; that is after deserialization the identity:

E->getBody() == E->getCallOperator()->getBody() does not hold.

Fix that by instead lazily loading the body from the call operator when needed.

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

Reviewed By: martong, aaron.ballman, vabridgers
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/AST/ast-dump-lambda-body-not-duplicated.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
Commit 075c440f7bc8f38b2e484a1f31c803f470dab7d4 by sander.desmalen
[AArch64][SVE] Put zeroing pseudos and patterns under flag.

This patch puts the _ZERO pseudos and corresponding patterns
under the predicate 'UseExperimentalZeroingPseudos', so that they
can be enabled/disabled through compile flags.

This is done because the zeroing pseudos use MOVPRFX to do merging of
the inactive lanes, but it depends on the uarch whether this operation
is actually merged with the destructive operation. If not, it may be
more profitable to use a SELECT and to give the compiler the freedom to
schedule these instructions as normal, rather than keeping them bundled
together. Additionally, this feature is not yet fully implemented and
there are still known bugs (see D80410) that need to be resolved before
the 'experimental' can be dropped from the name.

Reviewers: paulwalker-arm, cameron.mcinally, efriedma

Reviewed By: paulwalker-arm

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82780
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-merging.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-zeroing.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
Commit 23eeae552689ecf47dbb5c5dcc551a074c4e0110 by llvm-dev
Regenerate sext/trunc tests and replace %tmp variable names to silence update_test_checks warnings
The file was modifiedllvm/test/Transforms/InstCombine/sext.ll
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
Commit e0968ad45948d5b7a89c468576e660381c88148f by n.james93
call ::pthread_detach on llvm_execute_on_thread_impl

Fixes all TSAN bugs in clangd

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D83039
The file was modifiedllvm/lib/Support/Unix/Threading.inc
Commit c1f1db8502f1fc788eefeafd3dc225bd287ee4b9 by pavel
[lldb] Add a host-independent test for handling -flimit-debug-info

This complements the existing TestLimitDebugInfo.py, which tests this
scenario more comprehensively, but is not able to run on all hosts.
Specifically, it's hard to trigger this code from windows because clang
tries hard to ensure that debug info for types marked with
__declspec(dllexport) is emitted even under -flimit-debug-info (and
dllexport is needed to use a type across shared libraries).

This assembly-based test serves two purposes:
- it tests that -flimit-debug-info code path works for windows binaries
  (even though the aforementioned feature means its less likely to be
  used there)
- it gives basic test coverage for the -flimit-debug-info handling code
  when running the test suite on windows hosts.
The file was addedlldb/test/Shell/SymbolFile/DWARF/limit-debug-info.s
Commit f51a319cacd44819b4fb9fa9f005c2445bcee984 by n.james93
[ASTMatchers] Enhanced support for matchers taking Regex arguments

Added new Macros `AST(_POLYMORPHIC)_MATCHER_REGEX(_OVERLOAD)` that define a matchers that take a regular expression string and optionally regular expression flags. This lets users match against nodes while ignoring the case without having to manually use `[Aa]` or `[A-Fa-f]` in their regex. The other point this addresses is in the current state, matchers that use regular expressions have to compile them for each node they try to match on, Now the regular expression is compiled once when you define the matcher and used for every node that it tries to match against. If there is an error while compiling the regular expression an error will be logged to stderr showing the bad regex string and the reason it couldn't be compiled. The old behaviour of this was down to the Matcher implementation and some would assert, whereas others just would never match. Support for this has been added to the documentation script as well. Support for this has been added to dynamic matchers ensuring functionality is the same between the 2 use cases.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82706
The file was modifiedllvm/include/llvm/Support/Regex.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.h
The file was modifiedclang/unittests/ASTMatchers/Dynamic/ParserTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersMacros.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/docs/tools/dump_ast_matchers.py
The file was modifiedllvm/lib/Support/Regex.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 3c72cafdf407a5a74d98a025071019533a54a1e1 by jonathan_roelofs
Fix missing build dependencies on omp_gen

Differential Revision: https://reviews.llvm.org/D83003
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/unittests/Frontend/CMakeLists.txt
The file was modifiedllvm/cmake/modules/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/IPO/CMakeLists.txt
Commit 1c9d681092d18bac249f01c5d9055dce6898a861 by dmitry.preobrazhensky
[AMDGPU][CODEGEN] Added support of new inline assembler constraints

Added support for constraints 'I', 'J', 'B', 'C', 'DA', 'DB'.

See https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints.

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D81651
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/CodeGen/AMDGPU/inline-constraints.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 10a898b3ecd638c58803e471b1ec239e58574635 by uday
[MLIR] Exact integer emptiness checks for FlatAffineConstraints

This patch adds the capability to perform exact integer emptiness checks for FlatAffineConstraints using the General Basis Reduction algorithm (GBR). Previously, only a heuristic was available for emptiness checks, which was not guaranteed to always give a conclusive result.

This patch adds a `Simplex` class, which can be constructed using a `FlatAffineConstraints`, and can find an integer sample point (if one exists) using the GBR algorithm. Additionally, it adds two classes `Matrix` and `Fraction`, which are used by `Simplex`.

The integer emptiness check functionality can be accessed through the new `FlatAffineConstraints::isIntegerEmpty()` function, which runs the existing heuristic first and, if that proves to be inconclusive, runs the GBR algorithm to produce a conclusive result.

Differential Revision: https://reviews.llvm.org/D80860
The file was addedmlir/include/mlir/Analysis/Presburger/Matrix.h
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was addedmlir/unittests/Analysis/Presburger/CMakeLists.txt
The file was addedmlir/lib/Analysis/Presburger/Simplex.cpp
The file was addedmlir/unittests/Analysis/Presburger/MatrixTest.cpp
The file was addedmlir/lib/Analysis/Presburger/Matrix.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was addedmlir/unittests/Analysis/Presburger/SimplexTest.cpp
The file was modifiedmlir/unittests/CMakeLists.txt
The file was addedmlir/unittests/Analysis/AffineStructuresTest.cpp
The file was addedmlir/include/mlir/Analysis/Presburger/Simplex.h
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was addedmlir/lib/Analysis/Presburger/CMakeLists.txt
The file was addedmlir/unittests/Analysis/CMakeLists.txt
The file was addedmlir/include/mlir/Analysis/Presburger/Fraction.h
Commit 59f1bf46f8c258b9c784ff921b89fb6cb7a06612 by vince.a.bridgers
[ASTImporter] Add unittest case for friend decl import

Summary:
This change adds a matching test case for the recent bug fix to
VisitFriendDecl in ASTImporterLookup.cpp.

See https://reviews.llvm.org/D82882 for details.

Reviewers: martong, a.sidorin, shafik

Reviewed By: martong

Subscribers: rnkovacs, teemperor, cfe-commits, dkrupp

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83006
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
Commit e6cf796bab7e02d2b8ac7fd495f14f5e21494270 by flo
Preserve GlobalsAA analysis result in LowerConstantIntrinsics

LowerConstantIntrinsics fails to preserve the analysis result of
GlobalsAA. Not preserving the analysis might affect benchmark
performance. This change fixes this issue.

Patch by Ryan Santhiraraja <rsanthir@quicinc.com>

Reviewers: fpetrogalli, joerg, fhahn

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D82342
The file was modifiedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
Commit 5012ddd5aff24e9963ed2073c7e3fc6991fd8b4c by james.henderson
[ELF][test] Add some additional .eh_frame/.eh_frame_hdr testing

This patch adds a few extra cases to the existing testing for eh_frame
and eh_frame_hdr behaviour in LLD. They all come from a private
testsuite we are trying to migrate to lit.

Reviewed by: grimar, MaskRay

Differential Revision: https://reviews.llvm.org/D82852
The file was addedlld/test/ELF/eh-frame-hdr-comdat.s
The file was modifiedlld/test/ELF/eh-frame-type.test
The file was modifiedlld/test/ELF/eh-frame-merge.s
Commit 103d62e1313d80f4a9f4285ad1280b793dfd9f9b by llvm-dev
[InstCombine] Add some (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) tests for vectors with undef elements

Suggested on D83035
The file was modifiedllvm/test/Transforms/InstCombine/apint-shift.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 769b9799307485aff87c562a8bafff828b166e2b by llvm-dev
[InstCombine] Add (vXi1 trunc(lshr(x,c))) -> icmp_eq(and(x,c')) support for non-uniform vectors

As noted on PR46531, we were only performing this transform on uniform vectors as we were using the m_APInt pattern matcher to extract the shift amount.

Differential Revision: https://reviews.llvm.org/D83035
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/apint-shift.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 8b7b0ad24c7323c629a76bb04305c698745be568 by sander.desmalen
[AArch64][SVE] NFC: Rename isOrig -> isReverseInstr

This is a non-functional to clarify some of the terminology in the
AArch64SVEInstrInfo/SVEInstrFormats.td files around the tables
for mapping an instruction to it's reverse instruction counter part,
and vice versa. e.g. DIV -> DIVR and DIVR -> DIV.

Reviewers: paulwalker-arm, cameron.mcinally, rengolin, efriedma

Reviewed By: paulwalker-arm, efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82979
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Commit b725142c8db8584007cb1cd9149e8bcecaa88547 by pavel
[lldb] Fix type conversion in the Scalar getters

Summary:
The Scalar class claims to follow the C type conversion rules. This is
true for the Promote function, but it is not true for the implicit
conversions done in the getter methods.

These functions had a subtle bug: when extending the type, they used the
signedness of the *target* type in order to determine whether to do
sign-extension or zero-extension. This is not how things work in C,
which uses the signedness of the *source* type. I.e., C does
(sign-)extension before it does signed->unsigned conversion, and not the
other way around.

This means that: (unsigned long)(int)-1
      is equal to (unsigned long)0xffffffffffffffff
      and not (unsigned long)0x00000000ffffffff

Unsurprisingly, we have accumulated code which depended on this
inconsistent behavior. It mainly manifested itself as code calling
"ULongLong/SLongLong" as a way to get the value of the Scalar object in
a primitive type that is "large enough". Previously, the ULongLong
conversion did not do sign-extension, but now it does.

This patch makes the Scalar getters consistent with the declared
semantics, and fixes the couple of call sites that were using it
incorrectly.

Reviewers: teemperor, JDevlieghere

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D82772
The file was modifiedlldb/include/lldb/Utility/Scalar.h
The file was modifiedlldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
The file was modifiedlldb/source/Expression/IRInterpreter.cpp
The file was modifiedlldb/source/Utility/Scalar.cpp
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
Commit 50b25e0679d4ffe073c3ca479e6ab1e3d29b7f59 by llvm-dev
[InstCombine] Add some sext/trunc tests to show missing support for non-uniform vectors
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
The file was modifiedllvm/test/Transforms/InstCombine/sext.ll
Commit 03fe7eb16fa224a95d4ba252e2a03cbb3fa244af by antiagainst
[MLIR][SPIRVToLLVM] Implementation of spv.BitFieldInsert pattern

This patch introduces conversion pattern for `spv.BitFiledInsert` op,
as well as some utility functions to facilitate code reading.
Since `spv.BitFiledInsert` may take both vector and integer operands,
this case was specifically handled by broadcasting values (`count`
and `offset` here) to vectors. Moreover, the types had to be converted
to same bitwidth in order to conform with LLVM dialect rules.
This was done with `zext` when extending (Note that `count` and
`offset` are treated as unsigned) and `trunc` in the opposite case.
For the latter one, truncation is safe since the op is defined only when
`count`/`offset`/their sum is less than the bitwidth of the result.
This introduces a natural bound of the value of 64, which can be
expressed as `i8`.

Reviewed By: antiagainst, ftynse

Differential Revision: https://reviews.llvm.org/D82639
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
Commit 8119a374bc3aa7ee7f135038a7c772762711d135 by antiagainst
[MLIR][SPIRVToLLVM] SPIR-V function call conversion pattern

Added conversion pattern for SPIR-V `FunctionCallOp`. Based on
specification, it returns no results or a single result, so
can be mapped directly to LLVM dialect's `llvm.call`.

Reviewed By: antiagainst, ftynse

Differential Revision: https://reviews.llvm.org/D83030
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/func-to-llvm.mlir
Commit ef2f46e1f6a63040734c48ed53893298df14b6fa by antiagainst
[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory.

This commit augments spv.CopyMemory's implementation to support 2 memory
access operands. Hence, more closely following the spec. The following
changes are introduces:

- Customize logic for spv.CopyMemory serialization and deserialization.
- Add 2 additional attributes for source memory access operand.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D82710
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
Commit a701dc5510ab8e977dcb797035475e641d6a353a by nemanja.i.ibm
[PowerPC] Remove undefs from splat input when changing shuffle mask

As of 1fed131660b2c5d3ea7007e273a7a5da80699445, we have code that
changes shuffle masks so that we can put the shuffle in a canonical
form that can be matched to a single instruction. However, it
does not properly account for undef elements in the BUILD_VECTOR
that is the RHS splat so we can end up with undefs where they
shouldn't be. This patch converts the splat input with undefs to
one without.
The file was modifiedllvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 16989f6f5c69a62eb78c1ab297f64c8182d7604a by nemanja.i.ibm
[LLD] Add required dependency after shared libs break due to ba5087f13025

The dependency on TextAPI was not added and is required for shared
libs builds.
The file was modifiedlld/lib/ReaderWriter/MachO/CMakeLists.txt
Commit 0e0483bf5c383d5815b9f945fea7e347d4badc0e by hahnjo
[OpenMP][CMake] Fix version detection of testing compiler

When configuring in-tree, the correct names are LLVM_VERSION_MAJOR
and LLVM_VERSION_MINOR. This has been wrong since the code was added
in commits fc473dee98 and 821649229e.
The file was modifiedopenmp/cmake/OpenMPTesting.cmake
Commit 61238d2690a6ebdf3c4f3f68f39101fac30263a7 by sstipanovic
[OpenMPOpt][Fix] Remove double initialization of omp::types.
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 3d12e79094d2d3cb3d7e16dc16a456e1ec25ac1b by aeubanks
[NewPM][LSR] Rename strength-reduce -> loop-reduce

The legacy pass was called "loop-reduce".

This lowers the number of check-llvm failures under NPM by 83.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D82925
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/ivchain.ll
The file was modifiedllvm/lib/FuzzMutate/FuzzerCLI.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/depth-limit-overrun.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 5416fc014ae5590fdef89630f3777d3216879fbb by thakis
[gn build] make building on an arm mac work

Currently requires `llvm_targets_to_build = [ "X86", "AArch64" ]`:
building just the host arch (i.e. aarch64) causes some linker errors.
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedllvm/utils/gn/get.py
The file was modifiedllvm/utils/gn/secondary/llvm/triples.gni
The file was modifiedllvm/utils/gn/gn.py
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
Commit 1cfaaf645528cc2fed79617c8ca80945a1504021 by antiagainst
[MLIR][SPIRVToLLVM] Convert spv.constant scalars and vectors

This patch introduces conversion pattern for `spv.constant` with scalar
and vector types. There is a special case when the constant value is a
signed/unsigned integer (vector of integers). Since LLVM dialect does not
have signedness semantics, the types had to be converted to signless ints.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D82936
The file was addedmlir/test/Conversion/SPIRVToLLVM/constant-op-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
Commit 0059f6ffe84241b9728e48c1eabdaf1a6abbef66 by aeubanks
[NewPM] Add -basic-aa to pr33196.ll

The legacy pass manager implicitly adds BasicAA, but the new PM does
not. This causes pr33196.ll to fail under NPM.

There are almost certainly lots of other failures like this, wanted to
get some input on if adding -basic-aa to tests makes sense at scale.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D82915
The file was modifiedllvm/test/Transforms/NewGVN/pr33196.ll
Commit aa7fd905e4e1bc510448431da9310e8cf5197523 by riccibrun
[clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper

In general there is no way to get to the ASTContext from most AST nodes
(Decls are one of the exception). This will be a problem when implementing
the rest of APValue::dump since we need the ASTContext to dump some kinds of
APValues.

The ASTContext* in ASTDumper and TextNodeDumper is not always
non-null. This is because we still want to be able to use the various
dump() functions in a debugger.

No functional changes intended.
The file was modifiedclang/lib/Frontend/ASTConsumers.cpp
The file was modifiedclang/unittests/AST/CommentParser.cpp
The file was modifiedclang/unittests/AST/MatchVerifier.h
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/include/clang/AST/ASTDumper.h
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/include/clang/AST/Comment.h
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/lib/AST/ASTDumper.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp
The file was modifiedclang-tools-extra/clang-query/Query.cpp
The file was modifiedclang/lib/CodeGen/CGExprComplex.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
Commit 670dbad473270a2bd46fc611bd48472685403ed6 by daltenty
[DebugInfo] Fix LineTest byteswap for cross-targeting builds

Summary:
The byte swap fix for big endian hosts in 9782c922cb21 (for D81570)
swaps based on the host endianess,  but for cross-targeting builds (i.e.
big endian host targeting little endian) the host-endianess won't
necessarily match the generated DWARF. This change updates the test
to use symmetrical constants so the results aren't endian dependent.

Reviewers: jhenderson, hubert.reinterpretcast, stevewan, ikudrin

Reviewed By: ikudrin

Subscribers: ikudrin, aprantl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82827
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Commit fcf4d5e4499a391dff42ea1a096f146db44147b6 by riccibrun
Revert "[clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper"

This reverts commit aa7fd905e4e1bc510448431da9310e8cf5197523.

I missed some dump() functions.
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp
The file was modifiedclang/include/clang/AST/ASTDumper.h
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/CodeGen/CGExprComplex.cpp
The file was modifiedclang/lib/Frontend/ASTConsumers.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/include/clang/AST/Comment.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/unittests/AST/CommentParser.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/unittests/AST/MatchVerifier.h
The file was modifiedclang/lib/AST/ASTDumper.cpp
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang-tools-extra/clang-query/Query.cpp
Commit 70f2bcc197ebc8d1c77c5efd5b822a9c9ccdccc4 by tkeith
[flang] Fix bug determining alternate return

The arguments have been moved out of the analyzer so we can't get the
expected number there. Instead use the argument count from the newly
built callee.

Differential Revision: https://reviews.llvm.org/D83063
The file was modifiedflang/lib/Semantics/expression.cpp
Commit 7cccd49a553b6381f57f0ad8545fd5ea9e329afd by pklausler
[flang] Clean up binary dependences of runtime libraries

There were dependences upon LLVM libraries in the Fortran
runtime support library binaries due to some indirect #includes
of llvm/Support/raw_ostream.h, which caused some kind of internal
ABI version consistency checking to get pulled in.  Fixed by
cleaning up some includes.

Reviewed By: tskeith, PeteSteinfeld, sscalpone

Differential Revision: https://reviews.llvm.org/D83060
The file was modifiedflang/include/flang/Common/enum-set.h
The file was modifiedflang/runtime/transformational.cpp
The file was modifiedflang/lib/Decimal/big-radix-floating-point.h
The file was modifiedflang/lib/Decimal/binary-to-decimal.cpp
The file was modifiedflang/lib/Semantics/mod-file.h
Commit 425fb21e03b0ec1cac40a415b6417ff5ba04d076 by thakis
ld64.lld: Make janky support for tbd files actually work sometimes

Also fix a bug in the test input that made the test miss this issue.
The file was modifiedlld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
The file was modifiedlld/lib/ReaderWriter/MachO/File.h
The file was modifiedlld/test/mach-o/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
Commit 286073484f7d36c8d0481be2a2f436f973389f54 by lei
[PowerPC]Implement Vector Permute Extended Builtin

Implements vector permute builtin: vec_permx()

Differential Revision: https://reviews.llvm.org/D82869
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll
Commit 08679af900c6274e9d0ec13f8ddd54a39cbefd90 by antiagainst
Revert "[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory."

This reverts commit ef2f46e1f6a63040734c48ed53893298df14b6fa, which
likely triggers a compiler internal error for MSVC.

Differential Revision: https://reviews.llvm.org/D83075
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir
Commit cdf84c7b6b7a87949921ae23084f37ce74500800 by craig.topper
[X86] Add test cases for v32i8 rotate with min-legal-vector-width=256

We currently don't mark ROTL as custom when avx512bw is enabled
under the assumption we'll be able to promote the shifts in the
rotate idiom. But if we don't have 512-bit registers enabled we
can't promote.
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
Commit 204a21317a33437e7b4746d0414e1dd24fd29053 by craig.topper
[X86] Modify the conditions for when we stop making v16i8/v32i8 rotate Custom based on having avx512 features.

The comments here indicate that we prefer to promote the shifts
instead of allowing rotate to be pattern matched. But we weren't
taking into account whether 512-bit registers are enabled or
whethever we have vpsllvw/vpsrlvw instructions.

splatvar_rotate_v32i8 is a slight regrssion, but the other cases
are neutral or improved.
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b93e6650c8ac319e326d56d7553cb71c202ba6d8 by spatel
[x86] add tests for vector select with bit-test condition; NFC
The file was modifiedllvm/test/CodeGen/X86/vector-compare-combines.ll
The file was modifiedllvm/test/CodeGen/X86/vselect-pcmp.ll
Commit ee01c7a7406345a50176216216ca384fb60e0267 by ajcbik
[mlir] [VectorOps] Add choice between dot and axpy lowering of vector.contract

Default vector.contract lowering essentially yields a series of sdot/ddot
operations. However, for some layouts a series of saxpy/daxpy operations,
chained through fma are more efficient. This CL introduces a choice between
the two lowering paths. A default heuristic is to follow.

Some preliminary avx2 performance numbers for matrix-times-vector.
Here, dot performs best for 64x64 A x b and saxpy for 64x64 A^T x b.

```
------------------------------------------------------------
            A x b                          A^T x b
------------------------------------------------------------
GFLOPS    sdot (reassoc)    saxpy    sdot (reassoc)    saxpy
------------------------------------------------------------
1x1        0.6               0.9       0.6             0.9
2x2        2.5               3.2       2.4             3.5
4x4        6.4               8.4       4.9             11.8
8x8       11.7               6.1       5.0             29.6
16x16     20.7              10.8       7.3             43.3
32x32     29.3               7.9       6.4             51.8
64x64     38.9                                         79.3
128x128   32.4                                         40.7
------------------------------------------------------------
```

Reviewed By: nicolasvasilache, ftynse

Differential Revision: https://reviews.llvm.org/D83012
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was addedmlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 359345d609043543e6480954c535d8d5074a5a94 by nikita.ppv
[InstSimplify] Add test for sext/zext comparisons (NFC)
The file was addedllvm/test/Transforms/InstSimplify/cmp_ext.ll
Commit 47481cbffbefb399e672cf056c15323917bf43bf by Vedant Kumar
[test] Deflake test/profile/ContinuousSyncMode/online-merging.c

This test spawns 32 child processes which race to update counters on
shared memory pages. On some Apple-internal machines, two processes race
to perform an update in approximately 0.5% of the test runs, leading to
dropped counter updates. Deflake the test by using atomic increments.

Tested with:

```
$ for I in $(seq 1 1000); do echo ":: Test run $I..."; ./bin/llvm-lit projects/compiler-rt/test/profile/Profile-x86_64h/ContinuousSyncMode/online-merging.c -av || break; done
```

rdar://64956774
The file was modifiedcompiler-rt/test/profile/ContinuousSyncMode/online-merging.c
Commit e87a95b5c24bf2c47af3b90990ac559453266981 by craig.topper
[X86] Add test case for unfolding broadcast load from vpternlog.
The file was modifiedllvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
Commit 912cd8a37f4628f63c2aec71c772f8935f70d0a8 by craig.topper
[X86] Add vpternlog to the broadcast unfolding table.
The file was modifiedllvm/lib/Target/X86/X86InstrFoldTables.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
Commit 6076fc698df4adb62b2496dcd5f84e778ddc60af by lei
[PowerPC]Add Vector Insert Instruction Definitions and MC Test

Adds td definitions and asm/disasm tests for the following instructions:

  VINSBVLX
  VINSBVRX
  VINSHVLX
  VINSHVRX
  VINSWVLX
  VINSWVRX
  VINSBLX
  VINSBRX
  VINSHLX
  VINSHRX
  VINSWLX
  VINSWRX
  VINSDLX
  VINSDRX
  VINSW
  VINSD

Differential Revision: https://reviews.llvm.org/D83052
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit bc110de78a4bf47f63267eae07ef02f14bcc78e3 by spatel
[SelectionDAG] don't split branch on logic-of-vector-compares

SelectionDAGBuilder converts logic-of-compares into multiple branches based
on a boolean TLI setting in isJumpExpensive(). But that probably never
considered the pattern of extracted bools from a vector compare - it seems
unlikely that we would want to turn vector logic into control-flow.

The motivating x86 reduction case is shown in PR44565:
https://bugs.llvm.org/show_bug.cgi?id=44565
...and that test shows the expected improvement from using pmovmsk codegen.

For AArch64, I modified the test to include an extra op because the simpler
test gets transformed by a codegen invocation of SimplifyCFG.

Differential Revision: https://reviews.llvm.org/D82602
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/setcc-logic.ll
The file was modifiedllvm/test/CodeGen/AArch64/vec-extract-branch.ll
Commit 4585e3509c2db8c92ceae64ad8d7b073c0090b8f by spatel
[x86] remove redundant tests with no check lines; NFC

These were accidentally included with:
rGb93e6650c8ac
The file was modifiedllvm/test/CodeGen/X86/vector-compare-combines.ll
Commit 0fd383e6566482cde8027f5db66ceca86823b771 by sameerarora101
Fix typo and check commit access.
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
Commit ca464639a1c9dd3944eb055ffd2796e8c2e7639f by lei
[PowerPC] Implement Vector Blend Builtins in LLVM/Clang

Implements vec_blendv()

Differential Revision: https://reviews.llvm.org/D82774
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
Commit 37f98f6f4c85010c786591e1f6bcacdf1bfb2b25 by pklausler
[flang] External I/O runtime work, repackaged (part 1)

Add a isFixedRecordLength flag member to Connection to
disambiguate the state of "record has known variable length"
from "record has fixed length".  Code that sets and tests this
flag will appear in later patches.  Rearrange data members to
reduce storage requirements, since Connection might indirectly
end up on a program stack frame.  Add a utility member function
BeginRecord(); use it in internal I/O processing.

Reviewed By: tskeith, sscalpone

Differential Revision: https://reviews.llvm.org/D83098
The file was modifiedflang/runtime/connection.h
The file was modifiedflang/runtime/internal-unit.cpp
Commit acf6c94a3881859988c4cb62172e5bc08ece7f9a by craig.topper
[X86] Teach lower512BitShuffle to try bitmask and bitblend before splitting v32i16/v64i8 on av512f only targets.

We consider v32i16/v64i8 to be legal types on avx512f, but we
don't have most operations until avx512bw. But we can use
and/or/xor operations. So try those before splitting.

This is especially helpful since we turn some ands with constant
masks into shuffles in early DAG combines. So we should make sure
we recover those back to AND.
The file was modifiedllvm/test/CodeGen/X86/pr45443.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-512.ll
The file was modifiedllvm/test/CodeGen/X86/combine-sdiv.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-avx512.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
Commit 39f4b1c86eda23d8d91aaee4d73991b2d77069b4 by thakis
[gn build] get everything to build when llvm_targets_to_build is just AArch64
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-mc/BUILD.gn
Commit 739c7a0a04d2728bfa9a92b30652ac3e2ae6047c by lebedev.ri
[NFC][Scalarizer] Add some insertelement/extractelement tests

See D82961/D82970/D83101/D83102.
The file was addedllvm/test/Transforms/Scalarizer/variable-insertelement.ll
The file was addedllvm/test/Transforms/Scalarizer/variable-extractelement.ll
The file was addedllvm/test/Transforms/Scalarizer/constant-extractelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/basic.ll
The file was addedllvm/test/Transforms/Scalarizer/constant-insertelement.ll
Commit e98030a55f9dd19aed4b763cc1eced54ae7e550e by lebedev.ri
[NFC][Scalarizer] Also scalarize loads in newly-added tests

Should help better showcase improvements
The file was modifiedllvm/test/Transforms/Scalarizer/constant-extractelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/variable-extractelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/variable-insertelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/constant-insertelement.ll
Commit 4e958c1748a98d700def115c034e3a863be269e3 by pklausler
[flang] External I/O runtime work, repackaged (part 2)

Clean up the input editing path so external input works better
when combined with further changes.  List-directed input needed
to allow for advancement to following records.

Reviewed By: tskeith, sscalpone

Differential Revision: https://reviews.llvm.org/D83104
The file was modifiedflang/runtime/edit-input.cpp
Commit a3daa3f75a01101790f39fb9d52bf1f8824655c9 by carl.ritson
[AMDGPU] Unify early PS termination blocks

Generate a single early exit block out-of-line and branch to this
if all lanes are killed. This avoids branching if lanes are active.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D82641
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-kill-uncond.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-if-dead.ll
Commit 2bfcacf0ad362956277a1c2c9ba00ddc453a42ce by carl.ritson
[AMDGPU] Insert PS early exit at end of control flow

Exit early if the exec mask is zero at the end of control flow.
Mark the ends of control flow during control flow lowering and
convert these to exits during the insert skips pass.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D82737
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-if-dead.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
Commit 40e9e0826be8e7a80a5d0e3362311bc5c7d14e3d by lkail
[PowerPC][NFC] Refactor lowerDynamicAlloc

When performing dynamic stack allocation, calculation of frame pointer
and actual negsize can be separated. This patch refactors
`lowerDynamicAlloc` in preparation of supporting
`-fstack-clash-protection` which also has to calculate actual frame
pointer and negsize.

Differential Revision: https://reviews.llvm.org/D81354
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Commit 7ec6927badecae0adf63eb72c42194deb68a9685 by carl.ritson
Revert "[AMDGPU] Insert PS early exit at end of control flow"

This reverts commit 2bfcacf0ad362956277a1c2c9ba00ddc453a42ce.

There appears to be an issue to analysis preservation.
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-if-dead.ll
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
Commit 53eb7fda51f27b1b098fd6d5c9385948e891e800 by jezng
[lld-macho] Support binding dysyms to any section

Previously, we only supported binding dysyms to the GOT. This
diff adds support for binding them to any arbitrary section. C++
programs appear to use this, I believe for vtables and type_info.

This diff also makes our bind opcode encoding a bit smarter -- we now
encode just the differences between bindings, which will make things
more compact.

I was initially concerned about the performance overhead of iterating
over these relocations, but it turns out that the number of such
relocations is small. A quick analysis of my llvm-project build
directory showed that < 1.3% out of ~7M relocations are RELOC_UNSIGNED
bindings to symbols (including both dynamic and static symbols).

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D83103
The file was modifiedlld/MachO/Target.h
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/test/MachO/dylink.s
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit d8921a80052575bb2b9cb345e81e8e22d6c6f516 by lkail
[PowerPC][NFC] Prevent unused error when assertion is disabled.
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Commit 42ca2070d7de8594bf3880a74d7e4454a244b266 by carl.ritson
[AMDGPU] Insert PS early exit at end of control flow

Exit early if the exec mask is zero at the end of control flow.
Mark the ends of control flow during control flow lowering and
convert these to exits during the insert skips pass.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D82737
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-if-dead.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/kill-infinite-loop.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
Commit 52855ed099fa8caed908584675c892c27445c1dd by craig.topper
[X86] Add back support for matching VPTERNLOG from back to back logic ops.

I think this mostly looks ok. The only weird thing I noticed was
a couple rotate vXi8 tests picked up an extra logic op where we have

(and (or (and), (andn)), X). Previously we matched the (or (and), (andn))
to vpternlog, but now we match the (and (or), X) and leave the and/andn
unmatched.
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/sadd_sat_vec.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/machine-combiner-int-vec.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/test/CodeGen/X86/midpoint-int-vec-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-128.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-gfni-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/midpoint-int-vec-128.ll
The file was modifiedllvm/test/CodeGen/X86/ssub_sat_vec.ll
The file was modifiedllvm/test/CodeGen/X86/fp-round.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-rot-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-cvt.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/midpoint-int-vec-256.ll
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-512.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-256.ll
Commit 03828e38c3cf6f1b8f548b724bcf46e0cffeeac8 by lkail
[PowerPC] Implement probing for dynamic stack allocation

This patch is part of supporting `-fstack-clash-protection`. Mainly do
such things compared to existing `lowerDynamicAlloc`

- Added a new pseudo instruction PPC::PREPARE_PROBED_ALLOC to get
  actual frame pointer and final stack pointer.
- Synthesize a loop to probe by blocks.
- Use DYNAREAOFFSET to get MaxCallFrameSize which is calculated in
  prologepilog.

Differential Revision: https://reviews.llvm.org/D81358
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
Commit 0724153bbeb543b329c3af51930092f2d73c503e by sam.parker
[CostModel] Fix cast crash

Don't presume instruction operands while matching reductions.

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

Differential Revision: https://reviews.llvm.org/D82453
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was addedllvm/test/Transforms/LoopUnroll/X86/pr46430.ll
Commit 283c8f7f5ad0328ed99ec189ce3d6b3c7c877d36 by hokein.wu
[clang] Check ValueDependent instead of InstantiationDependent before executing the align expr for builtin align functions.

in general, value dependent is a subset of instnatiation dependent. This
would allows us to produce diagnostics for the align expression (which
is instantiation dependent but not value dependent).

Differential Revision: https://reviews.llvm.org/D83074
The file was modifiedclang/test/SemaCXX/builtin-align-cxx.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit b94e9b7f053875bf3f1c1c61e0c0fa9336a2b2c1 by craig.topper
[X86] Remove MODRM_SPLITREGM from the disassembler tables.

This offers a very minor table size reduction due to only being
used for one AMX opcode.
The file was modifiedllvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
The file was modifiedllvm/utils/TableGen/X86DisassemblerTables.cpp
The file was modifiedllvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
Commit 3587c9c4275b96e7a7ddc4eeb6a001b7d03b55bb by gchatelet
[NFC] Use ADT/Bitfields in Instructions

This is an example patch for D81580.

Differential Revision: https://reviews.llvm.org/D81662
The file was modifiedllvm/include/llvm/Support/AtomicOrdering.h
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/include/llvm/IR/Instruction.h
Commit c8ef3d5a2f19d5ff6b907d2ca877f96b67d979db by sguelton
Fix stack-clash probing for large static alloca

Differential Revision: https://reviews.llvm.org/D82867
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/stack-clash-large.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/stack-clash-dynamic-alloca.ll
Commit 01c4574a129e987cd89daf94969bda2e929fe5a8 by clfbbn
[Attributor] Create getName() method for abstract attribute

Summary: The `getName()` method returns the name of the abstract attribute

Reviewers: jdoerfert, sstefan1, uenoku, homerdin, baziotis

Reviewed By: sstefan1

Subscribers: uenoku, kuter, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83109
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 47cb8a0f0bcbab7bde2d07a84ec02ed0f3186987 by protze
[OpenMP][OMPT]Add event callbacks for taskwait with depend

This adds the missing event callbacks to express dependencies on included tasks
and taskwait with depend clause.

The test fails for GCC, see bug report:
https://bugs.llvm.org/show_bug.cgi?id=46573

Reviewed by: hbae

Differential Revision: https://reviews.llvm.org/D81891
The file was addedopenmp/runtime/test/ompt/tasks/taskwait-depend.c
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/test/ompt/tasks/task_late_fulfill.c
Commit 87e2751cf07cc570200d8d356d7f35fee2807779 by gchatelet
[Alignment][NFC] Use proper getter to retrieve alignment from ConstantInt and ConstantSDNode

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D83082
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInstr.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/include/llvm/IR/Constants.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
Commit eb305631bec6bf6765c44dcfbb7ec9e8eca41be4 by jperier
[flang][NFC] Move and rework pgmath description used in folding

This change prepares usage of lipgmath description in lowering.
- Removes the static variable templates that were used to abstract
  libpgmath description
- Move the description to pgmath.h.inc header and rework the macros
  so that they can both be used to declare pgmath functions and use
  them.
  The way they are to be used is left to pgmath.h.inc user that
  must define PGMATH_USE_XX macros that will be called for all pgmath
  functions in pgmath.h.inc.
- In intrinsic-library.cpp define PGMATH_USE_XX macro callbacks in
  order to capture function pointers to pgmath functions as well as
  a description of their type. This will be used for constant folding
  using pgmath.
- Change atan/atan2 handling to use atan2 instead of atan when there are two
arguments  because it is easier to handle in the runtime description.

Also fixes lipgmath linking regression after D78215 cmake changes.

This change is motivated by the need to use a similar pgmath
description in lowering. The difference is that no function pointers will
be taken there, and instead only the function name and type are needed.

Reviewed By: schweitz, sscalpone

Differential Revision: https://reviews.llvm.org/D83051
The file was modifiedflang/lib/Evaluate/fold-real.cpp
The file was addedflang/runtime/pgmath.h.inc
The file was modifiedflang/lib/Evaluate/CMakeLists.txt
The file was modifiedflang/lib/Evaluate/intrinsics-library.cpp
Commit 063258eb6e32d7c185023b81f10b34f9bddbd8b3 by gchatelet
[Alignment][NFC] Use 5 bits to store Instructions Alignment

As per [MaxAlignmentExponent]{https://github.com/llvm/llvm-project/blob/b7338fb1a6a464472850211165391983d2c8fdf3/llvm/include/llvm/IR/Value.h#L688} alignment is not allowed to be more than 2^29.
Encoded as Log2, this means that storing alignment uses 5 bits.
This patch makes sure all instructions store their alignment in a consistent way, encoded as Log2 and using 5 bits.

Differential Revision: https://reviews.llvm.org/D83119
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit 64156347baa4452489ec1c0fab8eec48d1ffd168 by grimar
[llvm-readelf] - Do not error out when dumping symbols.

When the --symbols option/--dyn-symbols is given we might report an
error and exit when something goes not right. E.g. when the SHT_SYMTAB
section is broken. Though we could report a warning and try to continue
dumping instead in many cases.

This patch removes `unwrapOrErr` calls from the code involved in the
flow described.

Differential revision: https://reviews.llvm.org/D82955
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/symbols.test
Commit 769af95e657dd7831e88a37fbb60f5cd2b24abdd by grimar
[llvm-readelf] - Do not report a misleading warning when there is no string table.

This is a follow-up for D82955, which allows to continue dumping when a symbol table is broken.
When we are unable to get the string table and trying to print symbols,
the existent tool logic together with D82955 reports an error:

"st_name (0x??) is past the end of the string table of size 0x??"

Though, when there is no string table, this message becomes misleading and excessive.
It is easy to fix it though and that is what this patch does.

Differential revision: https://reviews.llvm.org/D83042
The file was modifiedllvm/test/tools/llvm-readobj/ELF/symbols.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 76673c65e706bab79a13cae1288c6b906b08fa3b by llvm-dev
Regenerate PR19420 tests
The file was modifiedllvm/test/Transforms/InstCombine/pr19420.ll
Commit 3da42f48101f67662a2aef2784535e9482cdb4f5 by llvm-dev
[InstCombine] Add sext(ashr(shl(trunc(x),c),c)) folding support for vectors

Replacing m_ConstantInt with m_Constant permits folding of vectors as well as scalars.

Differential Revision: https://reviews.llvm.org/D83058
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sext.ll
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
Commit 5c46fefdba3b18329dc331e69d1d1d6550c4075f by kadircet
[clangd] Improve hover on arguments to function call

Summary:
In cases like:
  foo(a, ^b);
We now additionally show the name and type of the parameter to foo that
corresponds that "b" is passed as.

The name should help with understanding what it's used for and type can
be useful to find out if call to foo() can mutate variable "b" or not
(i.e. if it is pass by value, reference, const reference, etc).

Patch By: adamcz@ !

Reviewers: kadircet

Reviewed By: kadircet

Subscribers: nridge, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81169
The file was modifiedclang-tools-extra/clangd/Hover.h
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit f181c66c0306cc61a70d58c4c72d385f369088c7 by llvm-dev
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning.
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit b6f08b7cfd05f6a58b4e30d90bc0e630ff6a7aa5 by Xing
[DWARFYAML][debug_gnu_*] Add the missing context `IsGNUStyle`. NFC.

This patch helps add the missing context `IsGNUStyle`. Before this patch, yaml2obj cannot parse the YAML description of 'debug_gnu_pubnames' and 'debug_gnu_pubtypes' correctly due to the missing context.

In other words, if we have

```
DWARF:
  debug_gnu_pubtypes:
    Length:
      TotalLength: 0x1234
    Version:    2
    UnitOffset: 0x1234
    UnitSize:   0x4321
    Entries:
      - DieOffset:  0x12345678
        Name:       abc
        Descriptor: 0x00      ## Descriptor can never be mapped into Entry.Descriptor
```

yaml2obj will complain that "error: unknown key 'Descriptor'".

This patch helps resolve this problem.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D82435
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFEmitter.h
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
Commit 3faec833760fa7ab6e3180378da8c8fb4abbdb11 by Raphael Isemann
[lldb] Fix missing characters when autocompleting LLDB commands in REPL

Summary:

When tabbing to complete LLDB commands in REPL, characters would at best be
missing but at worst cause the REPL to crash due to out of range string access.
This patch appends the command character to the completion results to fulfill
the assumption that all matches are prefixed by the request's cursor argument
prefix.

Bug report for the Swift REPL
https://bugs.swift.org/browse/SR-12867

Reviewers: teemperor

Reviewed By: teemperor

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D82835
The file was modifiedlldb/source/Expression/REPL.cpp
Commit 029046dc32de08dfe4ffc83dca3557508ef622c0 by llvm-dev
Regenerate mul-trunc tests, add vector variants and replace %tmp variable names to silence update_test_checks warnings
The file was modifiedllvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll
Commit b3a2882dbc4a6aeff233b9fb4c0fc05008866865 by llvm-dev
Add nonuniform vector trunc(or(shl(zext(x),c1),srl(zext(x),c2))) tests
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
Commit 80d4f33479090c502e1bcf201bac9db83fee14a3 by llvm-dev
Regenerate apint-cast tests and replace %tmp variable names to silence update_test_checks warnings
The file was modifiedllvm/test/Transforms/InstCombine/apint-cast.ll
Commit 9e09a54c692b4c5981046ed7d0a700ffdb9e1e27 by james.henderson
[DebugInfo] Use Cursor to detect errors in debug line prologue parser

Previously, the debug line parser would keep attempting to read data
even if it had run out of data to read. This meant errors in parsing
would often end up being reported as something else, such as an unknown
version or malformed directory/filename table. This patch fixes the
issues by using the Cursor API to capture errors.

Reviewed by: labath

Differential Revision: https://reviews.llvm.org/D83043
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
Commit 8aff6891646abf9462d4454728da6c47b47e4edc by dave
[libcxx testing] Remove ALLOW_RETRIES from another test
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
Commit 79889691430d8e76e908706170102a8b46432a07 by gribozavr
Added tests for RecursiveASTVisitor for AST nodes that are special cased

Summary:
RecursiveASTVisitor has special code for handling operator AST nodes,
specifically, unary, binary, and compound assignment operators. In this
change I'm adding tests for operator AST nodes that follow the existing
pattern of tests for the CallExpr node (an AST node that triggers the
common code path).

Reviewers: ymandel, eduucaldas

Reviewed By: ymandel, eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82875
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit 94454442c3c15a67ae70ef3a73616632968973fc by gribozavr
RecursiveASTVisitor: don't call WalkUp unnecessarily in post-order traversal

Summary:
How does RecursiveASTVisitor call the WalkUp callback for expressions?

* In pre-order traversal mode, RecursiveASTVisitor calls the WalkUp
  callback from the default implementation of Traverse callbacks.

* In post-order traversal mode when we don't have a DataRecursionQueue,
  RecursiveASTVisitor also calls the WalkUp callback from the default
  implementation of Traverse callbacks.

* However, in post-order traversal mode when we have a DataRecursionQueue,
  RecursiveASTVisitor calls the WalkUp callback from PostVisitStmt.

As a result, when the user overrides the Traverse callback, in pre-order
traversal mode they never get the corresponding WalkUp callback. However
in the post-order traversal mode the WalkUp callback is invoked or not
depending on whether the data recursion optimization could be applied.

I had to adjust the implementation of TraverseCXXForRangeStmt in the
syntax tree builder to call the WalkUp method directly, as it was
relying on this behavior. There is an existing test for this
functionality and it prompted me to make this extra fix.

In addition, I had to fix the default implementation implementation of
RecursiveASTVisitor::TraverseSynOrSemInitListExpr to call WalkUpFrom in
the same manner as the implementation generated by the DEF_TRAVERSE_STMT
macro. Without this fix, the InitListExprIsPostOrderNoQueueVisitedTwice
test was failing because WalkUpFromInitListExpr was never called.

Reviewers: eduucaldas, ymandel

Reviewed By: eduucaldas, ymandel

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82486
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit 7b0be962d681c408c8ecf7180c6ad8f9fbcdaf2d by gribozavr
Make RecursiveASTVisitor call WalkUpFrom for unary and binary operators in post-order traversal mode

Reviewers: ymandel, eduucaldas, rsmith

Reviewed By: eduucaldas, rsmith

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82787
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit 8bf4c40af813e73de77739b33b8808f6bd13497b by gribozavr
Make RecursiveASTVisitor call WalkUpFrom for operators when the data recursion queue is absent

Reviewers: eduucaldas, ymandel, rsmith

Reviewed By: eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82889
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit 19eaff650c9c091e844f0a342540f1d10573772c by gribozavr
Revert RecursiveASTVisitor fixes.

This reverts commit 8bf4c40af813e73de77739b33b8808f6bd13497b.
This reverts commit 7b0be962d681c408c8ecf7180c6ad8f9fbcdaf2d.
This reverts commit 94454442c3c15a67ae70ef3a73616632968973fc.

Some compilers on some buildbots didn't accept the specialization of
is_same_method_impl in a non-namespace scope.
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit 8bf99f1e6f0f9b426d6060361ea6d9d47c1868d1 by luke.geeson
[ARM] Add Cortex-A77 Support for Clang and LLVM

This patch upstreams support for the Arm-v8 Cortex-A77
processor for AArch64 and ARM.

In detail:
- Adding cortex-a77 as a cpu option for aarch64 and arm targets in clang
- Cortex-A77 CPU name and ProcessorModel in llvm

details of the CPU can be found here:
https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a77

and a similar submission to GCC can be found here:
https://github.com/gcc-mirror/gcc/commit/e0664b7a63ed8305e9f8539309df7fb3eb13babe

The following people contributed to this patch:
- Luke Geeson
- Mikhail Maltsev

Reviewers: t.p.northover, dmgreen, ostannard, SjoerdMeijer

Reviewed By: dmgreen

Subscribers: dmgreen, kristof.beyls, hiraditya, danielkiss, cfe-commits,
llvm-commits, miyuki

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D82887
The file was modifiedllvm/test/CodeGen/AArch64/cpus.ll
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.def
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/test/MC/ARM/armv8.2a-dotprod-a32.s
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
The file was modifiedllvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
The file was modifiedllvm/test/MC/ARM/armv8.2a-dotprod-t32.s
The file was modifiedllvm/test/CodeGen/AArch64/remat.ll
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedllvm/test/MC/AArch64/armv8.2a-dotprod.s
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.def
The file was modifiedclang/test/Driver/aarch64-cpus.c
The file was modifiedclang/test/Driver/arm-cortex-cpus.c
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
Commit bb69ca822aae38e12546757f48670cbf689bc227 by vpykhtin
[AMDGPU] Don't combine DPP if DPP register is used more than once per instruction

Reviewers: arsenm, rampitec, foad

Reviewed By: rampitec, foad

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82551
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
Commit f42f599d3724cd4a2f470a53551604f722965de6 by Ben.Dunbobbin
[LLD][ELF][Windows] Allow LLD to overwrite existing output files that are in use

On Windows co-operative programs can be expected to open LLD's
output in FILE_SHARE_DELETE mode. This allows us to delete the
file (by moving it to a temporary filename and then deleting
it) so that we can link another output file that overwrites
the existing file, even if the current file is in use.

A similar strategy is documented here:
https://boostgsoc13.github.io/boost.afio/doc/html/afio/FAQ/deleting_open_files.html

Differential Revision: https://reviews.llvm.org/D82567
The file was modifiedlld/Common/Filesystem.cpp
The file was addedlld/test/ELF/link-open-file.test
Commit b18405fbc02ec4af5d485c181fa703dc7df76f63 by llvm-dev
Add vector trunc(or(shl(zext(x),c1),zext(x))) tests
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
Commit 1ab88de0ed96f0666395c0da61a921c2fb7d7796 by llvm-dev
Add tests for trunc(shl/lshr/ashr(*ext(x),zext(and(y,c)))) patterns with variable shifts with clamped shift amounts
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
Commit 473fbc90d1fbf17e16594dfb17248c4f50b4d399 by riccibrun
[clang][NFC] Store a pointer to the ASTContext in ASTDumper and TextNodeDumper

In general there is no way to get to the ASTContext from most AST nodes
(Decls are one of the exception). This will be a problem when implementing
the rest of APValue::dump since we need the ASTContext to dump some kinds of
APValues.

The ASTContext* in ASTDumper and TextNodeDumper is not always non-null.
This is because we still want to be able to use the various dump() functions
in a debugger.

No functional changes intended.

Reverted in fcf4d5e4499a391dff42ea1a096f146db44147b6 since a few dump()
functions in lldb where missed.
The file was modifiedclang/unittests/AST/CommentParser.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/Frontend/ASTConsumers.cpp
The file was modifiedclang/lib/AST/ASTTypeTraits.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/unittests/AST/MatchVerifier.h
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang-tools-extra/clang-query/Query.cpp
The file was modifiedclang/include/clang/AST/ASTDumper.h
The file was modifiedclang/include/clang/AST/Comment.h
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DumpAST.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/AST/ASTDumper.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedclang/include/clang/AST/ASTTypeTraits.h
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/CodeGen/CGExprComplex.cpp
Commit 54eb42537e8c566fa15046bc0302bf5390d26f08 by riccibrun
[clang][NFC] Also test for serialization in test/AST/ast-dump-comment.cpp
The file was modifiedclang/test/AST/ast-dump-comment.cpp
Commit c10295e1bdbf892946bf1db6c3c8feb1219c4070 by riccibrun
[clang][NFC] Add a missing /dev/null in test/AST/ast-dump-lambda.cpp
The file was modifiedclang/test/AST/ast-dump-lambda.cpp
Commit 38909f31bd085d255e4b20e6da1d74b147e5f76a by danila
[IR] Short-circuit comparison with itself for Attributes

Differential Revision: https://reviews.llvm.org/D82295
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/unittests/IR/AttributesTest.cpp
Commit f671adf82326da41e48714ebdc362bc4323b6320 by grimar
[llvm-readobj] - Use cantFail() for all `Obj->sections()` calls. NFCI.

`ELFDumper<ELFT>::ELFDumper` calls `Obj->sections()` in its constructor:
https://github.com/llvm/llvm-project/blob/master/llvm/tools/llvm-readobj/ELFDumper.cpp#L2046

this means that all subsequent calls can't fail and can be
wrapped into `cantFail` in instead of `unwrapOrError` for simplicity.

Actually we already do it in a few places. In this patch I've fixed all
other places I've found.

Differential revision: https://reviews.llvm.org/D83126
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 18850981c827eb0e1d5ccdb247e601768033dadf by sam.parker
[NFC][SimplifyCFG] Move X86 tests into subdir
The file was addedllvm/test/Transforms/SimplifyCFG/X86/PR30210.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/merge-cleanuppads.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/unreachable-blocks.ll
The file was removedllvm/test/Transforms/SimplifyCFG/CoveredLookupTable.ll
The file was removedllvm/test/Transforms/SimplifyCFG/2010-03-30-InvokeCrash.ll
The file was removedllvm/test/Transforms/SimplifyCFG/MagicPointer.ll
The file was removedllvm/test/Transforms/SimplifyCFG/invalidate-dom.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/CoveredLookupTable.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/remove-debug-2.ll
The file was removedllvm/test/Transforms/SimplifyCFG/merge-cleanuppads.ll
The file was removedllvm/test/Transforms/SimplifyCFG/remove-debug-2.ll
The file was removedllvm/test/Transforms/SimplifyCFG/bug-25299.ll
The file was removedllvm/test/Transforms/SimplifyCFG/PR29163.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/remove-debug.ll
The file was removedllvm/test/Transforms/SimplifyCFG/unreachable-blocks.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/MagicPointer.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/critedge-assume.ll
The file was removedllvm/test/Transforms/SimplifyCFG/empty-cleanuppad.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/2010-03-30-InvokeCrash.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/empty-cleanuppad.ll
The file was removedllvm/test/Transforms/SimplifyCFG/PR30210.ll
The file was removedllvm/test/Transforms/SimplifyCFG/fold-branch-debuginvariant.ll
The file was removedllvm/test/Transforms/SimplifyCFG/safe-low-bit-extract.ll
The file was removedllvm/test/Transforms/SimplifyCFG/combine-parallel-mem-md.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/combine-parallel-mem-md.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/bug-25299.ll
The file was removedllvm/test/Transforms/SimplifyCFG/critedge-assume.ll
The file was removedllvm/test/Transforms/SimplifyCFG/SpeculativeExec.ll
The file was removedllvm/test/Transforms/SimplifyCFG/remove-debug.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/invalidate-dom.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/safe-low-bit-extract.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/SpeculativeExec.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/fold-branch-debuginvariant.ll
The file was addedllvm/test/Transforms/SimplifyCFG/X86/PR29163.ll
Commit 0f03b2bfda977a913036180584f636ecb4c8ef2a by ehsan.nadjaran_toosi
[mlir] Add redundant copy removal transform

This pass removes redundant dialect-independent Copy operations in different
situations like the following:

%from = ...
%to = ...
... (no user/alias for %to)
copy(%from, %to)
... (no user/alias for %from)
dealloc %from
use(%to)

Differential Revision: https://reviews.llvm.org/D82757
The file was addedmlir/lib/Transforms/CopyRemoval.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
The file was addedmlir/test/Transforms/copy-removal.mlir
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Interfaces/CMakeLists.txt
The file was addedmlir/include/mlir/Interfaces/CopyOpInterface.h
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was addedmlir/include/mlir/Interfaces/CopyOpInterface.td
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Interfaces/CMakeLists.txt
The file was addedmlir/lib/Interfaces/CopyOpInterface.cpp
Commit 6f779f35f572e17994bd334681131d9066b65f21 by Xing
[DWARFYAML][unittest] Use parseDWARFYAML() in unit test. NFC.
The file was modifiedllvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
Commit 228ea815832a863bfd4da0f0fd67675e0a02cb88 by pavel
[lldb/Utility] Simplify more Scalar methods

A lot of the methods handle all integral and all floating point types
the same way. They can be changed to switch on the category of the type,
instead of the actual type, saving a lot of boilerplate.

This patch does that for the methods where I could be reasonably certain
of their expected semantics.
The file was modifiedlldb/source/Utility/Scalar.cpp
Commit b954cb408f090251d946f1e087e29541dd1e7ee5 by Xing
[ObjectYAML][ELF] Add support for emitting the .debug_gnu_pubnames/pubtypes sections.

This patch helps add support for emitting the .debug_gnu_pubnames and .debug_gnu_pubtypes sections.

The .debug_gnu_pub* sections is verified by llvm-dwarfdump.

Known issues:
- Doesn't support emitting multiple pub-tables.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D82367
The file was addedllvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubnames.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was addedllvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubtypes.yaml
Commit 91c320e9d852120f011028e15ff0e25cdf762aad by julian.gross
[mlir] Add check for ViewLikeOpInterface that creates additional aliases.

ViewLikeOpInterfaces introduce new aliases that need to be added to the alias
list. This is necessary to place deallocs in the right positions.

Differential Revision: https://reviews.llvm.org/D83044
The file was modifiedmlir/test/Transforms/buffer-placement.mlir
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
Commit b3b952873f3705e6877644013461be7923c6caad by pavel
[lldb/DWARF] Look for complete member definitions in other modules

With -flimit-debug-info, we can have a definition of a class, but no
definition for some of its members. This extends the same logic we were
using for incomplete base classes to cover incomplete members too.

Test forward-declarations.s is removed as it is no longer applicable --
we don't warn anymore when encountering incomplete members as they could
be completed elsewhere. New checks added to TestLimitDebugInfo cover the
handling of incomplete members more thoroughly.
The file was modifiedlldb/test/API/functionalities/limit-debug-info/two.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py
The file was modifiedlldb/test/API/functionalities/limit-debug-info/onetwo.h
The file was modifiedlldb/test/API/functionalities/limit-debug-info/one.cpp
The file was modifiedlldb/test/API/functionalities/limit-debug-info/main.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/forward-declarations.s
Commit af80a4353e1462cefaa37d56eb76c8695a832ee2 by petre-ionut.tudor
[ARM] Generate [SU]RHADD from (b - (~a)) >> 1

Summary:
Teach LLVM to recognize the above pattern, which is usually a
transformation of (a + b + 1) >> 1, where the operands are either
signed or unsigned types.

Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82669
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vhadd.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 53422e8b4f65a6736896311b10ad8a22fbc9e372 by dmitry.preobrazhensky
[AMDGPU] Added support of new inline assembler constraints

Added support for constraints 'I', 'J', 'L', 'B', 'C', 'Kf', 'DA', 'DB'.

See https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints.

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D81657
The file was modifiedclang/test/Sema/inline-asm-validate-amdgpu.cl
The file was modifiedclang/lib/Basic/Targets/AMDGPU.h
The file was modifiedclang/test/CodeGenOpenCL/inline-asm-amdgcn.cl
Commit eb0e7acbd4853c31a1401c8f02586850fee15107 by llvm-dev
[InstCombine] canEvaluateTruncated - use KnownBits to check for inrange shift amounts

Currently canEvaluateTruncated can only attempt to truncate shifts if they are scalar/uniform constant amounts that are in range.

This patch replaces the constant extraction code with KnownBits handling, using the KnownBits::getMaxValue to check that the amounts are inrange.

This enables support for nonuniform constant cases, and also variable shift amounts that have been masked somehow. Annoyingly, this still won't work for vectors with (demanded) undefs as KnownBits returns nothing in those cases, but its a definite improvement on what we currently have.

Differential Revision: https://reviews.llvm.org/D83127
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/2008-01-21-MulTrunc.ll
Commit ef875c228ae7484f7bc42511c9fb1e643fa7550d by andrzej.warzynski
[clang][NFC] Removed unused parameters in InitializeSourceManager
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/include/clang/Frontend/CompilerInstance.h
Commit 98d576c78f88b6d7191335c9774313c191ef7539 by pklausler
[flang] Improve API for runtime allocator (I/O runtime work part 3)

New<A> used to return an A&; now it returns an OwningPtr<A>
to force better ownership tracking of allocations.  Its API
has also been split into New<A> and SizedNew<A> to allow
allocations with a size override.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D83108
The file was modifiedflang/runtime/io-api.cpp
The file was modifiedflang/runtime/unit-map.cpp
The file was modifiedflang/runtime/file.cpp
The file was modifiedflang/runtime/memory.h
The file was modifiedflang/runtime/unit.cpp
Commit 3b4a0adec2720675571585a0a0dc366fe8e75853 by Xing
[DWARFYAML][test] Use --ignore-case to suppress errors.

This patch is to fix build bot failure (http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/553).
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubtypes.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubnames.yaml
Commit 0cd0ae1f29ddaeaed8a9ada513d98f352bc97b46 by spatel
[InstCombine] add tests to show missing one-use checks; NFC
The file was modifiedllvm/test/Transforms/InstCombine/select-bitext.ll
Commit 63774642af1efb127c6e3eafdd44eadc54647141 by spatel
[InstCombine] add one-use check to cast+select narrowing transform

Prevent increasing the instruction count.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
The file was modifiedllvm/test/Transforms/InstCombine/select-bitext.ll
Commit 484a36b97ddfa3be2daec0241ac08bddefbc8a51 by sd.fertile
Enable basepointer for AIX.

Differential Revision: https://reviews.llvm.org/D82030
The file was addedllvm/test/CodeGen/PowerPC/aix-base-pointer.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Commit 7a1161767b137e8ac6b9658a393efc723d53a6d8 by flo
[InstCombine] Precommit tests for PR43580.
The file was modifiedllvm/test/Transforms/InstCombine/trunc-binop-ext.ll
Commit 039145c72b81ba525b3b58a27f6b2d6193198266 by flo
[SLP] Precommit test for which spill cost is computed incorrectly.

Test for D82444.
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/spillcost-order.ll
Commit 9e03547cab691521ea3be9dab0b543156ce44c04 by david.green
[ARM][HWLoops] Create hardware loops for sibling loops

Given a loop with two subloops, it should be possible for both to be
converted to hardware loops. That's what this patch does, simply enough.
It slightly alters the loop iterating order to try and convert all
subloops. If one (or more) succeeds, it stops as before.

Differential Revision: https://reviews.llvm.org/D78502
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/sibling-loops.ll
The file was modifiedllvm/lib/CodeGen/HardwareLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
Commit eb46137daa92723b75d828f2db959f2061612622 by flo
[SLP] Make sure instructions are ordered when computing spill cost.

The entries in VectorizableTree are not necessarily ordered by their
position in basic blocks. Collect them and order them by dominance so
later instructions are guaranteed to be visited first. For instructions
in different basic blocks, we only scan to the beginning of the block,
so their order does not matter, as long as all instructions in a basic
block are grouped together. Using dominance ensures a deterministic order.

The modified test case contains an example where we compute a wrong
spill cost (2) without this patch, even though there is no call between
any instruction in the bundle.

This seems to have limited practical impact, .e.g on X86 with a recent
Intel Xeon CPU with -O3 -march=native -flto on MultiSource,SPEC2000,SPEC2006
there are no binary changes.

Reviewers: craig.topper, RKSimon, xbolva00, ABataev, spatel

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D82444
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/spillcost-order.ll
Commit 6fa1343bb3e8a59116cdafc4186c85d6c6ce12df by maskray
[ELF] Resolve R_DTPREL in .debug_* referencing discarded symbols to -1

The location of a TLS variable is encoded as a DW_OP_const4u/DW_OP_const8u
followed by a DW_OP_push_tls_address (or DW_OP_GNU_push_tls_address https://sourceware.org/bugzilla/show_bug.cgi?id=11616 ).

This change follows up to D81784 and makes relocations types generalized as
R_DTPREL (e.g. R_X86_64_DTPOFF{32,64}, R_PPC64_DTPREL64) use -1 as the
tombstone value as well. This works for both TLS Variant I and Variant II
architectures.

* arm: .long tls(tlsldo)   # not working currently (R_ARM_TLS_LDO32 is R_ABS)
* mips64: .dtpreldword tls+32768
* ppc64: .quad tls@DTPREL+0x8000
* riscv: neither GCC nor clang has implemented DW_AT_location. It is likely .long/.quad tls@dtprel+0x800
* x86-32: .long tls@DTPOFF
* x86-64: .long tls@DTPOFF; .quad tls@DTPOFF

tls has a non-negative st_value, so such relocations (st_value+addend)
never resolve to -1 in a normal (not discarded) case.

```
// clang -fuse-ld=lld -g -ffunction-sections a.c -Wl,--gc-sections
// foo and tls will be discarded by --gc-sections.
// DW_AT_location [DW_FORM_exprloc] (DW_OP_const8u 0xffffffffffffffff, DW_OP_GNU_push_tls_address)
thread_local int tls;
int foo() { return ++tls; }
int main() {}
```

Also, drop logic added in D26201 intended to address PR30793. It added a test
(gc-debuginfo-tls.s) using a non-SHF_ALLOC section and a local symbol, which
does not reflect the intended scenario: a relocation in a SHF_ALLOC section
referencing a discarded non-local symbol. For such a non .debug_* section, just
emit an error.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D82899
The file was addedlld/test/ELF/gc-sections-tls.s
The file was modifiedlld/ELF/InputSection.cpp
The file was addedlld/test/ELF/debug-dead-reloc-tls.s
The file was removedlld/test/ELF/gc-debuginfo-tls.s
The file was addedlld/test/ELF/debug-dead-reloc-tls-arm.s
Commit cf1d9f9f49ae62ab4c7bb685d786a8daa7bc1d4a by nikita.ppv
[InstSimplify] Fold icmp with dominating assume

If we assume(x > y), then we should be able to fold the basic
implications of that, like x >= y. This already happens if either
one of the operands is constant (LVI) or if the conditions are
exactly the same (GVN), but not if we have an implication with
non-constant operands. Support this by querying AssumptionCache.

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

Differential Revision: https://reviews.llvm.org/D82717
The file was modifiedllvm/test/Transforms/InstSimplify/assume_icmp.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 4dd784000ebc1ff4422e7a55f732b511b815e3cf by lebedev.ri
[NFC][InstCombine] Add some more tests for select based on non-canonical bit-test
The file was addedllvm/test/Transforms/InstCombine/canonicalize-selects-icmp-condition-bittest.ll
Commit 5d60377864f00983e44ac6adda94bcf60f441973 by spatel
[InstCombine] add tests for mul of bools; NFC
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
Commit 40fcc42498d8877d2d2a8548f3ac5c052b2723c2 by spatel
[InstCombine] fold mul of zext bools to 'and'

The base case only works because we are relying on a
poison-unsafe select transform; if that is fixed, we
would regress on patterns like this.

The extra use tests show that the select transform can't
be applied consistently. So it may be a regression to have
an extra instruction on 1 test, but that result was not
created safely and does not happen reliably.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
Commit fc81f48fdeebd9e7c23900a410a39d3ced26019d by maskray
[llvm-ar][test] Unsupport error-opening-directory.test on FreeBSD

Differential Revision: https://reviews.llvm.org/D82786
The file was modifiedllvm/test/tools/llvm-ar/error-opening-directory.test
Commit 572dde55eebbe54eb90398c16c71d4376ca754e3 by jasonliu
[XCOFF][AIX] Use 'L..' instead of '.L' for getPrivateGlobalPrefix in DataLayout

Summary:
D80831 changed part of the prefix usage for AIX.
But there are other places getting prefix from DataLayout.
This patch intends to make prefix usage consistent on AIX.

Reviewed by: hubert.reinterpretcast, daltenty

Differential Revision: https://reviews.llvm.org/D81270
The file was modifiedllvm/lib/IR/DataLayout.cpp
The file was modifiedllvm/unittests/IR/ManglerTest.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-const.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-constant-pool-index.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/include/llvm/IR/DataLayout.h
Commit 35808ab8e18cea0a668ea91786a3d916618e986e by eschweitz
[flang] Add FIRBuilder.cpp

The FIR builder is a helper class that manages the creation of MLIR
operations from the bridge. The focus of the builder is the creation of
Operations, Types, etc.

Differential revision: htps://reviews.llvm.org/D83107
The file was modifiedflang/lib/Lower/CMakeLists.txt
The file was addedflang/lib/Lower/FIRBuilder.cpp
Commit 71d88cebfb42c8c5ac2d54b42afdcca956e55660 by Louis Dionne
[libc++/libc++abi] Automatically detect whether exceptions are enabled

Instead of detecting it automatically (in libc++) and relying on
_LIBCXXABI_NO_EXCEPTIONS being set explicitly (in libc++abi), always
detect whether exceptions are enabled automatically.

This commit also removes support for specifying -D_LIBCPP_NO_EXCEPTIONS
and -D_LIBCXXABI_NO_EXCEPTIONS explicitly -- those should just be inferred
from using -fno-exceptions (or an equivalent flag).

Allowing both -D_FOO_NO_EXCEPTIONS to be provided explicitly and trying
to detect it automatically is just confusing, especially since we did
specify it explicitly when building libc++abi. We should have only one
way to detect whether exceptions are enabled, but it should be robust.
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxxabi/include/__cxxabi_config.h
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/test/libcxx/strings/iterators.noexcept.pass.cpp
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
The file was modifiedlibcxxabi/CMakeLists.txt
Commit 31971ca1c6f42aa9a5e162d63528b9709448f8d9 by flo
[InstCombine] Try to narrow expr if trunc cannot be removed.

Narrowing an input expression of a truncate to a type larger than the
result of the truncate won't allow removing the truncate, but it may
enable further optimizations, e.g. allowing for larger vectorization
factors.

For now this is intentionally limited to integer types only, to avoid
producing new vector ops that might not be suitable for the target.

If we know that the only user is a trunc, we can also be allow more
cases, e.g. also shortening expressions with some additional shifts.

I would appreciate feedback on the best place to do such a narrowing.

This fixes PR43580.

Reviewers: spatel, RKSimon, lebedev.ri, xbolva00

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D82973
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/trunc-binop-ext.ll
Commit c7cabf9d608b9aad82e9cb684fbbe9f7a76bf4e0 by pklausler
[flang] Define new runtime error IOSTAT values (I/O runtime work part 4)

Add more IOSTAT= values for errors that can arise in external I/O.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83140
The file was modifiedflang/runtime/iostat.cpp
The file was modifiedflang/runtime/iostat.h
Commit 7926969afc63820b123de9d6895c3913befaae1b by pklausler
[flang] Track known file size, add IsATerminal (ext. I/O work part 5)

Add a data member knownSize_ and an accessor to allow the size of
an external file to be tracked when known.  Also add a wrapper for
::isatty() here in the filesystem encapsulation module.  These
features are needed for the external I/O rework changes still
to come.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83141
The file was modifiedflang/runtime/file.h
The file was modifiedflang/runtime/file.cpp
Commit 551092bc3dfb86f1e11a55f3bee0c8ee1be6fdd6 by steveire
Revert AST Matchers default to AsIs mode

Reviewers: aaron.ballman, klimek

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83076
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/include/clang/AST/ParentMapContext.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang-tools-extra/clang-query/QuerySession.h
The file was modifiedclang-tools-extra/clang-query/Query.cpp
Commit 0939e04e417634f6d38ec4f06835fb80756afdd3 by lei
[PowerPC] Implement Vector Insert Builtins in LLVM/Clang

Implements vec_insertl() and vec_inserth().

Differential Revision: https://reviews.llvm.org/D82365
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit 50ba9f994c6f9c51692282494c3b40dbc69b4abd by kadircet
[clangd] Fix hover crash on invalid decls

Summary: This also changes the way we display Size and Offset to be independent.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83143
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit 5cde3c9633fd071c90e9f9ce54a002e78fdd9df9 by vyng
[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr

Reviewers: jyknight, EricWF, #libc!

Subscribers: arphaman, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D82490
The file was modifiedlibcxx/include/__config
The file was addedlibcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
The file was addedlibcxx/docs/DesignDocs/UniquePtrTrivialAbi.rst
The file was modifiedlibcxx/docs/index.rst
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
The file was modifiedlibcxx/include/memory
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp
The file was addedlibcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp
Commit 5504d8b04a572dca9aec9eb21792958700f550c8 by spatel
[InstCombine] add more tests for mul of bools; NFC
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
Commit 7fd8af1de052e5bb0e07adba1d2c9e58d1a8f6a4 by spatel
[InstCombine] fold mul of sext bools to 'and'

Alive2:
  define i32 @src(i1 %x, i1 %y) {
  %0:
  %zx = sext i1 %x to i32
  %zy = sext i1 %y to i32
  %r = mul i32 %zx, %zy
  ret i32 %r
  }
  =>
  define i32 @tgt(i1 %x, i1 %y) {
  %0:
  %a = and i1 %x, %y
  %r = zext i1 %a to i32
  ret i32 %r
  }
  Transformation seems to be correct!

https://alive2.llvm.org/ce/z/gaPQxA
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit 26543f1c0cee8aad30d9b901e7dcf7282f8a30e0 by spatel
[x86] improve codegen for bit-masked vector compare and select (PR46531)

We canonicalize patterns like:
  %s = lshr i32 %a0, 1
  %t = trunc i32 %s to i1

to:
  %a = and i32 %a0, 2
  %c = icmp ne i32 %a, 0

...in IR, but the bit-shifting original sequence may be better for x86 vector codegen.

I tried several variants of the transform, and it's tricky to not induce regressions.
In particular, I did not find a way to cleanly handle non-splat constants, so I've left
that as a TODO item here (currently negative tests for those are included). AVX512
resulted in some diffs, but didn't look meaningful, so I left that out too. Some of
the 256-bit AVX1 diffs are questionable, but close enough that they are probably
insignificant.

Differential Revision: https://reviews.llvm.org/D83073.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vselect-pcmp.ll
Commit 341ab5114914012f917c2910fcc8ac4547db54b0 by lebedev.ri
[NFCI][InstCombine] shift.ll: s/%tmp/%i/ to silence update script warning
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
Commit 17a15c32aff0cac82e3f45eaaaff7084810abd5e by lebedev.ri
[NFCI][LoopUnroll] s/%tmp/%i/ in one test to silence update script warning
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
Commit e359ab1eca5727ce4c688bb49323b8a09478d61c by lei
[PowerPC][NFC] Fix indentation
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit aa5ec34e312699a2fe5263133129a1e103ac91ee by francisvm
[LoopDeletion] Emit a remark when a dead loop is deleted

This emits a remark when LoopDeletion deletes a dead loop, using the
source location of the loop's header. There are currently two reasons
for removing the loop: invariant loop or loop that never executes.

Differential Revision: https://reviews.llvm.org/D83113
The file was modifiedllvm/test/Transforms/LoopDeletion/unreachable-loops.ll
The file was addedllvm/test/Transforms/LoopDeletion/basic-remark.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp
Commit fba8523fb55c8e3bc853df7a250845cf51e5fc99 by maskray
[gcov][test] Reorganize some compiler-rt/test/profile tests
The file was removedcompiler-rt/test/profile/Posix/instrprof-shared-gcov-flush.test
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before.c.gcov
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-lib.c.gcov
The file was addedcompiler-rt/test/profile/Posix/gcov-fork.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-after.c.gcov
The file was addedcompiler-rt/test/profile/Posix/gcov-execlp.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c.gcov
The file was removedcompiler-rt/test/profile/Posix/instrprof-gcov-execvp.test
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before-after.c.gcov
The file was addedcompiler-rt/test/profile/Posix/gcov-shared-flush.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-execvp.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-execlp.c
The file was modifiedcompiler-rt/test/profile/gcov-__gcov_flush-terminate.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-execlp.c.gcov
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-fork.c.gcov
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-main-gcov-flush.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-fork.c
The file was removedcompiler-rt/test/profile/Inputs/instrprof-gcov-execvp.c.gcov
The file was removedcompiler-rt/test/profile/Inputs/instrprof-shared-lib_called-twice.c.gcov
The file was removedcompiler-rt/test/profile/instrprof-gcov-__gcov_flush-multiple.test
The file was removedcompiler-rt/test/profile/Posix/instrprof-gcov-fork.test
The file was removedcompiler-rt/test/profile/Posix/instrprof-gcov-execlp.test
The file was addedcompiler-rt/test/profile/gcov-dump-and-remove.c
Commit 1c6e2eceeb1fe9faa9f7e95424e2a7f1b1d0fb9a by maskray
[gcov][test] Add `UNSUPPORTED: host-byteorder-big-endian` to gcov-fork.c

This test strangely failed on ppc64be
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/50913
The file was modifiedcompiler-rt/test/profile/Posix/gcov-fork.c
Commit 8df30d988e9e595fa9883706198aec23b2e6d227 by tlively
[WebAssembly] Do not omit range checks for i64 switches

Summary:
Since the br_table instruction takes an i32, switches over i64s (and
larger integers) must use the i32.wrap_i64 instruction to truncate the
table index. This truncation makes numbers just over 2^32
indistinguishable from small numbers, so it was a miscompilation to
omit the range check preceding these br_tables. This change fixes the
problem by skipping the "fixing" of the br_table when the range check
is an i64 instruction.

Fixes PR46447.

Reviewers: aheejin, dschuff, kripken

Reviewed By: kripken

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83017
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/switch.ll
Commit 0006354c3b832c73ab86f9220a2c250afa243afa by pklausler
[flang] Further implementation of external I/O unit operations (part 6)

Rework initial implementation of external I/O unit operations to
fix problems exposed in unit tests (in a later patch).  Add flushing.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83147
The file was modifiedflang/runtime/unit-map.h
The file was modifiedflang/runtime/unit.h
The file was modifiedflang/runtime/unit-map.cpp
The file was modifiedflang/runtime/unit.cpp
Commit e75f2d5a8cd25615664de14ade85417bc12dd01a by craig.topper
[X86] Add matching support for X86ISD::ANDNP to X86DAGToDAGISel::tryVPTERNLOG.
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512vl-logic.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-logic.ll
Commit c352e0885a6b402e5d92cb82f0d0c4e933626b45 by lkail
[PowerPC] Implement probing for prologue

This patch is part of supporting `-fstack-clash-protection`. Implemented
probing when emitting prologue.

Differential Revision: https://reviews.llvm.org/D81460
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was addedllvm/test/CodeGen/PowerPC/stack-clash-prologue.ll
Commit fed432523edfb29db0c4e28552695446d8cc4b1b by craig.topper
[X86] Directly emit VPTERNLOG from canonicalizeBitSelect when possible.

Seems to produce better results on some rotate tests. And is
neutral for other tests.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
Commit 8bd000a65fe4452c09855115d5204a2a46838004 by sam.mccall
[clangd] Config: loading and caching config from disk.

Summary:
The Provider extension point is designed to also be implemented by
ClangdLSPServer (to inject config-over-lsp) and likely by embedders.

Reviewers: kadircet

Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman, jfb, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82964
The file was addedclang-tools-extra/clangd/ConfigProvider.cpp
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.h
The file was modifiedclang-tools-extra/clangd/ConfigProvider.h
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.cpp
The file was addedclang-tools-extra/clangd/unittests/ConfigProviderTests.cpp
Commit 2ac9c459109734961040109c7c0f5d5d25ecc5aa by llvmgnsyncbot
[gn build] Port 8bd000a65fe
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Commit 93ccb8eb52f7e7474afaa782fcc6c52bd8c1494b by nikita.ppv
[InstSimplify] Add additional zext/sext comparison tests (NFC)

Add vector variants, and negative tests where the operand does
not match.
The file was modifiedllvm/test/Transforms/InstSimplify/cmp_ext.ll
Commit 3b671022e4518166fc5a72e88786db037fb7708c by nikita.ppv
[InstSimplify] Simplify comparison between zext(x) and sext(x)

This is picking up a loose thread from D69006: We can simplify
(zext x) ule (sext x) and (zext x) sge (sext x) to true, with
various permutations. Oddly, SCEV knows about this identity,
but nothing on the IR level does.

Differential Revision: https://reviews.llvm.org/D83081
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/cmp_ext.ll
Commit 15a60fe09f4618a7fb451f37aebfd1a671f83713 by sam.mccall
[clangd] Config: compute config in TUScheduler and BackgroundIndex

Summary:
ClangdServer owns the question of exactly which config to create, but
TUScheduler/BackgroundIndex control threads and so decide at which point
to inject it.

Reviewers: kadircet

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83095
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
The file was modifiedclang-tools-extra/clangd/index/Background.h
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.h
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/index/Background.cpp
Commit 7356b4243ad9dc373c63bb4b7ac0ba4f877c47ee by paul.walker
[SVE] Fix invalid assert in expand_DestructiveOp.

AArch64ExpandPseudo::expand_DestructiveOp contains an assert to
ensure the destructive operand's register is unique.  However,
this is only required when psuedo expansion emits a movprfx.

A simple example when a movprfx is not required is
  Z0 = FADD_ZPZZ_UNDEF_S P0, Z0, Z0
which expands to an unprefixed FADD_ZPmZ_S instruction.

This patch moves the assert to the places where a movprfx is emitted.

Differential Revision: https://reviews.llvm.org/D83029
The file was addedllvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
Commit 6d6d5db251e88b0c40f7a6951b51b9e4a1812c8c by uday
[MLIR][Linalg] Generate the right type of load/store when lowering max/min pooling ops

While lowering min/max pooling ops to loops, generate the right kind of
load/stores (std or affine) instead of always generating std
load/stores.

Differential Revision: https://reviews.llvm.org/D83080
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir
Commit 4f2e7f6fb1f212a84d1647920963b66b21175a24 by sam.mccall
[clangd] Try to fix windows buildbot. NFC

http://45.33.8.238/win/19116/step_9.txt
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
Commit b6cbe6cb0399d4671e5384dcc326af56bc6bd122 by dkszelethus
[analyzer][NFC] Move the data structures from CheckerRegistry to the Core library

If you were around the analyzer for a while now, you must've seen a lot of
patches that awkwardly puts code from one library to the other:

* D75360 moves the constructors of CheckerManager, which lies in the Core
  library, to the Frontend library. Most the patch itself was a struggle along
  the library lines.
* D78126 had to be reverted because dependency information would be utilized
  in the Core library, but the actual data lied in the frontend.
  D78126#inline-751477 touches on this issue as well.

This stems from the often mentioned problem: the Frontend library depends on
Core and Checkers, Checkers depends on Core. The checker registry functions
(`registerMallocChecker`, etc) lie in the Checkers library in order to keep each
checker its own module. What this implies is that checker registration cannot
take place in the Core, but the Core might still want to use the data that
results from it (which checker/package is enabled, dependencies, etc).

D54436 was the patch that initiated this. Back in the days when CheckerRegistry
was super dumb and buggy, it implemented a non-documented solution to this
problem by keeping the data in the Core, and leaving the logic in the Frontend.
At the time when the patch landed, the merger to the Frontend made sense,
because the data hadn't been utilized anywhere, and the whole workaround without
any documentation made little sense to me.

So, lets put the data back where it belongs, in the Core library. This patch
introduces `CheckerRegistryData`, and turns `CheckerRegistry` into a short lived
wrapper around this data that implements the logic of checker registration. The
data is tied to CheckerManager because it is required to parse it.

Side note: I can't help but cringe at the fact how ridiculously awkward the
library lines are. I feel like I'm thinking too much inside the box, but I guess
this is just the price of keeping the checkers so modularized.

Differential Revision: https://reviews.llvm.org/D82585
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/CheckerManager.h
The file was addedclang/include/clang/StaticAnalyzer/Core/CheckerRegistryData.h
The file was modifiedclang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h
The file was modifiedclang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
The file was modifiedclang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
The file was addedclang/lib/StaticAnalyzer/Core/CheckerRegistryData.cpp
The file was modifiedclang/lib/StaticAnalyzer/Frontend/CreateCheckerManager.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Core/Environment.cpp
Commit 07d4d84676a94741a226e254a1d536db99c7dac0 by llvmgnsyncbot
[gn build] Port b6cbe6cb039
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn
Commit 71f342d6c3d82fa45c180f1981710bb6092d39fc by llvm-dev
[X86][AVX] Fold PACK(LOSUBVECTOR(SHUFFLE(X)),HISUBVECTOR(SHUFFLE(X))) -> SHUFFLE(PACK(LOSUBVECTOR(X),HISUBVECTOR(X)))

Using PACK for truncations leaves us with intermediate shuffles that can be tricky to remove while the truncation tree is being formed.

This fold helps pull out the PERMQ case which is one of the most common, avoiding some costly lane-crossing shuffles.

A future patch will begin adding more general shuffle folding, which we should be able to use for HADD/HSUB as well.
The file was modifiedllvm/test/CodeGen/X86/vselect-packss.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-ssat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-packus.ll
The file was modifiedllvm/test/CodeGen/X86/masked_expandload.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-setcc-512.ll
The file was modifiedllvm/test/CodeGen/X86/movmsk-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-vector-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_usat.ll
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
The file was modifiedllvm/test/CodeGen/X86/vector-compare-results.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-usat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc.ll
Commit 5f2843857feee6fbf755c12c21698a4987eda5d1 by uday
[MLIR] Parallelize affine.for op to 1-D affine.parallel op

Introduce pass to convert parallel affine.for op into 1-D
affine.parallel op. Run using --affine-parallelize. Removes
test-detect-parallel: pass for checking parallel affine.for ops.

Differential Revision: https://reviews.llvm.org/D82672
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.td
The file was removedmlir/test/lib/Dialect/Affine/TestParallelismDetection.cpp
The file was removedmlir/test/Dialect/Affine/parallelism-detection.mlir
The file was addedmlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/Utils.h
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp
The file was addedmlir/test/Dialect/Affine/parallelize.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/Affine/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.h
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
Commit 7bfe4102a99d7dc5520d1ca1695afbfd82dfd4f5 by llvm-dev
[X86][SSE] Add add/fadd reduction shuffle+subvector tests

Tests based on the PR37890 test cases - the vector combine pass should leave us with a reduction chain ending in extract(add(x,shuffle(x,1,-1,...))), but the higher reduction stages will be subvector extractions not shuffles.
The file was addedllvm/test/CodeGen/X86/horizontal-reduce-fadd.ll
The file was addedllvm/test/CodeGen/X86/horizontal-reduce-add.ll
Commit e56e96a264268a1df018f8b0a8c4caa18397a75d by dave
[libcxx testing] Remove ALLOW_RETRIES from another test
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
Commit 56a8a5c9fe24d6d8809313633a4a5786d4fd29c6 by llvm-dev
[DAG] matchBinOpReduction - match subvector reduction patterns beyond a matched shufflevector reduction

Currently matchBinOpReduction only handles shufflevector reduction patterns, but in many cases these only occur in the final stages of a reduction, once we're down to legal vector widths.

Before this its likely that we are performing reductions using subvector extractions to repeatedly split the source vector in half and perform the binop on the halves.

Assuming we've found a non-partial reduction, this patch continues looking for subvector reductions as far as it can beyond the last shufflevector.

Fixes PR37890
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-fadd.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 14936e01e2199842e0a6ef3a85a60e32c14685ea by spatel
[InstCombine] add test for miscompile (PR46561); NFC
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
Commit ef70cc9d1ac69125f38910d4c66388536f49f4dc by spatel
[InstCombine] improve debug value names; NFC

The use of 'tmp' can trigger warnings from the update_test_checks.py
script. That's evidence of a flaw in the script's logic, but we
can always do better than naming variables 'tmp' in LLVM too.

The phi test file should be updated with auto-generated regex CHECK
lines, so it isn't affected by cosmetic diffs, but I don't have
time to do that right now.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
The file was modifiedllvm/test/Transforms/InstCombine/phi.ll
Commit c3b8bd1eea5b74b6cd4a89f3c221bc2dfa891248 by lebedev.ri
[InstCombine] Always try to invert non-canonical predicate of an icmp

Summary:
The actual transform i was going after was:
https://rise4fun.com/Alive/Tp9H
```
Name: zz
Pre: isPowerOf2(C0) && isPowerOf2(C1) && C1 == C0
%t0 = and i8 %x, C0
%r = icmp eq i8 %t0, C1
  =>
%t = icmp eq i8 %t0, 0
%r = xor i1 %t, -1

Name: zz
Pre: isPowerOf2(C0)
%t0 = and i8 %x, C0
%r = icmp ne i8 %t0, 0
  =>
%t = icmp eq i8 %t0, 0
%r = xor i1 %t, -1
```
but as it can be seen from the current tests, we already canonicalize most of it,
and we are only missing handling multi-use non-canonical icmp predicates.

If we have both `!=0` and `==0`, even though we can CSE them,
we end up being stuck with them. We should canonicalize to the `==0`.

I believe this is one of the cleanup steps i'll need after `-scalarizer`
if i end up proceeding with my WIP alloca promotion helper pass.

Reviewers: spatel, jdoerfert, nikic

Reviewed By: nikic

Subscribers: zzheng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83139
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
The file was modifiedllvm/test/ThinLTO/X86/cfi-devirt.ll
The file was modifiedllvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/canonicalize-selects-icmp-condition-bittest.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/test/Transforms/InstCombine/logical-select.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
Commit 3b8ae1001f678be00507f15df0ffaccafec1dae9 by spatel
[InstCombine] fix miscompile from umul_with_overflow matching

As noted in PR46561:
https://bugs.llvm.org/show_bug.cgi?id=46561
...it takes something beyond a minimal IR example to trigger
this bug because it relies on matching non-canonical IR.

There are no tests that show the need for matching this
pattern, so I'm just deleting it to fix the miscompile.
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 7fed3cfadbdfe1880e16c217a0edac97cbe288d2 by lebedev.ri
[clang] Fix two tests that are affected by llvm opt change
The file was modifiedclang/test/CodeGenOpenCL/convergent.cl
The file was modifiedclang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
Commit dc13ac02800220a33828ac3da629f382ca7e308d by vyng
Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr"

This reverts commit 5cde3c9633fd071c90e9f9ce54a002e78fdd9df9.

The tests were reported failing on clang10
The file was modifiedlibcxx/include/memory
The file was removedlibcxx/docs/DesignDocs/UniquePtrTrivialAbi.rst
The file was removedlibcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
The file was modifiedlibcxx/include/__config
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp
The file was modifiedlibcxx/docs/index.rst
Commit b4eb415a996911132d1a9786a57846e75439e1f0 by craig.topper
[X86] Disable VPBLENDVB formation in combineLogicBlendIntoPBLENDV if VPTERNLOG is supported.

VPBLENDVB is multiple uops while VPTERNLOG is a single uop. So
we should use that instead.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D83155
The file was modifiedllvm/test/CodeGen/X86/vselect-packss.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e652c0f8f3e7c7a1b42edf22cfc5bbfd597fd164 by craig.topper
[X86] Teach lowerShuffleAsBlend to use bit blend for v16i8/v32i8/v16i16 when avx512vl is enabled but not avx512bw.

Probably not super important since there are no real CPUs with
avx512vl and not avx512bw. But vpternlog should be better than
vblendvb.

I do wonder if we should use vpternlog even with BWI. We
currently use vblendmb or vpblendmw by putting the mask into a GPR
and moving it to a k-register. But I don't think we hoist the
GPR to k-register copy in machine LICM. Using VPTERNLOG would use
a constant pool load, but has the advantage that we're pretty good
at hoisting and rematerializing those.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D83156
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/prefer-avx256-mask-shuffle.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-v48.ll
Commit 85e144329cffde852851c1bf73dd70e6a941f6ea by Amara Emerson
[profile] Mark gcov test as unsupported on Darwin.
The file was modifiedcompiler-rt/test/profile/Posix/gcov-destructor.c
Commit 45b5c79a31d05edb179efeda9305e6c42be4f818 by pklausler
[flang] Extend & fix per-I/O-statement state (ext. I/O work part 7)

The per-I/O-statement state structures need to support missing
external I/O statements, and some bugs found in testing with
formatted input and record advancement are fixed.  The effects
of these changes will not be visible until further patches to
the I/O API handlers are pushed.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D83151
The file was modifiedflang/runtime/unit.h
The file was modifiedflang/runtime/io-stmt.cpp
The file was modifiedflang/runtime/io-stmt.h
Commit 11a3f040c71020b0247144268570d571858b119c by lebedev.ri
[Utils] Make -assume-builder/-assume-simplify actually work on Old-PM

clang w/ old-pm currently would simply crash
when -mllvm  -enable-knowledge-retention=true is specified.

Clearly, these two passes had no Old-PM test coverage,
which would have shown the problem - not requiring AssumptionCacheTracker,
but then trying to always get it.

Also, why try to get domtree only if it's cached,
but at the same time marking it as required?
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/test/Transforms/Util/assume-simplify.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
The file was modifiedllvm/test/Transforms/Util/assume-builder.ll
Commit 21d8f66d20b813edadac84b12cc83b66eaeae630 by craig.topper
[X86] Add test caes for pr46585. NFC
The file was addedllvm/test/CodeGen/X86/pr46585.ll
Commit 120c5f1057dc50229f73bc75bbabf4df6ee50fef by craig.topper
[DAGCombiner] Don't fold zext_vector_inreg/sext_vector_inreg(undef) to undef. Fold to 0.

zext_vector_inreg needs to produces 0s in the extended bits and
sext_vector_inreg needs to produce upper bits that are all the
same. So we should fold them to a 0 vector instead of undef.

Fixes PR46585.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/pr46585.ll
Commit 5d5b9682527debef472bd8547e4e10df22ac0ef4 by pklausler
[flang] Add fixes and missing stmts to I/O runtime API handlers (ext. I/O part 8)

Complete the rework of the initial implementation of external I/O
to fix problems found in testing (tests to follow); add handlers
for hitherto unimplemented PAUSE, FLUSH, ENDFILE, BACKSPACE, and
REWIND statements.

Reviewed By: tskeith, sscalpone

Differential Revision: https://reviews.llvm.org/D83162
The file was modifiedflang/runtime/stop.h
The file was modifiedflang/runtime/stop.cpp
The file was modifiedflang/runtime/io-api.cpp
Commit 7ea46aee3670981827c04df89b2c3a1cbdc7561b by lebedev.ri
Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions"

Assume bundle can have more than one entry with the same name,
but at least AlignmentFromAssumptionsPass::extractAlignmentInfo() uses
getOperandBundle("align"), which internally assumes that it isn't the
case, and happily crashes otherwise.

Minimal reduced reproducer: run `opt -alignment-from-assumptions` on

target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%0 = type { i64, %1*, i8*, i64, %2, i32, %3*, i8* }
%1 = type opaque
%2 = type { i8, i8, i16 }
%3 = type { i32, i32, i32, i32 }

; Function Attrs: nounwind
define i32 @f(%0* noalias nocapture readonly %arg, %0* noalias %arg1) local_unnamed_addr #0 {
bb:
  call void @llvm.assume(i1 true) [ "align"(%0* %arg, i64 8), "align"(%0* %arg1, i64 8) ]
  ret i32 0
}

; Function Attrs: nounwind willreturn
declare void @llvm.assume(i1) #1

attributes #0 = { nounwind "reciprocal-estimates"="none" }
attributes #1 = { nounwind willreturn }


This is what we'd have with -mllvm -enable-knowledge-retention

This reverts commit c95ffadb2474a4d8c4f598d94d35a9f31d9606cb.
The file was modifiedclang/test/OpenMP/simd_metadata.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedclang/test/CodeGen/non-power-of-2-alignment-assumptions.c
The file was modifiedllvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
The file was modifiedclang/test/CodeGen/alloc-align-attr.c
The file was modifiedclang/test/CodeGen/builtin-align-array.c
The file was modifiedllvm/test/Verifier/assume-bundles.ll
The file was modifiedclang/test/OpenMP/simd_codegen.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
The file was modifiedllvm/test/Transforms/AlignmentFromAssumptions/simple32.ll
The file was modifiedclang/test/CodeGen/assume-aligned-and-alloc-align-attributes.c
The file was modifiedllvm/lib/Analysis/AssumeBundleQueries.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/test/CodeGen/builtin-assume-aligned.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
The file was modifiedclang/test/CodeGen/align_value.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-openmp.cpp
The file was modifiedllvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
The file was modifiedllvm/test/Transforms/AlignmentFromAssumptions/simple.ll
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
The file was modifiedclang/test/CodeGen/builtin-align.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/Transforms/Inline/align.ll
The file was modifiedllvm/test/Transforms/InstCombine/assume.ll
Commit fbc06b228012f1f7939c2acae9d8435ffc9aeb2c by joker.eph
Revert "[MLIR] Parallelize affine.for op to 1-D affine.parallel op"

This reverts commit 5f2843857feee6fbf755c12c21698a4987eda5d1.
This broke the build when -DDBUILD_SHARED_LIBS=ON is used.
The file was modifiedmlir/include/mlir/Dialect/Affine/Utils.h
The file was addedmlir/test/lib/Dialect/Affine/TestParallelismDetection.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
The file was removedmlir/test/Dialect/Affine/parallelize.mlir
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.h
The file was addedmlir/test/Dialect/Affine/parallelism-detection.mlir
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.td
The file was removedmlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
Commit 6c4a5e9257bac022ffe60e466686ba7fc96ffd1a by sstipanovic
[OpenMPOpt] ICV Tracking

This is the first and most basic ICV Tracking implementation. For this
first version, we only support deduplication within the same BB.

Reviewers: jdoerfert, JonChesterfield, hamax97, jhuber6, uenoku,
baziotis

Differential Revision: https://reviews.llvm.org/D81788
The file was modifiedllvm/test/Transforms/OpenMP/icv_tracking.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 76123d338dc542d25cc9c4f20ddc49df1b9712cd by craig.topper
[DAGCombiner] visitSIGN_EXTEND_INREG should fold sext_vector_inreg(undef) to 0 not undef.

We need to ensure that the sign bits of the result all match
so we can't fold to undef.

Similar to PR46585.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D83163
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit fbbb6884e108419692a88e28eeeaa92cfbc08122 by lebedev.ri
[llvm-reduce] extractArgumentsFromModule(): don't crash when deleting instr twice

As it can be seen in newly-added (previously-crashing) test-case,
there can be a situation where multiple arguments are used in instr,
and we would schedule the same instruction to be deleted several times,
crashing when trying to delete it the second time.

We could either store WeakVH (done here), or use something set-like.
I think using WeakVH is prevalent in these cases elsewhere.
The file was addedllvm/test/Reduce/remove-multiple-use-of-args-in-same-instruction.ll
The file was addedllvm/test/Reduce/Inputs/remove-multiple-use-of-args-in-same-instruction.py
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Commit f804bd586ee58199db4cfb2da8e9ef067425900b by lebedev.ri
[llvm-reduce] extractGVsFromModule(): don't crash when deleting instr twice

As it can be seen in newly-added (previously-crashing) test-case,
there can be a situation where multiple GV's are used in instr,
and we would schedule the same instruction to be deleted several times,
crashing when trying to delete it the second time.

We could either store WeakVH (done here), or use something set-like.
I think using WeakVH is prevalent in these cases elsewhere.
The file was addedllvm/test/Reduce/remove-multiple-use-of-global-vars-in-same-instruction.ll
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
The file was addedllvm/test/Reduce/Inputs/remove-multiple-use-of-global-vars-in-same-instruction.py
Commit 05c5ff5ab0b4d7cec25210bce7444827c25d71b1 by thakis
[gn build] make stage2_unix_toolchain set clang_base_path

This fixes the build of compiler-rt on macOS when _not_ using
clang_base_path in args.gn: Xcode clang knows where to find the
SDK, but regular clang doesn't and needs a -isysroot parameter.
We correctly add that parameter when clang_base_path is set,
but else we omit it. If clang_base_path was not set, we also
didn't add the flag for stage2_unix_toolchain() when we build
compiler-rt with just-built clang.

Make stage2_unix_toolchain() use clang_base_path instead of setting
cc / cxx. It's less code, and it gets things like this right.
The file was modifiedllvm/utils/gn/build/toolchain/BUILD.gn
Commit 90a35bd074e2fd82c4f08a50e8cbc21fd725eb53 by thakis
[gn build] fix link of libclang_rt.asan_osx_dynamic.dylib if command line tools are not installed
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit 7e2d27bc554eb607c90e55c89d2537f5d711234c by thakis
Fix two -Wrange-loop-analysis warnings that Xcode 12 beta incorrectly complains about

Xcode 12 beta apparently has the Wrange-loop-analysis changes from
half a year ago, but it seems to lack https://reviews.llvm.org/D72212
which made the warning usable again.
The file was modifiedclang-tools-extra/clangd/unittests/PreambleTests.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit 65330f394b2c5ede01acb97a84112c3cc0127c46 by tlively
[WebAssembly] Do not assume br_table range checks will be gt_u

OSS-Fuzz and the Emscripten test suite uncovered some edge cases in
which the range check instruction seemed to be an (i32.const 0) or
other unexpected instruction, triggering an assertion. Unfortunately
the reproducers are rather complicated, so they don't make good unit
tests. This commit removes the bad assertion and conservatively
optimizes range checks only when the range check instruction is
i32.gt_u.

Differential Revision: https://reviews.llvm.org/D83169
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
Commit afd81a637dfc79d2960ef8add1c697cb81c929ef by jubnzv
[llvm-objcopy] Fix crash when removing symbol table at same time as adding a symbol

This patch resolves crash that occurs when user wanted to remove all
symbols and add a brand new one using:

```
llvm-objcopy -R .symtab --add-symbol foo=1234 in.o out.o
```

Before these changes the symbol table internally being null when adding
new symbols. For now we will regenerate symtab in this case.

This fixes: https://bugs.llvm.org/show_bug.cgi?id=43930

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D82935
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was addedllvm/test/tools/llvm-objcopy/ELF/add-symbol-new-symtab.test
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
Commit 68e07da3e5d5175e24caa309e2b13cb333365c8c by lkail
[clang][PowerPC] Enable -fstack-clash-protection option for ppc64

Differential Revision: https://reviews.llvm.org/D81355
The file was modifiedclang/test/CodeGen/stack-clash-protection.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Basic/Targets/PPC.h
Commit aed6a1b137dc17426e3da8b85e1f9966c8229c05 by maskray
Add tests for clang -fno-zero-initialized-in-bss and llc -nozero-initialized-in-bss

And rename the CC1 option.
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/test/Driver/fzero-initialized-in-bss.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was addedllvm/test/CodeGen/X86/zero-initialized-in-bss.ll
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 3fc97f9636ba2d7323f61ec3dea431fb1f850f03 by protze
[OpenMP][Tests] NFC use type macro in printf
The file was modifiedopenmp/runtime/test/ompt/callback.h
Commit fc1d95eb7b35be418b326a18b1779ac18fb31c57 by Raphael Isemann
[lldb][NFC] Remove an unnecessary cast in SBCommandInterpreter
The file was modifiedlldb/source/API/SBCommandInterpreter.cpp
Commit 779432690fba5184464f10ac56eb5ce510d15ea1 by Raphael Isemann
[lldb][NFC] Clarify that spaces can't be in breakpoint names

We already check for spaces but we don't mention it in the error message.
The file was modifiedlldb/source/Breakpoint/BreakpointID.cpp
Commit e8158bf0e770e7a4cf73df91552af1e156a3ea17 by n.james93
[NFC] Clean up braces and anon namespace
The file was modifiedclang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
Commit 2247f7218a3c1aed49d17d303d86ef101af1badd by pifon
[llvm] Cast to (void) the unused variable.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
Commit edba2864a7a86a97276c555d02276712e45d60fc by benny.kra
[clangd] Fix stack-use-after-scope

Found by asan.
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
Commit 011d73202c06ef50f1e30eacebdc965933659d42 by llvm-dev
[X86][SSE] Add PACKSS/PACKUS style patterns tests

Similar to the proposed generic code generated by D61129 - there's still some shuffle combining improvements to go before that patch is ready.
The file was addedllvm/test/CodeGen/X86/vector-pack-512.ll
The file was addedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was addedllvm/test/CodeGen/X86/vector-pack-128.ll
Commit 74ca67c109c8d1abafe1d2bd4edfb85f03b45faa by david.green
[ARM] Remove hasSideEffects from FP converts

Whether an instruction is deemed to have side effects in determined by
whether it has a tblgen pattern that emits a single instruction.
Because of the way a lot of the the vcvt instructions are specified
either in dagtodag code or with patterns that emit multiple
instructions, they don't get marked as not having side effects.

This just marks them as not having side effects manually. It can help
especially with instruction scheduling, to not create artificial
barriers, but one of these tests also managed to produce fewer
instructions.

Differential Revision: https://reviews.llvm.org/D81639
The file was modifiedllvm/test/CodeGen/ARM/fp16-bitcast.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
The file was modifiedllvm/test/CodeGen/ARM/fp16-instructions.ll
The file was modifiedllvm/test/CodeGen/ARM/fp16-fullfp16.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt.ll
The file was modifiedllvm/test/CodeGen/ARM/no-fpscr-liveness.ll
The file was modifiedllvm/test/CodeGen/ARM/vcvt.ll
The file was modifiedllvm/test/CodeGen/ARM/cmov_fp16.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
The file was modifiedllvm/test/CodeGen/ARM/fp16-args.ll
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-store.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
Commit f706b01a00676ef0e7aefb253316c6418f022fa2 by vyng
Revert "Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr""

This reverts commit dc13ac02800220a33828ac3da629f382ca7e308d.

Rolling forward + fix typos and unused variables in tests

    Differential Revision: https://reviews.llvm.org/D82490
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
The file was modifiedlibcxx/include/memory
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp
The file was addedlibcxx/docs/DesignDocs/UniquePtrTrivialAbi.rst
The file was modifiedlibcxx/docs/index.rst
The file was addedlibcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp
The file was modifiedlibcxx/include/__config
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp
The file was addedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
The file was addedlibcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp
Commit b0b5162fc23c55906a461366f8acef2431d951c5 by maskray
[Driver] Pass -gno-column-info instead of -dwarf-column-info

Making -g[no-]column-info opt out reduces the length of a typical CC1 command line.
Additionally, in a non-debug compile, we won't see -dwarf-column-info.
The file was modifiedclang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
The file was modifiedclang/test/CodeGenCXX/linetable-eh.cpp
The file was modifiedclang/test/Driver/codeview-column-info.c
The file was modifiedclang/test/CodeGenCXX/debug-info-line-if.cpp
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp
The file was modifiedclang/test/CodeGen/opt-record.c
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/test/CodeGenCXX/PR20038.cpp
The file was modifiedclang/test/CodeGenOpenCL/func-call-dbg-loc.cl
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
The file was modifiedclang/test/CodeGen/code-coverage.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-lambda.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-scope.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
The file was modifiedclang/test/CodeGenObjC/arc-linetable-autorelease.m
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedclang/test/CodeGenCXX/debug-info-inlined.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGen/linetable-endscope.c
The file was modifiedclang/test/CodeGenCXX/linetable-cleanup.cpp
The file was modifiedclang/test/CodeGen/opt-record-MIR.c
The file was modifiedclang/test/CodeGenObjC/arc-linetable.m
The file was modifiedclang/test/CodeGenCXX/debug-info-member-call.cpp
The file was modifiedclang/test/OpenMP/for_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/lpad-linetable.cpp
The file was modifiedclang/test/CodeGenCXX/linetable-fnbegin.cpp
The file was modifiedclang/test/Frontend/optimization-remark-line-directive.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGenCXX/debug-info-nested-exprs.cpp
Commit 516ff1d4baee28b1911737e47b42973567adf8ff by nikita.ppv
[SCCP] Add test for range metadata (NFC)
The file was addedllvm/test/Transforms/SCCP/metadata.ll
Commit 6ba4380ed62c2b6c3c18cece6f71a97a107fc76e by maskray
[libomptarget][test] Fix text relocations by adding -fPIC
The file was modifiedopenmp/libomptarget/test/offloading/dynamic_module_load.c
The file was modifiedopenmp/libomptarget/test/offloading/dynamic_module.c
Commit 30205865d96aab4a39464674bafe7600fd1dabaa by protze
[OpenMP][OMPT] Fix ifdefs for OMPT code

Fixes build with LIBOMP_OMPT_SUPPORT=off

Reported by: Jason Edson

Reviewed by: Hahnfeld

Differential Revision: https://reviews.llvm.org/D83171
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
Commit 8289f2891e8691987b9ef9da248011798796ef45 by protze
[OpenMP][Tests] Flag compatibility of OpenMP runtime tests with GCC versions

If the compilation fails, the test is marked as unsupported.
-> This will never change for a specific version of gcc

If the linking fails, the test is marked as expected to fail.
-> This might change as LLVM/OpenMP implements the missing GOMP interface function

Reviewed by: Hahnfeld

Differential Revision: https://reviews.llvm.org/D83077
The file was modifiedopenmp/runtime/test/worksharing/for/bug_set_schedule_0.c
The file was modifiedopenmp/runtime/test/tasking/omp_detach_taskwait.c
The file was modifiedopenmp/runtime/test/tasking/omp_task_red_taskloop.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_for_schedule_runtime.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_nonmonotonic_dynamic1.c
Commit a378c0449507e00e96534ff9ce9034e185425182 by phosek
[Fuchsia] Set projects and runtimes in the cache file

We make assumptions about what projects and runtimes are enabled
when configuring our toolchain build, so we should enable those in
the cache file as well rather than relying on those being set
externally.

Differential Revision: https://reviews.llvm.org/D81514
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedclang/cmake/caches/Fuchsia.cmake
Commit 8849831d55a203eca1069a0e11877ab7e7e0ac57 by JunMa
[Coroutines] Warning if return type of coroutine_handle::address is not void*

User can own a version of coroutine_handle::address() whose return type is not
void* by using template specialization for coroutine_handle<> for some
promise_type.

In this case, the codes may violate the capability with existing async C APIs
that accepted a void* data parameter which was then passed back to the
user-provided callback.

Patch by ChuanqiXu

Differential Revision: https://reviews.llvm.org/D82442
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedclang/test/SemaCXX/coroutine_handle-addres-return-type.cpp
Commit b65d4b23f6dd4da4277acbf2bb912becce4f8a57 by pavel
[lldb/DWARF] Look for complete array element definitions in other modules

This applies the same logic we have for incomplete class bases and
members to array element types.
The file was modifiedlldb/test/API/functionalities/limit-debug-info/main.cpp
The file was modifiedlldb/test/API/functionalities/limit-debug-info/one.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/test/API/functionalities/limit-debug-info/onetwo.h
The file was modifiedlldb/test/API/functionalities/limit-debug-info/TestLimitDebugInfo.py
The file was modifiedlldb/test/API/functionalities/limit-debug-info/two.cpp
Commit df3bda047d5abe9190bdd0422270328140556bd4 by marukawa
[VE] Correct stack alignment

Summary:
Change stack alignment from 64 bits to 128 bits to follow ABI correctly.
And add a regression test for datalayout.

Reviewers: simoll, k-ishizaka

Reviewed By: simoll

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #llvm, #ve, #clang

Differential Revision: https://reviews.llvm.org/D83173
The file was modifiedclang/lib/Basic/Targets/VE.h
The file was modifiedllvm/lib/Target/VE/VETargetMachine.cpp
The file was modifiedclang/test/CodeGen/target-data.c
Commit 5daa39aa4c355e899c2ceb371ba3c8347200a687 by pavel
[lldb/Utility] Merge Scalar::Get(Value)TypeAsCString
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
The file was modifiedlldb/include/lldb/Utility/Scalar.h
The file was modifiedlldb/source/Utility/Scalar.cpp
Commit 04288e93be7bbcdca5707d84149e864923f9ed25 by gchatelet
Fix 46594 - Alignment assertion failure in instcombine
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Commit 4c0a965c0926d5d6aa786a7de60f7939239099e3 by gchatelet
Fix off by one error in Bitfields

Differential Revision: https://reviews.llvm.org/D83192
The file was modifiedllvm/include/llvm/ADT/Bitfields.h
Commit bd50cf905fa7c0c7caa134301c6ca0658c81eeb1 by bevin.hansson
Fix indentation in FixedPoint.h. NFC.
The file was modifiedclang/include/clang/Basic/FixedPoint.h
Commit 55227f85d09c5d26b1484a5aaa9676068b21b6bd by david.green
[ARM] Use BaseT::getMemoryOpCost for getMemoryOpCost

This alters getMemoryOpCost to use the Base TargetTransformInfo version
that includes some additional checks for whether extending loads are
legal. This will generally have the effect of making <2 x ..> and some
<4 x ..> loads/stores more expensive, which in turn should help favour
larger vector factors.

Notably it alters the cost of a <4 x half>, which with the current
codegen will be expensive if it is not extended.

Differential Revision: https://reviews.llvm.org/D82456
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/load_store.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 3341d470fc4727d7e150023c08680bf422bfb03d by herhut
Revert "Revert "Revert "[libcxx] Put clang::trivial_abi on std::unique_ptr, std::shared_ptr, and std::weak_ptr"""

This reverts commit f706b01a00676ef0e7aefb253316c6418f022fa2.
The file was modifiedlibcxx/include/memory
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
The file was removedlibcxx/docs/DesignDocs/UniquePtrTrivialAbi.rst
The file was removedlibcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp
The file was removedlibcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
The file was modifiedlibcxx/docs/index.rst
The file was modifiedlibcxx/include/__config
The file was removedlibcxx/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp
Commit cd7f8051ac7b6f08734102446482c1e5d951bfcc by lebedev.ri
[InstCombine] Lower infinite combine loop detection thresholds

Summary:
1000 iteratons is still kinda a lot.
Would it make sense to iteratively lower it, until it becomes `2`,
with some delay inbetween in order to let users actually potentially encounter it?

Reviewers: spatel, nikic, kuhar

Reviewed By: nikic

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83160
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit f62c8dbc99eaaac35506f655fdf4d7b1cc21c81c by lebedev.ri
[Scalarizer] InsertElement handling w/ constant insert index

Summary: As it can be clearly seen from the diff, this results in nicer IR.

Reviewers: jdoerfert, arsenm, bjope, cameron.mcinally

Reviewed By: jdoerfert

Subscribers: arphaman, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83102
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
The file was modifiedllvm/test/Transforms/Scalarizer/basic.ll
The file was modifiedllvm/test/Transforms/Scalarizer/constant-insertelement.ll
Commit 28b7816b782bdeca509218b53edfbca6512c33d5 by lebedev.ri
[Scalarizer] ExtractElement handling w/ constant extract index

Summary:
It appears to be better IR-wise to aggressively scalarize it,
rather than relying on gathering it, and leaving it as-is.

Reviewers: jdoerfert, bjope, arsenm, cameron.mcinally

Reviewed By: jdoerfert

Subscribers: arphaman, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83101
The file was modifiedllvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
The file was modifiedllvm/test/Transforms/Scalarizer/constant-extractelement.ll
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
Commit 6e504745813259067f5b0ad696bec3a3d22ab044 by lebedev.ri
[Scalarizer] InsertElement handling w/ variable insert index (PR46524)

Summary:
I'm interested in taking the original C++ input,
for which we currently are stuck with an alloca
and producing roughly the lower IR,
with neither an alloca nor a vector ops:
https://godbolt.org/z/cRRWaJ

For that, as intermediate step, i'd to somehow perform scalarization.
As per @arsenmn suggestion, i'm trying to see if scalarizer can help me
avoid writing a bicycle.

I'm not sure if it's really intentional that variable insert is not handled currently.
If it really is, and is supposed to stay that way (?), i guess i could guard it..

See [[ https://bugs.llvm.org/show_bug.cgi?id=46524 | PR46524 ]].

Reviewers: bjope, cameron.mcinally, arsenm, jdoerfert

Reviewed By: jdoerfert

Subscribers: arphaman, uabelho, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82961
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
The file was modifiedllvm/test/Transforms/Scalarizer/variable-insertelement.ll
Commit 51f9310ff2e3a615e43b87acc84dab0400b5854e by lebedev.ri
[Scalarizer] ExtractElement handling w/ variable insert index (PR46524)

Summary:
Similar to D82961.

Reviewers: bjope, cameron.mcinally, arsenm, jdoerfert

Reviewed By: jdoerfert

Subscribers: arphaman, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82970
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
The file was modifiedllvm/test/Transforms/Scalarizer/variable-extractelement.ll
Commit cd209f1a3790af774b75213d7914c844a6140b4b by sam.mccall
[Support] Add path::user_config_directory for $XDG_CONFIG_HOME etc

Reviewers: hokein

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83128
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/include/llvm/Support/Path.h
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit 60b8b2beeab9b6a994108da6ea3ab225a9e7bd9a by david.green
[ARM] Add extra extend and trunc costs for cast instructions

This expands the existing extend costs with a few extras for larger
types than legal, which will usually be split under MVE. It also adds
trunk support for the same thing. These should not have a large effect
on many things, but makes the costs explicit and keeps a certain balance
between the trunks and extends.

Differential Revision: https://reviews.llvm.org/D82457
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Commit 5d7afe2d2e3c1a4715d022bfdb0c35df153e5430 by lebedev.ri
[Scalarizer] visit{Insert,Extract}ElementInst(): avoid call arg evaluation order deps

Compilers may evaluate call arguments in different order,
which would result in different order of IR, which would break the tests.

Spotted thanks to Dmitri Gribenko!
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
Commit 0663844b064dca074cbf12e868b9b3214cf52848 by kai.nacke
[SystemZ/ZOS] Define Endian constants for z/OS.

This is needed to build LLVM on z/OS, as there is no header file
which provides these constants.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D82368
The file was modifiedllvm/include/llvm/Support/SwapByteOrder.h
Commit bfd84b1c034d6b0413c293772662e1a5619d6b40 by kai.nacke
[SystemZ/ZOS] Implement getMainExecutable() and is_local_impl()

Adds implementation of getMainExecutable() and is_local_impl() to
Support/Unix/Path.inc. Both are needed to compile LLVM for z/OS.

Reviewed By: hubert.reinterpretcast, emaste

Differential Revision: https://reviews.llvm.org/D82544
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit d7ea6ce809a4413afb1edafa17ba291b39129f52 by sam.mccall
[Support] fix user_cache_directory on mac
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit 690ff37a286991f142584f25842e50c6cb23aba6 by dkszelethus
[analyzer] Force dependency checkers to be hidden

Since strong dependencies aren't user-facing (its hardly ever legal to disable
them), lets enforce that they are hidden. Modeling checkers that aren't
dependencies are of course not impacted, but there is only so much you can do
against developers shooting themselves in the foot :^)

I also made some changes to the test files, reversing the "test" package for,
well, testing.

Differential Revision: https://reviews.llvm.org/D81761
The file was modifiedclang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
Commit e7a4a24dc50ab115cd0838bbf47d61251530a0cd by jay.foad
[TargetLowering] Improve expansion of ROTL/ROTR

Using a negation instead of a subtraction from a constant can save an
instruction on some targets.

Nothing much uses this until D77152 changes the translation of fshl and
fshr intrinsics.

Differential Revision: https://reviews.llvm.org/D82539
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit babbeafa006f5317ed2162d1e64917422bfb58e7 by jay.foad
[TargetLowering] Improve expansion of FSHL/FSHR by non-zero amount

Use a simpler code sequence when the shift amount is known not to be
zero modulo the bit width.

Nothing much uses this until D77152 changes the translation of fshl and
fshr intrinsics.

Differential Revision: https://reviews.llvm.org/D82540
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 7349479f2244c32c0184ca545af04adb171c8077 by gribozavr
RecursiveASTVisitor: don't call WalkUp unnecessarily in post-order traversal

Summary:
How does RecursiveASTVisitor call the WalkUp callback for expressions?

* In pre-order traversal mode, RecursiveASTVisitor calls the WalkUp
  callback from the default implementation of Traverse callbacks.

* In post-order traversal mode when we don't have a DataRecursionQueue,
  RecursiveASTVisitor also calls the WalkUp callback from the default
  implementation of Traverse callbacks.

* However, in post-order traversal mode when we have a DataRecursionQueue,
  RecursiveASTVisitor calls the WalkUp callback from PostVisitStmt.

As a result, when the user overrides the Traverse callback, in pre-order
traversal mode they never get the corresponding WalkUp callback. However
in the post-order traversal mode the WalkUp callback is invoked or not
depending on whether the data recursion optimization could be applied.

I had to adjust the implementation of TraverseCXXForRangeStmt in the
syntax tree builder to call the WalkUp method directly, as it was
relying on this behavior. There is an existing test for this
functionality and it prompted me to make this extra fix.

In addition, I had to fix the default implementation implementation of
RecursiveASTVisitor::TraverseSynOrSemInitListExpr to call WalkUpFrom in
the same manner as the implementation generated by the DEF_TRAVERSE_STMT
macro. Without this fix, the InitListExprIsPostOrderNoQueueVisitedTwice
test was failing because WalkUpFromInitListExpr was never called.

Reviewers: eduucaldas, ymandel

Reviewed By: eduucaldas, ymandel

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82486
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
Commit c19c6b1722e5f71200c09cdb096245b98f03dce0 by gribozavr
Make RecursiveASTVisitor call WalkUpFrom for unary and binary operators in post-order traversal mode

Reviewers: ymandel, eduucaldas, rsmith

Reviewed By: eduucaldas, rsmith

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82787
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
Commit 8e750b1f0a2b6b5174dc49adf20e6f863c28e3cd by gribozavr
Make RecursiveASTVisitor call WalkUpFrom for operators when the data recursion queue is absent

Reviewers: eduucaldas, ymandel, rsmith

Reviewed By: eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82889
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
Commit 5689b38c6a4220cc5f6ba68a56486229b10071bf by gribozavr
Removed a RecursiveASTVisitor feature to visit operator kinds with different methods

Summary:
This feature was only used in two places, but contributed a non-trivial
amount to the complexity of RecursiveASTVisitor, and was buggy (see my
recent patches where I was fixing the bugs that I noticed). I don't
think the convenience benefit of this feature is worth the complexity.

Besides complexity, another issue with the current state of
RecursiveASTVisitor is the non-uniformity in how it handles different
AST nodes. All AST nodes follow a regular pattern, but operators are
special -- and this special behavior not documented. Correct usage of
RecursiveASTVisitor relies on shadowing member functions with specific
names and signatures. Near misses don't cause any compile-time errors,
incorrectly named or typed methods are just silently ignored. Therefore,
predictability of RecursiveASTVisitor API is quite important.

This change reduces the size of the `clang` binary by 38 KB (0.2%) in
release mode, and by 7 MB (0.3%) in debug mode. The `clang-tidy` binary
is reduced by 205 KB (0.3%) in release mode, and by 5 MB (0.4%) in debug
mode. I don't think these code size improvements are significant enough
to justify this change on its own (for me, the primary motivation is
reducing code complexity), but they I think are a nice side-effect.

Reviewers: rsmith, sammccall, ymandel, aaron.ballman

Reviewed By: rsmith, sammccall, ymandel, aaron.ballman

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82921
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/ARCMigrate/TransProperties.cpp
The file was modifiedclang/unittests/Tooling/RecursiveASTVisitorTests/Callbacks.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
Commit 0607c8df7faf71bd726e9d18bafd2f7566984e35 by esme.yi
[PowerPC] Legalize SREM/UREM directly on P9.

Summary: As Bugzilla-35090 reported, the rationale for using custom lowering SREM/UREM should no longer be true. At the IR level, the div-rem-pairs pass performs the transformation where the remainder is computed from the result of the division when both a required. We should now be able to lower these directly on P9. And the pass also fixed the problem that divide is in a different block than the remainder. This is a patch to remove redundant code and make SREM/UREM legal directly on P9.

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D82145
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
Commit 05c65dc0fee4dbb6afdcf76bc1990c46fac06efe by ntv
[mlir][Vector] Add a VectorUnrollInterface and expose UnrollVectorPattern.

The UnrollVectorPattern is can be used in a programmable fashion by:
```
OwningRewritePatternList patterns;
    patterns.insert<UnrollVectorPattern<AddFOp>>(ArrayRef<int64_t>{2, 2}, ctx);
    patterns.insert<UnrollVectorPattern<vector::ContractionOp>>(
        ArrayRef<int64_t>{2, 2, 2}, ctx);
    ...
    applyPatternsAndFoldGreedily(getFunction(), patterns);
```

Differential revision: https://reviews.llvm.org/D83064
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransformPatterns.td
The file was addedmlir/include/mlir/Interfaces/VectorUnrollInterface.td
The file was addedmlir/lib/Interfaces/VectorUnrollInterface.cpp
The file was modifiedmlir/lib/Interfaces/CMakeLists.txt
The file was modifiedmlir/include/mlir/Interfaces/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was addedmlir/include/mlir/Interfaces/VectorUnrollInterface.h
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit bd87c6bce1c30cc089ffdea5e0f3cf5407ed37c5 by ntv
[mlir][Vector] Add custom slt / SCF.if folding to VectorToSCF

scf.if currently lacks folding on true / false conditionals.
Such foldings are a bit more involved than can be addressed immediately.
This revision introduces an eager folding  for lowering vector.transfer operations in the presence of unrolling.

Differential revision: https://reviews.llvm.org/D83146
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
Commit b2956076976cd0f435c46257f7cf9a0e5376d0fa by dkszelethus
[analyzer][NFC] Don't allow dependency checkers to emit diagnostics

The thrilling conclusion to the barrage of patches I uploaded lately! This is a
big milestone towards the goal set out in http://lists.llvm.org/pipermail/cfe-dev/2019-August/063070.html.
I hope to accompany this with a patch where the a coreModeling package is added,
from which package diagnostics aren't allowed either, is an implicit dependency
of all checkers, and the core package for the first time can be safely disabled.

Differential Revision: https://reviews.llvm.org/D78126
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
Commit f6bd1bd8558f6d1c36f342e0f696c379ce98b549 by llvm-dev
Regenerate neon copy tests. NFC.

To simplify the diffs in a patch in development.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-copy.ll
Commit c37400f6e78d21fad36fcd8618047e66ad9b3ffc by llvm-dev
Regenerate subreg liverange tests. NFC.

To simplify the diffs in a patch in development.
The file was modifiedllvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
Commit d6c72bdca2f20e724a755186e5c578b70b96b192 by llvm-dev
[X86][XOP] Add XOP target vselect-pcmp tests

Noticed in the D83181 that XOP can probably do a lot more than other targets due to its vector shifts and vpcmov instructions
The file was modifiedllvm/test/CodeGen/X86/vselect-pcmp.ll
Commit bcff3deaa12794edec9fdd1f12cecd6f41995225 by Matthew.Arsenault
AMDGPU/GlobalISel: Add some missing return tests
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
Commit 7b76a5c8a2a66684bffb19b37e851ebd39519541 by Matthew.Arsenault
AMDGPU: Fix fixed ABI SGPR arguments

The default constructor wasn't setting isSet o the ArgDescriptor, so
while these had the value set, they were treated as missing. This only
ended up mattering in the indirect call case (and for regular calls in
GlobalISel, which current doesn't have a way to support the variable
ABI).
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-call.ll
Commit 581f1823cdba50093f9eda2478de1207427032e4 by Matthew.Arsenault
AMDGPU/GlobalISel: Fix hardcoded register number checks in test
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
Commit a5b9ad7e9aca1329ba310e638dafa58c47468a58 by Matthew.Arsenault
AMDGPU/GlobalISel: Don't emit code for unused kernel arguments
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
Commit 521ebc168152ab72047e2e7c81c8c6724b3e7623 by Matthew.Arsenault
GlobalISel: Move finalizeLowering call later

This matches the DAG behavior where this is called after the loop
checking for calls. The AMDGPU implementation depends on knowing if
there are calls in the function or not, so move this later.

Another problem is finalizeLowering is actually called twice; I was
seeing weird inconsistencies since the first call would produce
unexpected results and the second run would correct them in some
contexts. Since this requires disabling the verifier, and it's useful
to serialize the MIR immediately after selection, FinalizeISel should
probably not be a real pass.
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
Commit afdb2ef2ed9debd419a29b78c23e4b84ce67ab0c by david.green
[ARM] Adjust default fp extend and trunc costs

This adds some default costs for fp extends and truncates, generally
costing them as 1 per lane. If the type is not legal then the cost will
include a call to an __aeabi_ function.

Some NEON code is also adjusted to make sure it applies to the expected
types, now that fp16 is a more common thing.

Differential Revision: https://reviews.llvm.org/D82458
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit cfd6b4b811aa8bb193f744264e36e83de4bb3650 by dkszelethus
[analyzer] Don't allow hidden checkers to emit diagnostics

Hidden checkers (those marked with Hidden in Checkers.td) are meant for
development purposes only, and are only displayed under
-analyzer-checker-help-developer, so users shouldn't see reports from them.

I moved StdLibraryFunctionsArg checker to the unix package from apiModeling as
it violated this rule. I believe this change doesn't deserve a different
revision because it is in alpha, and the name is so bad anyways I don't
immediately care where it is, because we'll have to revisit it soon enough.

Differential Revision: https://reviews.llvm.org/D81750
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/test/Analysis/std-c-library-functions-arg-constraints.cpp
The file was modifiedclang/test/Analysis/weak-dependencies.c
The file was modifiedclang/test/Analysis/std-c-library-functions-arg-constraints.c
Commit fc3c693b617fc5fde8939a3aec7e7372ace07693 by n.james93
[clang-tidy] Added alias llvm-else-after-return.

Added an alias llvm-else-after-return from readability-else-after-return to help enforce one of the llvm coding guidelines.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82825
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/llvm-else-after-return.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-else-after-return.rst
Commit 01966003674d49e06632495fec2a5a7b3fd58a80 by n.james93
[clang-tidy] Fix incorrect default option in fc3c693b61
The file was modifiedclang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
Commit dbfcf6eb721a4ff5e5f7b0ca61885796e2996ded by spatel
[x86] add tests for vector select with non-splat bit-test condition; NFC

Goes with D83181.
The file was modifiedllvm/test/CodeGen/X86/vselect-pcmp.ll
Commit 4c4bda1630a67e656fb1e18b25cb27344df58493 by Saiyedul.Islam
[OpenMP] Temporarily disable failing runtime tests for OpenMP 5.0

Following tests are failing after upgrading to version 5.0 but are passing
for version 4.5:
1. openmp/runtime/test/env/kmp_set_dispatch_buf.c
2. openmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c

To be enabled as soon as these tests are fixed.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D82963
The file was modifiedopenmp/runtime/test/lit.cfg
The file was modifiedopenmp/runtime/test/worksharing/for/kmp_set_dispatch_buf.c
The file was modifiedopenmp/runtime/test/env/kmp_set_dispatch_buf.c
Commit cff57391575da6bcc6f31e196bd73fa928b3abcb by flo
[LV] Pass dbgs() to verifyFunction call.

This is done in other places of the pass already and improves the output
on verification failure.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit d3e3f36ff1151f565730977ac4f663a2ccee48ae by kadircet
Revert "[ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem`"

Summary:
This reverts commit 2c16100e6f72075564ea1f67fa5a82c269dafcd3.

ninja check-polly fails:
  Polly :: Isl/CodeGen/MemAccess/generate-all.ll
  Polly :: ScopInfo/multidim_srem.ll

Reviewers: kadircet, bollu

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83230
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/sdiv.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/srem.ll
Commit cd9a241f165013902fc060ace88c66e402c7767a by hokein.wu
[clang] Fix the incorrect dependence bits for DependentExtIntType.

The error-bit was missing, and the unexpandedpack bit seemed to be
set incorrectly.

Reviewed By: sammccall, erichkeane

Differential Revision: https://reviews.llvm.org/D83114
The file was modifiedclang/test/Sema/invalid-bitwidth-expr.mm
The file was modifiedclang/lib/AST/Type.cpp
Commit 146dad0077b46a0fb8e158c10490c1774db5a762 by david.green
[ARM] MVE FP16 cost adjustments

This adjusts the MVE fp16 cost model, similar to how we already do for
integer casts. It uses the base cost of 1 per cvt for most fp extend /
truncates, but adjusts it for loads and stores where we know that a
extending load has been used to get the load into the correct lane, and
only an MVE VCVTB is then needed.

Differential Revision: https://reviews.llvm.org/D81813
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Commit 5814255e1a7d2e90580d6df457ddd13b1cd156cb by Raphael Isemann
[lldb] Always round down in NSDate's formatter to match NSDate's builtin format

Summary:

When printing an NSDate (for example with `NSLog` or `po`) the seconds value is
always rounded down. LLDB's own formatter however isn't following that behaviour
which leads to situations where the formatted result is sometimes one second
off. For example:

```
(lldb) p [NSDate dateWithTimeIntervalSince1970:0.1]
(__NSTaggedDate *) $1 = [...] 1970-01-01 00:00:01 UTC
(lldb) po [NSDate dateWithTimeIntervalSince1970:0.1]
1970-01-01 00:00:00 +0000

(lldb) p [NSDate dateWithTimeIntervalSince1970:0.6]
(__NSTaggedDate *) $4 =[...] 1970-01-01 00:00:01 UTC
(lldb) po [NSDate dateWithTimeIntervalSince1970:0.6]
1970-01-01 00:00:00 +0000
```

This patch just always rounds down the seconds value we get from the NSDate
object.

Fixes rdar://65084800

Reviewers: mib, davide

Reviewed By: mib

Subscribers: JDevlieghere

Differential Revision: https://reviews.llvm.org/D83221
The file was modifiedlldb/source/Plugins/Language/ObjC/Cocoa.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
Commit a2619a60e4601c445e9ca6e16c76052e00d907ff by lebedev.ri
Reland "[ScalarEvolution] createSCEV(): recognize `udiv`/`urem` disguised as an `sdiv`/`srem`"

This reverts commit d3e3f36ff1151f565730977ac4f663a2ccee48ae,
which reverter the original commit 2c16100e6f72075564ea1f67fa5a82c269dafcd3,
but with polly tests now actually passing.
The file was modifiedllvm/test/Analysis/ScalarEvolution/srem.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/sdiv.ll
The file was modifiedpolly/test/Isl/CodeGen/MemAccess/generate-all.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedpolly/test/ScopInfo/multidim_srem.ll
Commit 254b016c6561e4ec4d145b81c4d0aaf3d2c7fca6 by hokein.wu
[clangd] More complete fix for hover crashes on invalid record.

We should not call getFieldOffset on invalid record decls.

Differential Revision: https://reviews.llvm.org/D83189
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit e80b81d1cbf85dcd427759369978afdb48f0998f by oliver.stannard
[Support] Fix formatted_raw_ostream for UTF-8

* The getLine and getColumn functions need to update the position, or
  they will return stale data for buffered streams. This fixes a bug in
  the clang -analyzer-checker-option-help option, which was not wrapping
  the help text correctly when stdout is not a TTY.
* If the stream contains multi-byte UTF-8 sequences, then the whole
  sequence needs to be considered to be a single character. This has the
  edge case that the buffer might fill up and be flushed part way
  through a character.
* If the stream contains East Asian wide characters, these will be
  rendered twice as wide as other characters, so we need to increase the
  column count to match.

This doesn't attempt to handle everything unicode can do (combining
characters, right-to-left markers, ...), but hopefully covers most
things likely to be common in messages and source code we might want to
print.

Differential revision: https://reviews.llvm.org/D76291
The file was modifiedllvm/include/llvm/Support/FormattedStream.h
The file was modifiedclang/test/Analysis/checker-plugins.c
The file was modifiedllvm/unittests/Support/formatted_raw_ostream_test.cpp
The file was modifiedllvm/test/MC/ARM/lsl-zero.s
The file was modifiedllvm/lib/Support/FormattedStream.cpp
Commit 6d3ae365bdfc846b93d1033cfe625403a3b85ac5 by jasonliu
[XCOFF][AIX] Give symbol an internal name when desired symbol name contains invalid character(s)

Summary:

When a desired symbol name contains invalid character that the
system assembler could not process, we need to emit .rename
directive in assembly path in order for that desired symbol name
to appear in the symbol table.

Reviewed By: hubert.reinterpretcast, DiggerLin, daltenty, Xiangling_L

Differential Revision: https://reviews.llvm.org/D82481
The file was modifiedllvm/lib/MC/MCAsmInfoXCOFF.cpp
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/include/llvm/MC/MCSymbolXCOFF.h
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/MC/MCSymbolXCOFF.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modifiedllvm/include/llvm/MC/MCAsmInfo.h
The file was modifiedllvm/test/CodeGen/PowerPC/test_func_desc.ll
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was modifiedllvm/include/llvm/MC/MCContext.h
The file was modifiedllvm/lib/MC/MCContext.cpp
The file was modifiedllvm/include/llvm/MC/MCSectionXCOFF.h
The file was modifiedllvm/include/llvm/MC/MCXCOFFStreamer.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit 7308e1432624f02d4e652ffa70e40d0eaa89fdb3 by Raphael Isemann
[clang] Fix modules build after D82585

Just getting the bots running again.

See the D82585 for more info.
The file was modifiedclang/include/clang/StaticAnalyzer/Core/CheckerRegistryData.h
The file was modifiedclang/lib/StaticAnalyzer/Core/CheckerRegistryData.cpp
Commit cf0b3affed47811b02127383c7eec27285ac35a3 by riccibrun
[clang][utils] make-ast-dump-check.sh: strip line and column numbers when generating serialization tests
The file was modifiedclang/utils/make-ast-dump-check.sh
Commit 52af9c59e3bb9068c5cdecf2a79caf4c16d3b347 by jurahul
[MLIR] Add a NoRegionArguments trait

- This trait will verify that all regions attached to an Op have no arguments
- Fixes https://bugs.llvm.org/show_bug.cgi?id=46521 : Add trait NoRegionArguments

Differential Revision: https://reviews.llvm.org/D83016
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/Dialect/SCF/invalid.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/test/Dialect/Affine/invalid.mlir
The file was modifiedmlir/test/IR/invalid-module-op.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/include/mlir/IR/Module.h
The file was modifiedmlir/lib/IR/Module.cpp
Commit 61c2a0bb823677ce0e604b92e5dae65d9bd32b6e by luismarques
[RISCV] Fold ADDIs into load/stores with nonzero offsets

We can often fold an ADDI into the offset of load/store instructions:

   (load (addi base, off1), off2) -> (load base, off1+off2)
   (store val, (addi base, off1), off2) -> (store val, base, off1+off2)

This is possible when the off1+off2 continues to fit the 12-bit immediate.
We remove the previous restriction where we would never fold the ADDIs if
the load/stores had nonzero offsets. We now do the fold the the resulting
constant still fits a 12-bit immediate, or if off1 is a variable's address
and we know based on that variable's alignment that off1+offs2 won't overflow.

Differential Revision: https://reviews.llvm.org/D79690
The file was modifiedllvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
The file was modifiedllvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
The file was modifiedllvm/test/CodeGen/RISCV/fp128.ll
The file was modifiedllvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/callee-saved-gprs.ll
The file was modifiedllvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
The file was modifiedllvm/test/CodeGen/RISCV/wide-mem.ll
Commit c1a5f73a4ae70d8f808c1bac091c3f4b683815b4 by maskray
[ELF][ARM] Represent R_ARM_LDO32 as R_DTPREL instead of R_ABS

Follow-up to D82899. Note, we need to disable R_DTPREL relaxation
because ARM psABI does not define TLS relaxation.

Reviewed By: grimar, psmith

Differential Revision: https://reviews.llvm.org/D83138
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was modifiedlld/test/ELF/debug-dead-reloc-tls-arm.s
Commit 2402f9385e850a1434a4d2ee00d76ca01e44a40b by daltenty
[AIX] Add system-aix to lit config file

Summary: This is a complementary patch to D82100 since the aix builbot is still running the unsupported test shtest-format-argv0. Add system-aix to the sub llvm-lit config.

Reviewers: daltenty, hubert.reinterpretcast

Reviewed By: hubert.reinterpretcast

Subscribers: delcypher, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82905
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was modifiedllvm/utils/lit/tests/lit.cfg
The file was modifiedllvm/utils/lit/tests/shtest-format-argv0.py
Commit 2a19672af5d58d9ee9f8d6276b57cb584d295eb6 by jpienaar
[mlir] Change ODS to have include and exclude regex

This makes it easier to have a "remainder" include rule. And also makes it easier to read the command line flag.
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 39d2ae0afb2312a15e4d15a0855b35b4e1c49fc4 by kevin.neal
[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support.

We currently have strict floating point/constrained floating point enabled
for all targets. Constrained SDAG nodes get converted to the regular ones
before reaching the target layer. In theory this should be fine.

However, the changes are exposed to users through multiple clang options
already in use in the field, and the changes are _completely_ _untested_
on almost all of our targets. Bugs have already been found, like
"https://bugs.llvm.org/show_bug.cgi?id=45274".

This patch disables constrained floating point options in clang everywhere
except X86 and SystemZ. A warning will be printed when this happens.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/arm-neon-directed-rounding-constrained.c
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/test/CodeGen/builtins-ppc-fpconstrained.c
The file was modifiedclang/test/CodeGen/aarch64-neon-misc-constrained.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.h
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
The file was modifiedclang/test/CodeGen/arm64-vrnd-constrained.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was addedclang/test/CodeGen/fp-strictfp.cpp
Commit a39e9cf6bec4e7c8e2e947972421c1d5a6f473d6 by pklausler
[flang] Basic tests of external I/O runtime (part 9/9)

Add new unit tests for external Fortran I/O that drive the
Fortran I/O runtime API from C++ and exercise basic writing
and read-back in the various combinations of access modes,
record length variability, and formatting.  Sequential modes
are tested with positioning.  More thorough tests written in
Fortran will follow when they can be compiled and run.

The Fortran runtime's error termination callback registration
was extended with source file and line number positions for
better failure messages in unit testing.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83164
The file was modifiedflang/unittests/Runtime/external-hello.cpp
The file was modifiedflang/unittests/Runtime/testing.h
The file was modifiedflang/runtime/terminator.cpp
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was addedflang/unittests/Runtime/external-io.cpp
The file was modifiedflang/runtime/terminator.h
The file was modifiedflang/unittests/Runtime/testing.cpp
Commit 054704082b461418d3dac3a379792cdaf52d40b3 by zequanwu
[SemaCXX] Fix false positive of -Wuninitialized-const-reference in empty function body.

Summary:
Some libraries use empty function to ignore unused variable warnings, which gets a new warning from `-Wuninitialized-const-reference`, discussed here https://reviews.llvm.org/D79895#2107604.
This patch should fix that.

Reviewers: hans, nick, aaron.ballman

Reviewed By: aaron.ballman

Subscribers: aaron.ballman, riccibruno, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82425
The file was modifiedclang/lib/Analysis/UninitializedValues.cpp
The file was modifiedclang/test/SemaCXX/warn-uninitialized-const-reference.cpp
Commit bfdafa32a0fa4b2745627fe57dd253db10ac3fcf by kevin.neal
[FPEnv][Clang][Driver] Failing tests are now expected failures.

These are now expected failures on PowerPC. They can be reenabled when
PowerPC is ready.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
The file was modifiedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/test/CodeGen/fpconstrained.cpp
Commit f9e24a563c36fc98860f4b282af5f6d034b2863c by psteinfeld
[flang] Bug fix for ambiguous references to data and functions

Summary:
A program may erroneously reference the same name as both a data object
and as a function.  Some of these references were causing an internal
error in expression analysis.

It was already the case that a symbol referenced in a parse tree for a
call was changed from an `Entity` to a `ProcEntity`.  I added code to
detect when a symbol was referenced in a parse tree as an array element
gets changed from an `Entity` to an `ObjectEntity`.  Then, if an
`ObjectEntity` gets called as a function or a `ProcEntity` gets
referenced as a data object, errors get emitted.

This analysis was previously confined to the name resolution of the
specification part of a `ProgramTree`.  I added a pass to the execution
part of a `ProgramTree` to catch names declared in blocks.

Reviewers: tskeith, klausler, DavidTruby

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D82903
The file was addedflang/test/Semantics/resolve93.f90
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
Commit c19c153e7415807f043edc42843bc491232b717e by Matthew.Arsenault
AMDGPU: Don't ignore carry out user when expanding add_co_pseudo

This was resulting in a missing vreg def in the use select
instruction.

The output of the pseudo doesn't make sense, since it really shouldn't
have the vreg output in the first place, and instead an implicit scc
def to match the real scalar behavior.

We could have easier to understand tests if we selected scalar
versions of the [us]{add|sub}.with.overflow intrinsics.

This does still end up producing vector code in the end, since it gets
moved later.
The file was addedllvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 2b35511350454dd22997f129ee529e3fdb129ac2 by kevin.neal
[FPEnv][Clang][Driver] Failing tests are now expected failures only on PowerPC

Mark these tests as only failing on PowerPC. Avoids unexpected passes on
other bots.

Fingers crossed.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
Commit af8389e1315a1d4fa2bb5116f40cfc0704891a58 by marukawa
[VE] Change to use isa

Summary: Change to use isa instead of dyn_cast to avoid a warning.

Reviewers: simoll, k-ishizaka

Reviewed By: simoll

Subscribers: hiraditya, llvm-commits

Tags: #llvm, #ve

Differential Revision: https://reviews.llvm.org/D83200
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
Commit 916e2ca99785d34db73945940923a487efad32ad by kevin.neal
Revert "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."

My mistake, I had a blocking reviewer.

This reverts commit 39d2ae0afb2312a15e4d15a0855b35b4e1c49fc4.
This reverts commit bfdafa32a0fa4b2745627fe57dd253db10ac3fcf.
This reverts commit 2b35511350454dd22997f129ee529e3fdb129ac2.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
The file was modifiedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/test/CodeGen/aarch64-neon-misc-constrained.c
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was removedclang/test/CodeGen/fp-strictfp.cpp
The file was modifiedclang/test/CodeGen/arm-neon-directed-rounding-constrained.c
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.h
The file was modifiedclang/test/CodeGen/arm64-vrnd-constrained.c
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/test/CodeGen/builtins-ppc-fpconstrained.c
Commit dc6b3f03a872a1c551613e49db1d07bbdd8bfebb by maskray
[ELF] Drop an unneeded reference to `symtab` from SymbolTable::addSymbol

The Symbol Table in LLD references the global object to add a symbol rather than adding it to itself.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D83184
The file was modifiedlld/ELF/SymbolTable.cpp
Commit 71a6a41f1c55c43c07942e49ef8ecdabd95f8b61 by julian.lettner
[Sanitizer] Fix demangling for Swift symbol names

The Swift symbol name prefix has changed from `_T0` to `_$s` as
documented here [1].  This prevents Swift names from properly being
symbolicated when using the in-process LLVM symbolizer.  The best way to
fix this seems to be to avoid the duplication of "Is this a Swift symbol
name?" here.  We can simply remove this check as `swift_demangle`
already returns null for non-Swift names [2,3].

The check was included in the initial support for Swift name demangling
to avoid superfluous calls to `dlsym()` [4].  A subsequent commit
changed this logic to retrieve the `swift_demangle` function pointer
eagerly during sanitizer initialization, but did not remove the check
[5].

[1] https://github.com/apple/swift/blob/master/docs/ABI/Mangling.rst
[2] https://github.com/apple/swift/blob/b5a8b518eae54cea997f3b0954760fc7858829f6/include/swift/Demangling/Demangle.h#L643
[3] https://github.com/apple/swift/blob/b5a8b518eae54cea997f3b0954760fc7858829f6/stdlib/public/runtime/Demangle.cpp#L656
[4] https://reviews.llvm.org/D19135
[5] https://reviews.llvm.org/D20015

rdar://62753845

Reviewers: kubamracek, delcypher, dcoughlin, samsonov, thakis

Reviewed By: kubamracek

Differential Revision: https://reviews.llvm.org/D81705
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
Commit fa1fecc73d4d3884ae8eb887ac06c0f7f7492053 by marukawa
[VE] Support symbol with offset in assembly

Summary:
Change MCExpr to support Aurora VE's modifiers.  Change asmparser to use
existing MCExpr parser (parseExpression) to parse an expression contining
symbols with modifiers and offsets.  Also add several regression tests
of MC layer.

Reviewers: simoll, k-ishizaka

Reviewed By: simoll

Subscribers: hiraditya, llvm-commits

Tags: #llvm, #ve

Differential Revision: https://reviews.llvm.org/D83170
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
The file was addedllvm/test/MC/VE/sym-br.s
The file was modifiedllvm/test/MC/VE/symbols.s
Commit 4d135b0446dc34885811bf103ba2c8b69fe6793b by aardappel
[WebAssembly] 64-bit memory limits
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedllvm/lib/ObjectYAML/WasmYAML.cpp
The file was modifiedlld/wasm/SyntheticSections.h
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedlld/test/wasm/data-layout.ll
The file was modifiedllvm/test/MC/WebAssembly/wasm64.s
Commit aa6ef6fea0f0195779559350b42590b9e251a7d2 by paulatoth
[libc] Add documentation for integration tests.

Reviewers: sivachandra

Reviewed By: sivachandra

Subscribers: MaskRay, tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D82907
The file was addedlibc/docs/integration_test.rst
Commit 16d83c395a1f8660fc583a66e1927a5c433fbbe1 by aardappel
[WebAssembly] Added 64-bit memory.grow/size/copy/fill

This covers both the existing memory functions as well as the new bulk memory proposal.
Added new test files since changes where also required in the inputs.

Also removes unused init/drop intrinsics rather than trying to make them work for 64-bit.

Differential Revision: https://reviews.llvm.org/D82821
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/test/MC/WebAssembly/bulk-memory-encodings.s
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
The file was addedllvm/test/CodeGen/WebAssembly/bulk-memory64.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was removedllvm/test/CodeGen/WebAssembly/bulk-memory-intrinsics.ll
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was addedllvm/test/CodeGen/WebAssembly/memory-addr64.ll
Commit 76c5cb05a3a67340cc7950eb8fb5c2d2a0ac4554 by nicolai.haehnle
DomTree: Remove getChildren() accessor

Summary:
Avoid exposing details about how children are stored. This will enable
subsequent type-erasure changes.

New methods are introduced to cover common access patterns.

Change-Id: Idb5f4b1b9c84e4cc71ddb39bb52a388682f5674f

Reviewers: arsenm, RKSimon, mehdi_amini, courbet

Subscribers: qcolombet, sdardis, wdng, hiraditya, jrtc27, zzheng, atanasyan, asbirlea, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83083
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
The file was modifiedllvm/lib/CodeGen/MachineCSE.cpp
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopSimplify.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp
The file was modifiedllvm/lib/CodeGen/EarlyIfConversion.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/lib/CodeGen/MachineLICM.cpp
The file was modifiedllvm/lib/Target/Mips/MipsOptimizePICCall.cpp
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
Commit 723a44c9b5d654ec791720fc450757ae00f9e631 by nicolai.haehnle
DomTree: Remove the releaseMemory() method

Summary:
It is fully redundant with reset().

Change-Id: I25850b9f08eace757cf03cbb8780e970aca7f51a

Reviewers: arsenm, RKSimon, mehdi_amini, courbet

Subscribers: wdng, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D83084
The file was modifiedllvm/include/llvm/IR/Dominators.h
The file was modifiedclang/include/clang/Analysis/Analyses/Dominators.h
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
The file was modifiedllvm/include/llvm/Analysis/PostDominators.h
Commit dfcc68c528269a3e0b1cbe7ef22cc92cdfdf7eba by nicolai.haehnle
DomTree: Remove getRoots() accessor

Summary:
Avoid exposing details about how roots are stored. This enables subsequent
type-erasure changes.

v5:
- cleanup a unit test by using EXPECT_EQ instead of EXPECT_TRUE

Change-Id: I532b774cc71f2224e543bc7d79131d97f63f093d

Reviewers: arsenm, RKSimon, mehdi_amini, courbet

Subscribers: jvesely, wdng, hiraditya, kuhar, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83085
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
The file was modifiedllvm/include/llvm/CodeGen/MachineDominators.h
The file was modifiedllvm/include/llvm/Analysis/DominanceFrontier.h
The file was modifiedllvm/unittests/IR/DominatorTreeTest.cpp
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachinePostDominators.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
Commit f987ba3cf9af1a2fa168c5a707863b28efd61d73 by nicolai.haehnle
DomTree: add private create{Child,Node} helpers

Summary:
Aside from unifying the code a bit, this change smooths the
transition to use of future "opaque generic block references"
in the type-erased dominator tree base class.

Change-Id: If924b092cc8561c4b6a7450fe79bc96df0e12472

Reviewers: arsenm, RKSimon, mehdi_amini, courbet

Subscribers: wdng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83086
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
Commit 1b183918184ecbcd03898badf8d1789ea0f4ffe4 by tkeith
[flang] Add missing include for std::min

This was causing the build to fail on macos.

Differential Revision: https://reviews.llvm.org/D83237
The file was modifiedflang/runtime/file.cpp
Commit 60c07fd016a3a5f2050828f92257e1e5d33a485b by Adrian Prantl
Use CMAKE_OSX_SYSROOT instead of the environment variable SYSROOT

to detect energy support in debugserver.  The way that Swift
build-script is invoked the former may be overridden manually.

<rdar://problem/63840635>
The file was modifiedlldb/tools/debugserver/source/CMakeLists.txt
Commit 1d8cb099231a79b6ad96e745c2d17cf307bea857 by smeenai
Add option LLVM_NM to allow specifying the location of the llvm-nm tool

The new option works like the existing LLVM_TABLEGEN, and
LLVM_CONFIG_PATH options.  Instead of building llvm-nm, the build uses
the executable defined by LLVM_NM.

This is useful for cross-compilation scenarios where the host cannot run
the cross-compiled tool, and recursing into another cmake build is not
an option (due to required DEFINE's, for example).

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D83022
The file was modifiedllvm/tools/llvm-shlib/CMakeLists.txt
Commit f25d020c2ec7cb1971fa56b99381d416799d8145 by arsenm2
AMDGPU/GlobalISel: Add types to special inputs

When passing special ABI inputs, we have no existing context for the
type to use.
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
Commit f63e3ea558bbe14826b5b775367eac617b35e041 by riccibrun
[clang] Rework how and when APValues are dumped

Currently APValues are dumped as a single string. This becomes quickly
completely unreadable since APValue is a tree-like structure. Even a simple
example is not pretty:

  struct S { int arr[4]; float f; };
  constexpr S s = { .arr = {1,2}, .f = 3.1415f };
  // Struct  fields: Array: Int: 1, Int: 2, 2 x Int: 0, Float: 3.141500e+00

With this patch this becomes:

  -Struct
   |-field: Array size=4
   | |-elements: Int 1, Int 2
   | `-filler: 2 x Int 0
   `-field: Float 3.141500e+00

Additionally APValues are currently only dumped as part of visiting a
ConstantExpr. This patch also dump the value of the initializer of constexpr
variable declarations:

  constexpr int foo(int a, int b) { return a + b - 42; }
  constexpr int a = 1, b = 2;
  constexpr int c = foo(a, b) > 0 ? foo(a, b) : foo(b, a);
  // VarDecl 0x62100008aec8 <col:3, col:57> col:17 c 'const int' constexpr cinit
  // |-value: Int -39
  // `-ConditionalOperator 0x62100008b4d0 <col:21, col:57> 'int'
  // <snip>

Do the above by moving the dump functions to TextNodeDumper which already has
the machinery to display trees. The cases APValue::LValue, APValue::MemberPointer
and APValue::AddrLabelDiff are left as they were before (unimplemented).

We try to display multiple elements on the same line if they are considered to
be "simple". This is to avoid wasting large amounts of vertical space in an
example like:

  constexpr int arr[8] = {0,1,2,3,4,5,6,7};
  // VarDecl 0x62100008bb78 <col:3, col:42> col:17 arr 'int const[8]' constexpr cinit
  // |-value: Array size=8
  // | |-elements: Int 0, Int 1, Int 2, Int 3
  // | `-elements: Int 4, Int 5, Int 6, Int 7

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

Reviewed By: aaron.ballman
The file was modifiedclang/test/AST/ast-dump-attr.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/test/AST/alignas_maybe_odr_cleanup.cpp
The file was addedclang/test/AST/ast-dump-APValue-union.cpp
The file was modifiedclang/test/AST/ast-dump-decl.cpp
The file was modifiedclang/include/clang/AST/JSONNodeDumper.h
The file was addedclang/test/AST/ast-dump-APValue-arithmetic.cpp
The file was addedclang/test/AST/ast-dump-APValue-array.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/test/AST/ast-dump-color.cpp
The file was addedclang/test/AST/ast-dump-APValue-struct.cpp
The file was modifiedclang/test/AST/pr43983.cpp
The file was addedclang/test/AST/ast-dump-APValue-anon-union.cpp
The file was addedclang/test/AST/ast-dump-APValue-todo.cpp
The file was modifiedclang/test/Import/switch-stmt/test.cpp
The file was modifiedclang/test/AST/ast-dump-constant-expr.cpp
The file was modifiedclang/test/AST/ast-dump-stmt.cpp
The file was modifiedclang/lib/AST/APValue.cpp
The file was addedclang/test/AST/ast-dump-APValue-vector.cpp
The file was modifiedclang/test/Tooling/clang-check-ast-dump.cpp
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/lib/AST/JSONNodeDumper.cpp
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was modifiedclang/lib/AST/ASTDumper.cpp
Commit f7a7efbf88b72b4aa6bd95a1ded6dacd2237f2f8 by Stanislav.Mekhanoshin
[AMDGPU] Tweak getTypeLegalizationCost()

Even though wide vectors are legal they still cost more as we
will have to eventually split them. Not all operations can
be uniformly done on vector types.

Conservatively add the cost of splitting at least to 8 dwords,
which is our widest possible load.

We are more or less lying to cost mode with this change but
this can prevent vectorizer from creation of wide vectors which
results in RA problems for us.

Differential Revision: https://reviews.llvm.org/D83078
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/add-sub.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/mul.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 02946de3802d3bc65bc9f2eb9b8d4969b5a7add8 by riccibrun
[Support][NFC] Fix Wdocumentation warning in ADT/Bitfields.h

\tparam is used for template parameters instead of \param.
The file was modifiedllvm/include/llvm/ADT/Bitfields.h
Commit 7c63804383f6baed3d934b3569f406c078869567 by echristo
Fix [-Werror,-Wsign-compare] in dominator unit test.
The file was modifiedllvm/unittests/IR/DominatorTreeTest.cpp
Commit f47b8851318d5ec2fa1e7867f3fdb86101cdc1da by zixu_wang
[clang] Enable errors for undefined TARGET_OS_ macros in Darwin driver

Add clang option `-Wundef-prefix=TARGET_OS_` and `-Werror=undef-prefix`
to Darwin driver.

Differential Revision: https://reviews.llvm.org/D83250
The file was addedclang/test/Driver/darwin-warning-options.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
Commit 6d9626d2da3e59da0b0ae85d975b05a8f96b9939 by protze
[OpenMP][Tests] Fix/Mark compatibilty for GCC

Reviewed by: Hahnfeld, saiislam

Differential Revision: https://reviews.llvm.org/D82267
The file was modifiedopenmp/tools/multiplex/tests/custom_data_storage/custom_data_storage.c
The file was modifiedopenmp/runtime/test/ompt/tasks/dependences.c
The file was modifiedopenmp/tools/multiplex/tests/print/print.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime_serialized.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime_split.c
The file was modifiedopenmp/runtime/test/ompt/tasks/task_late_fulfill.c
The file was modifiedopenmp/runtime/test/ompt/synchronization/ordered_dependences.c
The file was modifiedopenmp/runtime/test/ompt/tasks/task_early_fulfill.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime.c
The file was addedopenmp/runtime/test/ompt/tasks/dependences_mutexinoutset.c
Commit c359c5d534429c96f1cebdf8d845b8120e9c2ef0 by craig.topper
[X86] Centalize the 'sse4' hack to a single place in X86TargetInfo::setFeatureEnabledImpl. NFCI

Instead of detecting the string in 2 places. Just swap the string
to 'sse4.1' or 'sse4.2' at the top of the function.

Prep work for a patch to switch the rest of this function to a
table based system. And I don't want to include 'sse4a' in the
table.
The file was modifiedclang/lib/Basic/Targets/X86.cpp
Commit db05f2e34a5e9380ddcc199d6687531108d795e4 by lebedev.ri
[Scalarizer] Centralize instruction DCE

As reported in https://reviews.llvm.org/D83101#2133062
the new visitInsertElementInst()/visitExtractElementInst() functionality
is causing miscompiles (previously-crashing test added)

It is due to the fact how the infra of Scalarizer is dealing with DCE,
it was not updated or was it ready for such scalar value forwarding.
It always assumed that the moment we "scalarized" something,
it can go away, and did so with prejudice.

But that is no longer safe/okay to do.

Instead, let's prevent it from ever shooting itself into foot,
and let's just accumulate the instructions-to-be-deleted
in a vector, and collectively cleanup (those that are *actually* dead)
them all at the end.

All existing tests are not reporting any new garbage leftovers,
but maybe it's test coverage issue.
The file was modifiedllvm/test/Transforms/Scalarizer/basic.ll
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
The file was modifiedllvm/test/Transforms/Scalarizer/crash-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
Commit c143900a0851b2c7b7d52e4825c7f073b3474cf6 by sameerarora101
[llvm-install-name-tool] Merge install-name options

This diff merges all options for llvm-install-name-tool under a single
function processLoadCommands. Also adds another test case for -add_rpath
option.

Test plan: make check-all

Reviewed by: jhenderson, alexshap, smeenai, Ktwu

Differential Revision: https://reviews.llvm.org/D82812
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit 69dca6efc60a40a939ca5025a8c716e891c2847a by lebedev.ri
[NFCI][IR] Introduce CallBase::Create() wrapper

Summary:
It is reasonably common to want to clone some call with different bundles.
Let's actually provide an interface to do that.

Reviewers: chandlerc, jdoerfert, dblaikie, nickdesaulniers

Reviewed By: nickdesaulniers

Subscribers: llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83248
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Transforms/CFGuard/CFGuard.cpp
Commit 05f2b5ccfc5d8b1f182b00fc80dfbe804fd0357a by lebedev.ri
[llvm-reduce] Reducing call operand bundles

Summary:
This would have been marginally useful to me during/for rG7ea46aee3670981827c04df89b2c3a1cbdc7561b.

With ongoing migration to representing assumes via operand bundles on the assume, this will be gradually more useful.

Reviewers: nickdesaulniers, diegotf, dblaikie, george.burgess.iv, jdoerfert, Tyker

Reviewed By: nickdesaulniers

Subscribers: hiraditya, mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83177
The file was addedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
The file was addedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was addedllvm/test/Reduce/remove-operand-bundles.ll
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.h
Commit 95a28df5c458cd751355fc84263762c330474254 by jonathan.l.peyton
[OpenMP] Add GOMP 5.0 loop entry points

This patch adds missing GOMP_5.0 loop entry points which incorporate
new non-monotonic default into entry point name.  Since monotonic
schedules are a subset of nonmonotonic, it is acceptable to use
monotonic as the implementation.  This patch simply has the nonmonotonic
(and possibly non-monontonic) versions of the loop entry points as
wrappers around the monotonic ones.

Differential Revision: https://reviews.llvm.org/D73922
The file was modifiedopenmp/runtime/src/exports_so.txt
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
The file was modifiedopenmp/runtime/src/kmp_ftn_os.h
Commit 8421364282646f5f398d76ffce13a37fe541f015 by mvels
Modifications to the algorithm sort benchmark

Summary:
Modifies the algorithm sort bench:
- shows sorting time per element, instead of sorting time per array.
This would make comparison between different sizes of arrays easier.
- adds std::pair benchmark cases.
- uses a large number of arrays to benchmark, instead of repeatedly sorting the same array.
* sorting the same array again and again would not show actual sorting performance over randomized data sets.

Reviewers: EricWF, #libc, mvels

Reviewed By: EricWF, #libc, mvels

Subscribers: mgrang, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D81770
The file was modifiedlibcxx/benchmarks/algorithms.bench.cpp
Commit fc4f5d65848015217dd227d15da04b8395166407 by lebedev.ri
[NFCI][llvm-reduce] ReduceOperandBundles: actually put Module forward-declaration back into llvm namespace
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Commit 1e495e10e6c87c2e7dd9ee7cac9352223b72006b by Yuanfang Chen
[NFC] change getLimitedCodeGenPipelineReason to static function
The file was modifiedllvm/include/llvm/CodeGen/TargetPassConfig.h
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
Commit 4029f8ede42f69f5fb5affb3eb008e03d448f407 by echristo
Temporarily Revert "[llvm-install-name-tool] Merge install-name options" as it breaks the objcopy build.

This reverts commit c143900a0851b2c7b7d52e4825c7f073b3474cf6.
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit ea71ba11ab1187af03a790dc20967ddd62f68bfe by spatel
[DAGCombiner] reassociate reciprocal sqrt expression to eliminate FP division

X / (fabs(A) * sqrt(Z)) --> X / sqrt(A*A*Z) --> X * rsqrt(A*A*Z)

In the motivating case from PR46406:
https://bugs.llvm.org/show_bug.cgi?id=46406
...this is restoring the sequence that was originally in the source code.
We extracted a term from within the sqrt because we do not know in
instcombine whether a target will expand a sqrt call.
Note: we could say that the transform in IR should be restricted, but
that would not solve the problem if the source was originally in the
pattern shown here.

This is a gray area for fast-math-flag requirements. I think we should at
least check fast-math-flags on the fdiv and fmul because I view this
transform as 2 pieces: reassociate the fmul operands and form reciprocal
from the fdiv (as with the existing transform). We could argue that the
sqrt also needs FMF, but that was not required before, so we should change
that in a follow-up patch if that seems better.

We don't currently have a way to check that the target will produce a sqrt
or recip estimate without actually creating nodes (the APIs are SDValue
getSqrtEstimate() and SDValue getRecipEstimate()), so we clean up
speculatively created nodes if we are not able to create an estimate.
The x86 test with doubles verifies that we are not changing a test with
no estimate sequence.

Differential Revision: https://reviews.llvm.org/D82716
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 3c7e8d6d0eb0660fb8fbae98c3e49ca059943416 by Amara Emerson
Fix sdk version test to use 99.99.99 as a max dummy version instead of 10.99.99.

Was failing on macOS 11 hosts which is > 10.99.99
The file was modifiedclang/test/Driver/darwin-sdk-vs-os-version.c
Commit 129387497e582ae96de41c56083fe52fce68ba91 by wolfgang_pieb
Correct 3 spelling errors in headers and doc strings.
The file was modifiedllvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
Commit 003ea142205a927f5e444978515705927c3fb0f2 by thakis
fix typos to cycle bots
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
Commit bfa8bda0460dc3883605735bd3dd6ce5c1252549 by llvmgnsyncbot
[gn build] Port
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Commit 7a3258912c4e86ea4f3d6e1ccf72d090d9bb299c by llvmgnsyncbot
[gn build] Port 05f2b5ccfc5
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Commit 10c82eecbcb7d9f000f6640b26c854843a78f091 by rupprecht
Revert "[LV] Enable the LoopVectorizer to create pointer inductions"

This reverts commit a8fe12065ec8137e55a6a8b35dd5355477c2ac16.

It causes a crash when building gzip. Will post the detailed reduced test case to D81267.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was removedllvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
Commit 7a99aab8692c58558b62e9a66120886b8a70fab8 by dblaikie
[ModuloSchedule] Devirtualize PeelingModuloScheduleExpander::expand as it's not needed

The use case is out of tree code deriving from this class - but without
a need to use the base class polymorphically, so skip the virtualization
and virtual dtor.

Post-commit review from 50ac7ce94f34c5f43b02185ae0c33e150e78b044
The file was modifiedllvm/include/llvm/CodeGen/ModuloSchedule.h
Commit ab25ed26c67e5d540e6628fa5e5982e7e9b90a38 by paulatoth
[libc] Add documentation for clang-tidy checks.

Reviewers: sivachandra

Reviewed By: sivachandra

Subscribers: tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D82846
The file was addedlibc/docs/clang_tidy_checks.rst
Commit c13e3e2c2e0c774917bcc7f4f50c29c8133d3a55 by amy.kwan1
[PowerPC][Power10] Exploit the xxsplti32dx instruction when lowering VECTOR_SHUFFLE.

This patch aims to exploit the xxsplti32dx XT, IX, IMM32 instruction when lowering VECTOR_SHUFFLEs.
We implement lowerToXXSPLTI32DX when lowering vector shuffles to check if:
- Element size is 4 bytes
- The RHS is a constant vector (and constant splat of 4-bytes)
- The shuffle mask is a suitable mask for the XXSPLTI32DX instruction where it is one of the 32 masks:
<0, 4-7, 2, 4-7>
<4-7, 1, 4-7, 3>

Differential Revision: https://reviews.llvm.org/D83245
The file was addedllvm/test/CodeGen/PowerPC/p10-splatImm32.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit 0c6b6e28e70c06a3cb4704d2d8f90829a689e230 by lei
[PowerPC] Implement Vector Splat Immediate Builtins in Clang

Implements builtins for the following prototypes:
  vector signed int vec_splati (const signed int);
  vector float vec_splati (const float);
  vector double vec_splatid (const float);
  vector signed int vec_splati_ins (vector signed int, const unsigned int,
                                    const signed int);
  vector unsigned int vec_splati_ins (vector unsigned int, const unsigned int,
                                      const unsigned int);
  vector float vec_splati_ins (vector float, const unsigned int, const float);

Differential Revision: https://reviews.llvm.org/D82520
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/test/CodeGen/PowerPC/p10-splatImm.ll
Commit 28a45d54a7fe722248233165fc7fdbd18d18d233 by sifontes
Create the framework and testing environment for MLIR Reduce - a tool
with the objective to reduce large test cases into smaller ones while
preserving their interesting behavior.

Implement the framework to parse the command line arguments, parse the
input MLIR test case into a module and call reduction passes on the MLIR module.

Implement the Tester class which allows the different reduction passes to test the
interesting behavior of the generated reduced variants of the test case and keep track
of the most reduced generated variant.
The file was addedmlir/test/mlir-reduce/testcase-windows.mlir
The file was addedmlir/test/mlir-reduce/test.bat
The file was modifiedmlir/tools/CMakeLists.txt
The file was addedmlir/tools/mlir-reduce/CMakeLists.txt
The file was modifiedmlir/lib/CMakeLists.txt
The file was addedmlir/test/mlir-reduce/test.sh
The file was addedmlir/test/mlir-reduce/testcase-linux.mlir
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/lib/Reducer/Tester.cpp
The file was addedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was addedmlir/include/mlir/Reducer/Tester.h
The file was addedmlir/lib/Reducer/CMakeLists.txt
Commit 939d8309dbd4ee6cf6e9ef3e8ea26df008b006b4 by xiang1.zhang
[X86-64] Support Intel AMX Intrinsic

INTEL ADVANCED MATRIX EXTENSIONS (AMX).
AMX is a new programming paradigm, it has a set of 2-dimensional registers
(TILES) representing sub-arrays from a larger 2-dimensional memory image and
operate on TILES.

These intrinsics use direct TMM register number as its params.

Spec can be found in Chapter 3 here https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D83111
The file was modifiedclang/include/clang/Basic/BuiltinsX86_64.def
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was addedclang/test/CodeGen/AMX/amx.c
The file was addedclang/test/Preprocessor/x86_amx_target_features.c
The file was addedllvm/test/CodeGen/X86/AMX/amx-int8-intrinsics.ll
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was addedllvm/test/CodeGen/X86/AMX/amx-bf16-intrinsics.ll
The file was modifiedclang/test/Driver/x86-target-features.c
The file was addedclang/test/CodeGen/AMX/amx_errors.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/X86/AMX/amx-tile-intrinsics.ll
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/lib/Headers/amxintrin.h
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was addedclang/test/CodeGen/AMX/amx_inline_asm.c
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was modifiedclang/lib/Headers/cpuid.h
The file was modifiedclang/lib/Headers/immintrin.h
Commit 65482e8a703d4bfe8b9fb5771e34755045d5a5d7 by clementval
[openmp] Move isAllowedClauseForDirective to tablegen + add clause version to OMP.td

Summary:
Generate the isAllowedClauseForDirective function from tablegen. This patch introduce
the VersionedClause in the tablegen file so that clause can be encapsulated in this class to
specify a range of validity on a directive.

VersionedClause has default minVersion, maxVersion so it can be used without them or
minVersion.

Reviewers: jdoerfert, jdenny

Reviewed By: jdenny

Subscribers: yaxunl, hiraditya, guansong, jfb, sstefan1, aaron.ballman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82982
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPConstants.h
The file was modifiedllvm/test/TableGen/directive2.td
The file was modifiedllvm/test/TableGen/directive1.td
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedllvm/lib/Frontend/OpenMP/OMPConstants.cpp
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
The file was modifiedllvm/include/llvm/Frontend/Directive/DirectiveBase.td
Commit fc67b25426c8767ab5941d376ab0f0628d62256e by llvmgnsyncbot
[gn build] Port 939d8309dbd
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 1b1539712e1ee30c02ed20493682fc05d52391c0 by nemanja.i.ibm
[PowerPC] Do not RAUW combined nodes in VECTOR_SHUFFLE legalization

When legalizing shuffles, we make an attempt to combine it into
a PPC specific canonical form that avoids a need for a swap. If the
combine is successful, we RAUW the node and the custom legalization
replaces the now dead node instead of the one it should replace.
Remove that erroneous call to RAUW.
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
Commit 3b5db7fc69bb1efac6f017830af98f192a1f8ab4 by sameerarora101
[llvm-install-name-tool] Merge install-name options

This diff merges all options for llvm-install-name-tool under a single
function processLoadCommands. Also adds another test case for -add_rpath
option.

Test plan: make check-all

Reviewed by: jhenderson, alexshap, smeenai, Ktwu

Differential Revision: https://reviews.llvm.org/D82812
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit 72df59d59097a0c9ed5f420401cf377eaff896aa by joker.eph
[mlir] resolve types from attributes in assemblyFormat

An operation can specify that an operation or result type matches the
type of another operation, result, or attribute via the `AllTypesMatch`
or `TypesMatchWith` constraints.

Use these constraints to also automatically resolve types in the
automatically generated assembly parser.
This way, only the attribute needs to be listed in `assemblyFormat`,
e.g. for constant operations.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D78434
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 7fb3a849c13f302fadc8d16b28d5676964d886cf by craig.topper
[X86] Remove duplicate SSE4A feature bit from X86TargetParser.def. NFC

We had both SSE4A and SSE4_A. So remove one of them.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 094e99d264c937cad33796b8c92fe123cb544c9e by mkazantsev
[Test] Add one more missing optimization opportunity test
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit 16f3d698f2afbbea43e0c3df81df6f2a640ce806 by craig.topper
[X86] Move the feature dependency handling in X86TargetInfo::setFeatureEnabledImpl to a table based lookup in X86TargetParser.cpp

Previously we had to specify the forward and backwards feature dependencies separately which was error prone. And as dependencies have gotten more complex it was hard to be sure the transitive dependencies were handled correctly. The way it was written was also not super readable.

This patch replaces everything with a table that lists what features a feature is dependent on directly. Then we can recursively walk through the table to find the transitive dependencies. This is largely based on how we handle subtarget features in the MC layer from the tablegen descriptions.

Differential Revision: https://reviews.llvm.org/D83273
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h
Commit 0882c9d4fc49858338c9655154f1ad8357a8e516 by Saiyedul.Islam
[AMDGPU] Change Clang AMDGCN atomic inc/dec builtins to take unsigned values

builtin_amdgcn_atomic_inc32(uint *Ptr, uint Val, unsigned MemoryOrdering, const char *SyncScope)
builtin_amdgcn_atomic_inc64(uint64_t *Ptr, uint64_t Val, unsigned MemoryOrdering, const char *SyncScope)
builtin_amdgcn_atomic_dec32(uint *Ptr, uint Val, unsigned MemoryOrdering, const char *SyncScope)
builtin_amdgcn_atomic_dec64(uint64_t *Ptr, uint64_t Val, unsigned MemoryOrdering, const char *SyncScope)

As AMDGCN IR instrinsic for atomic inc/dec does unsigned comparison,
these clang builtins should also take unsigned types instead of signed
int types.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D83121
The file was modifiedclang/test/Sema/builtin-amdgcn-atomic-inc-dec-failure.cpp
The file was modifiedclang/test/SemaOpenCL/builtins-amdgcn-error.cl
The file was modifiedclang/test/CodeGenCXX/builtin-amdgcn-atomic-inc-dec.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsAMDGPU.def
Commit 38d6640ba55e52a4ae23059164660075c3d8e18a by Saiyedul.Islam
[libomptarget] Implement atomic inc and fence functions for AMDGCN using clang builtins

This function uses __builtin_amdgcn_atomic_inc32():
  uint32_t atomicInc(uint32_t *address, uint32_t max);

These functions use __builtin_amdgcn_fence():
__kmpc_impl_threadfence()
__kmpc_impl_threadfence_block()
__kmpc_impl_threadfence_system()

They will take place of current mechanism of directly calling IR functions.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D83132
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/hip_atomics.h
Commit 560292fa990a2bfcf8415f07a166393beff667f6 by carl.ritson
[AMDGPU] Update isFMAFasterThanFMulAndFAdd assumptions

MAD/MAC is no longer always available.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D83207
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 3cbfe988bc5cd366fb0f62e597f899b489c3834d by craig.topper
[X86] Merge X86TargetInfo::setFeatureEnabled and X86TargetInfo::setFeatureEnabledImpl. NFC

setFeatureEnabled is a virtual function. setFeatureEnabledImpl
was its implementation. This split was to avoid virtual calls
when we need to call setFeatureEnabled in initFeatureMap.

With C++11 we can use 'final' on setFeatureEnabled to enable
the compiler to perform de-virtualization for the initFeatureMap
calls.
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
Commit ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846 by craig.topper
[X86] Remove assert for missing features from X86::getImpliedFeatures

This is failing on the bots. Remove while I try to figure out
what feature I missed in the table.
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 44ea81acb696592281157656ea7d81ecb41ca161 by craig.topper
[X86] Add 64bit and retpoline-external-thunk to list of featuers in X86TargetParser.def.

'64bit' shows up from -march=native on 64-bit capable CPUs.
'retpoline-eternal-thunk' isn't a real feature but shows up
when -mretpoline-external-thunk is passed to clang.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit c061e56e880a20488e0f7e6cf9975aa24b83067c by david.sherwood
[CodeGen] Fix warnings in sve-vector-splat.ll and sve-trunc.ll

This patch fixes all remaining warnings in:

  llvm/test/CodeGen/AArch64/sve-trunc.ll
  llvm/test/CodeGen/AArch64/sve-vector-splat.ll

I hit some warnings related to getCopyPartsToVector. I fixed two
issues:

1. In widenVectorToPartType() we assumed that we'd always be
using BUILD_VECTOR nodes to expand from one vector type to another,
which is incorrect for scalable vector types. I've fixed this for now
by simply bailing out immediately for scalable vectors.
2. In getCopyToPartsVector() I've changed the code to compare
the element counts of different types.

Differential Revision: https://reviews.llvm.org/D83028
The file was modifiedllvm/test/CodeGen/AArch64/sve-trunc.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-vector-splat.ll
Commit 79d34a5a1bce39d8153be3665456e9cb0cc8601b by david.sherwood
[SVE][CodeGen] Fix bug when falling back to DAG ISel

In an earlier commit 584d0d5c1749c13625a5d322178ccb4121eea610 I
added functionality to allow AArch64 CodeGen support for falling
back to DAG ISel when Global ISel encounters scalable vector
types. However, it seems that we were not falling back early
enough as llvm::getLLTForType was still being invoked for scalable
vector types.

I've added a new fallback function to the call lowering class in
order to catch this problem early enough, rather than wait for
lowerFormalArguments to reject scalable vector types.

Differential Revision: https://reviews.llvm.org/D82524
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
Commit 9a1a7d888b53ebe5a934a8193de37da86e276f1e by david.sherwood
[SVE] Add more warnings checks to clang and LLVM SVE tests

There are now more SVE tests in LLVM and Clang that do not
emit warnings related to invalid use of EVT::getVectorNumElements()
and VectorType::getNumElements(). For these tests I have added
additional checks that there are no warnings in order to prevent
any future regressions.

Differential Revision: https://reviews.llvm.org/D82943
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ff-gather-loads-64bit-unscaled-offset.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ff-gather-loads-vector-base-scalar-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ld1ro-addressing-mode-reg-reg.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ff-gather-loads-32bit-unscaled-offsets.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-loads-nf.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-32bit-unscaled-offsets.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-vector-base-imm-offset.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ff-gather-loads-vector-base-imm-offset.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ld1-addressing-mode-reg-reg.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-32bit-scaled-offsets.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ld1-addressing-mode-reg-imm.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-loads-ff.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-gep.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ld1.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-64bit-unscaled-offset.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-fcmp.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-callbyref-notailcall.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-64bit-scaled-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ff-gather-loads-32bit-scaled-offsets.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ff-gather-loads-64bit-scaled-offset.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-vector-base-scalar-offset.ll
Commit 9db53a182705ac1f652c6ee375735bea5539272c by riddleriver
[mlir][NFC] Remove usernames and google bug numbers from TODO comments.

These were largely leftover from when MLIR was a google project, and don't really follow LLVM guidelines.
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/lib/Analysis/LoopAnalysis.cpp
The file was modifiedmlir/test/lib/Transforms/TestInlining.cpp
The file was modifiedmlir/include/mlir/Parser.h
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/lib/DeclarativeTransforms/TestVectorTransformPatterns.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorUtils.h
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/lib/Transforms/DialectConversion.cpp
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
The file was modifiedmlir/lib/Dialect/SDBM/SDBMExpr.cpp
The file was modifiedmlir/include/mlir/Pass/PassOptions.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
The file was modifiedmlir/docs/LangRef.md
The file was modifiedmlir/lib/IR/AffineExpr.cpp
The file was modifiedmlir/include/mlir/IR/Diagnostics.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/Linalg/EDSC/Builders.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorUtils.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/ParallelLoopMapper.h
The file was modifiedmlir/include/mlir/Analysis/AffineAnalysis.h
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/lib/IR/AffineMap.cpp
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
The file was modifiedmlir/lib/Transforms/Utils/Utils.cpp
The file was modifiedmlir/lib/IR/Visitors.cpp
The file was modifiedmlir/lib/Target/LLVMIR/DebugTranslation.h
The file was modifiedmlir/lib/Target/LLVMIR/DebugTranslation.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/AVX512/AVX512.td
The file was modifiedmlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
The file was modifiedmlir/lib/Dialect/GPU/Transforms/ParallelLoopMapper.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/lib/Dialect/SDBM/SDBM.cpp
The file was modifiedmlir/lib/Pass/PassRegistry.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/Transforms/Utils/LoopFusionUtils.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h
The file was modifiedmlir/test/Dialect/SPIRV/structure-ops.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/IR/AttributeDetail.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/constant.mlir
The file was modifiedmlir/docs/Quantization.md
The file was modifiedmlir/include/mlir/TableGen/Pattern.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/lib/TableGen/Predicate.cpp
The file was modifiedmlir/test/Conversion/GPUToSPIRV/if.mlir
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Transforms/PipelineDataTransfer.cpp
The file was modifiedmlir/include/mlir/Analysis/LoopAnalysis.h
The file was modifiedmlir/include/mlir/Analysis/Utils.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
The file was modifiedmlir/include/mlir/Transforms/DialectConversion.h
The file was modifiedmlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRV.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/test/Dialect/SPIRV/types.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
The file was modifiedmlir/lib/Dialect/Quant/Utils/FakeQuantSupport.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/test/IR/invalid-affinemap.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Builders.h
The file was modifiedmlir/lib/Transforms/Inliner.cpp
The file was modifiedmlir/test/Dialect/SPIRV/canonicalize.mlir
The file was modifiedmlir/include/mlir-c/Core.h
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineValueMap.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/lib/Dialect/Quant/Utils/QuantizeUtils.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefBoundCheck.cpp
The file was modifiedmlir/lib/Transforms/MemRefDataFlowOpt.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/VulkanRuntime.cpp
The file was modifiedmlir/include/mlir/Transforms/LoopFusionUtils.h
The file was modifiedmlir/lib/Analysis/NestedMatcher.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
The file was modifiedmlir/lib/ExecutionEngine/ExecutionEngine.cpp
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
The file was modifiedmlir/docs/Rationale/Rationale.md
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUBase.td
The file was modifiedmlir/test/Dialect/Vector/vector-flat-transforms.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
The file was modifiedmlir/include/mlir/Transforms/Utils.h
The file was modifiedmlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/include/mlir/Analysis/NestedMatcher.h
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/lib/Parser/DialectSymbolParser.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/utils/spirv/gen_spirv_dialect.py
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVMatrixOps.td
The file was modifiedmlir/lib/Transforms/CSE.cpp
The file was modifiedmlir/lib/TableGen/OpClass.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
Commit cd503166fb74baf91c55f5f959ed9cd016cbd9f7 by kirankumar.tp
[flang][OpenMP] Enhance parser support for flush construct to OpenMP 5.0

Summary:
This patch enhances parser support for flush construct to OpenMP 5.0 by including memory-order-clause.

2.18.8 flush Construct
        !$omp flush [memory-order-clause] [(list)]
                where memory-order-clause is
                acq_rel
                release
                acquire

The patch includes code changes and testcase modifications.

Reviewed By: klausler, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D82177
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/include/flang/Parser/dump-parse-tree.h
The file was modifiedflang/lib/Parser/unparse.cpp
The file was modifiedflang/lib/Parser/openmp-parsers.cpp
The file was modifiedflang/test/Semantics/omp-clause-validity01.f90
Commit d5cbf7ba32527dba53fa673ff7fd7f7fbb0b82fc by grimar
[llvm-readobj] - Fix a crash scenario in GNUStyle<ELFT>::printHashSymbols().

We might crash when the dynamic symbols table is empty (or not found)
and --hash-symbols is requested. Both .hash and .gnu.hash logic is affected.

The patch fixes this issue.

Differential revision: https://reviews.llvm.org/D83037
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-symbols.test
Commit 2cdf108d329bda280948ad634aa0a070337a5f88 by pavel
[lldb/DWARF] Add a utility function for (forceful) completion of types

Summary:
Unify the code for requiring a complete type and move it into a single
place. The only functional change is that the "cannot start a definition
of an incomplete type" is upgrated from a runtime error/warning to an
lldbassert. An plain assert might also be fine, since (AFAICT) this can
only happen in case of a programmer error.

Reviewers: teemperor, aprantl, shafik

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83199
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Commit 74c723757e69fbe7d85e42527d07b728113699ae by gchatelet
[NFC] Adding the align attribute on Atomic{CmpXchg|RMW}Inst

This is the first step to add support for the align attribute to AtomicRMWInst and AtomicCmpXchgInst.
Next step is to add support in IRBuilder and BitcodeReader.
Bug: https://bugs.llvm.org/show_bug.cgi?id=27168

Differential Revision: https://reviews.llvm.org/D83136
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/unittests/Analysis/AliasAnalysisTest.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
Commit 8c2a613976075368a1f6e3ac3c9c8b1927b465ec by klimek
Hand Allocator and IdentifierTable into FormatTokenLexer.

This allows us to share the allocator in the future so we can create tokens while parsing.

Differential Revision: https://reviews.llvm.org/D83218
The file was modifiedclang/lib/Format/TokenAnalyzer.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.h
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
Commit 5e8084beba20f27ce14536168087e5c6971e292d by kerry.mclaughlin
[SVE][CodeGen] Legalisation of unpredicated load instructions

Summary:
When splitting a load of a scalable type, the new address is
calculated in SplitVecRes_LOAD using a vscale and an add instruction.

This patch also adds a DAG combiner fold to visitADD for vscale:
- Fold (add (vscale(C0)), (vscale(C1))) to (add (vscale(C0 + C1)))

Reviewers: sdesmalen, efriedma, david-arm

Reviewed By: david-arm

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82792
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-split-load.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
Commit 2d9bd448c9f051de088b53592f89871e9b390fba by grimar
[llvm-readobj] - Allow dumping partially corrupted SHT_LLVM_CALL_GRAPH_PROFILE sections.

The code we have currently reports an error if something is not right with the
profile section. Instead we can report a warning and continue dumping when it is possible.
This patch does it.

Differential revision: https://reviews.llvm.org/D83129
The file was modifiedllvm/test/tools/llvm-readobj/ELF/call-graph-profile.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 2953ac0975bc7e5dbe61fbd6538f02487efa62d2 by grimar
[llvm-readobj] - Refactor ELFDumper<ELFT>::getStaticSymbolName.

This is a followup for D83129.
It is possible to make `getStaticSymbolName` report warnings inside
and return the "<?>" on a error. This allows to encapsulate errors handling
and slightly simplifies the logic in callers code.

Differential revision: https://reviews.llvm.org/D83208
The file was modifiedllvm/test/tools/llvm-readobj/ELF/addrsig.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit cdf2eef613f7d6949e2929b316925c3553a8e3d0 by kerry.mclaughlin
[SVE][CodeGen] Legalisation of unpredicated store instructions

Summary:
When splitting a store of a scalable type, the new address is
calculated in SplitVecOp_STORE using a vscale and an add instruction.

Reviewers: sdesmalen, efriedma, david-arm

Reviewed By: david-arm

Subscribers: tschuett, hiraditya, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83041
The file was addedllvm/test/CodeGen/AArch64/sve-split-store.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit 8f0f7dbcea34e2e89fb0946067af3488c20c4532 by grimar
[llvm-readobj] - Split the printHashSymbols. NFCI.

This introduces `printHashTableSymbols` and
`printGNUHashTableSymbols` to split the `printHashSymbols`.

It makes the code more readable and consistent.

Differential revision: https://reviews.llvm.org/D83040
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 0d656cb25dc760cdfe0adfdd7256651b7bd0bcab by grimar
[llvm-readobj] - Refine the error reporting in LLVMStyle<ELFT>::printELFLinkerOptions.

It is possible to:
1) Avoid using the `unwrapOrError` calls and hence allow to continue dumping even when
   something is not OK with one of SHT_LLVM_LINKER_OPTIONS sections.
2) replace `reportWarning` with `reportUniqueWarning` calls. In this method it is no-op,
   because it is not possible to have a duplicated warnings anyways, but since we probably
   want to switch to `reportUniqueWarning` globally, this is a good thing to do.

This patch addresses both these points.

Differential revision: https://reviews.llvm.org/D83131
The file was modifiedllvm/test/tools/llvm-readobj/ELF/linker-options.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 3b1e3d22735b37eea3ce52d655009f5cd4ad2262 by hokein.wu
[clang-tidy] Fix an unused-raii check crash on objective-c++.

Differential Revision: https://reviews.llvm.org/D83293
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-unused-raii-crash.mm
Commit a256193afa4869ae749eaeec7548244772843da3 by grimar
[llvm-readobj] - Add prepending # to mips-got.test and mips-plt.test. NFC.

It was requested in D83225 review to do it separately.
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-plt.test
Commit de0175d04bc3679c7bd8dc64520e790bf38f30b0 by Raphael Isemann
[lldb] Make TestIOHandlerResizeNoEditline pass with Python 2

io.BytesIO seems to produce a stream in Python 2 which isn't recognized
as a file object in the SWIG API, so this test fails for Python 2 (and I assume
also an old SWIG version needs to be involved).

Instead just open an empty input file which is a file object in all Python
versions to make this test pass everywhere.
The file was modifiedlldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
The file was addedlldb/test/API/iohandler/resize/input_file
Commit 7bf299c8d8d59304fb821f8811618cdeb1d1f1fd by ayal.zaks
[LV] Vectorize without versioning-for-unit-stride under -Os/-Oz

If a loop is in a function marked OptSize, Loop Access Analysis should refrain
from generating runtime checks for unit strides that will version the loop.

If a loop is in a function marked OptSize and its vectorization is enabled, it
should be vectorized w/o any versioning.

Fixes PR46228.

Differential Revision: https://reviews.llvm.org/D81345
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/optsize.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/optsize.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/runtime-check.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
Commit b80508703fd7f88a7922c9c8f02c696be1db8034 by antiagainst
[mlir][spirv] Introduce OwningSPIRVModuleRef for ownership

Similar to OwningModuleRef, OwningSPIRVModuleRef signals ownership
transfer clearly. This is useful for APIs like spirv::deserialize,
where a spirv::ModuleOp is returned by deserializing SPIR-V binary
module.

This addresses the ASAN error as reported in
https://bugs.llvm.org/show_bug.cgi?id=46272

Differential Revision: https://reviews.llvm.org/D81652
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/Serialization.h
The file was addedmlir/include/mlir/IR/OwningOpRefBase.h
The file was modifiedmlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
The file was addedmlir/include/mlir/Dialect/SPIRV/SPIRVModule.h
The file was modifiedmlir/include/mlir/IR/Module.h
Commit cca4ac523e183b33be3d4c7da68d45b697a081bd by benny.kra
[mlir][VectorOps] Lower vector.outerproduct of int vectors

vector.fma and mulf don't work on integers. Use a muli/addi pair or
plain muli instead.

Differential Revision: https://reviews.llvm.org/D83292
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 9b55bc4d1197aedd76b0f4e04270265cb74cd0b8 by sam.mccall
[clangd] Store index in '.cache/clangd/index' instead of '.clangd/index'

Summary:
.clangd/index was well-intentioned in 2754942cbaef, but `.clangd` is the best
filename for the clangd config file (matching .clang-format and .clang-tidy).
And of course we can't have both .clangd/index and .clangd...

There are a few overlapping goals to satisfy:
- it should be clear from the directory name that this is transient
   data that is safe to delete at the cost of recomputation, i.e. a cache
- it should be easy and self-documenting to blacklist these files in .gitignore
- we should have some consistency between filenames in-tree and
   corresponding files in user storage (e.g. under XDG's ~/.cache/)
- we should be consistent across platforms (including windows, which
   doesn't have distinct cache vs config directories)

So the plan is:
  $PROJECT/.clangd                    (project config)
  $PROJECT/.cache/clangd/index/       (project index)
  $PROJECT/.cache/clangd/modules/     (maybe in future)
  $XDG_CONFIG_HOME/clangd/config.yaml (user config)
  $XDG_CACHE_HOME/clangd/index/       (index of non-project files)
  $XDG_CACHE_HOME/clangd/modules/     (maybe in future)
This is sensible if XDG_{CONFIG,CACHE}_HOME coincide, and has a simple
.gitignore rule going forward: `.cache/`.

The monorepo gitignore is updated to reflect the backwards-compatible practice:
  ignore .clangd/ (with trailing slash) matching index files from clangd 9/10
  ignore .cache matching index from clangd 11+, and potentially other tools.
The entries from llvm-project/llvm gitignore are removed (obsolete).

Reviewers: kadircet, hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, omtcyfz, arphaman, usaxena95, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D83099
The file was modified.gitignore
The file was modifiedclang-tools-extra/clangd/index/Background.h
The file was modifiedllvm/.gitignore
The file was modifiedclang-tools-extra/clangd/test/background-index.test
The file was modifiedclang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
Commit 4a3c3d741a1711e0da618e4fdaee0b74dd2d6ace by grimar
[llvm-readobj] - Don't abort when dumping dynamic relocations when an object has both REL and RELA.

Currently, llvm-readobj calls `report_fatal_error` when an object has
both REL and RELA dynamic relocations.

llvm-readelf is able to handle this case properly. This patch adds such a test case
and adjusts the llvm-readobj code to follow (and be consistent with its own RELR and PLTREL cases).

Differential revision: https://reviews.llvm.org/D83232
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
Commit f7522a5823d66303edfd8d872232dd6b07190f42 by grimar
[llvm-readobj] - Fix indentation in broken-dynamic-reloc.test. NFC.

Fix a broken indentation introduced my myself in rG4a3c3d741a17.
The file was modifiedllvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
Commit 41bbb875e4da392ae37300d3a6282b6595f14503 by n.james93
[NFC] Use hasAnyName matcher in place of anyOf(hasName()...)
The file was modifiedclang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
The file was modifiedclang-tools-extra/clang-move/Move.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/CommandProcessorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
Commit e7abed3d48ec40350006bc76ad5c6c1f64b1bfad by grimar
[llvm-readobj] - Refactor the MipsGOTParser<ELFT> to stop using report_fatal_error().

`MipsGOTParser` is a helper class that is used to dump MIPS GOT and PLT.
There is a problem with it: it might call report_fatal_error() on invalid input.
When this happens, the tool reports a crash:

```
# command stderr:
LLVM ERROR: Cannot find PLTGOT dynamic table tag.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backt
race.
Stack dump:
...
```

Such error were not tested. In this patch I've refactored `MipsGOTParser`:

I've splitted handling of GOT and PLT to separate methods. This allows to propagate
any possible errors to caller and should allow to dump the PLT when something is wrong
with the GOT and vise versa in the future.

I've added tests for each `report_fatal_error()`
and now calling the `reportError` instead. In the future we might want to switch to
reporting warnings, but it requres the additional testing and should
be performed independently.

I've kept `unwrapOrError` calls untouched for now as I'd like to focus on eliminating
`report_fatal_error` calls in this patch only.

Differential revision: https://reviews.llvm.org/D83225
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-plt.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
Commit ed39becd274dae5537c24b2107737d718527e718 by jdenny.ornl
[OpenMP][NFC] Remove hard-coded line numbers from more tests

This is a continuation of D82224.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D83057
The file was modifiedclang/test/OpenMP/target_map_codegen.cpp
The file was modifiedclang/test/OpenMP/target_defaultmap_codegen.cpp
Commit ea85ff82c82687496453bc14c4ac60548a42d8f3 by chen3.liu
[X86] Fix a bug that when lowering byval argument

When an argument has 'byval' attribute and should be
passed on the stack according calling convention,
a stack copy would be emitted twice. This will cause
the real value will be put into stack where the pointer
should be passed.

Differential Revision: https://reviews.llvm.org/D83175
The file was modifiedllvm/test/CodeGen/X86/win64-byval.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 16266e63963ad6ee27ad21983a9366ab313dfd03 by lebedev.ri
[Scalarizer] When gathering scattered scalar, don't replace it with itself

The (previously-crashing) test-case would cause us to seemingly-harmlessly
replace some use with something else, but we can't replace it with itself,
so we would crash.
The file was modifiedllvm/lib/Transforms/Scalar/Scalarizer.cpp
The file was modifiedllvm/test/Transforms/Scalarizer/crash-bug.ll
Commit 72ae70032ca3fa3e3bd9a3524bf245d5978c0467 by pavel
[lldb/test] Fix lldbutil.run_to_***_breakpoint for shared libraries

Even non-remote targets may need to set the launch environment
((DY)LD_LIBRARY_PATH, specifically) to run successfully.

Also, add an assertion to better detect the case when launching a target
fails and the breakpoint is never hit.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbutil.py
Commit c9fb7f81715a321a00096e0463b0e8635204641e by a.bataev
[DEBUGINFO]Add dwarf versions to the test, NFC.
The file was modifiedllvm/test/DebugInfo/X86/packed_bitfields.ll
Commit c5348aecd7723e7aa7b18406d0c97724c0659f34 by tianshilei1992
[OpenMP] Use primary context in CUDA plugin

Summary:
Retaining per device primary context is preferred to creating a context owned by the plugin.

From CUDA documentation
1. Note that the use of multiple CUcontext s per device within a single process will substantially degrade performance and is strongly discouraged. Instead, it is highly recommended that the implicit one-to-one device-to-context mapping for the process provided by the CUDA Runtime API be used." from https://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DRIVER.html
2. Right under cuCtxCreate. In most cases it is recommended to use cuDevicePrimaryCtxRetain. https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__CTX.html#group__CUDA__CTX_1g65dc0012348bc84810e2103a40d8e2cf
3. The primary context is unique per device and shared with the CUDA runtime API. These functions allow integration with other libraries using CUDA.  https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__PRIMARY__CTX.html#group__CUDA__PRIMARY__CTX

Two issues are addressed by this patch:
1. Not using the primary context caused interoperability issue with libraries like cublas, cusolver. CUBLAS_STATUS_EXECUTION_FAILED and cudaErrorInvalidResourceHandle
2. On OLCF summit, "Error returned from cuCtxCreate" and "CUDA error is: invalid device ordinal"

Regarding the flags of the primary context. If it is inactive, we set CU_CTX_SCHED_BLOCKING_SYNC. If it is already active, we respect the current flags.

Reviewers: grokos, ABataev, jdoerfert, protze.joachim, AndreyChurbanov, Hahnfeld

Reviewed By: jdoerfert

Subscribers: openmp-commits, yaxunl, guansong, sstefan1, tianshilei1992

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D82718
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 85f5d1261c9a3f0abc4ae370005a1127174f2ce1 by 1.int32
[ASTImporter] Corrected import of repeated friend declarations.

Summary:
Import declarations in correct order if a class contains
multiple redundant friend (type or decl) declarations.
If the order is incorrect this could cause false structural
equivalences and wrong declaration chains after import.

Reviewers: a.sidorin, shafik, a_sidorin

Reviewed By: shafik

Subscribers: dkrupp, Szelethus, gamesh411, teemperor, martong, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75740
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/StructuralEquivalenceTest.cpp
Commit 216a54a04b9b25fe6d1bcf7f516befd87bc0d976 by eschweitz
[flang] Add lowering of I/O statements.

The IO module is where I/O related statements are lowered to calls to the runtime library.

Differential revision: https://reviews.llvm.org/D83267
The file was addedflang/lib/Lower/IO.cpp
The file was modifiedflang/lib/Lower/CMakeLists.txt
The file was addedflang/include/flang/Lower/IO.h
Commit abdd367b200a0bf4176dbdaf200b23f750a35cb0 by gchatelet
[Bitfields][NFC] Make sure bitfields are contiguous

Differential Revision: https://reviews.llvm.org/D83202
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/unittests/ADT/BitFieldsTest.cpp
The file was modifiedllvm/include/llvm/ADT/Bitfields.h
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit 082e3952300003ecf2eaa6bf346ae2e783b7a02e by rithiksh02
[CodeMoverUtils] Make specific analysis dependent checks optional

Summary: This patch makes code motion checks optional which are dependent on
specific analysis example, dominator tree, post dominator tree and dependence
info. The aim is to make the adoption of CodeMoverUtils easier for clients that
don't use analysis which were strictly required by CodeMoverUtils. This will
also help in diversifying code motion checks using other analysis example MSSA.
Authored By: RithikSharma
Reviewer: Whitney, bmahjour, etiotto
Reviewed By: Whitney
Subscribers: Prazek, hiraditya, george.burgess.iv, asbirlea, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D82566
The file was modifiedllvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
The file was modifiedllvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopFuse.cpp
Commit 52495b98eecefcbaea2e30edec6816e43653d175 by pavel
[lldb/Utility] Fix float->integral conversions in Scalar APInt getters

These functions were doing a bitcast on the float value, which is not
consistent with the other getters, which were doing a numeric conversion
(47.0 -> 47). Change these to do numeric conversions too.
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
The file was modifiedlldb/source/Utility/Scalar.cpp
Commit b0d3ea171bd56b3b079be9213935925e1499df15 by n.james93
[ASTMatchers] Added hasDirectBase Matcher

Adds a matcher called `hasDirectBase` for matching the `CXXBaseSpecifier` of a class that directly derives from another class.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D81552
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 1a2f4824cb2d472649e65f845510ac0e47ca98c1 by daltenty
[Clang] Handle AIX Include management in the driver

Summary: Modify the AIX clang toolchain to include AIX dependencies in the search path

Reviewers: daltenty, stevewan, hubert.reinterpretcast

Reviewed By: daltenty, stevewan, hubert.reinterpretcast

Subscribers: ormris, hubert.reinterpretcast, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82677
The file was addedclang/test/Driver/aix-toolchain-include.cpp
The file was modifiedclang/lib/Frontend/InitHeaderSearch.cpp
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
The file was modifiedclang/lib/Driver/ToolChains/AIX.h
Commit 7fa7b81bcbd040d036f9a4155486ccebc3c13be7 by omair.javaid
Combine multiple defs of arm64 register sets

Summary:
This patch aims to combine similar arm64 register set definitions defined in NativeRegisterContextLinux_arm64 and RegisterContextPOSIX_arm64.
I have implemented a register set interface out of RegisterInfoInterface class and moved arm64 register sets into RegisterInfosPOSIX_arm64 which is similar to Utility/RegisterContextLinux_* implemented by various other targets. This will help in managing register sets of new ARM64 architecture features in one place.

Built and tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabihf targets.

Reviewers: labath

Reviewed By: labath

Subscribers: mhorne, emaste, kristof.beyls, atanasyan, danielkiss, lldb-commits

Differential Revision: https://reviews.llvm.org/D80105
The file was addedlldb/source/Plugins/Process/Utility/RegisterInfoAndSetInterface.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.h
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
The file was modifiedlldb/source/Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h
The file was modifiedlldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
Commit e10e034f4bb7d3c639cc65a8d60147ff1e330e56 by joker.eph
Revert "Create the framework and testing environment for MLIR Reduce - a tool"

This reverts commit 28a45d54a7fe722248233165fc7fdbd18d18d233.

Windows bot is broken with:

LLVM ERROR: Error running interestingness test: posix_spawn failed: Permission denied
The file was modifiedmlir/lib/CMakeLists.txt
The file was removedmlir/test/mlir-reduce/testcase-linux.mlir
The file was removedmlir/test/mlir-reduce/testcase-windows.mlir
The file was removedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was removedmlir/tools/mlir-reduce/CMakeLists.txt
The file was removedmlir/include/mlir/Reducer/Tester.h
The file was removedmlir/lib/Reducer/CMakeLists.txt
The file was removedmlir/lib/Reducer/Tester.cpp
The file was removedmlir/test/mlir-reduce/test.bat
The file was removedmlir/test/mlir-reduce/test.sh
The file was modifiedmlir/tools/CMakeLists.txt
The file was modifiedmlir/test/CMakeLists.txt
Commit 1c956a3eb934fffd719ab027829d616e762eca2d by spatel
[x86] add test for buildvector lowering miscompile (PR46586); NFC
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
Commit c64bb3f7367a924e9d17dfccccc1c92897e6cbe1 by enye.shi
[HIP] Use default triple in llvm-mc for system ld

The Ubuntu system ld does not recognize the amdgcn-amd-amdhsa target.
Instead the host object with embedded device fat binary should not be
assembled by that triple. It should use default triple, so that the
object is compatible with system ld.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D83145
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-link-save-temps.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc-static-lib.hip
The file was modifiedclang/test/Driver/hip-toolchain-rdc-separate.hip
Commit 09b81a72ac67c035f74ff369e6862d75cc4c4090 by maskray
[ELF] Ignore --no-relax for RISC-V

In GNU ld, --no-relax can disable x86-64 GOTPCRELX relaxation.
It is not useful, so we don't implement it.

For RISC-V, --no-relax disables linker relaxations which have larger
impact.
Linux kernel specifies --no-relax when CONFIG_DYNAMIC_FTRACE is specified
(since http://git.kernel.org/linus/a1d2a6b4cee858a2f27eebce731fbf1dfd72cb4e ).
LLD has not implemented the relaxations, so this option is a no-op.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D81359
The file was modifiedlld/test/ELF/silent-ignore.test
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/ELF/Options.td
Commit 9ee90a490563a735ddaa739a34c2204c7494826f by akhuang
[NativeSession] Add column numbers to NativeLineNumber.

Summary:
This adds column numbers if they are present, and otherwise
sets the column number to be zero.

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

Reviewers: amccarth

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81950
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
The file was modifiedllvm/lib/DebugInfo/PDB/Native/NativeLineNumber.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeLineNumber.h
The file was addedllvm/test/tools/llvm-symbolizer/pdb/Inputs/test-columns.exe
The file was addedllvm/test/tools/llvm-symbolizer/pdb/Inputs/test-columns.pdb
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/Inputs/test.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp
The file was addedllvm/test/tools/llvm-symbolizer/pdb/pdb-native-columns.test
Commit 642eed37134db4aca953704d1e4ae856af675f51 by spatel
[x86] fix miscompile in buildvector v16i8 lowering

In the test based on PR46586:
https://bugs.llvm.org/show_bug.cgi?id=46586
...we are inserting 16-bits into the high element of the vector, shuffling it
to element 0, and extracting 32-bits. But xmm1 was never initialized, so the
top 16-bits of the extract are undef without this patch.

(It seems like we could do better than this by recognizing that we only demand
a subsection of the build vector, but I want to make sure we fix the
miscompile 1st.)

This path is only used for pre-SSE4.1, and simpler patterns get squashed
somewhere along the way, so the test still includes a 'urem' as it did in the
original test from the bug report.

Differential Revision: https://reviews.llvm.org/D83319
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 7fc279ca3d414c0997998cb30d1adc2c63c837a5 by hans
[GlobalOpt] Don't remove inalloca from musttail-called functions

Otherwise the verifier complains about the mismatching function ABIs.

Differential revision: https://reviews.llvm.org/D83300
The file was modifiedllvm/test/Transforms/GlobalOpt/fastcc.ll
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
Commit 5e9b16b67f5b9543e8d22b5b0f22cc0980c310bd by Jonas Devlieghere
[lldb] Fix unaligned load in DataExtractor

Somehow UBSan would only report the unaligned load in TestLinuxCore.py
when running the tests with reproducers. This patch fixes the issue by
using a memcpy in the GetDouble and the GetFloat method.

Differential revision: https://reviews.llvm.org/D83256
The file was modifiedlldb/unittests/Utility/DataExtractorTest.cpp
The file was modifiedlldb/source/Utility/DataExtractor.cpp
The file was modifiedlldb/include/lldb/Utility/DataExtractor.h
Commit 888951aaca583bcce85b42ea6166416db8f96fe0 by Dan Liew
Disable interception of sigaltstack on i386 macOS.

Summary:
28c91219c7e introduced an interceptor for `sigaltstack`. It turns out this
broke `setjmp` on i386 macOS. This is because the implementation of `setjmp` on
i386 macOS is written in assembly and makes the assumption that the call to
`sigaltstack` does not clobber any registers.  Presumably that assumption was
made because it's a system call.  In particular `setjmp`  assumes that before
and after the call that `%ecx` will contain a pointer the `jmp_buf`. The
current interceptor breaks this assumption because it's written in C++ and
`%ecx` is not a callee-saved register. This could be fixed by writing a
trampoline interceptor to the existing interceptor in assembly that
ensures all the registers are preserved. However, this is a lot of work
for very little gain. Instead this patch just disables the interceptor
on i386 macOS.

For other Darwin architectures it currently appears to be safe to intercept
`sigaltstack` using the current implementation because:

* `setjmp` for x86_64 saves the pointer `jmp_buf` to the stack before calling `sigaltstack`.
* `setjmp` for armv7/arm64/arm64_32/arm64e appears to not call `sigaltstack` at all.

This patch should unbreak (once they are re-enabled) the following
tests:

```
AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.LongJmpTest
AddressSanitizer-Unit :: ./Asan-i386-calls-Test/AddressSanitizer.SigLongJmpTest
AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.LongJmpTest
AddressSanitizer-Unit :: ./Asan-i386-inline-Test/AddressSanitizer.SigLongJmpTest
AddressSanitizer-i386-darwin :: TestCases/longjmp.cpp
```

This patch introduces a `SANITIZER_I386` macro for convenience.

rdar://problem/62141412

Reviewers: kubamracek, yln, eugenis

Subscribers: kristof.beyls, #sanitizers, llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D82691
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Commit 8a8d6e2b727112fafc52477acaf25affb62b6e65 by Dan Liew
Revert "Temporarily disable the following failing tests on Darwin:"

This reverts commit f3a089506fdcc4a1d658697009572c93e00c4373.

888951aaca583bcce85b42ea6166416db8f96fe0 introduced a fix that
should make the disabled tests work again.

rdar://problem/62141412
The file was modifiedcompiler-rt/lib/asan/tests/asan_test.cpp
Commit 6cf0dac1ca3fd56c51f6a60f0be01cc25a1a2c6a by jennifer.yu
orrectly generate invert xor value for Binary Atomics of int size > 64

When using __sync_nand_and_fetch with __int128, a problem is found that
the wrong value for the 'invert' value gets emitted to the xor in case
where the int size is greater than 64 bits.

This is because uses of llvm::ConstantInt::get which zero extends the
greater than 64 bits, so instead -1 that we require, it end up
getting 18446744073709551615

This patch replaces the call to llvm::ConstantInt::get with the call
to llvm::Constant::getAllOnesValue which works for all integer types.

Reviewers: jfp, erichkeane, rjmccall, hfinkel

Differential Revision: https://reviews.llvm.org/D82832
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/Atomics.c
Commit 62ba48b45f6525a3e453b54a6e5562d2f3dc7324 by lei
[PowerPC] Implement Vector Replace Builtins in LLVM

Provide the LLVM intrinsics needed to implement vector replace element
builtins in altivec.h which will be added in a subsequent patch.

Differential Revision: https://reviews.llvm.org/D83308
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p10permute.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
Commit 7437a9496528b838e6939dbcbb69a0acb5e1332d by erik.pilkington
[SemaObjC] Add a warning for @selector expressions that potentially refer to objc_direct methods

By default, only warn when the selector matches a direct method in the current
class. This commit also adds a more strict off-by-default warning when there
isn't a non-direct method in the current class.

rdar://64621668

Differential revision: https://reviews.llvm.org/D82611
The file was addedclang/test/SemaObjC/potentially-direct-selector.m
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
Commit 2f71cf6d77c5cc679968851080d0513d84ddccb6 by erik.pilkington
[SemaObjC] Fix a -Wobjc-signed-char-bool false-positive with binary conditional operator

We were previously bypassing the conditional expression special case for binary
conditional expressions.

rdar://64134411

Differential revision: https://reviews.llvm.org/D81751
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaObjC/signed-char-bool-conversion.m
Commit 79b30af0ec53de7c7e3378465124ff1026a77f75 by clattner
Expand the LLVM Developer Policy to include new sections on adding
a project to the LLVM Monorepo, and a second about the LLVM
Incubator projects.

Differential Revision: https://reviews.llvm.org/D83182
The file was modifiedllvm/docs/DeveloperPolicy.rst
Commit dfa0db79d0e37d5cf24a63d1e2b7ba5f40617574 by aaron
Warn pointer captured in async block

The block arguments in dispatch_async() and dispatch_after() are
guaranteed to escape. If those blocks capture any pointers with the
noescape attribute then it is an error.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/bugprone-no-escape.rst
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
The file was addedclang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-no-escape.m
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
Commit 3030e6b94b21f4d37ada6bef7cde6920415409d8 by llvm-dev
[X86][AVX] Add AVX2 tests to extractelement-load.ll
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
Commit 6cff71e92e644adf5eab8cb411e5ac053746bbac by llvm-dev
[X86][AVX] Add test case showing incorrect extraction from VBROADCAST_LOAD on AVX2 targets

On AVX2 we tend to lower BUILD_VECTOR of constants as broadcasts if we can, in this case a <2 x i16> non-uniform constant has been lowered as a <4 x i32> broadcast.

The test case shows that the extraction folding code has incorrectly extracted the wrong part (lower WORD) of the resulting i32 memory source.

Found by internal fuzzing tests.
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
Commit a084b94f1198df600fff0632ad54fe6121e23943 by silvasean
[mlir] Convert function signatures before converting globals

Summary: This allows global initializers to reference functions.

Differential Revision: https://reviews.llvm.org/D83266
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
The file was modifiedmlir/test/Target/llvmir.mlir
Commit 1143f09678f42352620d373939b0655e7a332268 by aeubanks
[NewPM][LoopFusion] Rename loop-fuse -> loop-fusion

The legacy pass name is "loop-fusion".

Fixes most tests under Transforms/LoopFusion under NPM.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D83066
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 1a2ed71a8a81a61e98a9f50fe5fa64b36e722632 by pifon
[mlir] Support unranked types in func signature conversion in BufferPlacement.

Currently, only ranked tensor args and results can be converted to memref types.

Differential Revision: https://reviews.llvm.org/D83324
The file was modifiedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was modifiedmlir/test/Transforms/buffer-placement-preparation-allowed-memref-results.mlir
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
Commit 83158cf95dd7fd9fa8a1eb515f16bf47856601ef by aeubanks
[BasicAA] Remove -basicaa alias

Follow up of https://reviews.llvm.org/D82607.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D83067
The file was modifiedllvm/test/Analysis/BasicAA/empty.ll
The file was modifiedllvm/include/llvm/IR/LegacyPassNameParser.h
Commit 0d7286a652371bca460357348f3b4828cd4ca214 by tlively
[WebAssembly] Avoid scalarizing vector shifts in more cases

Since WebAssembly's vector shift instructions take a scalar shift
amount rather than a vector shift amount, we have to check in ISel
that the vector shift amount is a splat. Previously, we were checking
explicitly for splat BUILD_VECTOR nodes, but this change uses the
standard utilities for detecting splat values that can handle more
complex splat patterns. Since the C++ ISel lowering is now more
general than the ISel patterns, this change also simplifies shift
lowering by using the C++ lowering for all SIMD shifts rather than
mixing C++ and normal pattern-based lowering.

This change improves ISel for shifts to the point that the
simd-shift-unroll.ll regression test no longer tests the code path it
was originally meant to test. The bug corresponding to that regression
test is no longer reproducible with its original reported reproducer,
so rather than try to fix the regression test, this change just
removes it.

Differential Revision: https://reviews.llvm.org/D83278
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was addedllvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was removedllvm/test/CodeGen/WebAssembly/simd-shift-unroll.ll
Commit 907f15c5914187b2831977e10599bede6bbafe72 by llvmgnsyncbot
[gn build] Port dfa0db79d0e
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Commit aef04d3306bff492f69f50675f65c9c4eedfab57 by aaron
Speculatively fix the sphinx build.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-no-escape.rst
Commit 80a1b95b8e72674cef7efb39636dc73c248ae6f3 by ulrich.weigand
[SystemZ ABI] Allow class types in GetSingleElementType

The SystemZ ABI specifies that aggregate types with just a single
member of floating-point type shall be passed as if they were just
a scalar of that type.  This applies to both struct and class types
(but not unions).

However, the current ABI support code in clang only checks this
case for struct types, which means that for class types, generated
code does not adhere to the platform ABI.

Fixed by accepting both struct and class types in the
SystemZABIInfo::GetSingleElementType routine.
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/systemz-abi.c
Commit dfabffb195ee7c9f9db327f29feb781cbec53724 by zbrid
[x86][lvi][seses] Use SESES at O0 for LVI mitigation

Use SESES as the fallback at O0 where the optimized LVI pass isn't desired due
to its effect on build times at O0.

I updated the LVI tests since this changes the code gen for the tests touched in the parent revision.

This is a follow up to the comments I made here: https://reviews.llvm.org/D80964

Hopefully we can continue the discussion here.

Also updated SESES to handle LFENCE instructions properly instead of adding
redundant LFENCEs. In particular, 1) no longer add LFENCE if the current
instruction being processed is an LFENCE and 2) no longer add LFENCE if the
instruction right before the instruction being processed is an LFENCE

Reviewed By: sconstab

Differential Revision: https://reviews.llvm.org/D82037
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/test/CodeGen/X86/lvi-hardening-loads.ll
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was modifiedllvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
Commit 931ec74f7a29f53e18b574dc9500012ecbeba23a by llvm-dev
[X86][AVX] Don't fold PEXTR(VBROADCAST_LOAD(X)) -> LOAD(X).

We were checking the VBROADCAST_LOAD element size against the extraction destination size instead of the extracted vector element size - PEXTRW/PEXTB have implicit zext'ing so have i32 destination sizes for v8i16/v16i8 vectors, resulting in us extracting from the wrong part of a load.

This patch bails from the fold if the vector element sizes don't match, and we now use the target constant extraction code later on like the pre-AVX2 targets, fixing the test case.

Found by internal fuzzing tests.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/extractelement-load.ll
Commit 9dfea0351797e1e10b6e28e290c134c179eba504 by nikita.ppv
[SCCP] Handle assume predicates

Take assume predicates into account when visiting ssa.copy. The
handling is the same as for branch predicates, with the difference
that we're always on the true edge.

Differential Revision: https://reviews.llvm.org/D83257
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was addedllvm/test/Transforms/SCCP/assume.ll
Commit 7177e63fb554cfac3c252327e344fb5a17d6bd65 by medismail.bennani
[lldb/Core] Fix crash in ValueObject::CreateChildAtIndex

The patch fixes a crash in ValueObject::CreateChildAtIndex caused by a
null pointer dereferencing. This is a corner case that is happening when
trying to dereference a variable with an incomplete type, and this same
variable doesn't have a synthetic value to get the child ValueObject.

If this happens, lldb will now return a null pointer that will results
in an error message.

rdar://65181171

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/test/API/functionalities/target_var/TestTargetVar.py
The file was removedlldb/test/API/functionalities/target_var/globals.c
The file was removedlldb/test/API/functionalities/target_var/globals.ll
The file was addedlldb/test/API/functionalities/target_var/main.c
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/test/API/functionalities/target_var/Makefile
Commit a707da4728dea51c1446cf582a46fb271f3969c3 by vyng
Clang crashed while checking for deletion of copy and move ctors

    Crash:
       @     0x559d129463fc  clang::CXXRecordDecl::defaultedCopyConstructorIsDeleted()
        @     0x559d1288d3e5  clang::Sema::checkIllFormedTrivialABIStruct()::$_7::operator()()
        @     0x559d12884c34  clang::Sema::checkIllFormedTrivialABIStruct()
        @     0x559d1288412e  clang::Sema::CheckCompletedCXXClass()
        @     0x559d1288d843  clang::Sema::ActOnFinishCXXMemberSpecification()
        @     0x559d12020109  clang::Parser::ParseCXXMemberSpecification()
        @     0x559d1201e80c  clang::Parser::ParseClassSpecifier()
        @     0x559d1204e807  clang::Parser::ParseDeclarationSpecifiers()
        @     0x559d120e9aa9  clang::Parser::ParseSingleDeclarationAfterTemplate()
        @     0x559d120e8f21  clang::Parser::ParseTemplateDeclarationOrSpecialization()
        @     0x559d120e8886  clang::Parser::ParseDeclarationStartingWithTemplate()
        @     0x559d1204a1d4  clang::Parser::ParseDeclaration()
        @     0x559d12004b1d  clang::Parser::ParseExternalDeclaration()
        @     0x559d12017689  clang::Parser::ParseInnerNamespace()
        @     0x559d12017024  clang::Parser::ParseNamespace()
        @     0x559d1204a29b  clang::Parser::ParseDeclaration()
        @     0x559d12004c74  clang::Parser::ParseExternalDeclaration()

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D83263
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaObjCXX/attr-trivial-abi.mm
The file was addedclang/test/SemaCXX/attr-trivial-abi.cpp
Commit 7c038726453b76d6f40590b22304c43ffa05aaf1 by Stanislav.Mekhanoshin
LIS: fix handleMove to properly extend main range

handleMoveDown or handleMoveUp cannot properly repair a main
range of a LiveInterval since they only get LiveRange. There
is a problem if certain use has moved few segments away and
there is a hole in the main range in between of these two
locations. We may get a SubRange with a very extended Segment
spanning several Segments of the main range and also spanning
that hole. If that happens then we end up with the main range
not covering its SubRange which is an error.

It might be possible to attempt fixing the main range in place
just between of the old and new index by extending all of its
Segments in between, but it is unclear this logic will be
faster than just straight constructMainRangeFromSubranges,
which itself is pretty cheap since it only contains interval
logic. That will also require shrinkToUses() call after which
is probably even more expensive.

In the test second move is from 64B to 92B for the sub1.
Subrange is correctly fixed:

L000000000000000C [16r,32B:0)[32B,92r:1)  0@16r 1@32B-phi

But the main range has a hole in between 80d and 88r after
updateRange():

%1 [16r,32B:0)[32B,80r:4)[80r,80d:3)[88r,96r:1)[96r,160B:2)

Since source position is 64B this segment is not even considered
by the updateRange().

Differential Revision: https://reviews.llvm.org/D82916
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
The file was modifiedllvm/unittests/MI/LiveIntervalTest.cpp
Commit 446e3df25483312c8a7dfb3c53eef0de0e13074a by mgorny
[llvm] [docs] Do not require recommonmark for manpage build

Do not enforce recommonmark dependency if sphinx is called to build
manpages.  In order to do this, try to import recommonmark first
and do not configure it if it's not available.  Additionally, declare
a custom tags for the selected builder via CMake, and ignore
recommonmark import failure when 'man' target is used.

This will permit us to avoid the problematic recommonmark dependency
for the majority of Gentoo users that do not need to locally build
the complete documentation but want to have tool manpages.

Differential Revision: https://reviews.llvm.org/D83161
The file was modifiedllvm/docs/conf.py
The file was modifiedllvm/cmake/modules/AddSphinxTarget.cmake
Commit 8691544a276744474ff04b71d7e220069435c7fe by nikita.ppv
[SCCP] Use range metadata for loads and calls

When all else fails, use range metadata to constrain the result
of loads and calls. It should also be possible to use !nonnull,
but that would require some general support for inequalities in
SCCP first.

Differential Revision: https://reviews.llvm.org/D83179
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/metadata.ll
Commit c6a23df691fbfb1330d1fef71a4ac8b453b62a87 by tkeith
[flang] Make 'num_images()' intrinsic

I added 'num_images()' to the list of functions that are evaluated as intrinsic. I also added a test file in flang/test/Semantics to test calls to 'num_images()'. There was a call to 'num_images()' in flang/test/Semantics/call10.f90 that expected an error, now it no longer produces an error. So I edited that file accordingly. I also edited the intrinsics unit test to add further testing of 'num_images()'.

Differential Revision: https://reviews.llvm.org/D83142
The file was modifiedflang/test/Semantics/call10.f90
The file was modifiedflang/documentation/Intrinsics.md
The file was modifiedflang/unittests/Evaluate/intrinsics.cpp
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was addedflang/test/Semantics/num_images.f90
Commit 4b9b64d561e952e64288cdec3bae1952269c1bcf by tkeith
[flang] Added missing runtime I/O definitions

Added runtime function definitions for 32-bit real I/O and 32-bit complex output

Differential Revision: https://reviews.llvm.org/D83112
The file was modifiedflang/runtime/io-api.cpp
Commit 6404fb428a2c6ad4da2b0d79825aa92453ad9bdb by ajcbik
[mlir] [VectorOps] [integration-test] Add i64 typed outer product

Yields proper SIMD vpmullq/vpaddq on x86.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D83328
The file was removedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct.mlir
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-f32.mlir
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-i64.mlir
Commit 2279380eab08219911910e1ecdcef3eacb0b7f0c by aeubanks
[Inliner] Don't skip inlining alwaysinline in optnone functions

Previously the NPM inliner would skip all potential inlines in an
optnone function, but alwaysinline callees should be inlined regardless
of optnone.

Fixes inline-optnone.ll under NPM.

Reviewed By: kazu

Differential Revision: https://reviews.llvm.org/D83021
The file was modifiedllvm/test/Transforms/Inline/inline-optnone.ll
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
Commit 2bf6c50c7fe2a68b0cf61568bc31c9966bbf1c3e by omair.javaid
Minor fixups to LLDB AArch64 register infos macros for SVE register infos

Summary:
This patch adds some cosmetic changes to LLDB AArch64 register infos macros in order to use them in SVE register infos struct in follow up patches.
This patch initially added invalidate lists to register infos struct but that is no longer needed and problem disappeared after updating qemu testing environment.

old headline comments for reference:
AArch64 reigster X and V registers are primary GPR and vector registers respectively. If these registers are modified their corresponding children w regs or s/d regs should be invalidated. Specially when a register write fails it is important that failure gets reflected to all the registers which draw their value from a particular value register.

Reviewers: labath, rengolin

Reviewed By: labath

Subscribers: tschuett, kristof.beyls, danielkiss, lldb-commits

Differential Revision: https://reviews.llvm.org/D77045
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h
Commit 9d9e499840af670b9644af77ce846c52085c23a1 by zbrid
[x86][seses] Add clang flag; Use lvi-cfi with seses

This patch creates a clang flag to enable SESES. This flag also ensures that
lvi-cfi is on when using seses via clang.

SESES should use lvi-cfi to mitigate returns and indirect branches.

The flag to enable the SESES functionality only without lvi-cfi is now
-x86-seses-enable-without-lvi-cfi to warn users part of the mitigation is not
enabled if they use this flag. This is useful in case folks want to see the
cost of SESES separate from the LVI-CFI.

Reviewed By: sconstab

Differential Revision: https://reviews.llvm.org/D79910
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedllvm/test/CodeGen/X86/speculative-execution-side-effect-suppression.ll
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Arch/X86.cpp
The file was modifiedclang/test/Driver/x86-target-features.c
The file was modifiedllvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
Commit b172cd7812405beaa9db817d85ac1458f7e31547 by listmail
[Statepoint] Factor out logic for non-stack non-vreg lowering [almost NFC]

This is inspired by D81648.  The basic idea is to have the set of SDValues which are lowered as either constants or direct frame references explicit in one place, and to separate them clearly from the spilling logic.

This is not NFC in that the handling of constants larger than > 64 bit has changed.  The old lowering would crash on values which could not be encoded as a sign extended 64 bit value.  The new lowering just spills all constants > 64 bits.  We could be consistent about doing the sext(Con64) optimization, but I happen to know that this code path is utterly unexercised in practice, so simple is better for now.
The file was modifiedllvm/test/CodeGen/X86/statepoint-vector.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 42bb481442c3368f2e98f26da6151e7c5ad3ae8e by Matthew.Arsenault
AMDGPU/GlobalISel: Fix skipping unused kernel arguments

The tests in a5b9ad7e9aca1329ba310e638dafa58c47468a58 actually failed
the verifier, which for some reason is not the default. Also add tests
for 0-sized function arguments, which do not add entries to the
expected register lists.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
Commit 23157f3bdb4f6af1d24aac7d4fbf439b71bba216 by Matthew.Arsenault
GlobalISel: Handle EVT argument lowering correctly

handleAssignments was assuming every argument type is an MVT, and
assignArg would always fail. This fixes one of the hacks in the
current AMDGPU calling convention code that pre-processes the
arguments.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-ptrmask.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sat.ll
Commit 021d56abb9ee3028cb88895144d71365e566c32f by ctetreau
[SVE] Make Constant::getSplatValue work for scalable vector splats

Summary:
Make Constant::getSplatValue recognize scalable vector splats of the
form created by ConstantVector::getSplat. Add unit test to verify that
C == ConstantVector::getSplat(C)->getSplatValue() for fixed width and
scalable vector splats

Reviewers: efriedma, spatel, fpetrogalli, c-rhodes

Reviewed By: efriedma

Subscribers: sdesmalen, tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82416
The file was modifiedllvm/test/Transforms/InstSimplify/vscale.ll
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
Commit 24ed3a9403fa0494275212765026a1bb4169ac76 by ntv
[mlir][Vector] Add ExtractOp folding

This revision adds foldings for ExtractOp operations that come from previous InsertOp.
InsertOp have cumulative semantic where multiple chained inserts are necessary to produce the final value from which the extracts are obtained.
Additionally, TransposeOp may be interleaved and need to be tracked in order to follow the producer consumer relationships and properly compute positions.

Differential revision: https://reviews.llvm.org/D83150
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/IR/AffineMap.cpp
Commit bc8e262afe833fce2bff46c73d9e77ed23fd720f by epastor
[ms] [llvm-ml] Add initial MASM STRUCT/UNION support

Summary:
Add support for user-defined types to MasmParser, including initialization and field access.

Known issues:
- Omitted entry initializers (e.g., <,0>) do not work consistently for nested structs/arrays.
- Size checking/inference for values with known types is not yet implemented.
- Some ml64.exe syntaxes for accessing STRUCT fields are not recognized.
  - `[<register>.<struct name>].<field>`
  - `[<register>[<struct name>.<field>]]`
  - `(<struct name> PTR [<register>]).<field>`
  - `[<variable>.<struct name>].<field>`
  - `(<struct name> PTR <variable>).<field>`

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D75306
The file was addedllvm/test/tools/llvm-ml/struct_errors.test
The file was addedllvm/test/tools/llvm-ml/struct.test
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParser.h
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
Commit b6a20a4970813e0c64e2799f83ec246a82f70438 by gyurgyikcp
[libc] Add memchr implementation.
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was addedlibc/test/src/string/memchr_test.cpp
The file was addedlibc/src/string/memchr.h
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/src/string/memchr.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/test/src/CMakeLists.txt
The file was modifiedlibc/test/src/string/CMakeLists.txt
Commit 0d7401cf9d5cc0db3de9a8ddb8ea2362d5412d2f by medismail.bennani
[lldb/api] Add checks for StackFrame::GetRegisterContext calls (NFC)

This patch fixes a crash that is happening because of a null pointer
dereference in SBFrame.

StackFrame::GetRegisterContext says explicitly that you might not get
a valid RegisterContext back but the pointer wasn't tested before,
resulting in crashes. This should solve the issue.

rdar://54462095

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/API/SBFrame.cpp
Commit c17120a3a4c14940982320beafa455437d60d170 by ctetreau
[SVE] Remove calls to VectorType::getNumElements from AsmParserTest

Reviewers: efriedma, c-rhodes, david-arm, kmclaughlin, fpetrogalli, sdesmalen

Reviewed By: efriedma

Subscribers: tschuett, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83339
The file was modifiedllvm/unittests/AsmParser/AsmParserTest.cpp
Commit 8c5825befb7bbb2e76f7eccedc6d3bf26e9b2a6a by maskray
[llvm-readobj][test] Fix ELF/verneed-flags.yaml

*.yaml tests don't currently run, so we failed to update it.
The file was modifiedllvm/test/tools/llvm-readobj/ELF/verneed-flags.yaml
Commit 5832473dcf4e5b22c9eb6381fb291be92f431208 by ditaliano
Do not set LLDB_DEBUGSERVER_PATH if --out-of-tree-debugserver is passed.

This gets rid of some surprising interplay between the flags.
Mainly needed because of Rosetta debugserver & Apple Silicon.

Differential Revision:  https://reviews.llvm.org/D82804
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 4dba3f4e030a906f9ec7e940dfc4a57b94374154 by ditaliano
[dotest] Log a warning when --server and --out-of-tree-debugserver are set

Suggested by Vedant.
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit bdc3134e237737dd46b51cd1ecd41ecbbe9f921a by maskray
[RuntimeDyld][test] Fix ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml after D60122

*.yaml tests don't currently run, so we failed to notice it.
The file was modifiedllvm/test/ExecutionEngine/RuntimeDyld/X86/ELF_x86-64_none.yaml
Commit 04b85e2bcbffcbe4ff4eb1ef3762f326525cae7c by flo
Revert "[SLP] Make sure instructions are ordered when computing spill cost."

This seems to break http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/24371

This reverts commit eb46137daa92723b75d828f2db959f2061612622.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/spillcost-order.ll
Commit 91f70675cc6e5c872e0059c11d797b8726eeac67 by craig.topper
[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846

I've added additional features to the table so I want to see if
the bots are happier with this.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 0fa0cf8638b0777a1a44feebf78a63865e48ecf6 by protze
[OpenMP][Tests] Update compatibility with GCC (NFC)

Commit 95a28df5c provided implementation for GOMP*_nonmonotonic*runtime*
functions. Now the tests succeed with gcc 9 and 10
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_for_schedule_runtime.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime_split.c
The file was modifiedopenmp/runtime/test/worksharing/for/omp_nonmonotonic_dynamic1.c
The file was modifiedopenmp/runtime/test/ompt/worksharing/for/runtime_serialized.c
The file was modifiedopenmp/runtime/test/worksharing/for/bug_set_schedule_0.c
Commit 64788d7d5377345af5e3080d26cb6a76c324ab5b by bigcheesegs
[clang] Include missing LangOpts in `getModuleHash`.

`ObjCRuntime` and `CommentOpts.BlockCommandNames` are checked by
`ASTReader::checkLanguageOptions`, but are not part of the module
context hash. This can lead to errors when using implicit modules if
different TUs have different values for these options when using the
same module cache.

This was not hit very often due to the rare usage of
`-fblock-command-names=` and that `ObjCRuntime` is by default set by
the target triple, which is part of the existing context hash.
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Modules/context-hash.c
The file was modifiedclang/include/clang/Basic/ObjCRuntime.h
The file was modifiedllvm/include/llvm/Support/VersionTuple.h
Commit 9955876d74a51659791fd72f8acb1fba27deacb0 by listmail
[Statepoint] Reduce intendation and change a variable name [NFC]
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 22596e7b2f3e22b99b828f8dc17434c53f1f67e7 by listmail
[Statepoint] Use early return to reduce nesting and clarify comments [NFC]
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 8f0f9eaddf9ea8cbab418a64fb6557928b3c907a by pklausler
[flang] Fix CHARACTER length folding problem

Do not rewrite LEN(x) or x%len to the expression that specifies
the length of x when that length is not a constant expression.
Its value may have changed since the value of the expression was
first captured in the definition of the object.

Reviewed By: tskeith, sscalpone

Differential Revision: https://reviews.llvm.org/D83352
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/lib/Evaluate/variable.cpp
The file was modifiedflang/lib/Evaluate/type.cpp
Commit ec04ce4623522a326672f03fecb41812386a8c0e by sifontes
Create the MLIR Reduce framework

Create the framework and testing environment for MLIR Reduce - a tool
with the objective to reduce large test cases into smaller ones while
preserving their interesting behavior.

Implement the functionality to parse command line arguments, parse the
MLIR test cases into modules and run the interestingness tests on
the modules.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D82803
The file was addedmlir/test/mlir-reduce/testcase-linux.mlir
The file was modifiedmlir/tools/CMakeLists.txt
The file was addedmlir/lib/Reducer/Tester.cpp
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was addedmlir/include/mlir/Reducer/Tester.h
The file was modifiedmlir/lib/CMakeLists.txt
The file was addedmlir/tools/mlir-reduce/CMakeLists.txt
The file was addedmlir/test/mlir-reduce/test.sh
The file was addedmlir/lib/Reducer/CMakeLists.txt
Commit 04027052a72f982c9e09472427ec7339415fb777 by Akira
[Sema] Teach -Wcast-align to compute alignment of CXXThisExpr

This fixes https://bugs.llvm.org/show_bug.cgi?id=46605.

rdar://problem/65158878

Differential Revision: https://reviews.llvm.org/D83317
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaCXX/warn-cast-align.cpp
Commit baca8f977edce6edb0f9074b77a38c753f8f0c79 by sidneym
[compiler-rt][Hexagon] Remove fma/fmin/max code

This code should reside in the c-library.

Differential Revision: https://reviews.llvm.org/D82263
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was removedcompiler-rt/lib/builtins/hexagon/fmin_opt.S
The file was removedcompiler-rt/lib/builtins/hexagon/fmax_opt.S
The file was removedcompiler-rt/lib/builtins/hexagon/fabs_opt.S
The file was modifiedcompiler-rt/lib/builtins/hexagon/dffma.S
The file was removedcompiler-rt/lib/builtins/hexagon/fma_opt.S
Commit fd0964ae8340d24ce7991767fbbfe4bc01af87b3 by aardappel
[WebAssembly] fix gcc 10 warning
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
Commit f1d290d81298092b693076725cef4f34e951e974 by craig.topper
[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def.

These represent the same thing but 64BIT only showed up from
getHostCPUFeatures providing a list of featuers to clang. While
EM64T showed up from getting the features for a named CPU.

EM64T didn't have a string specifically so it would not be passed
up to clang when getting features for a named CPU. While 64bit
needed a name since that's how it is index.

Merge them by filtering 64bit out before sending features to clang
for named CPUs.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
Commit d92bf71a07c1787b535f8eb9deb27a4f11ac2d44 by craig.topper
Revert "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."

An accidental change snuck in here

This reverts commit f1d290d81298092b693076725cef4f34e951e974.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 74145d584126da2ce7a836d9b2240d56442f3ea1 by jurahul
[MLIR] Combine the 2 overloads of FuncOp::build() into one.

- This will eliminate the need to pass an empty `ArrayRef<NamedAttribute>{}` when
  no named attributes are required on the function.

Differential Revision: https://reviews.llvm.org/D83356
The file was modifiedmlir/lib/IR/Function.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/include/mlir/IR/Function.h
Commit 065fc1eafe7c6f67f8029bcd38e6864b3c429e35 by richard
PR45521: Preserve the value kind when performing a standard conversion
sequence on a glvalue expression.

If the sequence is supposed to perform an lvalue-to-rvalue conversion,
then one will be specified as the first conversion in the sequence.
Otherwise, one should not be invented.
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaCXX/references.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit 34c485201507de2602b70b0df368dbc6c0b0fecb by antiagainst
[mlir][spirv] Add MatrixTimesMatrix operation

Add MatrixTimesMatrix operation to SPIRV Dialect and add NoSideEffect trait
to Matrix ops.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D82671
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVMatrixOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
The file was modifiedmlir/test/Dialect/SPIRV/matrix-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/matrix.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
Commit cb82de29601745d6c4beaf51ee1dbd1bf7acc186 by maskray
[RISCV] Optimize multiplication by constant

... to shift/add or shift/sub.

Do not enable it on riscv32 with the M extension where decomposeMulByConstant
may not be an optimization.

Reviewed By: luismarques, MaskRay

Differential Revision: https://reviews.llvm.org/D82660
The file was modifiedllvm/test/CodeGen/RISCV/mul.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 1e9d0811c9bf40abbe07d591057869568f140036 by maskray
[RISCV] optimize addition with a pair of (addi imm)

For an addition with an immediate in specific ranges, a pair of
addi-addi can be generated instead of the ordinary lui-addi-add serial.

Reviewed By: MaskRay, luismarques

Differential Revision: https://reviews.llvm.org/D82262
The file was addedllvm/test/CodeGen/RISCV/add-imm.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Commit 51b0da731af75c68dd521e04cc576d5a611b1612 by craig.topper
Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."

These represent the same thing but 64BIT only showed up from
getHostCPUFeatures providing a list of featuers to clang. While
EM64T showed up from getting the features for a named CPU.

EM64T didn't have a string specifically so it would not be passed
up to clang when getting features for a named CPU. While 64bit
needed a name since that's how it is index.

Merge them by filtering 64bit out before sending features to clang
for named CPUs.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 1f780c997c3616465a4180ffb20a5db4ec9d7776 by omair.javaid
[LLDB] Disable flaky lldb-vscode tests on arm

Summary:
These two tests are flaky on lldb Arm buildbot as well. They are already
being skipped for aarch64. I am going to mark them skipped for Arm.

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D81978
The file was modifiedlldb/test/API/tools/lldb-vscode/attach/TestVSCode_attach.py
Commit fe13ee875b102e5bf66c212883852f08796168b3 by thakis
[gn build] Port baca8f977ed
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Commit 0a41493b9822514daf72d036d088ac91d9235b0c by clementval
[openmp][NFC] Remove duplicate clause defaultmap for target parallel do
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
Commit e885f336fd78e35ccb8e967e0664b356de333963 by thakis
Revert "[X86] Add back the assert in getImpliedFeatures that I removed in ef4cc70f3ed2a91e0a48c6448c517c3ba34c2846"

This reverts commit 91f70675cc6e5c872e0059c11d797b8726eeac67.
It seems to break most (all?) hwasan tests.
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
Commit f54d0e36be6a4d5dab67244e85b8664282dcf5d1 by joker.eph
Rename `xla_lhlo.terminator` into `return` in SCF parallel loop test (NFC)

It seems that these were inserted here inadvertently instead of using
standard `return`.
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Commit edc7da24057b22896dc6522d3f98ccdd75a4e7f8 by sguelton
Upgrade TypePromotionTransaction to be able to report changes in CodeGenPrepare

optimizeMemoryInst was reporting no change while still modifying the IR.
Inspect the status of TypePromotionTransaction to get a better status.

Related to https://reviews.llvm.org/D80916

Differential Revision: https://reviews.llvm.org/D81256
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 20e271a98de5609e22766e56f9c374b150f06982 by vrnithinkumar
[analyzer] Warning for default constructed unique_ptr dereference

Summary: Add support for warning incase of default constructed unique pointer dereferences

Reviewed By: NoQ, Szelethus, vsavchenko, xazax.hun

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81315
The file was modifiedclang/test/Analysis/Inputs/system-header-simulator-cxx.h
The file was modifiedclang/test/Analysis/use-after-move.cpp
The file was modifiedclang/test/Analysis/smart-ptr.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
The file was modifiedclang/docs/analyzer/checkers.rst
The file was addedclang/lib/StaticAnalyzer/Checkers/SmartPtrChecker.cpp
The file was addedclang/lib/StaticAnalyzer/Checkers/SmartPtr.h
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
Commit d8dfd6dcc143a2164ae781de6598e72b7183fc3f by llvmgnsyncbot
[gn build] Port 20e271a98de
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn