UnstableChanges

Summary

  1. Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI." (details)
  2. [lldb] Ignore certain Clang type sugar when creating the type name (details)
  3. [ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop (details)
  4. [SCEV] Handle `less` predicates for FoundPred = NE (details)
  5. [SystemZ][z/OS] Set default wchar_t type for zOS (details)
  6. [LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk (details)
  7. [ARM] Trying to fix asan buildbot (details)
  8. [libc++] NFC: Remove trailing whitespace from the feature test macro table (details)
  9. [SLP] Merge null and dyn_cast<> checks into dyn_cast_or_null<>. NFCI. (details)
  10. [MLIR][Standard] Add `atan` to standard dialect (details)
  11. [SyntaxTree] Add tests for the assignment of the `canModify` tag. (details)
  12. [SLP] clean up code in gather(); NFC (details)
  13. [SLP] move misplaced code comments; NFC (details)
  14. [SLP] reduce code duplication for checking parent block; NFC (details)
  15. [PowerPC] Fix for compiler side issue in PCRelative Local Exec (details)
  16. [NFC][mlir] Remove llvm:: prefix from SmallVector in parallel pretty printer. (details)
  17. [AIX][clang][driver] Make sure crti[_64].o is linked in C++ mode (details)
  18. [X86] Cleanup/add namespace closure comments. NFCI. (details)
  19. [X86] Add missing namespace closure comments. NFCI. (details)
  20. [PeepholeOptimizer] Enhance the redundant COPY elimination. (details)
  21. [VPlan] Add dump() helper to VPValue & VPRecipeBase. (details)
  22. [lld-macho] minimally handle option -dynamic (details)
  23. [AIX][compiler-rt] Use the AR/ranlib mode flag for 32-bit and 64-bit mode (details)
  24. [libc++] Implement C++20's P0784 (More constexpr containers) (details)
  25. [GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def (details)
  26. [scudo][standalone] Remove the pthread key from the shared TSD (details)
  27. [ThinLTO] Re-order modules for optimal multi-threaded processing (details)
  28. [DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM (details)
  29. Sema: introduce `__attribute__((__swift_name__))` (details)
  30. [OpenMPOpt] Refactored "issue" and "wait" declarations for data map runtime call. (details)
  31. [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16 (details)
  32. [sanitizer_common] Add debug print to sysmsg.c (details)
  33. Silence 'warning: unused variable' when compiling with Clang 10.0 (details)
  34. [DAG] Remove DAGTypeLegalizer::GenWidenVectorTruncStores (PR42046) (details)
  35. [PowerPC] Implement the 128-bit Vector Divide Extended Builtins in Clang/LLVM (details)
  36. [PowerPC] Implement Vector String Isolate Builtins in Clang/LLVM (details)
  37. [mlir] NFC: fix trivial typos under include directory (details)
  38. [mlir][ods] Make OpBuilder and OperationState optional (details)
  39. [SyntaxTree] Test the List API (details)
  40. [ASTMatchers] Avoid recursion in ancestor matching to save stack space. (details)
  41. [NFC][regalloc] Simplify/conform to style guide indvars in Greedy (details)
  42. Version 0.5 of the new "TableGen Backend Developer's Guide." (details)
  43. [Analyzer][WebKit] UncountedLocalVarsChecker (details)
  44. [gn build] Port 848d66fafd2 (details)
  45. [gn build] Port 8a64689e264 (details)
  46. [clang] Fix a typo-correction crash (details)
  47. [test][MC] Rehabilitate llvm/test/MC/COFF/bigobj.py (details)
  48. [NFC] Replace tabs with spaces in PPCInstrPrefix.td (details)
  49. [InstCombine] For pow(x, +/-0.5), stop falling into pow(x, 1.5), etc. case (details)
  50. [lldb] Skip test_common_completion_process_pid_and_name with reproducers (details)
  51. [lldb] Skip TestMiniDumpUUID with reproducers (details)
  52. [LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM (details)
  53. [test][NewPM] Pin do-nothing-intrinsic.ll to legacy PM (details)
  54. [NFC][CVP] Add tests for srem with potentially different sigdness domains (details)
  55. [CVP] Enhance SRem -> URem fold to work not just on non-negative operands (details)
  56. [ConstantRange] binaryXor(): special-case binary complement case - the result is precise (details)
  57. [ConstantRange] Introduce getActiveBits() method (details)
  58. [NFC][CVP] processUDivOrURem(): refactor to use ConstantRange::getActiveBits() (details)
  59. [NFC][APInt] Refactor getMinSignedBits() in terms of getNumSignBits() (details)
  60. [ConstantRange] Introduce getMinSignedBits() method (details)
  61. [NFC][CVP] Give a better name STATISTIC() counting udiv i16 -> udiv i8 xforms (details)
  62. [NFC][CVP] Add tests for SDiv/SRem narrowing (details)
  63. [CVP] Narrow SDiv/SRem to the smallest power-of-2 that's sufficient to contain its operands (details)
  64. Implement a new kind of Pass: dynamic pass pipeline (details)
  65. Revert "[lldb] XFAIL TestMemoryHistory on Linux" (details)
  66. [flang][msvc] Add explicit function template argument to applyFunction. NFC. (details)
  67. [flang][msvc] Add explicit function template argument to applyLamda. NFC. (details)
  68. [flang][msvc] Explicitly reference "this" inside closure. NFC. (details)
  69. Revert "The wrong placement of add pass with optimizations led to -funique-internal-linkage-names being disabled." (details)
  70. Two patches to fix the broken build. (details)
  71. [lldb][test] Remove accidental import pdb in 783dc7dc7ed7487d0782c2feb8854df949b98e69 (details)
  72. [compiler-rt][AIX] Add CMake support for 32-bit Power builds (details)
  73. [ThinLTO] Option to bypass function importing. (details)
  74. [AArch64] Avoid pairing loads with same result reg (details)
  75. [LoopInfo] empty() -> isInnermost(), add isOutermost() (details)
  76. Revert "[CodeGen] emit CG profile for COFF object file" (details)
  77. Small fixes for "[LoopInfo] empty() -> isInnermost(), add isOutermost()" (details)
  78. Change LoopInfo::empty to isInnermost after D82895 (details)
  79. [libc++] Implement LWG1203 (details)
  80. Fix build due to renaming in LoopInfo. (details)
  81. [AArch64] Teach analyzeBranch to remove branch equivelent to fallthrough (details)
  82. [libc++] NFC: Collocate C++20 removed members of std::allocator (details)
  83. [libc++] NFC: Reindent the feature test macro generation script (details)
  84. [SLP]Fix coding style, NFC. (details)
  85. [InstCombine] Fix errno bug in pow expansion to sqrt (details)
  86. [InstCombine][NFC][tests] Add ninf base value case to pow-sqrt.ll (details)
  87. [trace] avoid using <regex> (details)
  88. [ORC][examples] Add missing library dependencies. (details)
  89. [NFC][docs] Fix link. (details)
  90. [IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData. (details)
  91. [Clang] Fix a typo in implicit-int-float-conversion.c (details)
  92. [lld-macho] handle option -headerpad_max_install_names (details)
  93. [EHStreamer] Ensure CallSiteEntry::{BeginLabel,EndLabel} are non-null. NFC (details)
  94. Revert "Canonicalize declaration pointers when forming APValues." (details)
  95. [DWARFYAML][test] Simplify __debug_pubnames/types tests. NFC. (details)
  96. [NewPM] Pin tests with -debug-pass to legacy PM (details)
  97. Revert "[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData." (details)
  98. [test][NewPM] Fix update-scev.ll under NPM (details)
  99. [CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8) (details)
  100. [test][NewPM] Clean up ScalarEvolution tests to work under NPM (details)
  101. [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols (details)
  102. [ThinLTO] Avoid temporaries when loading global decl attachment metadata (details)
  103. [lld-maco] fix build breakage (details)
  104. [Sanitizers] Fix test case that doesn't clean up after itself (details)
  105. [sanitizers] Remove the message queue with IPC_RMID after D82897 (details)
  106. [RISCV][ASAN] updated platform macros to simplify detection of RISCV64 platform (details)
  107. [Analyzer][WebKit] Use tri-state types for relevant predicates (details)
  108. [RISCV][ASAN] implementation of internal syscalls wrappers for riscv64 (details)
  109. [RISCV][ASAN] implementation of clone interceptor for riscv64 (details)
  110. [RISCV][ASAN] implementation for vfork interceptor for riscv64 (details)
  111. [RISCV][ASAN] implementation of ThreadSelf  for riscv64 (details)
  112. Add a dump() method on the pass manager for debugging purpose (NFC) (details)
  113. [MC] [Win64EH] Try to generate packed unwind info where possible (details)
  114. [InstCombine] Add parentheses in assert to silence GCC warning. NFC. (details)
  115. [CVP] Remove a redundant trailing semicolon, fixing GCC warnings. NFC. (details)
  116. [PowerPC] Implementation of 128-bit Binary Vector Mod and Sign Extend builtins (details)
  117. Revert "[RISCV][ASAN] implementation of ThreadSelf  for riscv64" (details)
  118. [NFC] Reformat preprocessor directives (details)
  119. [RISCV][ASAN] implementation of ThreadSelf  for riscv64 (details)
  120. [mlir][Linalg] Add pattern to fold linalg.tensor_reshape that add unit extent dims. (details)
  121. [AMDGPU] Fix merging m0 inits (details)
  122. [SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors (details)
  123. Revert "[libc++] Implement LWG1203" (details)
  124. [SVE] Make EVT::getScalarSizeInBits and others consistent with Type::getScalarSizeInBits (details)
  125. [analyzer][StdLibraryFunctionsChecker] Fix getline/getdelim signatures (details)
  126. [analyzer][StdLibraryFunctionsChecker] Separate the signature from the summaries (details)
  127. [llvm-readelf/obj] - Cleanup the code. NFCI. (details)
  128. [AMDGPU] Insert waitcnt after returning from call (details)
  129. [llvm-readelf/obj] - Print section symbol names properly when dumping relocations. (details)
  130. [llvm-readelf/obj] - Fix extended section symbol indices printed in warnings for MIPS GOT/PLT entries. (details)
  131. [SVE][CodeGen] Lower legal integer -> floating point conversions (details)
  132. [flang] CHARACTER(*) return does not require explicit interface (details)
  133. [CUDA][HIP] Fix static device var used by host code only (details)
  134. [OpenMP][flang]Lower NUM_THREADS clause for parallel construct (details)
  135. [mlir] Added support for f64 memref printing in runner utils (details)
  136. [flang] Removed OpenMP lowering unittests (details)
  137. [NFCI][flang] Renamed a variable name to a more descriptive name (details)
  138. [libc++] Re-apply fdc41e11f (LWG1203) without breaking the C++11 build (details)
  139. [lldb] Fix GetRemoteSharedModule fallback logic (details)
  140. AMDGPU: Check global FP atomics match default FP mode (details)
  141. GlobalISel: Fix truncating shift amount in trunc (shl) combine (details)
  142. Fix typos in ASTMatchers.h; NFC (details)
  143. [NFC][ARM] Pre-commit tail predication test (details)
  144. [SystemZ] Make sure not to call getZExtValue on a >64 bit constant. (details)
  145. [mlir] Fix typos in Dialect.h. NFC. (details)
  146. [VPlan] Disconnect VPValue and VPUser. (details)
  147. [SVE] Lower fixed length ISD::VECREDUCE_ADD to Scalable (details)
  148. [clangd] Refactor code completion signal's utility properties. (details)
  149. [docs][llvm] Fix typos (details)
  150. [mlir][openacc] Use OptionalParseResult in loop op parser instead of bool variables (details)
  151. Add Operation to python bindings. (details)
  152. Implement python iteration over the operation/region/block hierarchy. (details)
  153. Add mlir python APIs for creating operations, regions and blocks. (details)
  154. NFC: Remove unused variable. (details)
  155. [mlir][ods] Custom builder with no params (details)
  156. [mlir] Remove unneeded OpBuilder params. NFC. (details)
  157. Revert "[AMDGPU] Insert waitcnt after returning from call" (details)
  158. Add missing namespace closure comment. NFCI. (details)
  159. Add missing namespace closure comments. NFCI. (details)
  160. [AArch64] Fix ldst optimization of non-immediate store offset (details)
  161. recommit [HIP] Fix -gsplit-dwarf option (details)
  162. [lldb] Remove lldb-perf remenant (details)
  163. [mlir] Add insert before/after to list-like constructs in C API (details)
  164. Fix regressioin in test dwp-separate-debug-file.cpp (details)
  165. [MLIR] Change default builders generated by TableGen to use TypeRange for result types (details)
  166. [MLIR][NFC] Adopt use of TypeRange in build() methods. (details)
  167. Improve dynamic AST matching diagnostics for conversion errors (details)
  168. Update the documentation for the MLIR Dialect class (NFC) (details)
  169. [MLIR][NFC] Adopt use of BlockRange in place of ArrayRef<Block *> (details)
  170. Remove MLIR C-API explicit registration of standard ops. (details)
  171. [UpdateTestChecks] Remove bug-exposing test (details)
  172. NFC: Remove dangling dep on MLIRStandardOps. (details)
  173. [MBFIWrapper] Add a new function getBlockProfileCount (details)
  174. [clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode. (details)
  175. Add optimal thread strategy (details)
  176. [Support/Path] Add path::is_absolute_gnu (details)
  177. Add REQUIRES to embed-bitcode-noopt.ll (details)
  178. [EarlyCSE] Fix crash with expensive checks after D87691 (details)
  179. Revert D87970 "[ThinLTO] Avoid temporaries when loading global decl attachment metadata" (details)
  180. Break long line accidentally left in the previous commit (details)
  181. [Driver] Check whether Gentoo-specific configuration directory exists (details)
  182. Re-apply https://reviews.llvm.org/D87921, was reverted to triage a PPC bot failure. (details)
  183. Enhance TableGen so that backends can produce better error messages. (details)
  184. [ms] [llvm-ml] Add support for .radix directive, and accept all radix specifiers (details)
  185. [TTI] add wrapper for matching vector reduction to reduce code duplication; NFC (details)
  186. Fix include location (accidentally committed a local variation) (details)
  187. [X86] Improve demanded bits for X86ISD::BEXTR. (details)
  188. [SLP] Make HorizontalReduction::getOperationData take an Instruction* instead of a Value*. NFCI (details)
  189. Revert "[ms] [llvm-ml] Add support for .radix directive, and accept all radix specifiers" (details)
  190. Update Phabricator doc to remove the warning on "arc land": tags a properly handled server side now (details)
  191. Document the `--verbatim` flag from arc to update the description for a phabricator revision (details)
  192. [lsan] On Fuchsia, don't use atexit hook for leak checks (details)
  193. [gn build] Allow option to build with asan/tsan/ubsan (details)
  194. [mlir][OpFormatGen] Update "custom" directives for attributes. (details)
  195. [AArch64][SVE] Fix frame offset calculation when d8 is saved. (details)
  196. Add `breakpoint delete --disabled`: deletes all disabled breakpoints. (details)
  197. [AMDGPU] Make ds fp atomics overloadable (details)
  198. [IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData. (details)
  199. [PowerPC][PCRelative] Thread Local Storage Support for Local Dynamic (details)
  200. asan: Use `#if` to test CAN_SANITIZE_LEAKS (details)
  201. [scudo][standalone] Fix tests under ASan/UBSan (details)
  202. Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks" (details)
  203. [AArch64][SVE] Add lowering for llvm frecpx (details)
  204. Allow init_priority values <= 100 and > 65535 within system headers. (details)
  205. [lldb] Normalize paths in new test (details)
  206. [LoopTerminology][NFC] Fix formatting typo (details)
  207. Clean up test file, NFC (details)
  208. [PowerPC] Implement Vector signed/unsigned __int128 overloads for the comparison builtins (details)
  209. [PowerPC] Implement the 128-bit vec_[all|any]_[eq | ne | lt | gt | le | ge] builtins in Clang/LLVM (details)
  210. Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic (details)
  211. [AArch64] Expand some vector of i64 reductions on NEON (details)
  212. [SelectionDAG][GISel] Make LegalizeDAG lower FNEG using integer ops. (details)
  213. [JSON] Allow emitting comments in json::OStream (details)
  214. [lld-macho] cleanup unimplemented-option warnings (details)
  215. [X86] Add a memory clobber to the bittest intrinsic inline asm. Get default clobbers from the target (details)
  216. [lld-macho] handle options -search_paths_first, -search_dylibs_first (details)
  217. [JSON] Facility to track position within an object and report errors. (details)
  218. [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency (details)
  219. [NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass (details)
  220. [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass (details)
  221. [JSON] Display errors associated with Paths in context (details)
  222. [libunwind] Combine dl_iterate_phdr codepaths for DWARF and EHABI (details)
  223. [libunwind] Optimize dl_iterate_phdr's findUnwindSectionsByPhdr (details)
  224. [JSON] Add error reporting to fromJSON and ObjectMapper (details)
  225. Fix LLDB tweak in 62a47e994fcf5b73e29547d26cd9676b30cb69a3 (details)
  226. [libc++] Fix spurious test failure in -fno-exceptions (details)
  227. [clangd] Improve bad-RPC-payload error messages slightly (details)
  228. [CGProfile] don't emit cgprofile entry if called function is dllimport (details)
  229. Explicitly specify CMAKE_AR in WinMsvc.cmake (details)
  230. Utility: ignore OS version on non-Darwin targets in `ArchSpec` (details)
  231. [X86] Add TDX instructions. (details)
  232. [X86] Parse data32 call in .code16 as CALLpcrel32 (details)
  233. Revert "[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass" (details)
  234. [AMDGPU] Consider all SGPR uses as unique in constant bus verify (details)
  235. [NFC] Remove unnecessary default constructors (details)
  236. [GlobalISel][AMDGPU] Lower G_SMULH/G_UMULH (details)
  237. [lld-macho] Initial support for common symbols (details)
  238. [lld-macho] Implement and test resolution of common symbols (details)
  239. [lld-macho] Emit indirect symbol table (details)
  240. [lld-macho] Ignore `-mllvm` and its argument (details)
  241. [lld-macho] Support -weak_lx, -weak_library, -weak_framework (details)
  242. [lld-macho][NFC] Refactor syslibroot / library path lookup (details)
  243. [lld-macho][NFC] Make `!= nullptr` implicit (details)
  244. [IRSim] Adding structural comparison to IRSimilarityCandidate. (details)
  245. Revert "[IRSim] Adding structural comparison to IRSimilarityCandidate." (details)
  246. [IRSim] Adding structural comparison to IRSimilarityCandidate. (details)
  247. [Power10]  Implement custom codegen for the vec_replace_elt and vec_replace_unaligned builtins. (details)
  248. [dwarfdump] Warn for tags with DW_CHILDREN_yes but no children. (details)
  249. DebugInfo: Filter DWARFv5 TUs out of the debug_info unit list when CUs requested (details)
  250. [IRSim][NFC] Removing warning from IRSimilarityIdentifier (details)
  251. [DWARFYAML] Make the ExtLen field of extended opcodes optional. (details)
  252. [IRSim] Adding a basic similarity identifier. (details)
  253. Revert "[lld-macho] Implement and test resolution of common symbols" (details)
  254. Revert "[lld-macho] Initial support for common symbols" (details)
  255. [flang][driver] Fix options flag in the frontend driver (details)
  256. [OpenMP][MLIR] Add assembly format for master op (details)
  257. [flang][driver] Add missing dependency in CMake files (details)
  258. [flang][NFC] Fix CMake variable name in README.md (details)
  259. [clangd] Disable suffix matching fallback for C during include insertion (details)
  260. [clangd] Fix comment. NFC (details)
  261. [llvm-objcopy][MachO] Fix --add-section (details)
  262. [mlir] Stop allowing LLVMType Int arguments for GPULaunchFuncOp. (details)
  263. [SVE] Add new isKnownXX comparison functions to TypeSize (details)
  264. [clang][Sema] Use enumerator instead of hard-coded constant (details)
  265. [unittests] Use std::make_tuple to make some toolchains happy again (details)
  266. [llvm] Use instead of  in IRSimilarityIdentifierTest.cpp. (details)
  267. [MLIR][docs] Fix typos (details)
  268. [clangd] Reorder a little bit of init code. NFC (details)
  269. [asan][test] Disable malloc-no-intercept.c on Solaris (details)
  270. [SCEV] Use loop guard info when computing the max BE taken count in howFarToZero. (details)
  271. [llvm-readobj] - Fix a warning. (details)
  272. [llvm-readelf/obj] - Stop printing wrong addresses for arm32 unwind info for non-relocatable objects. (details)
  273. Use different name for auto variable (details)
  274. [lld][ELF][test] Add a couple of test cases for LTO behaviour (details)
  275. [NFC][Docs] fix clang-docs compilation (details)
  276. [llvm-objcopy][NFC] refactor error handling. part 1. (details)
  277. [APFloat] add tests for convert of NAN; NFC (details)
  278. [flang][driver] Remove unnecessary includes in the unittest (NFC) (details)
  279. [flang] [OpenMP 4.5] Adding lit test cases for OpenMP Constructs. (details)
  280. Fix a builtbot failure after 3ed04f93e30121867a813a220452b97aebeb1730. (details)
  281. [Support] On Windows, ensure abort() can be catched several times in a row with CrashRecoveryContext (details)
  282. [lit] Support running tests on Windows without GnuWin32 (details)
  283. [Support] On Unix, let the CrashRecoveryContext return the signal code (details)
  284. [ARM] Check for LSTP side-effects. (details)
  285. [ARM] LowoverheadLoops: add an option to disable tail-predication (details)
  286. [AArch64] Regenerate dag-combine-mul-shl.ll checks (details)
  287. Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" (details)
  288. Improve 723fea23079f9c85800e5cdc90a75414af182bfd - Silence 'warning: unused variable' when compiling with Clang 10.0 (details)
  289. Fix f5314d15af4f4514103ea12c74cb208538b8bef5 - [Support] On Unix, let the CrashRecoveryContext return the signal code (details)
  290. [MLIR] Normalize memrefs in LoadOp and StoreOp of Standard Ops (details)
  291. [NFC][RISCV][builtins] Remove some hard-coded values from i-cache clear routine (details)
  292. lld: Try to fix check-lld on incremental builds after 8f2c31f22b974da (details)
  293. [InstCombine] regenerate test checks; NFC (details)
  294. [PhaseOrdering] move an 'opt' test from x86 codegen; NFC (details)
  295. [PhaseOrdering] move test with target requirement to x86 dir (details)
  296. [MLIR][SPIRV] Fixed dialect loading in deserialization (details)
  297. OpaquePtr: Add helpers for sret to mirror byval (details)
  298. IR: Have byref imply dereferenceable (details)
  299. [AMDGPU] Fix v3f16 handling for getresinfo (details)
  300. [AMDGPU] Use cast instead of dyn_cast (details)
  301. [RegisterCoalescer] Fix IMPLICIT_DEF init removal for a register on joining (details)
  302. [NFC][ARM] Remove dead loop. (details)
  303. [OpenMP] Introduce GOMP teams support in runtime (details)
  304. [OpenMP] Introduce GOMP mutexinoutset in the runtime (details)
  305. [OpenMP] Introduce GOMP taskwait depend in the runtime (details)
  306. [OpenMP] Fix if0 task with dependencies in the runtime (details)
  307. [X86][SSE] combineVectorTruncation - enable (pre-SSSE3) vXi16->vXi8 truncation. (details)
  308. [clang] use string tables for static diagnostic descriptions (details)
  309. Sema: add support for `__attribute__((__swift_newtype__))` (details)
  310. [lldb/examples] Add missing declaration in heap.py (details)
  311. [OpenMP] cmake option LIBOMPTARGET_NVPTX_MAX_SM for nvptx device RTL (details)
  312. [IRSim][NFC] Removing dead variables from IRSimilarityIdentifier.cpp (details)
  313. [AArch64][GlobalISel] Implement __builtin_return_address for PAC-RET (details)
  314. [OPENMP]PR47606: Do not update the lastprivate item if it was captured by reference as firstprivate data member. (details)
  315. [AMDGPU] global-isel support for RT (details)
  316. [AArch64] Regenerate dag-numsignbits.ll checks (details)
  317. [Scalar] ConstantHoistingPass - iterate with const references. NFCI. (details)
  318. [OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default (details)
  319. [SLP] Remove LHS and RHS from OperationData. (details)
  320. [APFloat] prevent NaN morphing into Inf on conversion (PR43907) (details)
  321. Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" (details)
  322. Revert "Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic" (details)
  323. [llvm-exegesis] Add whitespace between words in error message (details)
  324. Revert "[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default" (details)
  325. Basic: add an extra newline for sphinx (NFC) (details)
  326. [LLD][COFF] Avoid overwriting inputs in tests (details)
  327. [LLD][COFF] Cover usage of LLD-as-a-library in tests (details)
  328. [PR47636] Fix tryEmitPrivate to handle non-constantarraytypes (details)
  329. Add support for setting the path to llvm-symbolizer through an environment variable (details)
  330. GlobalISel: Use unmerge when copying wide vectors to result registers (details)
  331. [Modules] Add stats to measure performance of building and loading modules. (details)
  332. [mlir][shape] Start a pass that lowers shape constraints. (details)
  333. [NFC][regalloc] Remove unused API in AllocationOrder (details)
  334. [SLP] clean up - use 'const' and ArrayRef constructor; NFC (details)
  335. Revert "[Modules] Add stats to measure performance of building and loading modules." (details)
  336. AArch64/GlobalISel: Add testcase for bug 47619 (details)
  337. [IRSim] Adding wrapper pass for IRSimilarityIdentfier (details)
  338. Remove dead branch identified by @rsmith on post-commit for D88236 (details)
  339. [flang][driver] Add missing dependency (shared library builds, NFC) (details)
  340. [OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default (details)
  341. [CMake][AIX] Set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR appropriately for AIX (details)
  342. [AST] Use data-recursion when building ParentMap, avoid stack overflow. (details)
  343. Remove stale assert. (details)
  344. [mlir][NFC] Promote memory space to BaseMemRefType (details)
  345. [AArch64] __builtin_return_address for PAuth. (details)
  346. [CUDA] Added conversion functions to builtin vars. (details)
  347. [CodeGen] Postprocess PHI nodes for callbr (details)
  348. Fix testcase. (details)
  349. Revert "[CodeGen] Postprocess PHI nodes for callbr" (details)
  350. [NFCI][IR] ConstantRangeTest: refactor operation range gatherers (details)
  351. [NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing (details)
  352. Reland [CodeGen] emit CG profile for COFF object file (details)
  353. Temporary fix for D85085 debug_loc bug with basic block sections. (details)
  354. [DebugInfo] Fix bug in constructor homing with classes with trivial (details)
  355. [LLDB] Add a defensive check for member__f_ (details)
  356. [WebAssembly] Make SjLj lowering globals thread-local (details)
  357. [Instruction] Add dropLocation and updateLocationAfterHoist helpers (details)
  358. [lld-macho][re-land] Initial support for common symbols (details)
  359. [lld-macho][re-land] Implement and test resolution of common symbols (details)
  360. [lld] Make -z keep-text-section-prefix recognize .text.split. as a prefix. (details)
  361. Fix regex in test. (details)
  362. [OpenMP] OpenMPOpt Support for Globalization Remarks (details)
  363. [llvm] Add -bbsections-cold-text-prefix to emit cold clusters to a different section. (details)
  364. [RISCV] Merge the pipeline models for Rocket (details)
  365. [AMDGPU] Fixes typo in the test. NFC. (details)
  366. [MS] Simplify rules for passing C++ records (details)
  367. [MS] For unknown ISAs, pass non-trivially copyable arguments indirectly (details)
  368. [intel-pt] Refactor the JSON parsing (details)
  369. Add a static_assert confirming that DiagnosticBuilder is small (details)
  370. Revert "Add a static_assert confirming that DiagnosticBuilder is small" (details)
  371. Revert "[NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing" (details)
  372. [ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison (details)
  373. [ValueTracking] Make isGuaranteedNotToBeUndefOrPoison exit early when MetadataAsValue is given (details)
  374. [lld] Clean up in lld::{coff,elf}::link after D70378 (details)
  375. [Hexagon] Avoid crash on CONCAT_VECTORS with illegal element types (details)
  376. Hint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes (details)
  377. PR47176: Don't read from an inactive union member if a friend function (details)
  378. [xray] Function coverage groups (details)
  379. [NFC] [PPC] Add PowerPC expected IR tests for C99 complex (details)
  380. [lld][WebAssembly] Allow `atomics` feature with unshared memory (details)
  381. Fix uninitialized XRayArg (details)
  382. [libc] Using llvm_libc memcpy in mem* benchmarks. (details)
  383. [mlir][SCFToGPU] LaunchOp propagate optional attributes (details)
  384. [ARM] Find VPT implicitly predicated by VCTP (details)
  385. [flang][driver] Add missing dependency (shared library builds, NFC) (details)
  386. [AArch64][GlobalISel] Make <8 x s16> for G_INSERT_VECTOR_ELT legal. (details)
  387. [AArch64][GlobalISel] Manually select G_DUP with s8/s16 gpr scalar operands. (details)
  388. [Object/yaml2obj/obj2yaml][test] - Split, cleanup and move MIPS abi-flags.yaml test. NFCI. (details)
  389. [msan] Fix gethostent tests (details)
  390. [msan] Remove redundant test (details)
  391. Revert rGe55410f8b260 : "AArch64/GlobalISel: Add testcase for bug 47619" (details)
  392. [SplitKit] In addDeadDef tolerate parent range that defines more lanes (details)
  393. [AMDGPU] Fix declaration parameter names to match definition (details)
  394. [AArch64] PAC/BTI code generation for LLVM generated functions (details)
  395. [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers (details)
  396. [CMake][CTE] Add "check-clang-extra-..." targets to test only a particular Clang extra tool (details)
  397. [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits (details)
  398. [InstCombine] Add bswap tests from funnel shift intrinsics (details)
  399. [PPC] [AIX] Implement calling convention IR for C99 complex types on AIX (details)
  400. [mlir] [VectorOps] generalize printing support for integers (details)
  401. [clang-format] Add a MacroExpander. (details)
  402. [Analyzer] Fix unused variable warning in Release builds (details)
  403. [gn build] Port e336b74c995 (details)
  404. [SCEV] Add more tests using info from loop guards for BTC. (details)
  405. [libc++] Initial support for pre-commit CI with Buildkite (details)
  406. [SCEV] Extract code to collect conditions to lambda (NFC). (details)
  407. Typo fix; NFC (details)
  408. [InstCombine] Add 'partial' bswap tests from PR39793 (details)
  409. Fix some of the more egregious 80-col and whitespace issues; NFC (details)
  410. [InstCombine] Add some extra bswap tests from PR39793 (details)
  411. [PowerPC][NFC] Merged two switch entries. (details)
  412. [SCEV] Swap operands if LHS is not unknown. (details)
  413. [AIX] Try to not use LLVM tools while building runtimes (details)
  414. [SVE] Lower fixed length VECREDUCE_[SMAX|SMIN] to Scalable (details)
  415. [SVE] Revert accidental change from 405e22fbe8719cff6c40eec15c2044f42527f116 (details)
  416. Add a verifier check that rejects non-distinct DISubprogram function (details)
  417. [NFC] Fix minor typos in comments and reuse concreteOp. (details)
  418. [NFC] Fix syntax of ranked memrefs in the MLIR Language Reference. (details)
  419. [libc++][ci] Don't require passing --token to phabricator-report (details)
  420. [CMake] Make sure _cmake_system_name has a default (details)
  421. [SystemZ] Optimize bcmp calls (PR47420) (details)
  422. [SCEV] Add support for `x == constant` to CollectCondition. (details)
  423. [NFC] Fix build warnings (details)
  424. [profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR (details)
  425. [AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar. (details)
  426. Sema: remove unnecessary parameter for SwiftName handling (NFCI) (details)
  427. Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  428. [PowerPC] Add accumulator register class and instructions (details)
  429. Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  430. [MLIR] Fix for updating function signature in normalizing memrefs (details)
  431. AArch64/GlobalISel: Narrow stack passed argument access size (details)
  432. Revert "Add a verifier check that rejects non-distinct DISubprogram function" (details)
  433. Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line (details)
  434. [SCEV] Add another test using info from loop guards for BTC with NE. (details)
  435. [SCEV] Add support for `x != 0` to CollectCondition. (details)
  436. OpaquePtr: Add type to sret attribute (details)
  437. [flang][OpenMP] Place the insertion point to the start of the block (details)
  438. [NFC] Fix comment for DataOp (details)
  439. [lld-macho] Implement support for PIC (details)
  440. [lld-macho] Support -bundle (details)
  441. [lld-macho] Allow the entry symbol to be dynamically bound (details)
  442. [lld-macho] Support absolute symbols (details)
  443. [lld-macho] Always include custom syslibroot when running tests (details)
  444. [lld-macho] Ignore a few more undocumented flags (details)
  445. [Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules (details)
  446. [WebAssembly] Check features before making SjLj vars thread-local (details)
  447. [lldb] Pass reference instead of pointer in protected SBAddress methods. (details)
  448. Add a verifier check that rejects non-distinct DISubprogram function (details)
  449. [LoopReroll][NewPM] Port -loop-reroll to NPM (details)
  450. [InstCombine] collectBitParts - add fshl/fshr handling (details)
  451. [IRSim] Adding basic implementation of llvm-sim. (details)
  452. [InstCombine] Fix test name to match type. NFCI. (details)
  453. [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895) (details)
  454. Fix copy+paste typo in doxygen parameter name to fix Wdocumentation. NFCI. (details)
  455. Revert "[IRSim] Adding basic implementation of llvm-sim." (details)
  456. [lsan] Add interceptor for pthread_detach. (details)
  457. Add support for firmware/standalone LC_NOTE "main bin spec" corefiles (details)
  458. [msan] Skip memcpy interceptor called by gethostname (details)
  459. Sema: add support for `__attribute__((__swift_private__))` (details)
  460. Add the ability to write target stop-hooks using the ScriptInterpreter. (details)
  461. [AArch64][SVE] Drop "argmemonly" from gather/scatter with vector base. (details)
  462. [TRE][NFC] Refactor Basic Block Processing (details)
  463. C API: functions to get mask of a ShuffleVector (details)
  464. [LangRef] Clarify the behavior of memory access instructions when pointers/sizes aren't well-defined (details)
  465. [RISCV] Fix formatting (NFC) (details)
  466. [IR] Improve the description for Constant::isNormalFP to list all things that are not normal instead of just denormal. NFC (details)
  467. [Object][MachO] Refine the interface of Slice (details)
  468. [RISCV] Scheduler description for Bullet (details)
  469. [RISCV] Update driver tests (details)
  470. [lldb/bindings] Fix -Wformat after D88123 (details)
  471. [AArch64][GlobalISel] Add a few more vector type combinations for shift selection. (details)
  472. [LowerTypeTests][NewPM] Add constructor that uses command line flags (details)
  473. [AArch64][GlobalISel] If a G_BUILD_VECTOR operands are all G_CONSTANT then assign to gpr bank. (details)
  474. [Clang][OpenMP] Added support for nowait target in CodeGen via regular task (details)
  475. Common code preparation for tblgen-types patch (details)
  476. [bindings/go] Fix TestAttributes after D88241 (details)
  477. [Driver] Perform Linux distribution detection only once (details)
  478. [Driver] Fix formatting as suggested by clang-format (NFC) (details)
  479. [SelectionDAG] Add guard to automatically insert flags (details)
  480. [CodeGen] Do not call `emitGlobalConstantLargeInt` for constant requires 8 bytes to store (details)
  481. [LoopDelete][Assume] Allow deleting loops with assumes (details)
  482. [FPEnv] Evaluate constant expressions under non-default rounding modes (details)
  483. [DSE] Add tests with lifetime.end that only mark parts of the obj as dead. (details)
  484. [DSE] Unify & fix mem terminator location checks. (details)
  485. [TableGen] Add/edit Doxygen comments to match "TableGen Backend Developer's Guide." (details)
  486. Run test on particular target only (details)
  487. MachineCSE.cpp - use auto const& iterators in for-range loops to avoid copies. NFCI. (details)
  488. [DAG] Fold vector mul(x,0)/mul(x,1) to a clearing mask (details)
Commit a15b42146c617777b364e3b63babf1de547b9f26 by llvm-dev
Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI."

This reverts commit f835779160ec30340676918915526615a07e826e while I investigate some buildbot failures
The file was modifiedllvm/include/llvm/ADT/APFloat.h
The file was modifiedllvm/lib/Support/APFloat.cpp
Commit b5e49e91cb90eda1f926139c8567e27f1b664cc1 by Raphael Isemann
[lldb] Ignore certain Clang type sugar when creating the type name

Clang has some type sugar that only serves as a way to preserve the way a user
has typed a certain type in the source code. These types are currently not
unwrapped when we query the type name for a Clang type, which means that this
type sugar actually influences what formatters are picked for a certain type.
Currently if a user decides to reference a type by doing `::GlobalDecl Var = 3;`,
the type formatter for `GlobalDecl` will not be used (as the type sugar
around the type gives it the name `::GlobalDecl`. The same goes for other ways
to spell out a type such as `auto` etc.

With this patch most of this type sugar gets stripped when the full type name is
calculated. Typedefs are not getting desugared as that seems counterproductive.
I also don't desugar atomic types as that's technically not type sugar.

Reviewed By: jarin

Differential Revision: https://reviews.llvm.org/D87481
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was addedlldb/test/API/lang/cpp/elaborated-types/Makefile
The file was addedlldb/test/API/lang/cpp/elaborated-types/main.cpp
The file was addedlldb/test/API/lang/cpp/elaborated-types/TestElaboratedTypes.py
Commit a3d0dce2608bb399f2bf0122d8c6a4c7b4d6c1fa by meera.nakrani
[ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop

Changes TTI function getIntImmCostInst to take an additional Instruction parameter,
which enables us to be able to check it is part of a min(max())/max(min()) pattern that will match SSAT.
We can then mark the constant used as free to prevent it being hoisted so SSAT can still be generated.
Required minor changes in some non-ARM backends to allow for the optional parameter to be included.

Differential Revision: https://reviews.llvm.org/D87457
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit e2703c021d844ea0e5c1b203a4bd534e7a231997 by mkazantsev
[SCEV] Handle `less` predicates for FoundPred = NE

Currently these predicates are ignored, yet their handling is
pretty simple. I could not find a single test where it would
actually change something, but it's only because isImpliedCondOperands
is not smart enough to prove it further on. Yet the situation when
we come there with `less` predicate is pretty common.

Differential Revision: https://reviews.llvm.org/D87890
Reviewed By: fhahn
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 0fb97fd6a4f2ec9267a1f4d039ec8895c2460ab7 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default wchar_t type for zOS

Set the default wchar_t type on z/OS, and unsigned as the default.

Reviewed By: hubert.reinterpretcast, fanbo-meng

Differential Revision: https://reviews.llvm.org/D87624
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Sema/wchar.c
The file was modifiedclang/test/Lexer/wchar-signedness.c
The file was modifiedclang/test/CodeGen/wchar-size.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Preprocessor/wchar_t.c
Commit 967e29ff8c8f572aceaa0f551b281a4d7c4a73bd by wei.huang
[LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk

Update the thunk range error report for PPC64PCRelLongBranchThunk and add a range
error test case for PPC64R12SetupStub.

Differential Revision: https://reviews.llvm.org/D87381
The file was modifiedlld/ELF/Thunks.cpp
The file was modifiedlld/test/ELF/ppc64-pcrel-long-branch-error.s
The file was addedlld/test/ELF/ppc64-pcrel-call-to-toc-error.s
Commit 94c799fecff06c614cb68976288fc7b8c9a11139 by sam.parker
[ARM] Trying to fix asan buildbot
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 0451ed961993d4f52f4083192de0e57a1b246ac6 by Louis Dionne
[libc++] NFC: Remove trailing whitespace from the feature test macro table
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
Commit d682a36ef9dace4887c42d392110ea21eb9e31a6 by llvm-dev
[SLP] Merge null and dyn_cast<> checks into dyn_cast_or_null<>. NFCI.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit e952bb709ff70e45c80434fbb8e0b97b52afcf01 by frgossen
[MLIR][Standard] Add `atan` to standard dialect

Differential Revision: https://reviews.llvm.org/D88091
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 6dc06fa09d1a259df1f897dc821ba1544e2bcd24 by ecaldas
[SyntaxTree] Add tests for the assignment of the `canModify` tag.

Differential Revision: https://reviews.llvm.org/D88077
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Commit 062276c691099f977e69c101f21c1a9ac549f283 by spatel
[SLP] clean up code in gather(); NFC

1. Use range for-loop to avoid repeatedly accessing end index.
2. Better variable names.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit bbd49a0266921ce68a8581b8ae3d5c88eda8c679 by spatel
[SLP] move misplaced code comments; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 0c3bfbe4bc212c8e6b54ffd6d9f59ae513e31247 by spatel
[SLP] reduce code duplication for checking parent block; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 7e78d89052b15f32ea56f018698194c7c9627152 by stefanp
[PowerPC] Fix for compiler side issue in PCRelative Local Exec

Stop combining loads and stores with PPCISD::ADD_TLS before we can merge the
node with with TLS_LOCAL_EXEC_MAT_ADDR. The issue is that
TLS_LOCAL_EXEC_MAT_ADDR cannot be selected by itself and requires the previous
ADD_TLS node that goes with it. However, we sometimes try to combine ADD_TLS
with loads and stores that come after it. If this happens then the ADD_TLS is
removed and TLS_LOCAL_EXEC_MAT_ADDR cannot be selected.

While this bug fix will address the issue it my not be ideal from a performance
perspective as we may be able to add patterns to combine TLS_LOCAL_EXEC_MAT_ADDR
with ADD_TLS with the load and store that comes after it all in one. However,
this is beyond the scope of this patch.

Reviewed By: NeHuang

Differential Revision: https://reviews.llvm.org/D88030
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll
Commit bf202b8ce77caaace45de87314d2263e53f81021 by david.truby
[NFC][mlir] Remove llvm:: prefix from SmallVector in parallel pretty printer.

This prefix is unnecessary as SmallVector is re-exported in the mlir namespace.

Differential Revision: https://reviews.llvm.org/D88025
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Commit e8fb4eba4fb6cbda661080d76059f2b130df5020 by daltenty
[AIX][clang][driver] Make sure crti[_64].o is linked in C++ mode

since crti is required for functional static initialization.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87927
The file was modifiedclang/test/Driver/aix-ld.c
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
Commit af712986488f5f2d37a35224a04d1dc9d57f32d2 by llvm-dev
[X86] Cleanup/add namespace closure comments. NFCI.

Fixes some clang-tidy llvm-namespace-comment warnings.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
Commit 0793b45660a9cfcc83a3f3ab326b8794782c461c by llvm-dev
[X86] Add missing namespace closure comments. NFCI.

Fixes some clang-tidy llvm-namespace-comment warnings.
The file was modifiedllvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
The file was modifiedllvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
The file was modifiedllvm/lib/Target/X86/X86WinEHState.cpp
Commit 534f6e171808cfe9f3f9e3de7e754715d038c409 by michael.hliao
[PeepholeOptimizer] Enhance the redundant COPY elimination.

- Eliminate redundant COPYs from the same register & subregister pair.

Differential Revision: https://reviews.llvm.org/D87939
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was addedllvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
Commit c671e34bf2ae0eaa78d214b849ddd5de30b3b5be by flo
[VPlan] Add dump() helper to VPValue & VPRecipeBase.

This provides a convenient way to print VPValues and recipes in a
debugger. In particular it saves the user from instantiating
VPSlotTracker to print recipes or values.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
Commit 7afbf3192dc5690285edbfb336c061a9d43e247e by gkm
[lld-macho] minimally handle option -dynamic

Stifle the warning for unimplemented option `-dyamic`, since it is already the default. Add `Config::staticLink` and skeletal support for altering the flag, but otherwise leave the option `-static` as hidden and its warning in place.

Differential Revision: https://reviews.llvm.org/D88045
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Options.td
Commit 89074bdc813a0e8bd9ff5e69e76b134dc7ae1bd9 by daltenty
[AIX][compiler-rt] Use the AR/ranlib mode flag for 32-bit and 64-bit mode

since we will be building both 32-bit and 64-bit compiler-rt builtins
from a single configuration.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87113
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
Commit 0724f8bf47f8cb073d41e2750d45d5b05e66bf0b by Louis Dionne
[libc++] Implement C++20's P0784 (More constexpr containers)

This commit adds std::construct_at, and marks various members of
std::allocator_traits and std::allocator as constexpr. It also adds
tests and turns the existing tests into hybrid constexpr/runtime tests.

Thanks to Richard Smith for initial work on this, and to Michael Park
for D69803, D69132 and D69134, which are superseded by this patch.

Differential Revision: https://reviews.llvm.org/D68364
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.globals/eq.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp
The file was addedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.constexpr.size.verify.cpp
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
The file was modifiedlibcxx/include/version
Commit a031ef6f3ab451d797763275ce4bc658aa940794 by aeubanks
[GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def
The file was modifiedllvm/test/Transforms/GVNSink/struct.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 7b51961cd0748ed5bd3b6fdacbfe596c374c93bc by kostyak
[scudo][standalone] Remove the pthread key from the shared TSD

https://reviews.llvm.org/D87420 removed the uses of the pthread key,
but the key itself was left in the shared TSD registry. It is created
on registry initialization, and destroyed on registry teardown.

There is really no use for it now, so we can just remove it.

Differential Revision: https://reviews.llvm.org/D88046
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
Commit 6537004913f3009d896bc30856698e7d22199ba7 by alexandre.ganea
[ThinLTO] Re-order modules for optimal multi-threaded processing

Re-use an optimizition from the old LTO API (used by ld64).
This sorts modules in ascending order, based on bitcode size, so that larger modules are processed first. This allows for smaller modules to be process last, and better fill free threads 'slots', and thusly allow for better multi-thread load balancing.

In our case (on dual Intel Xeon Gold 6140, Windows 10 version 2004, two-stage build), this saves 15 sec when linking `clang.exe` with LLD & `-flto=thin`, `/opt:lldltojobs=all`, no ThinLTO cache, -DLLVM_INTEGRATED_CRT_ALLOC=d:\git\rpmalloc.

Before patch: 102 sec
After patch: 85 sec

Inspired by the work done by David Callahan in D60495.

Differential Revision: https://reviews.llvm.org/D87966
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/include/llvm/LTO/LTO.h
The file was modifiedllvm/lib/LTO/LTO.cpp
Commit be2158bdccda5e7c3d9492654500293f8399b87c by aeubanks
[DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM
The file was modifiedllvm/test/DebugInfo/Generic/block-asan.ll
The file was modifiedllvm/test/DebugInfo/X86/asan_debug_info.ll
Commit 9bb5ecf1f760e1b1fe4697189e4db99100baffad by Saleem Abdulrasool
Sema: introduce `__attribute__((__swift_name__))`

This introduces the new `swift_name` attribute that allows annotating
APIs with an alternate spelling for Swift.  This is used as part of the
importing mechanism to allow interfaces to be imported with a new name
into Swift.  It takes a parameter which is the Swift function name.
This parameter is validated to check if it matches the possible
transformed signature in Swift.

This is based on the work of the original changes in
https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c

Differential Revision: https://reviews.llvm.org/D87534
Reviewed By: Aaron Ballman, Dmitri Gribenko
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/SemaObjC/attr-swift_name.m
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
Commit bd31abc1d0f17536fcd85f4dfcc79d37834aac20 by htobonmm7
[OpenMPOpt] Refactored "issue" and "wait" declarations for data map runtime call.

Refactored __tgt_target_data_begin_mapper_<issue|wait> to receive the handle as an input/output argument.
This given the compiler warning of returning the handle as copy.

Differential Revision: https://reviews.llvm.org/D88029
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Commit 703d3f25976c98bcf0e4717087c5a51b92c5f51a by gkm
[lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16

ld64 is cool with leading `0x` for hex command-line args, and we should be also.

Reviewed By: #lld-macho, int3

Differential Revision: https://reviews.llvm.org/D88065
The file was modifiedlld/test/MachO/headerpad.s
The file was modifiedlld/Common/Args.cpp
Commit 4c23cf3ca0e07482b7ab7989b4e480e1cc0d6091 by mascasa
[sanitizer_common] Add debug print to sysmsg.c
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
Commit 723fea23079f9c85800e5cdc90a75414af182bfd by alexandre.ganea
Silence 'warning: unused variable' when compiling with Clang 10.0
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
Commit 4dada8d617d81cd00e4028e09f7093f5b10a8a41 by llvm-dev
[DAG] Remove DAGTypeLegalizer::GenWidenVectorTruncStores (PR42046)

Just scalarize trunc stores - GenWidenVectorTruncStores does the same thing but is flawed (PR42046) and unused.

Differential Revision: https://reviews.llvm.org/D87708
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Commit b3147058dec7d42ae0284d6e6edf25eb762c8b89 by amy.kwan1
[PowerPC] Implement the 128-bit Vector Divide Extended Builtins in Clang/LLVM

This patch implements the 128-bit vector divide extended builtins in Clang/LLVM.
These builtins map to the vdivesq and vdiveuq instructions respectively.

Differential Revision: https://reviews.llvm.org/D87729
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/test/CodeGen/PowerPC/p10-vector-divide.ll
The file was modifiedclang/lib/Headers/altivec.h
Commit 079757b551f3ab5218af7344a7ab3c79976ec478 by amy.kwan1
[PowerPC] Implement Vector String Isolate Builtins in Clang/LLVM

This patch implements the vector string isolate (predicate and non-predicate
versions) builtins. The predicate builtins are custom selected within PPCISelDAGToDAG.

Differential Revision: https://reviews.llvm.org/D87671
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/p10-string-ops.ll
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Commit d7336ad5ff985dabbe26a728a5789c33b9167286 by ishizaki
[mlir] NFC: fix trivial typos under include directory

Reviewed By: mravishankar, jpienaar

Differential Revision: https://reviews.llvm.org/D88040
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVAttributes.h
The file was modifiedmlir/include/mlir-c/StandardAttributes.h
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/include/mlir/Reducer/ReductionNode.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/include/mlir/Pass/AnalysisManager.h
The file was modifiedmlir/include/mlir/Reducer/Passes/OpReducer.h
The file was modifiedmlir/include/mlir/Support/InterfaceSupport.h
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/include/mlir/Reducer/ReductionTreeUtils.h
The file was modifiedmlir/include/mlir/Interfaces/SideEffectInterfaces.td
The file was modifiedmlir/include/mlir/Analysis/Presburger/Simplex.h
The file was modifiedmlir/include/mlir-c/StandardTypes.h
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/include/mlir/Reducer/Tester.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 2a6db92ca97da946307b559e63c6ac75caf4bbd6 by jpienaar
[mlir][ods] Make OpBuilder and OperationState optional

The OpBuilder is required to start with OpBuilder and OperationState, so remove
the need for the user to specify it. To make it simpler to update callers,
retain the legacy behavior for now and skip injecting OpBuilder/OperationState
when params start with OpBuilder.

Related to bug 47442.

Differential Revision: https://reviews.llvm.org/D88050
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit c3c08bfdfd6244e0429753ee56df39c90187d772 by ecaldas
[SyntaxTree] Test the List API

Differential Revision: https://reviews.llvm.org/D87839
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 625761825620f19a44c7a1482ce05d678a1b0deb by sam.mccall
[ASTMatchers] Avoid recursion in ancestor matching to save stack space.

A recent change increased the stack size of memoizedMatchesAncestorOfRecursively
leading to stack overflows on real code involving large fold expressions.
It's not totally unreasonable to choke on very deep ASTs, but as common
infrastructure it's be nice if ASTMatchFinder is more robust.
(It already uses data recursion for the regular "downward" traversal.)

Differential Revision: https://reviews.llvm.org/D86964
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit d1e0f9f3cf13e071d788149bde810c46cd14c74b by mtrofin
[NFC][regalloc] Simplify/conform to style guide indvars in Greedy

Differential Revision: https://reviews.llvm.org/D88055
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
Commit 848d66fafd2ee4c15292fa5dd25ca752a3f65537 by paul
Version 0.5 of the new "TableGen Backend Developer's Guide."
Files modified to take comments into account.
MLIR documentation updated for new TableGen documentation files.
The file was addedllvm/docs/TableGen/BackGuide.rst
The file was addedllvm/lib/TableGen/TableGenBackendSkeleton.cpp
The file was modifiedllvm/lib/TableGen/CMakeLists.txt
The file was modifiedmlir/docs/Tutorials/QuickstartRewrites.md
The file was modifiedllvm/docs/TableGen/BackEnds.rst
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedllvm/docs/TableGen/ProgRef.rst
Commit 8a64689e264ce039e4fb0a09c3e136a1c8451838 by Jan Korous
[Analyzer][WebKit] UncountedLocalVarsChecker

Differential Review: https://reviews.llvm.org/D83259
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
The file was addedclang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
The file was modifiedclang/docs/analyzer/checkers.rst
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
Commit a75f75415aaeee4159c1771d946bb4ae957d7a74 by llvmgnsyncbot
[gn build] Port 848d66fafd2
The file was modifiedllvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn
Commit 5ae94047bff1e2c92f9507443bf97ff39ee8243b by llvmgnsyncbot
[gn build] Port 8a64689e264
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 16ca711803300bd966acf8759876a1ccd478c616 by hokein.wu
[clang] Fix a typo-correction crash

We leave a dangling TypoExpr when typo-correction is performed
successfully in `checkArgsForPlaceholders`, which leads a crash in the
later TypoCorrection.

This code was added in https://github.com/llvm/llvm-project/commit/1586782767938df3a20f7abc4d8335c48b100bc4,
and it didn't seem to have enough test coverage.
The fix is to remove this part, and no failuer tests.

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D87815
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCXX/typo-correction-crash.cpp
Commit a6f8aeb51c731ce01b995725cbda3f9be9059ab0 by hubert.reinterpretcast
[test][MC] Rehabilitate llvm/test/MC/COFF/bigobj.py

The subject test was not actually running. This patch adds the
relevant suffix to the list of lit case filename extensions for the
enclosing directory.

Minor adjustments are also made to deal with bit rot.

Reviewed By: daltenty

Differential Revision: https://reviews.llvm.org/D87122
The file was modifiedllvm/test/MC/COFF/bigobj.py
The file was modifiedllvm/test/MC/COFF/lit.local.cfg
Commit b0f58aa116a1ac2c2fa6b1667017bb29b3418411 by hubert.reinterpretcast
[NFC] Replace tabs with spaces in PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit 6801950192ff4f6d60c822fc721354f34e609e7a by hubert.reinterpretcast
[InstCombine] For pow(x, +/-0.5), stop falling into pow(x, 1.5), etc. case

The current code for handling pow(x, y) where y is an integer plus 0.5
is not explicitly guarded against attempting to transform the case where
abs(y) is exactly 0.5.

The latter case is meant to be handled by `replacePowWithSqrt`. Indeed,
if the pow(x, integer+0.5) case proceeds past a certain point, it will
hit an assertion by attempting to form pow(x, 0) using `getPow`.

This patch adds an explicit check to prevent attempting the
pow(x, integer+0.5) transformation on pow(x, +/-0.5) as suggested during
the review of D87877. This has the effect of retaining the shrinking of
`pow` to `powf` when the `sqrt` libcall cannot be formed.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D88066
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/pow-4.ll
Commit 8457ae0d9359590b2db1e8e090531197be4d62c6 by Jonas Devlieghere
[lldb] Skip test_common_completion_process_pid_and_name with reproducers

This test launches a subprocess which will have a different PID during
capture and replay.
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 783dc7dc7ed7487d0782c2feb8854df949b98e69 by Jonas Devlieghere
[lldb] Skip TestMiniDumpUUID with reproducers

The modules not getting orphaned is wreaking havoc when the UUIDs match
between tests.
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
Commit a5141b83f1f1b94886d17c9091f09d4c63568dd2 by aeubanks
[LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM
The file was modifiedllvm/test/Analysis/LoopInfo/annotated-parallel-simple.ll
The file was modifiedllvm/test/Analysis/LoopInfo/2003-05-15-NestingProblem.ll
The file was modifiedllvm/test/Analysis/LoopInfo/annotated-parallel-complex.ll
Commit e16d10b7535ab2224e5bdc533860b7eadf596164 by aeubanks
[test][NewPM] Pin do-nothing-intrinsic.ll to legacy PM

It tests CallGraph infra around the legacy PM which isn't relevant in NPM.
The file was modifiedllvm/test/Analysis/CallGraph/do-nothing-intrinsic.ll
Commit 36ea18b06430e0a1094f9b0994e4abb5cc2175c9 by lebedev.ri
[NFC][CVP] Add tests for srem with potentially different sigdness domains
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/srem.ll
Commit 4eeeb356fc41babf46797b062f74f978b818622b by lebedev.ri
[CVP] Enhance SRem -> URem fold to work not just on non-negative operands

This is a continuation of 8d487668d09fb0e4e54f36207f07c1480ffabbfd,
the logic is pretty much identical for SRem:

Name: pos pos
Pre: C0 >= 0 && C1 >= 0
%r = srem i8 C0, C1
  =>
%r = urem i8 C0, C1

Name: pos neg
Pre: C0 >= 0 && C1 <= 0
%r = srem i8 C0, C1
  =>
%r = urem i8 C0, -C1

Name: neg pos
Pre: C0 <= 0 && C1 >= 0
%r = srem i8 C0, C1
  =>
%t0 = urem i8 -C0, C1
%r = sub i8 0, %t0

Name: neg neg
Pre: C0 <= 0 && C1 <= 0
%r = srem i8 C0, C1
  =>
%t0 = urem i8 -C0, -C1
%r = sub i8 0, %t0

https://rise4fun.com/Alive/Vd6

Now, this new logic does not result in any new catches
as of vanilla llvm test-suite + RawSpeed.
but it should be virtually compile-time free,
and it may be important to be consistent in their handling,
because if we had a pair of sdiv-srem, and only converted one of them,
-divrempairs will no longer see them as a pair,
and thus not "merge" them.
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/srem.ll
Commit b38d897e802664034c7e6e4654328256ed370a61 by lebedev.ri
[ConstantRange] binaryXor(): special-case binary complement case - the result is precise

Use the fact that `~X` is equivalent to `-1 - X`, which gives us
fully-precise answer, and we only need to special-handle the wrapped case.

This fires ~16k times for vanilla llvm test-suite + RawSpeed.
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 2ed9c4c70bbb36fa12d48a73abc2d89c0af80060 by lebedev.ri
[ConstantRange] Introduce getActiveBits() method

Much like APInt::getActiveBits(), computes how many bits are needed
to be able to represent every value in this constant range,
treating the values as unsigned.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
Commit ba5afe5588ded61052c8727dbcb0407b5de4410c by lebedev.ri
[NFC][CVP] processUDivOrURem(): refactor to use ConstantRange::getActiveBits()

As an exhaustive test shows, this logic is fully identical to the old
implementation, with exception of the case where both of the operands
had empty ranges:

```
TEST_F(ConstantRangeTest, CVP_UDiv) {
  unsigned Bits = 4;
  EnumerateConstantRanges(Bits, [&](const ConstantRange &CR0) {
    if(CR0.isEmptySet())
      return;
    EnumerateConstantRanges(Bits, [&](const ConstantRange &CR1) {
      if(CR0.isEmptySet())
        return;

      unsigned MaxActiveBits = 0;
      for (const ConstantRange &CR : {CR0, CR1})
        MaxActiveBits = std::max(MaxActiveBits, CR.getActiveBits());

      ConstantRange OperandRange(Bits, /*isFullSet=*/false);
      for (const ConstantRange &CR : {CR0, CR1})
        OperandRange = OperandRange.unionWith(CR);
      unsigned NewWidth = OperandRange.getUnsignedMax().getActiveBits();

      EXPECT_EQ(MaxActiveBits, NewWidth) << CR0 << " " << CR1;
    });
  });
}
```
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit b85395f309890bac5f2d3296ce08dc46c24ef77f by lebedev.ri
[NFC][APInt] Refactor getMinSignedBits() in terms of getNumSignBits()

This is fully identical to the old implementation, just easier to read.
The file was modifiedllvm/include/llvm/ADT/APInt.h
Commit 7465da2077c2b8def7440094e15ac1199226bc25 by lebedev.ri
[ConstantRange] Introduce getMinSignedBits() method

Similar to the ConstantRange::getActiveBits(), and to similarly-named
methods in APInt, returns the bitwidth needed to represent
the given signed constant range
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit 4977eadee56f81377049fb8763350a66cfd2d078 by lebedev.ri
[NFC][CVP] Give a better name STATISTIC() counting udiv i16 -> udiv i8 xforms
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit cb10d5d714e9ae83cfd392dd127e13c51f4d299d by lebedev.ri
[NFC][CVP] Add tests for SDiv/SRem narrowing
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/srem.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sdiv.ll
Commit b289dc530632613edb3eb067895c1981cb77ccd0 by lebedev.ri
[CVP] Narrow SDiv/SRem to the smallest power-of-2 that's sufficient to contain its operands

This is practically identical to what we already do for UDiv/URem:
  https://rise4fun.com/Alive/04K

Name: narrow udiv
Pre: C0 u<= 255 && C1 u<= 255
%r = udiv i16 C0, C1
  =>
%t0 = trunc i16 C0 to i8
%t1 = trunc i16 C1 to i8
%t2 = udiv i8 %t0, %t1
%r = zext i8 %t2 to i16

Name: narrow exact udiv
Pre: C0 u<= 255 && C1 u<= 255
%r = udiv exact i16 C0, C1
  =>
%t0 = trunc i16 C0 to i8
%t1 = trunc i16 C1 to i8
%t2 = udiv exact i8 %t0, %t1
%r = zext i8 %t2 to i16

Name: narrow urem
Pre: C0 u<= 255 && C1 u<= 255
%r = urem i16 C0, C1
  =>
%t0 = trunc i16 C0 to i8
%t1 = trunc i16 C1 to i8
%t2 = urem i8 %t0, %t1
%r = zext i8 %t2 to i16

... only here we need to look for 'min signed bits', not 'active bits',
and there's an UB to be aware of:
  https://rise4fun.com/Alive/KG86
  https://rise4fun.com/Alive/LwR

Name: narrow sdiv
Pre: C0 <= 127 && C1 <= 127 && C0 >= -128 && C1 >= -128
%r = sdiv i16 C0, C1
  =>
%t0 = trunc i16 C0 to i9
%t1 = trunc i16 C1 to i9
%t2 = sdiv i9 %t0, %t1
%r = sext i9 %t2 to i16

Name: narrow exact sdiv
Pre: C0 <= 127 && C1 <= 127 && C0 >= -128 && C1 >= -128
%r = sdiv exact i16 C0, C1
  =>
%t0 = trunc i16 C0 to i9
%t1 = trunc i16 C1 to i9
%t2 = sdiv exact i9 %t0, %t1
%r = sext i9 %t2 to i16

Name: narrow srem
Pre: C0 <= 127 && C1 <= 127 && C0 >= -128 && C1 >= -128
%r = srem i16 C0, C1
  =>
%t0 = trunc i16 C0 to i9
%t1 = trunc i16 C1 to i9
%t2 = srem i9 %t0, %t1
%r = sext i9 %t2 to i16


Name: narrow sdiv
Pre: C0 <= 127 && C1 <= 127 && C0 >= -128 && C1 >= -128 && !(C0 == -128 && C1 == -1)
%r = sdiv i16 C0, C1
  =>
%t0 = trunc i16 C0 to i8
%t1 = trunc i16 C1 to i8
%t2 = sdiv i8 %t0, %t1
%r = sext i8 %t2 to i16

Name: narrow exact sdiv
Pre: C0 <= 127 && C1 <= 127 && C0 >= -128 && C1 >= -128 && !(C0 == -128 && C1 == -1)
%r = sdiv exact i16 C0, C1
  =>
%t0 = trunc i16 C0 to i8
%t1 = trunc i16 C1 to i8
%t2 = sdiv exact i8 %t0, %t1
%r = sext i8 %t2 to i16

Name: narrow srem
Pre: C0 <= 127 && C1 <= 127 && C0 >= -128 && C1 >= -128 && !(C0 == -128 && C1 == -1)
%r = srem i16 C0, C1
  =>
%t0 = trunc i16 C0 to i8
%t1 = trunc i16 C1 to i8
%t2 = srem i8 %t0, %t1
%r = sext i8 %t2 to i16


The ConstantRangeTest.losslessSignedTruncationSignext test sanity-checks
the logic, that we can losslessly truncate ConstantRange to
`getMinSignedBits()` and signext it back, and it will be identical
to the original CR.

On vanilla llvm test-suite + RawSpeed, this fires 1262 times,
while the same fold for UDiv/URem only fires 384 times. Sic!

Additionally, this causes +606.18% (+1079) extra cases of
aggressive-instcombine.NumDAGsReduced, and +473.14% (+1145)
of aggressive-instcombine.NumInstrsReduced folds.
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/srem.ll
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sdiv.ll
Commit fb1de7ed921c3c1531c0cb28b9603af22ecd0529 by joker.eph
Implement a new kind of Pass: dynamic pass pipeline

Instead of performing a transformation, such pass yields a new pass pipeline
to run on the currently visited operation.
This feature can be used for example to implement a sub-pipeline that
would run only on an operation with specific attributes. Another example
would be to compute a cost model and dynamic schedule a pipeline based
on the result of this analysis.

Discussion: https://llvm.discourse.group/t/rfc-dynamic-pass-pipeline/1637

Recommit after fixing an ASAN issue: the callback lambda needs to be
allocated to a temporary to have its lifetime extended to the end of the
current block instead of just the current call expression.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D86392
The file was addedmlir/test/Pass/dynamic-pipeline.mlir
The file was modifiedmlir/include/mlir/Pass/Pass.h
The file was addedmlir/test/Pass/dynamic-pipeline-fail-on-parent.mlir
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was addedmlir/test/Pass/dynamic-pipeline-nested.mlir
The file was addedmlir/test/lib/Transforms/TestDynamicPipeline.cpp
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
Commit ef7d22a98683ce98b6a2c4d0818d2d9978d42861 by Raphael Isemann
Revert "[lldb] XFAIL TestMemoryHistory on Linux"

This reverts commit 7518006d75accd21325747430d6bced66b2c5ada.

This test apparently works on the Swift CI ubuntu bot, so it shouldn't be
XFAIL'd on Linux.
The file was modifiedlldb/test/API/functionalities/asan/TestMemoryHistory.py
Commit 2bc589bbb8d7d00f5939e9cd33cbe57e47d61f7e by llvm-project
[flang][msvc] Add explicit function template argument to applyFunction. NFC.

Msvc has difficulties deducing the template argument here. The error message is:
```
basic-parsers.h(790,12): error C2672: 'applyFunction': no matching overloaded function found
```
Explicitly pass the first template argument to help it.

This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D87961
The file was modifiedflang/lib/Parser/basic-parsers.h
Commit 97ca41e1ddfbb6812e2042dcbd2db6e0e7d0bc33 by llvm-project
[flang][msvc] Add explicit function template argument to applyLamda. NFC.

Like in D87961, msvc has difficulties deducing the template argument. The error message is:
```
expr-parsers.cpp(383): error C2672: 'applyLambda': no matching overloaded function found
```
Explicitly pass the first template argument to help it.

This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D88001
The file was modifiedflang/lib/Parser/expr-parsers.cpp
Commit 62afc3129dc28638d950c17117347b4e001a613d by llvm-project
[flang][msvc] Explicitly reference "this" inside closure. NFC.

The Microsoft compiler seems to have difficulties to decide between a const/non-const method of a captured object context in a closure. The error message is:
```
symbol.cpp(261): error C2668: 'Fortran::semantics::Symbol::detailsIf': ambiguous call to overloaded function
symbol.h(535): note: could be 'const D *Fortran::semantics::Symbol::detailsIf<Fortran::semantics::DerivedTypeDetails>(void) const'
symbol.h(534): note: or       'D *Fortran::semantics::Symbol::detailsIf<Fortran::semantics::DerivedTypeDetails>(void)'
symbol.cpp(261): note: while trying to match the argument list '()'
```
Explicitly using the this-pointer resolves this problem.

This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D88052
The file was modifiedflang/lib/Semantics/symbol.cpp
Commit b89059a31347dd09b55a96b99b3dbe38d7749908 by tmsriram
Revert "The wrong placement of add pass with optimizations led to -funique-internal-linkage-names being disabled."

This reverts commit 6950db36d33d85d18e3241ab6c87494c05ebe0fb.
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/test/CodeGen/unique-internal-linkage-names.cpp
Commit 21f5f509c8a066a9647a3f5b86f6931db40b7fc7 by paul
Two patches to fix the broken build.
One to fix a C++ compiler warning.
One to allow Sphinx to find a new document.
The file was modifiedllvm/docs/TableGen/index.rst
The file was modifiedllvm/lib/TableGen/TableGenBackendSkeleton.cpp
Commit f21212215031e5871c389999daf3b06b1a6250fd by i
[lldb][test] Remove accidental import pdb in 783dc7dc7ed7487d0782c2feb8854df949b98e69
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
Commit c45596147938191b0ffde91ee8d506e315bf4c8f by daltenty
[compiler-rt][AIX] Add CMake support for 32-bit Power builds

This patch enables support for building compiler-rt builtins for 32-bit
Power arch on AIX. For now, we leave out the specialized ppc builtin
implementations for 128-bit long double and friends since those will
need some special handling for AIX.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87383
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
The file was modifiedcompiler-rt/cmake/builtin-config-ix.cmake
Commit cf112382ddd0d717edf0b8a3e5b061de925258e9 by mtrofin
[ThinLTO] Option to bypass function importing.

This completes the circle, complementing -lto-embed-bitcode
(specifically, post-merge-pre-opt). Using -thinlto-assume-merged skips
function importing. The index file is still needed for the other data it
contains.

Differential Revision: https://reviews.llvm.org/D87949
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
The file was modifiedclang/include/clang/CodeGen/BackendUtil.h
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/include/llvm/LTO/LTOBackend.h
The file was modifiedclang/test/CodeGen/thinlto_embed_bitcode.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit 4edb3d3646c46f15ca93bf19ed96a9169143ed6d by dancgr
[AArch64] Avoid pairing loads with same result reg

When pairing ldr instructions to an ldp instruction, we cannot pair two ldr
destination registers where one is a sub or super register of the other.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D86906
The file was addedllvm/test/CodeGen/AArch64/aarch64-ldst-subsuperReg-no-ldp.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Commit 89c1e35f3c5060c23f9eed409f89c2c9908b87ed by sdi1600105
[LoopInfo] empty() -> isInnermost(), add isOutermost()

Differential Revision: https://reviews.llvm.org/D82895
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopFuse.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopPeel.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopInfo.h
The file was modifiedllvm/lib/CodeGen/HardwareLoops.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/lib/Analysis/LoopCacheAnalysis.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/lib/Analysis/LoopNestAnalysis.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Analysis/LoopPass.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopInfoImpl.h
Commit 90242caca2074dab5a9b76e5bc36d9fafd2179a7 by rnk
Revert "[CodeGen] emit CG profile for COFF object file"

This reverts commit 91aed9bf975f1e4346cc8f4bdefc98436386ced2, it is
causing link errors.
The file was modifiedllvm/include/llvm/Target/TargetLoweringObjectFile.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/Target/TargetLoweringObjectFile.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was removedllvm/test/MC/COFF/cgprofile.ll
Commit a7873e5abc65125087f2ce7ab3a720a113d8ffa5 by sdi1600105
Small fixes for "[LoopInfo] empty() -> isInnermost(), add isOutermost()"
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 49f2744931762323dfa5ef96e1baa12bb79d5b9a by i
Change LoopInfo::empty to isInnermost after D82895
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Commit fdc41e11f9687a50c97e2a59663bf2d541ff5489 by Louis Dionne
[libc++] Implement LWG1203

Libc++ had an issue where nonsensical code like

  decltype(std::stringstream{} << std::vector<int>{});

would compile, as long as you kept the expression inside decltype in
an unevaluated operand. This turned out to be that we didn't implement
LWG1203, which clarifies what we should do in that case.

rdar://58769296
The file was modifiedlibcxx/www/cxx2a_status.html
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
The file was modifiedlibcxx/include/istream
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp
The file was modifiedlibcxx/include/ostream
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp
Commit d4e3e1e548793c6686e19f8ba50bf62f3fde7545 by michael.hliao
Fix build due to renaming in LoopInfo.
The file was modifiedllvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
Commit e1a3271ebb8756150fb78824b65fe0a752f6ec3d by listmail
[AArch64] Teach analyzeBranch to remove branch equivelent to fallthrough

The motivation here is that MachineBlockPlacement relies on analyzeBranch to remove branches to fallthrough blocks when the branch is not fully analyzeable. With the introduction of the FAULTING_OP psuedo for implicit null checking (see D87861), this case becomes important. Note that it's hard to otherwise exercise this path as BranchFolding handle's any fully analyzeable branch sequence without using this interface.

p.s. For anyone who saw my comment in the original review, what I thought was an issue in BranchFolding originally turned out to simply be a bug in my patch. (Now fixed.)

Differential Revision: https://reviews.llvm.org/D88035
The file was modifiedllvm/test/CodeGen/AArch64/implicit-null-check.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Commit 2404ed02025c210c707a856f69604ef20083dcbb by Louis Dionne
[libc++] NFC: Collocate C++20 removed members of std::allocator
The file was modifiedlibcxx/include/memory
Commit 7656dd33d9326df0b86f08676474dbf8055866b8 by Louis Dionne
[libc++] NFC: Reindent the feature test macro generation script

Each feature-test macro is now a clear block indentation-wise.
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
Commit d6ac649ccda289ecc2d2c0cb51892d57e8ec328c by a.bataev
[SLP]Fix coding style, NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 32c9991dab5cb1454959561c77f9d0089d981429 by hubert.reinterpretcast
[InstCombine] Fix errno bug in pow expansion to sqrt

A conversion from `pow` to `sqrt` shall not call an `errno`-setting
`sqrt` with -//infinity//: the `sqrt` will set `EDOM` where the `pow`
call need not.

This patch avoids the erroneous (pun not intended) transformation by
applying the restrictions discussed in the thread for
https://lists.llvm.org/pipermail/llvm-dev/2020-September/145051.html.

The existing tests are updated (depending on emphasis in the checks for
library calls, avoidance of overlap, and overall coverage):
  - to add `ninf`, retaining the intended library call,
  - to use the intrinsic, retaining the use of `select`, or
  - to expect the replacement to not occur.

The following is tested:
  - The pow intrinsic folds to a `select` instruction to
    handle -//infinity//.
  - The pow library call folds, with `ninf`, to `sqrt` without the
    `select` instruction associated with handling -//infinity//.
  - The pow library call does not fold to `sqrt` without `ninf`.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D87877
The file was modifiedllvm/test/Transforms/InstCombine/win-math.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow-sqrt.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/pow-1.ll
Commit a60852e9d692e3c38d9b58b7ec1679e07af2b8f7 by hubert.reinterpretcast
[InstCombine][NFC][tests] Add ninf base value case to pow-sqrt.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow-sqrt.ll
Commit ed621e76a9889e25a9cbed47e0b96a7a6fdbdb80 by walter erquinigo
[trace] avoid using <regex>

Easy fix based on the feedback by maskray on
https://reviews.llvm.org/D85705.
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp
The file was modifiedlldb/source/Target/TraceSettingsParser.cpp
Commit 71be8809d01f0199032242b9f11d6a7a471183fd by Lang Hames
[ORC][examples] Add missing library dependencies.
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt
Commit af429cd89bf83bbbef295ded85e66f03776ec015 by joker.eph
[NFC][docs] Fix link.

The rendered html was (no hyperlink was generated):

(see Getting Started <GettingStarted.html#git-pre-push-hook>)

Now, it is (with proper hyperlink):

(see Git pre-push hook)

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D88116
The file was modifiedllvm/docs/Phabricator.rst
The file was modifiedllvm/docs/GettingStarted.rst
Commit 4944bb190fed8861d4d043eaf45e3c1e12aa2dc5 by andrew.litteken
[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData.

The IRSimilarityCandidate is a container to hold a region of
IRInstructions and offer interfaces for the starting instruction, ending
instruction, parent function, length.  It also assigns a global value
number for each unique instance of a value in the region.

It also contains an interface to compare two IRSimilarity as to whether
they have the same sequence of similar instructions.

Tests for whether the instructions are similar are found in
unittests/Analysis/IRSimilarityIdentifierTest.cpp.

Differential Revision: https://reviews.llvm.org/D86970
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
Commit 10092291d7a770fee9eec8d8c7f60aeca9a8d7fb by noreply
[Clang] Fix a typo in implicit-int-float-conversion.c
The file was modifiedclang/test/Sema/implicit-int-float-conversion.c
Commit 145ce86dba6e13d5c45fa8b1256f310bb6d48598 by gkm
[lld-macho] handle option -headerpad_max_install_names

Differential Revision: https://reviews.llvm.org/D88064
The file was modifiedlld/test/MachO/headerpad.s
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Options.td
Commit bee68b2956d93b190d9065c9f8640593cec9cf90 by i
[EHStreamer] Ensure CallSiteEntry::{BeginLabel,EndLabel} are non-null. NFC

... to simplify the code a bit.

Reviewed By: rahmanl

Differential Revision: https://reviews.llvm.org/D87999
The file was modifiedllvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
Commit 15d94a7d0f8f0d6b3b5308fff51b286957e45650 by leonardchan
Revert "Canonicalize declaration pointers when forming APValues."

This reverts commit 905b9ca26c94fa86339451a528cedde5004fc1bb.

Reverting because this strips `weak` attributes off function
declarations, leading to the linker error we see at
https://ci.chromium.org/p/fuchsia/builders/ci/clang_toolchain.fuchsia-arm64-debug-subbuild/b8868932035091473008.

See https://reviews.llvm.org/rG905b9ca26c94 for reproducer details.
The file was modifiedclang/test/OpenMP/ordered_messages.cpp
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
The file was modifiedclang/lib/AST/Decl.cpp
Commit 64435a427a01a61574a59824ea0a4949a80b11e6 by Xing
[DWARFYAML][test] Simplify __debug_pubnames/types tests. NFC.

This patch stripped unneeded sections from the test case.

Reviewed By: grimar, MaskRay

Differential Revision: https://reviews.llvm.org/D88073
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-pubsections.yaml
Commit 61ac58e10ae1fbb18416cac20119725803b9ad6f by aeubanks
[NewPM] Pin tests with -debug-pass to legacy PM

-debug-pass is a legacy PM only option.

Some tests checks that the pass returned that it made a change,
which is not relevant to the NPM, since passes return PreservedAnalyses.

Some tests check that passes are freed at the proper time, which is also
not relevant to the NPM.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87945
The file was modifiedllvm/test/Transforms/Coroutines/smoketest.ll
The file was modifiedllvm/test/Analysis/BasicAA/phi-values-usage.ll
The file was modifiedllvm/test/Transforms/InstSimplify/remove-dead-call.ll
The file was modifiedllvm/test/Analysis/alias-analysis-uses.ll
The file was modifiedllvm/test/Transforms/InstCombine/early_constfold_changes_IR.ll
The file was modifiedllvm/test/Transforms/SCCP/preserve-analysis.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/two-entry-phi-fold-crash.ll
The file was modifiedllvm/test/Transforms/GVN/preserve-analysis.ll
Commit 88bc59c3001b3b20f55994f9fa9dbaf45991df1d by andrew.litteken
Revert "[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData."

This reverts commit 4944bb190fed8861d4d043eaf45e3c1e12aa2dc5.
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit d6746ecb73c3892bd9a353c3b1b3facbd285c450 by aeubanks
[test][NewPM] Fix update-scev.ll under NPM
The file was modifiedllvm/test/Transforms/LICM/update-scev.ll
Commit ec24e505536fe50636fcbc759b821aca6295aa45 by bing1.yu
[CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8)

add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8)

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D87884
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-select.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 2d0de5f9a4c58e2fcdd8f00dabca505ba47abbd0 by aeubanks
[test][NewPM] Clean up ScalarEvolution tests to work under NPM
The file was modifiedllvm/test/Analysis/ScalarEvolution/trivial-phis.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 1a3ef0417c7ca9498895186c96da452f6e2f15a0 by gkm
[lld-macho] In the context of relocs, s/target/referent/ for sections & symbols

The word "target" is overloaded, so lighten its load by using another word to denote the symbol or section to which a reloc points. While more stilted than "target", "referent" is rather less pompous than "designatum" or "denotatum". :P

Along the way, make a few neighboring variable names more descriptive.

Reviewed By: #lld-macho, int3

Differential Revision: https://reviews.llvm.org/D87584
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/InputSection.cpp
Commit ab1b4810b55279bcf6fdd87be74a403440be3991 by tejohnson
[ThinLTO] Avoid temporaries when loading global decl attachment metadata

When performing ThinLTO importing, the metadata loader attempts to lazy
load, by building an index. However, module level global decl attachment
metadata was being parsed early while building the index, since the
associated (module level) global values aren't materialized on demand.
This results in the creation of forward reference temporary metadatas,
which are expensive.

Normally, these module level global values don't have much attached
metadata. However, in the case of -fwhole-program-vtables (e.g. for
whole program devirtualization), the vtables may have many attached type
metadatas. This was resulting in very slow performance when performing
ThinLTO importing with the default lazy loading.

This patch restructures the handling of these global decl attachment
records, delaying their parsing until after the lazy loading index has
been built. Then the parser can use the interface that loads from the
index, which resolves forward references immediately instead of creating
expensive temporaries.

For one ThinLTO backend that imports from modules containing huge
numbers of vtables and associated types, I measured the following
compile times for the metadata materialization during function
importing, rounded to nearest second:

No -fwhole-program-vtables:
  Lazy loading on (head):  1s
  Lazy loading off (head): 3s
  Lazy loading on (patch): 1s

With -fwhole-program-vtables:
  Lazy loading on (head):  440s
  Lazy loading off (head): 4s
  Lazy loading on (patch): 2s

Differential Revision: https://reviews.llvm.org/D87970
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
Commit ab903560a466194d4350600ad946934eb72f1a14 by gkm
[lld-maco] fix build breakage
The file was modifiedlld/MachO/Writer.cpp
Commit f1746be66673bc2b59f7aaad1c6a7938ed98194b by nemanja.i.ibm
[Sanitizers] Fix test case that doesn't clean up after itself

Commit https://reviews.llvm.org/rG144e57fc9535 added this test
case that creates message queues but does not remove them. The
message queues subsequently build up on the machine until the
system wide limit is reached. This has caused failures for a
number of bots running on a couple of big PPC machines.

This patch just adds the missing cleanup.
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
Commit cabe31f415054b45b4fa6c17e4ddf09cc39bf4e8 by i
[sanitizers] Remove the message queue with IPC_RMID after D82897
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
Commit dfd295431a50aa8bccc0b89da9acf3c48b3d4b29 by Vitaly Buka
[RISCV][ASAN] updated platform macros to simplify detection of RISCV64 platform

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

Depends On D87997

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D87998
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Commit 47e6851423fd32f0685a643236ad946e23ab14ff by Jan Korous
[Analyzer][WebKit] Use tri-state types for relevant predicates

Some of the predicates can't always be decided - for example when a type
definition isn't available. At the same time it's necessary to let
client code decide what to do about such cases - specifically we can't
just use true or false values as there are callees with
conflicting strategies how to handle this.

This is a speculative fix for PR47276.

Differential Revision: https://reviews.llvm.org/D88133
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
Commit 6c22d00d7896bd7aaad567aa98016c26e78d8dcf by Vitaly Buka
[RISCV][ASAN] implementation of internal syscalls wrappers for riscv64

implements glibc-like wrappers over Linux syscalls.

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

Depends On D87998

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87572
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_riscv64.inc
Commit 96034cb3d1d6d0e4ebe6848ef93707943aeca5dc by Vitaly Buka
[RISCV][ASAN] implementation of clone interceptor for riscv64

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

Depends On D87572

Reviewed By: eugenis, vitalybuka

Differential Revision: https://reviews.llvm.org/D87573
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
Commit aa1b1d35cbf60f63c7830e6711bf849902975943 by Vitaly Buka
[RISCV][ASAN] implementation for vfork interceptor for riscv64

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

Depends On D87573

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87574
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_riscv64.inc.S
The file was modifiedcompiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors_vfork.S
Commit 00f6ebef6e347e0d24a8f940fe43656719e88cb8 by Vitaly Buka
[RISCV][ASAN] implementation of ThreadSelf  for riscv64

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

Depends On D87574

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87575
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit fe3c1195cfd027fdd28b6d373b3cd9519d5253ec by joker.eph
Add a dump() method on the pass manager for debugging purpose (NFC)

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D88008
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/include/mlir/Pass/Pass.h
Commit f69e090d7dca6bf2786145a9e97b0a7ddb3b514a by martin
[MC] [Win64EH] Try to generate packed unwind info where possible

In practice, this only gives modest savings (for a 6.5 MB DLL with
230 KB xdata, the xdata sections shrinks by around 2.5 KB); to
gain more, the frame lowering would need to be tweaked to more often
generate frame layouts that match the canonical layouts that can
be written in packed form.

Differential Revision: https://reviews.llvm.org/D87371
The file was modifiedllvm/include/llvm/MC/MCWinEH.h
The file was modifiedllvm/lib/MC/MCWin64EH.cpp
The file was addedllvm/test/MC/AArch64/seh-packed-unwind.s
Commit 2c4c659666b400b0502e8504a708e050d0a03d6c by martin
[InstCombine] Add parentheses in assert to silence GCC warning. NFC.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit b90132399aa994ac6405d0d6437735043bff9314 by martin
[CVP] Remove a redundant trailing semicolon, fixing GCC warnings. NFC.
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit d7eb917a7cb793f49e16841fc24826b988dd5c8f by albionapc
[PowerPC] Implementation of 128-bit Binary Vector Mod and Sign Extend builtins

This patch implements 128-bit Binary Vector Mod and Sign Extend builtins for PowerPC10.

Differential: https://reviews.llvm.org/D87394#inline-815858
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was addedllvm/test/CodeGen/PowerPC/p9-vector-sign-extend.ll
The file was modifiedclang/lib/Headers/altivec.h
The file was addedllvm/test/CodeGen/PowerPC/p10-vector-sign-extend.ll
The file was modifiedclang/test/CodeGen/builtins-ppc-p9vector.c
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/p10-vector-modulo.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
Commit 1fbb5969424493344f1159d53bda5a640e3b27ae by Vitaly Buka
Revert "[RISCV][ASAN] implementation of ThreadSelf  for riscv64"

Merged two unrelated commits

This reverts commit 00f6ebef6e347e0d24a8f940fe43656719e88cb8.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit d721a2bc335ad01ff6b3838bc4759cfc35b6c8fa by Vitaly Buka
[NFC] Reformat preprocessor directives
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit 809a42e3d53518b824aad28882f9f9397f25b5b3 by Vitaly Buka
[RISCV][ASAN] implementation of ThreadSelf  for riscv64

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

Depends On D87574

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87575
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit b62f9f4407a5ed6e5722e177e906efcebebce9eb by ravishankarm
[mlir][Linalg] Add pattern to fold linalg.tensor_reshape that add unit extent dims.

A sequence of two reshapes such that one of them is just adding unit
extent dims can be folded to a single reshape.

Differential Revision: https://reviews.llvm.org/D88057
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
Commit 8d7fd73c3a8ce069cfe48dfcf949b4a59c05c673 by Piotr Sobczak
[AMDGPU] Fix merging m0 inits

Fix incorrect merges of m0 inits in loops.

It was assumed that if a clobbering instruction appears in
the same block as an init and the clobbering instruction
does not dominate the init then it does not interfere with
init.

This does not work in the presence of loops, where in this
scenario, the clobbering instruction does interfere with
the init in another iteration.

To fix this, do not check for block equality and defer the
decision to the predecessor check.

Differential Revision: https://reviews.llvm.org/D87882
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-m0.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Commit 59c4d5aad060927fa95b917c11aad4e310849a4b by david.sherwood
[SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors

In this patch I've fixed some warnings that arose from the implicit
cast of TypeSize -> uint64_t. I tried writing a variety of different
cases to show how this optimisation might work for scalable vectors
and found:

1. The optimisation does not work for cases where the cast type
is scalable and the allocated type is not. This because we need to
know how many times the cast type fits into the allocated type.
2. If we pass all the various checks for the case when the allocated
type is scalable and the cast type is not, then when creating the
new alloca we have to take vscale into account. This leads to
sub-optimal IR that is worse than the original IR.
3. For the remaining case when both the alloca and cast types are
scalable it is hard to find examples where the optimisation would
kick in, except for simple bitcasts, because we typically fail the
ABI alignment checks.

For now I've changed the code to bail out if only one of the alloca
and cast types is scalable. This means we continue to support the
existing cases where both types are fixed, and also the specific case
when both types are scalable with the same size and alignment, for
example a simple bitcast of an alloca to another type.

I've added tests that show we don't attempt to promote the alloca,
except for simple bitcasts:

  Transforms/InstCombine/AArch64/sve-cast-of-alloc.ll

Differential revision: https://reviews.llvm.org/D87378
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was addedllvm/test/Transforms/InstCombine/AArch64/sve-cast-of-alloc.ll
Commit e46c1def523323eedfad1174fd2fabbece8f40cc by Raphael Isemann
Revert "[libc++] Implement LWG1203"

This reverts commit fdc41e11f9687a50c97e2a59663bf2d541ff5489. It causes the
libcxx/modules/stds_include.sh.cpp test to fail with:
libcxx/include/ostream:1039:45: error: no template named 'enable_if_t'; did you mean 'enable_if'?
template <class _Stream, class _Tp, class = enable_if_t<

Still investigating what's causing this and reverting in the meantime to get
the bots green again.
The file was modifiedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/include/istream
The file was modifiedlibcxx/include/ostream
The file was removedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
Commit e077367a28102128483f4b2555d2ad31e21b1965 by david.sherwood
[SVE] Make EVT::getScalarSizeInBits and others consistent with Type::getScalarSizeInBits

An existing function Type::getScalarSizeInBits returns a uint64_t
instead of a TypeSize class because the caller is requesting a
scalar size, which cannot be scalable. This patch makes other
similar functions requesting a scalar size consistent with that,
thereby eliminating more than 1000 implicit TypeSize -> uint64_t
casts.

Differential revision: https://reviews.llvm.org/D87889
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit d63a945a13048b66f06e222d8b0810d7db9592f6 by gabor.marton
[analyzer][StdLibraryFunctionsChecker] Fix getline/getdelim signatures

It is no longer needed to add summaries of 'getline' for different
possible underlying types of ssize_t. We can just simply lookup the
type.

Differential Revision: https://reviews.llvm.org/D88092
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
The file was modifiedclang/test/Analysis/std-c-library-functions.c
Commit 11d2e63ab0060c656398afd8ea26760031a9fb96 by gabor.marton
[analyzer][StdLibraryFunctionsChecker] Separate the signature from the summaries

The signature should not be part of the summaries as many FIXME comments
suggests. By separating the signature, we open up the way to a generic
matching implementation which could be used later under the hoods of
CallDescriptionMap.

Differential Revision: https://reviews.llvm.org/D88100
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Commit 310af42ed9ab259ad05ed46d459203b3473ba66e by grimar
[llvm-readelf/obj] - Cleanup the code. NFCI.

This:
1) Replaces pointers with references in many places.
2) Adds few TODOs about fixing possible unhandled errors (in ARMEHABIPrinter.h).
3) Replaces `auto`s with actual types.
4) Removes excessive arguments.
5) Adds `const ELFFile<ELFT> &Obj;` member to `ELFDumper` to simplify the code.

Differential revision: https://reviews.llvm.org/D88097
The file was modifiedllvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/ARMEHABIPrinter.h
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.h
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit ca907bfb57d8ad3ec3bcc2cff2abab7b1b933af6 by sebastian.neubauer
[AMDGPU] Insert waitcnt after returning from call

When memory operations are outstanding on function calls, either the
caller or the callee can insert a waitcnt to ensure that all reads are
finished.
Calls need some time to be executed, so if the callee inserts the
waitcnt, filling the instruction buffer and waiting for memory will be
interleaved, hiding some latency. This comes at the cost of having a
waitcnt inside functions that may not be needed as no memory operations
are outstanding.

For function calls, this is already implemented. The same principal
applies to returns: If the caller inserts a waitcnt after the call, the
callee does not have to wait and the return and memory operation can be
run in parallel.

This commit implements waiting in the caller after returning from a
function call.

Differential Revision: https://reviews.llvm.org/D87674
The file was modifiedllvm/test/CodeGen/AMDGPU/store-hi16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-func.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/offset-split-global.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-local.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-local.128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/function-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-constant.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sibling-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/smrd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.format.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/offset-split-flat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.getlod.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_store_local.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/image_ls_mipmap_zero.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/function-returns.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_load_local.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/imm16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-hi16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-local.128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.format.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected
The file was modifiedllvm/test/CodeGen/AMDGPU/visit-physreg-vgpr-imm-folding-bug.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-waitcnt.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.dwordx3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/infer-uniform-load-shader.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-lo16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/nested-calls.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-non-entry-func.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ret_jump.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fmax.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/memory_clause.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-local.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fmin.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll
Commit d4035af2537432da41b2728829f8cd2fca9a9de8 by grimar
[llvm-readelf/obj] - Print section symbol names properly when dumping relocations.

Currently `--relocations` ignores section symbol names and always prints
section names for them. This is inconsistent with GNU readelf and with `--symbols`.

We have a code in `getFullSymbolName` (which is used for `--symbols`) which can be
reused for `getRelocationTarget` (used for `--relocations`).
With that the issue described is fixed and code becomes a bit shorter.
Also with this change we start to print more relocations (in situations when we just
showed warnings instead before) and also start to report more diagnostic warnings
(see reloc-zero-name-or-value.test).

Differential revision: https://reviews.llvm.org/D87613
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/Inputs/compress-debug-sections.yaml
The file was modifiedllvm/test/tools/llvm-readobj/ELF/reloc-zero-name-or-value.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/relocation-errors.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/section-symbols.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit bd99fb4e0b5f2f3dcd8c9b81b30b4faebb765001 by grimar
[llvm-readelf/obj] - Fix extended section symbol indices printed in warnings for MIPS GOT/PLT entries.

Recent refactoring introduced a symbol index argument for `getFullSymbolName` method,
which is only used for reporting error messages about invalid extended symbol indexes.

There are few issues in the implementation and we don't report correct symbol indices
when dumping MIPS GOT/PLT entries currently.

This patch adds test cases and fixes the issue.

Differential revision: https://reviews.llvm.org/D88089
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
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 d0149ba9b46d6ca08b29c9a820b5cb772c799211 by kerry.mclaughlin
[SVE][CodeGen] Lower legal integer -> floating point conversions

This patch adds new ISD nodes, SCVTZ_MERGE_PASSTHRU &
UCVTZ_MERGE_PASSTHRU, which are used to lower both legal
scalable vector [S|U]INT_TO_FP operations and the following intrinsics:
- llvm.aarch64.sve.scvtf
- llvm.aarch64.sve.ucvtf

Reviewed By: sdesmalen, efriedma

Differential Revision: https://reviews.llvm.org/D87913
The file was modifiedllvm/test/CodeGen/AArch64/sve-fcvt.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit bd72ed93d22a1579362859e64a0c7f9c68460cf8 by jperier
[flang] CHARACTER(*) return does not require explicit interface

Fortran 2018 15.4.2.2(4)(c) says nonassumed or explicit non-constant
length parameter require explicit interface. The "nonassumed" part was
missing in f18 characteristic analysis causing CanBeCalledViaImplicitInterface
to return false for `CHARACTER(*) function foo()` like interfaces.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D88075
The file was modifiedflang/lib/Evaluate/characteristics.cpp
Commit 301e23305d03cfb4004f845a1d9dfdc5e5931fd8 by Yaxun.Liu
[CUDA][HIP] Fix static device var used by host code only

A static device variable may be accessed in host code through
cudaMemCpyFromSymbol etc. Currently clang does not
emit the static device variable if it is only referenced by
host code, which causes host code to fail at run time.

This patch fixes that.

Differential Revision: https://reviews.llvm.org/D88115
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGenCUDA/static-device-var-no-rdc.cu
Commit 34b08487f04a5a6621d94c17ef49e631cc187f4e by SourabhSingh.Tomar
[OpenMP][flang]Lower NUM_THREADS clause for parallel construct

This patch reflects the work that can be upstreamed from PR(merged)
PR: https://github.com/flang-compiler/f18-llvm-project/pull/411

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D87846
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit 5711eaf608addccc5a23f0ea00630aa30280ea13 by limo
[mlir] Added support for f64 memref printing in runner utils

Added print_memref_f64 function to runner utils.

Differential Revision: https://reviews.llvm.org/D88143
The file was modifiedmlir/lib/ExecutionEngine/RunnerUtils.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/RunnerUtils.h
Commit be1197c403b22291e35cbc5e96788860ceabd40c by SourabhSingh.Tomar
[flang] Removed OpenMP lowering unittests

These tests aren't adding much value and consensus has been reached for
there removal.
For more context, please refer to discussion in this revision:
https://reviews.llvm.org/D87846
The file was removedflang/unittests/Lower/OpenMPLoweringTest.cpp
The file was modifiedflang/unittests/CMakeLists.txt
The file was removedflang/unittests/Lower/CMakeLists.txt
Commit dfa9065ad778fe830245e627c7fd9e39f2045bc9 by SourabhSingh.Tomar
[NFCI][flang] Renamed a variable name to a more descriptive name
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit c90dee1e90045feb039be640864f038eebd1d8cd by Louis Dionne
[libc++] Re-apply fdc41e11f (LWG1203) without breaking the C++11 build

fdc41e11f was reverted in e46c1def5 because it broke the C++11 build.
We shouldn't be using enable_if_t in C++11, instead we must use
enable_if<...>::type.
The file was modifiedlibcxx/www/cxx2a_status.html
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
The file was modifiedlibcxx/include/istream
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
The file was modifiedlibcxx/include/ostream
Commit 20f84257ac4ac54ceb5f581a6081fac6eff2a5a1 by jotrem
[lldb] Fix GetRemoteSharedModule fallback logic

When the various methods of locating the module in GetRemoteSharedModule
fail, make sure we pass the original module spec to the bail-out call to
the provided resolver function.

Also make sure we consistently use the resolved module spec from the
various success paths.

Thanks to what appears to have been an accidentally inverted condition
(commit 85967fa applied the new condition to a path where GetModuleSpec
returns false, but should have applied it when GetModuleSpec returns
true), without this fix we only pass the original module spec in the
fallback if the original spec has no uuid (or has a uuid that somehow
matches the resolved module's uuid despite the call to GetModuleSpec
failing).  This manifested as a bug when processing a minidump file with
a user-provided sysroot, since in that case the resolver call was being
applied to resolved_module_spec (despite resolution failing), which did
not have the path of its file_spec set.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D88099
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
Commit af0207f2bae8578c5283877a786e502ce6e33b14 by Matthew.Arsenault
AMDGPU: Check global FP atomics match default FP mode

We would always select global FP atomics from atomicrmw fadd, although
they have a hardcoded FP mode.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
The file was modifiedllvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Commit c463fd136ec259ec269ee6741763ce595811da71 by Matthew.Arsenault
GlobalISel: Fix truncating shift amount in trunc (shl) combine

The shift amount type does not necessarily match the result type. This
was inserting a trunc from s32 to s32, which asserted. Just preserve
the original shift amount type which can be legalized later.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-shl.mir
Commit 1d1c382ed221f378fc866a524c7c673c239e94bc by aaron
Fix typos in ASTMatchers.h; NFC
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/docs/LibASTMatchersReference.html
Commit 00c34f72fba4b6b8a446d57e2257c27eedad1a1d by sam.parker
[NFC][ARM] Pre-commit tail predication test
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
Commit 370a8c802558ed7aedbcc09c1bdf4c2d3f4c28c0 by paulsson
[SystemZ] Make sure not to call getZExtValue on a >64 bit constant.

Better use isZero() and isIntN() in SystemZTargetTransformInfo rather than
calling getZExtValue() since the immediate operand may be wider than 64 bits,
which is not allowed with getZExtValue().

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

Review: Simon Pilgrim
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was addedllvm/test/Analysis/CostModel/SystemZ/huge-immediates.ll
Commit 9691806840606d48139b13516e9576902ba98923 by zinenko
[mlir] Fix typos in Dialect.h. NFC.
The file was modifiedmlir/include/mlir/IR/Dialect.h
Commit 31923f6b360300b8b148ad257419766999dfe504 by flo
[VPlan] Disconnect VPValue and VPUser.

This refactors VPuser to not inherit from VPValue to facilitate
introducing operations that introduce multiple VPValues (e.g.
VPInterleaveRecipe).

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D84679
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanSLP.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/docs/Proposals/VectorizationPlan.rst
Commit db40a74344292410aa3e08c42834423013c4f192 by mcinally
[SVE] Lower fixed length ISD::VECREDUCE_ADD to Scalable

Differential Revision: https://reviews.llvm.org/D87796
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
Commit 158af0d3d165c0382a6a291e81ffecf0b18ffe77 by usx
[clangd] Refactor code completion signal's utility properties.

Current implementation of heuristic-based scoring function also contains
computation of derived signals (e.g. whether name contains a word from
context, computing file distances, scope distances.)
This is an attempt to separate out the logic for computation of derived
signals from the scoring function.
This will allow us to have a clean API for scoring functions that will
take only concrete code completion signals as input.

Differential Revision: https://reviews.llvm.org/D88146
The file was modifiedclang-tools-extra/clangd/Quality.h
The file was modifiedclang-tools-extra/clangd/Quality.cpp
Commit 270d334a665faa574db0c7d3a23af78bed9366d0 by paul
[docs][llvm] Fix typos

I don't have commit access.
Please help me commit it.
Thanks : )

Reviewed By: Paul-C-Anagnostopoulos

Differential Revision: https://reviews.llvm.org/D88139
The file was modifiedllvm/docs/TableGen/BackGuide.rst
Commit bd8b50cd7f5dd5237ec9187ef2fcea3adc15b61a by clementval
[mlir][openacc] Use OptionalParseResult in loop op parser instead of bool variables

This patch switch from using bool variables to OptionalParseResult for the parsing
inside loop operation. This is already done for parallel operation and this patch unify this
in the dialect.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D88111
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit 7abb0ff7e0419a9554d77e9108cb7da670b7471c by stellaraccident
Add Operation to python bindings.

* Fixes a rather egregious bug with respect to the inability to return arbitrary objects from py::init (was causing aliasing of multiple py::object -> native instance).
* Makes Modules and Operations referencable types so that they can be reliably depended on.
* Uniques python operation instances within a context. Opens the door for further accounting.
* Next I will retrofit region and block to be dependent on the operation, and I will attempt to model the API to avoid detached regions/blocks, which will simplify things a lot (in that world, only operations can be detached).
* Added quite a bit of test coverage to check for leaks and reference issues.
* Supercedes: https://reviews.llvm.org/D87213

Differential Revision: https://reviews.llvm.org/D87958
The file was modifiedmlir/test/Bindings/Python/ir_attributes.py
The file was modifiedmlir/test/Bindings/Python/ir_operation.py
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
The file was modifiedmlir/test/Bindings/Python/ir_module.py
The file was modifiedmlir/docs/Bindings/Python.md
The file was modifiedmlir/test/Bindings/Python/ir_location.py
The file was modifiedmlir/test/Bindings/Python/ir_types.py
The file was modifiedmlir/lib/Bindings/Python/IRModules.h
Commit 4cf754c4bca94e957b634a854f57f4c7ec9151fb by stellaraccident
Implement python iteration over the operation/region/block hierarchy.

* Removes the half-completed prior attempt at region/block mutation in favor of new approach to ownership.
* Will re-add mutation more correctly in a follow-on.
* Eliminates the detached state on blocks and regions, simplifying the ownership hierarchy.
* Adds both iterator and index based access at each level.

Differential Revision: https://reviews.llvm.org/D87982
The file was modifiedmlir/lib/Bindings/Python/IRModules.h
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
The file was modifiedmlir/test/Bindings/Python/ir_operation.py
Commit c1ded6a759913a32b44a851f0823bbb648d2a7e1 by stellaraccident
Add mlir python APIs for creating operations, regions and blocks.

* The API is a bit more verbose than I feel like it needs to be. In a follow-up I'd like to abbreviate some things and look in to creating aliases for common accessors.
* There is a lingering lifetime hazard between the module and newly added operations. We have the facilities now to solve for this but I will do that in a follow-up.
* We may need to craft a more limited API for safely referencing successors when creating operations. We need more facilities to really prove that out and should defer for now.

Differential Revision: https://reviews.llvm.org/D87996
The file was modifiedmlir/lib/Bindings/Python/IRModules.h
The file was modifiedmlir/lib/Bindings/Python/PybindUtils.h
The file was modifiedmlir/test/Bindings/Python/ir_operation.py
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
Commit 8e84972ab7060ace889bb383e76dc2c835a47c06 by stellaraccident
NFC: Remove unused variable.
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit 80deb1e106a8c3c5ba31ef0bb4d7651acb6e6b69 by jpienaar
[mlir][ods] Custom builder with no params

Incorrect generation of custom build method without any params.
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 501d7e07e31d8f79160324e683e4931403f469d5 by jpienaar
[mlir] Remove unneeded OpBuilder params. NFC.

These are now automatically prepended.
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
The file was modifiedmlir/examples/toy/Ch6/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLogicalOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVAtomicOps.td
The file was modifiedmlir/examples/toy/Ch3/include/toy/Ops.td
The file was modifiedmlir/examples/toy/Ch5/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVNonUniformOps.td
The file was modifiedmlir/examples/toy/Ch7/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
The file was modifiedmlir/examples/toy/Ch2/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
The file was modifiedmlir/examples/toy/Ch4/include/toy/Ops.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
Commit a343b9b032772894a7e27fcd03ebec3c53faa5d9 by sebastian.neubauer
Revert "[AMDGPU] Insert waitcnt after returning from call"

This reverts commit ca907bfb57d8ad3ec3bcc2cff2abab7b1b933af6.

According to michel.daenzer,
> This completely broke the Mesa radeonsi driver on Navi 14. Xorg +
> xterm come up with major corruption & psychedelic colours.
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.getlod.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-local.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-non-entry-func.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/visit-physreg-vgpr-imm-folding-bug.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/nested-calls.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sibling-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/smrd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/image_ls_mipmap_zero.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-hi16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-local.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_store_local.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.format.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.format.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/memory_clause.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fmax.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-lo16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-local.128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/offset-split-global.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fmin.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ret_jump.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/scalar-store-cache-flush.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-func.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_load_local.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/offset-split-flat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ds.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.dwordx3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/infer-uniform-load-shader.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-waitcnt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/store-hi16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-local.128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/function-returns.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/imm16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/function-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/load-constant.96.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.d16.ll
Commit 474dc33d075ae6b136bcaa4e4c5014d3deda5d25 by llvm-dev
Add missing namespace closure comment. NFCI.

Fixes clang-tidy llvm-namespace-comment warning.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 91589cf679c7946edfb5b33d1eb94d723ad99e2b by llvm-dev
Add missing namespace closure comments. NFCI.

Fixes some clang-tidy llvm-namespace-comment warnings.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
Commit c2deacd929dabded734a478e78c1eef23aa459c5 by weiwei64
[AArch64] Fix ldst optimization of non-immediate store offset

When matching store instruction for ldst opt, we should make sure store instr is in 'reg+imm' form as load instr,
otherwise, it will have assertion in isLdOffsetInRangeOfSt since it will use getImm() directly.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D87905
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was addedllvm/test/CodeGen/AArch64/ldst-opt-non-imm-offset.mir
Commit e6d50b4f22dc6bbf0b0b40cfdab172bf5c1694e1 by Yaxun.Liu
recommit [HIP] Fix -gsplit-dwarf option

recommit e50465ecefc964e5700df26fc7e02a673eed085a with fix for
regression in lldb tests.

Two issues:

1. the directory part of original .dwo file was dropped
2. if the stem of the .dwo file contains '.', the last dot
and strings after that were removed

This recommit fixes those two issues.
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was addedclang/test/Driver/hip-gsplit-dwarf-options.hip
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.h
Commit 9abd1e8f4e5ddd6e5e592306432fb32dd68f4c14 by davelee.com
[lldb] Remove lldb-perf remenant

Delete a file remaining from the deletion of lldb-perf in D64362.

Differential Revision: https://reviews.llvm.org/D88119
The file was removedlldb/tools/lldb-perf/darwin/sketch/foobar.sketch2
Commit c538169ee99516c178ecc00a5ec5187d78941fac by zinenko
[mlir] Add insert before/after to list-like constructs in C API

Blocks in a region and operations in a block are organized in a linked list.
The C API only provides functions to append or to insert elements at the
specified numeric position in the list. The latter is expensive since it
requires to traverse the list. Add insert before/after functionality with low
cost that relies on the iplist elements being convertible to iterators.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D88148
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/test/CAPI/ir.c
Commit e90343ada3bda55c697e7ae06dda3f8d8d6ded34 by Yaxun.Liu
Fix regressioin in test dwp-separate-debug-file.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
Commit 9744606614df4ba85a4d546c94b3b5ef9d3a3a96 by jurahul
[MLIR] Change default builders generated by TableGen to use TypeRange for result types

- Change the default builders to use TypeRange instead of ArrayRef<Type>
- Custom builders defined in LinalgStructuredOps now conflict with the default
  separate param ones, but the default collective params one is still needed. Resolve
  this by replicating the collective param builder as a custom builder and skipping
  the generation of default builders for these ops.

Differential Revision: https://reviews.llvm.org/D87926
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/test/mlir-tblgen/op-result.td
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
Commit 08e4f078523b528f1e699543275f1d6299886a99 by jurahul
[MLIR][NFC] Adopt use of TypeRange in build() methods.

- Use TypeRange instead of ArrayRef<Type> where possible.
- Change some of the custom builders to also use TypeRange

Differential Revision: https://reviews.llvm.org/D87944
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Commit 819ff6b945816dce144c8be577a3c245f702b59c by aaron
Improve dynamic AST matching diagnostics for conversion errors

Currently, when marshaling a dynamic AST matchers, we check for the type
and value validity of matcher arguments at the same time for some matchers.
For instance, when marshaling hasAttr("foo"), the argument is first type
checked to ensure it's a string and then checked to see if that string can
locate an attribute with that name. Similar happens for other enumeration
conversions like cast kinds or unary operator kinds. If the type is
correct but the value cannot be looked up, we make a best-effort attempt
to find a nearby name that the user might have meant, but if one cannot
be found, we throw our hands up and claim the types don't match.

This has an unfortunate behavior that when the user enters something of
the correct type but a best guess cannot be located, you get confusing
error messages like:
Incorrect type for arg 1. (Expected = string) != (Actual = String).

This patch splits the argument check into two parts: if the types don't
match, give a type diagnostic. If the type matches but the value cannot
be converted, give a best guess diagnostic or a value could not be
located diagnostic. This addresses PR47057.
The file was modifiedclang/unittests/ASTMatchers/Dynamic/ParserTest.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.h
Commit f6aceb72d6b2d13d03713ba05bc47c0f9e550c26 by joker.eph
Update the documentation for the MLIR Dialect class (NFC)
The file was modifiedmlir/include/mlir/IR/Dialect.h
Commit a6ae6950173a01c8a620a5664fcfb18816d152e7 by jurahul
[MLIR][NFC] Adopt use of BlockRange in place of ArrayRef<Block *>

- Use BlockRange in ODS generated builders as well as other places throughout the code

Differential Revision: https://reviews.llvm.org/D87955
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
The file was modifiedmlir/lib/IR/OperationSupport.cpp
Commit b522f09d963b50895f8c18d33e6a5aceccc1fadc by stellaraccident
Remove MLIR C-API explicit registration of standard ops.

* Added mlirRegisterAllDialects() to the python API until a more complete registration design emerges for it.

Differential Revision: https://reviews.llvm.org/D88155
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
Commit b8779337841bea03bc514d239ce76eceba3f01dd by David A Greene
[UpdateTestChecks] Remove bug-exposing test

Remove RISCV codegen tests for --include-generated-funcs because apparently
MachineOutliner has a bug on that target that is exposed by expensive-checks.
The file was removedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_generated_funcs.ll.nogenerated.expected
The file was removedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_generated_funcs.ll
The file was removedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_generated_funcs.ll.generated.expected
The file was removedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/riscv_generated_funcs.test
Commit 63998649dd4886ecf9b5c8304173cb0c7357cd5d by stellaraccident
NFC: Remove dangling dep on MLIRStandardOps.

Was inadvertently left out of D88155.
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
Commit fd75ad86624eaebf21e544335ea28f12e54a5ec1 by carrot
[MBFIWrapper] Add a new function getBlockProfileCount

MBFIWrapper keeps track of block frequencies of newly created blocks and
modified blocks, modified block frequencies should also impact block profile
count. This class doesn't provide interface getBlockProfileCount, users can only
use the underlying MBFI to query profile count, the underlying MBFI doesn't know
the modifications made in MBFIWrapper, so it either provides stale profile count
for modified block or simply crashes on new blocks.

So this patch add function getBlockProfileCount to class MBFIWrapper to handle
new blocks or modified blocks.

Differential Revision: https://reviews.llvm.org/D87802
The file was modifiedllvm/lib/CodeGen/MBFIWrapper.cpp
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/include/llvm/CodeGen/MBFIWrapper.h
Commit 437358be7179d570de070bbb9b2e1154db727f6d by mtrofin
[clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode.

This is important to not regress because it allows us to capture pre-optimization
bitcode and options, and replay the full optimization pipeline.

Differential Revision: https://reviews.llvm.org/D88114
The file was addedclang/test/Frontend/embed-bitcode-noopt.c
The file was addedclang/test/Frontend/embed-bitcode-noopt.ll
Commit 68358081585b160c38443425935457235a4b9d1a by dmantipov
Add optimal thread strategy

Add an optimal thread strategy to execute specified amount of tasks.
This strategy should prevent us from creating too many threads if we
occasionaly have an unexpectedly small amount of tasks.

Differential Revision: https://reviews.llvm.org/D87765
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
The file was modifiedllvm/include/llvm/Support/Threading.h
Commit 577adda54f075b256007ed4fa80c9988a0642a87 by rengolin
[Support/Path] Add path::is_absolute_gnu

Implements IS_ABSOLUTE_PATH from GNU tools.

C++17 is_absolute behavior is different the from the behavior defined by GNU
tools.

According to cppreference.com, C++17 states: "An absolute path is a path
that unambiguously identifies the location of a file without reference
to an additional starting location."

In other words, the rules are:
1. POSIX style paths with nonempty root directory are absolute.
2. Windows style paths with nonempty root name and root directory are
    absolute.
3. No other paths are absolute.

GNU rules are:
1. Paths starting with a path separator are absolute.
2. Windows style paths are also absolute if they start with a character
    followed by ':'.
3. No other paths are absolute.

On Windows style the path "C:\Users\Default" has "C:" as root name and "\"
as root directory.

Hence "C:" on Windows is absolute under GNU rules and not absolute under
C++17 because it has no root directory. Likewise "/" and "\" on Windows are
absolute under GNU and are not absolute under C++17 due to empty root name.

Related to PR46368.

Differential Revision: https://reviews.llvm.org/D87667
The file was modifiedllvm/include/llvm/Support/Path.h
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedllvm/lib/Support/Path.cpp
Commit 271928792e8016109fdd909889dc6bb582aa6f46 by mtrofin
Add REQUIRES to embed-bitcode-noopt.ll
The file was modifiedclang/test/Frontend/embed-bitcode-noopt.ll
Commit e976fb1e54f30403ca31764da69cba3769487e6a by kparzysz
[EarlyCSE] Fix crash with expensive checks after D87691

D87691 reordered some checks, which turned out to be unsafe. More
specifically, when examining a store instruction, the check against
getOrCreateResult should be done before attempting to call
isSameMemGeneration. Otherwise a crash in MSSA walker can occur.

This patch restores the order of these calls to what it was originally.
The file was addedllvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
Commit 01b9deba76a950f04574b656c7c31ae389104f2d by i
Revert D87970 "[ThinLTO] Avoid temporaries when loading global decl attachment metadata"

This reverts commit ab1b4810b55279bcf6fdd87be74a403440be3991.

It caused an issue in llvm::lto::thinBackend for a -fsanitize=cfi build.

```
AbbrevNo is 0 => "Invalid abbrev number"
0  llvm::BitstreamCursor::getAbbrev (this=0x9db4c8, AbbrevID=4) at llvm/include/llvm/Bitstream/BitstreamReader.h:528
1  0x00007f5f777a6eb4 in llvm::BitstreamCursor::readRecord (this=0x9db4c8, AbbrevID=4, Vals=llvm::SmallVector of Size 0, Capacity 64, Blob=0x7ffcd0e26558) at
usr/local/google/home/maskray/llvm/llvm/lib/Bitstream/Reader/BitstreamReader.cpp:228
2  0x00007f5f796bf633 in llvm::MetadataLoader::MetadataLoaderImpl::lazyLoadOneMetadata (this=0x9db3a0, ID=188, Placeholders=...) at /usr/local/google/home/mas
ray/llvm/llvm/lib/Bitcode/Reader/MetadataLoader.cpp:1091
3  0x00007f5f796c2527 in llvm::MetadataLoader::MetadataLoaderImpl::getMetadataFwdRefOrLoad (this=0x9db3a0, ID=188) at llvm
lib/Bitcode/Reader/MetadataLoader.cpp:668
4  0x00007f5f796bfff3 in llvm::MetadataLoader::getMetadataFwdRefOrLoad (this=0xd31580, Idx=188) at llvm/lib/Bitcode/Reader
MetadataLoader.cpp:2290
5  0x00007f5f79638265 in (anonymous namespace)::BitcodeReader::parseFunctionBody (this=0xd312e0, F=0x9de758) at llvm/lib/B
tcode/Reader/BitcodeReader.cpp:3938
6  0x00007f5f79635d32 in (anonymous namespace)::BitcodeReader::materialize (this=0xd312e0, GV=0x9de758) at llvm/lib/Bitcod
/Reader/BitcodeReader.cpp:5408
7  0x00007f5f7f8dbe3e in llvm::Module::materialize (this=0x9b92c0, GV=0x9de758) at llvm/lib/IR/Module.cpp:442
8  0x00007f5f7f7f8fbe in llvm::GlobalValue::materialize (this=0x9de758) at llvm/lib/IR/Globals.cpp:50
9  0x00007f5f83b9b5f5 in llvm::FunctionImporter::importFunctions (this=0x7ffcd0e2a730, DestModule=..., ImportList=...) at
llvm/lib/Transforms/IPO/FunctionImport.cpp:1182
```
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
Commit 76e8c1899e7c9f9462ba08387472899d7de965af by kparzysz
Break long line accidentally left in the previous commit
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
Commit d882ca7f1f1dee7d812d6b1ae060b5f671ab9ebc by dmantipov
[Driver] Check whether Gentoo-specific configuration directory exists

Check whether /etc/env.d/gcc exists before trying to read from any
file from there. This saves a few OS calls on a non-Gentoo system.

Differential Revision: https://reviews.llvm.org/D87143
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.h
Commit 7d0bbe40901cf60558c619c3174d71d7c53ca144 by tmsriram
Re-apply https://reviews.llvm.org/D87921, was reverted to triage a PPC bot failure.

D87921 was reverted in commit b89059a31347dd09b55a96b99b3dbe38d7749908
as it was causing an unknown llvm PPC bot failure.  Reapplying the patch
after confirming that this is not responsible. Build bot failure:
https://reviews.llvm.org/D87921#2286644  which caused the revert.

The wrong placement of add pass with optimizations led to
-funique-internal-linkage-names being disabled.

Fixed the placement of the MPM.addpass for UniqueInternalLinkageNames to make it
work correctly with -O2 and new pass manager. Updated the tests to explicitly
check O0 and O1.

Differential Revision: https://reviews.llvm.org/D87921
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/test/CodeGen/unique-internal-linkage-names.cpp
Commit b3931188fdc84ce2bd93a0770ddc8182d18c5010 by paul
Enhance TableGen so that backends can produce better error messages.

Modify SearchableTableEmitter.cpp to take advantage.
Clean up formatting and capitalization issues.
The file was modifiedllvm/include/llvm/TableGen/Record.h
The file was modifiedllvm/test/TableGen/cond-type.td
The file was modifiedllvm/test/TableGen/generic-tables.td
The file was modifiedllvm/test/TableGen/getsetop.td
The file was modifiedllvm/test/TableGen/if-type.td
The file was modifiedllvm/lib/TableGen/Error.cpp
The file was modifiedllvm/test/TableGen/self-reference-typeerror.td
The file was modifiedllvm/include/llvm/TableGen/Error.h
The file was modifiedllvm/lib/TableGen/Record.cpp
The file was modifiedllvm/utils/TableGen/SearchableTableEmitter.cpp
The file was modifiedllvm/lib/TableGen/TGParser.cpp
Commit 5dd1b6d612655c9006ba97a8b6487ded80719b48 by epastor
[ms] [llvm-ml] Add support for .radix directive, and accept all radix specifiers

Add support for .radix directive, and radix specifiers [yY] (binary), [oOqQ] (octal), and [tT] (decimal).

Also, when lexing MASM integers, require radix specifier; MASM requires that all literals without a radix specifier be treated as in the default radix. (e.g., 0100 = 100)

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D87400
The file was addedllvm/test/tools/llvm-ml/radix.test
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmLexer.h
The file was modifiedllvm/lib/MC/MCParser/COFFMasmParser.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmLexer.cpp
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was addedllvm/test/tools/llvm-ml/radix_errors.test
Commit 6189a8d9f56ac9434eac94d6c515d3e460fdecd0 by spatel
[TTI] add wrapper for matching vector reduction to reduce code duplication; NFC

I'm not sure what this means, but the order in which we try
the matches makes a difference on at least 1 regression test...
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit aca7105db9ae1a42d7cbf48934abb51169945425 by epastor
Fix include location (accidentally committed a local variation)
The file was modifiedllvm/lib/MC/MCParser/AsmLexer.cpp
Commit f21f835ee8e52f128281697d66f8b11a50a6d5dd by craig.topper
[X86] Improve demanded bits for X86ISD::BEXTR.

If the control is constant we can figure out exactly which bits
of the input are demanded.

Differential Revision: https://reviews.llvm.org/D88072
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/tbm-intrinsics.ll
Commit 7a3c643c35590df67716dfe3e3c60195ae385e43 by craig.topper
[SLP] Make HorizontalReduction::getOperationData take an Instruction* instead of a Value*. NFCI

All of the callers already have an Instruction *. Many of them
from a dyn_cast.

Also update the OperationData constructor to use a Instruction&
to remove a dyn_cast and make it clear that the pointer is non-null.

Differential Revision: https://reviews.llvm.org/D88132
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit b901b6ab173ac77edfe97e0dbd138410b940b4bc by epastor
Revert "[ms] [llvm-ml] Add support for .radix directive, and accept all radix specifiers"

This reverts commit 5dd1b6d612655c9006ba97a8b6487ded80719b48.
The file was modifiedllvm/lib/MC/MCParser/AsmLexer.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmLexer.h
The file was modifiedllvm/lib/MC/MCParser/COFFMasmParser.cpp
The file was removedllvm/test/tools/llvm-ml/radix_errors.test
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was removedllvm/test/tools/llvm-ml/radix.test
Commit 55f5a0137f5bbfc8411bd11a5d2695ba84534345 by joker.eph
Update Phabricator doc to remove the warning on "arc land": tags a properly handled server side now
The file was modifiedllvm/docs/Phabricator.rst
Commit 5281ba1994bdd21309d694c44e43ed825294221c by joker.eph
Document the `--verbatim` flag from arc to update the description for a phabricator revision
The file was modifiedllvm/docs/Phabricator.rst
Commit 0caad9fe441d5ee562e96d8b30b5574b492a933a by mcgrathr
[lsan] On Fuchsia, don't use atexit hook for leak checks

Fuchsia's system libraries are instrumented and use the lsan
allocator for internal purposes.  So leak checking needs to run
after all atexit hooks and after the system libraries' internal
exit-time hooks.  The <zircon/sanitizer.h> hook API calls the
__sanitizer_process_exit_hook function at exactly the right time.

Reviewed By: vitalybuka, phosek

Differential Revision: https://reviews.llvm.org/D86171
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_fuchsia.cpp
The file was modifiedcompiler-rt/lib/asan/asan_internal.h
The file was modifiedcompiler-rt/lib/asan/asan_win.cpp
The file was modifiedcompiler-rt/lib/asan/asan_posix.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan.h
The file was modifiedcompiler-rt/lib/lsan/lsan_posix.cpp
The file was modifiedcompiler-rt/lib/asan/asan_fuchsia.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common_fuchsia.cpp
Commit 11a75e6c92c9bde26f3c925b25135c2461afac1c by aeubanks
[gn build] Allow option to build with asan/tsan/ubsan

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D88056
The file was modifiedllvm/utils/gn/build/buildflags.gni
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit d14cfe10341681d18edf05ac98da2c5241b0864e by joker.eph
[mlir][OpFormatGen] Update "custom" directives for attributes.

This tweaks the generated code for parsing attributes with a custom
directive to call `addAttribute` on the `OperationState` directly,
and adds a newline after this call. Previously, the generated code
would call `addAttribute` on the `OperationState` field `attributes`,
which has no such method and fails to compile. Furthermore, the lack
of newline would generate code with incorrectly formatted single line
`if` statements. Added tests for parsing and printing attributes with
a custom directive.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D87860
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit b92d084910b9febdafb9e701af6b73ddb7cac5af by efriedma
[AArch64][SVE] Fix frame offset calculation when d8 is saved.

If d8 is saved, the fp is not actually adjacent to the SVE
spills/allocations.  Fix the offset calculation to account for this.

Differential Revision: https://reviews.llvm.org/D88117
The file was modifiedllvm/test/CodeGen/AArch64/framelayout-sve.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit 3726ac41e9e00d2f6f87779b68f91ea264223c8a by jingham
Add `breakpoint delete --disabled`: deletes all disabled breakpoints.

Differential Revision: https://reviews.llvm.org/D88129
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Commit 59691dc8740c7eada7fcf5552e0d2377780c6fb7 by Stanislav.Mekhanoshin
[AMDGPU] Make ds fp atomics overloadable

Differential Revision: https://reviews.llvm.org/D87947
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGenCUDA/builtins-amdgcn.cu
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modifiedclang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
The file was modifiedllvm/test/CodeGen/AMDGPU/lds_atomic_f32.ll
Commit 6ada9e516f495eb6aa63e0c3e3edf3e3ae3c1a63 by andrew.litteken
[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData.

The IRSimilarityCandidate is a container to hold a region of
IRInstructions and offer interfaces for the starting instruction, ending
instruction, parent function, length.  It also assigns a global value
number for each unique instance of a value in the region.

It also contains an interface to compare two IRSimilarity as to whether
they have the same sequence of similar instructions.

Tests for whether the instructions are similar are found in
unittests/Analysis/IRSimilarityIdentifierTest.cpp.

Recommit of: 4944bb190fed8861d4d043eaf45e3c1e12aa2dc5

Differential Revision: https://reviews.llvm.org/D86970
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit 652a8f150d4903abb53697ef1762026c6f5e716c by wei.huang
[PowerPC][PCRelative] Thread Local Storage Support for Local Dynamic

This patch is the initial support for the Local Dynamic Thread Local Storage
model to produce code sequence and relocation correct to the ABI for the model
when using PC relative memory operations.

Differential Revision: https://reviews.llvm.org/D87721
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def
The file was addedllvm/test/MC/PowerPC/pcrel-tls-local-dynamic-reloc.s
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
The file was addedllvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCMCInstLower.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPC.h
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
Commit c96d0cceb684fa176b51d7df5f4f8370e2c983f4 by mcgrathr
asan: Use `#if` to test CAN_SANITIZE_LEAKS

The `if (0)` isn't necessarily optimized out so as not to create
a link-time reference to LSan runtime functions that might not
exist.  So use explicit conditional compilation instead.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D88173
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common_fuchsia.cpp
Commit 2efc09c90914a6c887cb772130d6b375a1713472 by kostyak
[scudo][standalone] Fix tests under ASan/UBSan

Fix a potential UB in `appendSignedDecimal` (with -INT64_MIN) by making
it a special case.

Fix the terrible test cases for `isOwned`: I was pretty sloppy on those
and used some stack & static variables, but since `isOwned` accesses
memory prior to the pointer to check for the validity of the Scudo
header, it ended up being detected as some global and stack buffer out
of bounds accesses. So not I am using buffers with enough room so that
the test will not access memory prior to the variables.

With those fixes, the tests pass on the ASan+UBSan Fuchsia build.

Thanks to Roland for pointing those out!

Differential Revision: https://reviews.llvm.org/D88170
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/combined_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/string_utils.cpp
Commit f161e84c10b6eb2255345ebfaaa2bbadb4b0fe2a by nikita.ppv
Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks"

This reverts commit 0caad9fe441d5ee562e96d8b30b5574b492a933a.
This reverts commit c96d0cceb684fa176b51d7df5f4f8370e2c983f4.

Causes linker errors which were not fixed by the subsequent commit
either:

/home/nikic/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:503: error: undefined reference to '__asan::InstallAtExitCheckLeaks()'
The file was modifiedcompiler-rt/lib/lsan/lsan_common_fuchsia.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_fuchsia.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan.h
The file was modifiedcompiler-rt/lib/asan/asan_win.cpp
The file was modifiedcompiler-rt/lib/asan/asan_posix.cpp
The file was modifiedcompiler-rt/lib/asan/asan_fuchsia.cpp
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was modifiedcompiler-rt/lib/asan/asan_internal.h
The file was modifiedcompiler-rt/lib/lsan/lsan_posix.cpp
Commit 3a76de42753e351311193ec1f729117b96a7bd9a by muhammad.asif.manzoor
[AArch64][SVE] Add lowering for llvm frecpx

Add the functionality to lower frecpx for passthru variant

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D88032
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit af1d3e655991e5f0c86df372b8583a60d20268e0 by aaron
Allow init_priority values <= 100 and > 65535 within system headers.

This also adds some bare-bones documentation for the attribute rather
than leaving it undocumented.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCXX/init-priority-attr.cpp
Commit 4a55c98fa7bee1e5ab1504db20ca4d7c8a083111 by jotrem
[lldb] Normalize paths in new test

The minidump-sysroot test I added in commit 20f84257 compares two paths
using a string comparison.  This causes the Windows buildbot to fail
because of mismatched forward slashes and backslashes.  Use
os.path.normcase to normalize before comparing.
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
Commit 7aa982a57ce0dbf8fdbd276004615ddcf729c906 by sdi1600105
[LoopTerminology][NFC] Fix formatting typo
The file was modifiedllvm/docs/LoopTerminology.rst
Commit 57f097420d43adf3f38d66b31ed4ef49da62ae75 by kparzysz
Clean up test file, NFC
The file was modifiedllvm/test/Transforms/EarlyCSE/getmatchingvalue-crash.ll
Commit 88cdbeab417cc716d1da2de2a508d24622f4a4bc by conanap
[PowerPC] Implement Vector signed/unsigned __int128 overloads for the comparison builtins

This patch implements Vector signed/unsigned __int128 overloads for the comparison builtins.

Differential Revision: https://reviews.llvm.org/D87804
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was addedllvm/test/CodeGen/PowerPC/vec_cmpq.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 2e7117f847708d2fd1ff2d2961c3439470532b80 by conanap
[PowerPC] Implement the 128-bit vec_[all|any]_[eq | ne | lt | gt | le | ge] builtins in Clang/LLVM

This patch implements the vec_[all|any]_[eq | ne | lt | gt | le | ge] builtins for vector signed/unsigned __int128.

Differential Revision: https://reviews.llvm.org/D87910
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/vec_cmpq.ll
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 8e780a1653e6f87755a447e921b8f929d8b70996 by Yaxun.Liu
Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic

This recommits 829d14ee0a6aa79c89f7f3d9fcd9d27d3efd2b91.

The patch was reverted due to a regression in some CUDA app
which was thought to be caused by this patch. However, investigation
showed that the regression was due to some other issues, therefore
recommit this patch.
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/Basic/Diagnostic.h
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Sema/Ownership.h
The file was modifiedclang/include/clang/AST/CanonicalType.h
The file was modifiedclang/lib/AST/TemplateName.cpp
The file was modifiedclang/include/clang/Basic/PartialDiagnostic.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Basic/Diagnostic.cpp
The file was modifiedclang/include/clang/AST/DeclarationName.h
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/include/clang/AST/TemplateName.h
The file was modifiedclang/include/clang/AST/Attr.h
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/include/clang/AST/TemplateBase.h
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit e8413ac97f6ca2b1897cc9555ad9b0194456629f by mcinally
[AArch64] Expand some vector of i64 reductions on NEON

With the exception of VECREDUCE_ADD, there are no NEON instructions to support vector of i64 reductions. This patch removes the Custom lowerings for those and adds some test coverage to confirm.

Differential Revision: https://reviews.llvm.org/D88161
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-addv.ll
Commit 3f739f736b8fed6f4d63569f56c985ef04b21cd1 by efriedma
[SelectionDAG][GISel] Make LegalizeDAG lower FNEG using integer ops.

Previously, if a floating-point type was legal, but FNEG wasn't legal,
we would use FSUB.  Instead, we should use integer ops, to preserve the
semantics.  (Alternatively, there's a compiler-rt call we could use, but
there isn't much reason to use that.)

It turns out we actually are still using this obscure codepath in a few
cases: on some targets, we have "legal" floating-point types that don't
actually support any floating-point operations.  In particular, ARM and
AArch64 are using this path.

The implementation for SelectionDAG is pretty simple because we can
reuse the infrastructure from FCOPYSIGN.

See also 9a3dc3e, the corresponding change to type legalization.

Also includes a "bonus" change to STRICT_FSUB legalization, so we can
lower a STRICT_FSUB to a float libcall.

Includes the changes to both LegalizeDAG and GlobalISel so we don't have
inconsistent results in the future.

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

Differential Revision: https://reviews.llvm.org/D84287
The file was modifiedllvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
The file was modifiedllvm/lib/Target/ARM/ARMLegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fp128.ll
The file was modifiedllvm/test/CodeGen/ARM/GlobalISel/arm-legalize-binops.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/X86/GlobalISel/legalize-fneg.mir
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp-negabs.ll
Commit 140b7b6f09ca01f89701ccc86ddd8553cf42c311 by sam.mccall
[JSON] Allow emitting comments in json::OStream

This isn't standard JSON, but is a popular extension.
It will be used to show errors in context, rendering pseudo-json for humans.

Differential Revision: https://reviews.llvm.org/D88103
The file was modifiedllvm/include/llvm/Support/JSON.h
The file was modifiedllvm/lib/Support/JSON.cpp
The file was modifiedllvm/unittests/Support/JSONTest.cpp
Commit fa5f9452120cc1691d23e272697695a5a4331f9c by gkm
[lld-macho] cleanup unimplemented-option warnings

Remove all spurious `HelpHidden` flags from  `lld/MachO/Options.td`. Add test for `HelpHidden` to `warnIfUnimplementedOption()` so that the empty `// handled elsewhere` case is unnecessary.

Reviewed By: #lld-macho, int3, smeenai

Differential Revision: https://reviews.llvm.org/D88160
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Driver.cpp
Commit d9717d8ee7143f4f5b768dfb5e8629ecfa067e39 by craig.topper
[X86] Add a memory clobber to the bittest intrinsic inline asm. Get default clobbers from the target

I believe the inline asm emitted here should have a memory clobber since it writes to memory.

It was also missing the dirflag clobber that we use by default along with flags and fpsr. To avoid missing defaults in the future, get the default list from the target

Differential Revision: https://reviews.llvm.org/D88121
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/bittest-intrin.c
Commit 8f2c31f22b974da2c0fbc5de0ce4dceffe8ed0b8 by gkm
[lld-macho] handle options -search_paths_first, -search_dylibs_first

Differential Revision: https://reviews.llvm.org/D88054
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/test/MachO/link-search-order.s
The file was modifiedlld/MachO/Config.h
Commit 16619e7139bdcb0021598ba76cb5cf30ac669dbb by sam.mccall
[JSON] Facility to track position within an object and report errors.

This error model should be rich enough for most applications. It comprises:

- a name for the root object, so the user knows what we're parsing
- a path from the root object to the JSON node most associated with the error
- a local error message

This can be presented as an llvm::Error e.g.
  "expected string at ConfigFile.credentials[0].username"

It's designed to be cheap: Paths are a linked list of lightweight
objects on the stack. No heap allocations unless errors are encountered.

A subsequent commit will make use of this in the JSON-to-object
translation facilities: fromJSON and ObjectMapper.
However it's independent of these and can be used for e.g. validation alone.

Another subsequent commit will support showing the error in its context
within the parsed value.

Differential Revision: https://reviews.llvm.org/D88103
The file was modifiedllvm/include/llvm/Support/JSON.h
The file was modifiedllvm/unittests/Support/JSONTest.cpp
The file was modifiedllvm/lib/Support/JSON.cpp
Commit 6700b9de1637fd9888dfe9628157d2aeb6d9f526 by aeubanks
[NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D88128
The file was modifiedllvm/test/Analysis/BasicAA/store-promote.ll
The file was modifiedllvm/test/Transforms/LICM/atomics.ll
The file was modifiedllvm/test/Transforms/LICM/promote-order.ll
The file was modifiedllvm/test/Transforms/LICM/store-hoisting.ll
The file was modifiedllvm/test/Transforms/LICM/argmemonly-call.ll
The file was modifiedllvm/test/Transforms/LICM/read-only-calls.ll
Commit 6b1ce83a1238815899cf18f69bbc0eb37679a410 by aeubanks
[NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass

This seems to fit the CGSCC updates model better than calling
addNewFunctionInto{Ref,}SCC() on newly created/outlined functions.
Now addNewFunctionInto{Ref,}SCC() are no longer necessary.

However, this doesn't work on newly outlined functions that aren't
referenced by the original function. e.g. if a() was outlined into b()
and c(), but c() is only referenced by b() and not by a(), this will
trigger an assert.

This also fixes an issue I was seeing with newly created functions not
having passes run on them.

Ran check-llvm with expensive checks.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87798
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
The file was modifiedllvm/unittests/Analysis/CGSCCPassManagerTest.cpp
The file was modifiedllvm/include/llvm/Analysis/LazyCallGraph.h
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/unittests/Analysis/LazyCallGraphTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/CallGraphUpdater.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
Commit 111aa4e36614d9a056cf5040d4d7bbfddeb9ebb2 by aeubanks
[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass

This is in preparation for supporting -debugify-each, which adds a debug
info pass before and after each pass.

Switch VerifyEach to use this.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D88107
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
The file was modifiedllvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
Commit 38de1c33a8374bb16abfb024a973d851c170bafc by sam.mccall
[JSON] Display errors associated with Paths in context

When an error occurs processing a JSON object, seeing the actual
surrounding data helps. Dumping just the node where the problem
was identified can be too much or too little information.

printErrorContext() shows the error message in its context, as a comment.
JSON values along the path to the broken place are shown in some detail,
the rest of the document is elided. For example:

```
{
  "credentials": [
    {
      "username": /* error: expected string */ 42,
      "password": "secret"
    },
    { ... }
  ]
  "backups": { ... }
}
```

Differential Revision: https://reviews.llvm.org/D88103
The file was modifiedllvm/lib/Support/JSON.cpp
The file was modifiedllvm/unittests/Support/JSONTest.cpp
The file was modifiedllvm/include/llvm/Support/JSON.h
Commit b16d6653c01cee37f51a98dd4092c4ef302c47a5 by rprichard
[libunwind] Combine dl_iterate_phdr codepaths for DWARF and EHABI

dl_iterate_phdr is used to search for unwind info provided by either
PT_GNU_EH_FRAME or PT_ARM_EXIDX. Most of the code between the two is
the same, so combine them, and factor out what's different into
checkForUnwindInfoSegment.

Details:
- The FrameHeaderCache can now be enabled for ARM EHABI.
- findUnwindSectionsByPhdr now finds the last PT_ARM_EXIDX rather than
   the first. There should only be one segment.
- The dso_base and text_segment_length fields of UnwindInfoSections
   are now needed for dl_iterate_phdr when using EHABI, to hold the
   low and high PC values for a cache entry.

Reviewed By: compnerd, danielkiss, #libunwind, saugustine

Differential Revision: https://reviews.llvm.org/D87880
The file was modifiedlibunwind/test/frameheadercache_test.pass.cpp
The file was modifiedlibunwind/src/AddressSpace.hpp
Commit 881aba7071c6e4cc2417e875ca5027ec7c0a92a3 by rprichard
[libunwind] Optimize dl_iterate_phdr's findUnwindSectionsByPhdr

Currently, findUnwindSectionsByPhdr is slightly micro-optimized for the
case where the first callback has the target address, and is otherwise
very inefficient -- it decodes .eh_frame_hdr even when no PT_LOAD
matches the PC. (If the FrameHeaderCache is enabled, then the
micro-optimization only helps the first time unwind info is looked up.)

Instead, it makes more sense to optimize for the case where the
callback *doesn't* find the target address, so search for a PT_LOAD
segment first, and only look for the unwind info section if a matching
PT_LOAD is found.

This change helps on an Android benchmark with 100 shared objects,
where the DSO at the end of the dl_iterate_phdr list throws 10000
exceptions. Assuming the frame cache is disabled, this change cuts
about 30-40% off the benchmark's runtime.

Reviewed By: compnerd, saugustine, #libunwind

Differential Revision: https://reviews.llvm.org/D87881
The file was modifiedlibunwind/src/AddressSpace.hpp
Commit fa69b608063eecba76fb35d167b063cbfe532c28 by sam.mccall
[JSON] Add error reporting to fromJSON and ObjectMapper

Translating between JSON objects and C++ strutctures is common.
From experience in clangd, fromJSON/ObjectMapper work well and save a lot of
code, but aren't adopted elsewhere at least partly due to total lack of error
reporting beyond "ok"/"bad".

The recently-added error model should be rich enough for most applications.
It requires tracking the path within the root object and reporting local
errors at appropriate places.
To do this, we exploit the fact that the call graph of recursive
parse functions mirror the structure of the JSON itself.
The current path is represented as a linked list of segments, each of which is
on the stack as a parameter. Concretely, fromJSON now looks like:
  bool fromJSON(const Value&, T&, Path);

Beyond the signature change, this is reasonably unobtrusive: building
the path segments is mostly handled by ObjectMapper and the vector<T> fromJSON.
However the root caller of fromJSON must now create a Root object to
store the errors, which is a little clunky.

I've added high-level parse<T>(StringRef) -> Expected<T>, but it's not
general enough to be the primary interface I think (at least, not usable in
clangd).

All existing users (mostly just clangd) are updated in this patch,
making this change backwards-compatible is a bit hairy.

Differential Revision: https://reviews.llvm.org/D88103
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedllvm/include/llvm/Support/JSON.h
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedlldb/source/Utility/StructuredData.cpp
The file was modifiedclang-tools-extra/clangd/index/Index.h
The file was modifiedllvm/unittests/Support/JSONTest.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
The file was modifiedclang-tools-extra/clangd/index/Index.cpp
Commit 751f5c81468966d921ad54827d27ff19aa43af8e by sam.mccall
Fix LLDB tweak in 62a47e994fcf5b73e29547d26cd9676b30cb69a3
The file was modifiedlldb/source/Utility/StructuredData.cpp
Commit 23291e8ec7e8f54db56ff77b61313e9d55a23861 by Louis Dionne
[libc++] Fix spurious test failure in -fno-exceptions
The file was modifiedlibcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.fail.cpp
Commit 2bd5e3fb3cc032f90447067d38c48c75b23f32c5 by sam.mccall
[clangd] Improve bad-RPC-payload error messages slightly
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
Commit f5435399e823746bbe1737b95c853d77a42e1ac3 by zequanwu
[CGProfile] don't emit cgprofile entry if called function is dllimport

Differential Revision: https://reviews.llvm.org/D88127
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
Commit ee7ee71f40e904a8380d6439ac4741304b4a2dfd by smeenai
Explicitly specify CMAKE_AR in WinMsvc.cmake

As of cmake 3.18, cmake changes how it searches for compilers for
Windows (see
https://gitlab.kitware.com/cmake/cmake/-/commit/55196a1440e26917d40e6a7a3eb8d9fb323fa657)
and now finds llvm-ar instead of llvm-lib as CMAKE_AR. This explicitly
specifies CMAKE_AR as llvm-lib so the correct program is found.

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D88176
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake
The file was modifiedllvm/cmake/platforms/WinMsvc.cmake
Commit 92d42b32a9b7a085fd200a56022724a77cf12a2d by Saleem Abdulrasool
Utility: ignore OS version on non-Darwin targets in `ArchSpec`

The OS version field is generally not very helpful for non-Darwin
targets.  On Linux, it identifies the kernel version which moves
out-of-sync with the userspace.  On Windows, this field actually ends up
corresponding to the Visual Studio toolset version instead of the OS
version.  Consider non-Darwin targets without an OS version to be fully
specified.

Differential Revision: https://reviews.llvm.org/D88181
Reviewed By: Jonas Devlieghere, Dave Lee
The file was modifiedlldb/source/Utility/ArchSpec.cpp
Commit bc7f6c6dd8252370e6b485b8193093004644a16d by freddy.ye
[X86] Add TDX instructions.

For more details about these instructions, please refer to the latest TDX document: https://software.intel.com/content/www/us/en/develop/articles/intel-trust-domain-extensions.html

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88006
The file was addedllvm/lib/Target/X86/X86InstrTDX.td
The file was modifiedllvm/test/MC/X86/x86-64.s
The file was modifiedllvm/test/MC/Disassembler/X86/x86-32.txt
The file was modifiedllvm/test/MC/Disassembler/X86/x86-64.txt
The file was modifiedllvm/test/MC/X86/x86-32-coverage.s
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
Commit 3d38a975d72c8711a123d1862e517bcbdab7d700 by i
[X86] Parse data32 call in .code16 as CALLpcrel32

Used by kexec-tools (PR46942)
In GNU as, tc-i386.c:output_jump uses 4-byte immediate if a data32 prefix is present.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88137
The file was modifiedllvm/test/MC/X86/x86-16.s
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/test/MC/X86/data-prefix-fail.s
Commit 29aaa188480e59f136330d77d255453e8d744b32 by aeubanks
Revert "[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass"

This reverts commit 111aa4e36614d9a056cf5040d4d7bbfddeb9ebb2.
The file was modifiedllvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
Commit 1e0500d4f7f19b3eae0f9b6f05591a40188d8d99 by carl.ritson
[AMDGPU] Consider all SGPR uses as unique in constant bus verify

Fix the verifier so that overlapping SGPR operands are counted
independently.  We cannot assume that overlapping SGPR accesses
only count as a single constant bus use.
The exception is implicit uses which do not add to constant bus
usage (only) when overlapping.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D87748
The file was addedllvm/test/CodeGen/AMDGPU/verify-constant-bus-violations.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 714075f9c1ac50cde20e21e559f0e29fdc848bf1 by aeubanks
[NFC] Remove unnecessary default constructors
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
Commit 41d6669f1f16cc2f6cd0faf2c58447d1aa2072fa by Pushpinder.Singh
[GlobalISel][AMDGPU] Lower G_SMULH/G_UMULH

Reviewed By: arsenm, foad

Differential Revision: https://reviews.llvm.org/D85653
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smulh.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit 63ace77962543f961f1d566dd1243b1fb37129ef by jezng
[lld-macho] Initial support for common symbols

On Unix, it is traditionally allowed to write variable definitions without
initialization expressions (such as "int foo;") to header files. These are
called tentative definitions.

The compiler creates common symbols when it sees tentative definitions. When
linking the final binary, if there are remaining common symbols after name
resolution is complete, the linker converts them to regular defined symbols in
a `__common` section.

This diff implements most of that functionality, though we do not yet handle
the case where there are both common and non-common definitions of the same
symbol.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D86909
The file was modifiedlld/MachO/SymbolTable.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was addedlld/test/MachO/common-symbol-coalescing.s
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Driver.cpp
Commit cd7cb0c30305501982ba37b4905bb264b3539ad0 by jezng
[lld-macho] Implement and test resolution of common symbols

Handle the case where there are both common and non-common definitions
of the same symbol. Add a bunch of tests to ensure compatibility with ld64.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D86910
The file was addedlld/test/MachO/common-symbol-resolution.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/test/MachO/nonweak-definition-override.s
Commit 5d26bd3b75538515194d9e54c76e723524c1ac18 by jezng
[lld-macho] Emit indirect symbol table

Makes it a little easier to read objdump's disassembly.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D87178
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/OutputSection.h
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was addedlld/test/MachO/indirect-symtab.s
Commit 79412d6ca772c1c3913030cfef4b17f4afac110d by jezng
[lld-macho] Ignore `-mllvm` and its argument

Test Plan:

Reviewed By: #lld-macho, compnerd, MaskRay

Differential Revision: https://reviews.llvm.org/D87803
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/MachO/Options.td
Commit 98f03908d07d06c74be5547cc0436bd89186cae2 by jezng
[lld-macho] Support -weak_lx, -weak_library, -weak_framework

They cause their corresponding libraries / frameworks to be loaded via
`LC_LOAD_WEAK_DYLIB` instead of `LC_LOAD_DYLIB`.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D87929
The file was modifiedlld/MachO/Writer.cpp
The file was addedlld/test/MachO/weak-import.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/InputFiles.h
Commit ca8752a793f1576b666fb22a74278d44725138f1 by jezng
[lld-macho][NFC] Refactor syslibroot / library path lookup

* Move computation of systemLibraryRoots into a separate function, so we
  can add more functionality to it without things becoming unwieldy
* Have `getSearchPaths` and related functions return by value instead of
  by output parameter. NRVO should ensure that performance is unaffected.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87959
The file was modifiedlld/MachO/Driver.cpp
Commit 9c70281497730a7dc7df43435bf570bef1108454 by jezng
[lld-macho][NFC] Make `!= nullptr` implicit
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/OutputSegment.cpp
Commit b27db2bb68163fa5bcb4a8f631a305eb5adb44e5 by andrew.litteken
[IRSim] Adding structural comparison to IRSimilarityCandidate.

Just because sequences of instructions are similar to one another,
doesn't mean they are doing the same thing.

This introduces a structural check for the IRSimilarityCandidate that
compares two IRSimilarityCandidates against one another, and in each
instruction creates a mapping between the operands and results, or
checks that the existing mapping is valid.  If this check passes, it
means we have structurally similar IRSimilarityCandidates.

Tests for whether the candidates are found in
unittests/Analysis/IRSimilarityIdentifierTest.cpp.
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit 0a8e097e72dfc148df1d9345aba52e75cdc5aa50 by andrew.litteken
Revert "[IRSim] Adding structural comparison to IRSimilarityCandidate."

This reverts commit b27db2bb68163fa5bcb4a8f631a305eb5adb44e5.
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit d1aa143aa84e20a8cdef24a0b5ccf70941884534 by andrew.litteken
[IRSim] Adding structural comparison to IRSimilarityCandidate.

Just because sequences of instructions are similar to one another,
doesn't mean they are doing the same thing.

This introduces a structural check for the IRSimilarityCandidate that
compares two IRSimilarityCandidates against one another, and in each
instruction creates a mapping between the operands and results, or
checks that the existing mapping is valid.  If this check passes, it
means we have structurally similar IRSimilarityCandidates.

Tests for whether the candidates are found in
unittests/Analysis/IRSimilarityIdentifierTest.cpp.

Recommit of: b27db2bb68163fa5bcb4a8f631a305eb5adb44e5 for Differential
URL.

Differential Revision: https://reviews.llvm.org/D86971
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit 6b136b19cbe4e96adea63b75f1f2f76ec25c708e by amy.kwan1
[Power10]  Implement custom codegen for the vec_replace_elt and vec_replace_unaligned builtins.

This patch implements custom codegen for the vec_replace_elt and
vec_replace_unaligned builtins.

These builtins map to the @llvm.ppc.altivec.vinsw and @llvm.ppc.altivec.vinsd
intrinsics depending on the arguments. The main motivation for doing custom
codegen for these intrinsics is because there are float and double versions of
the builtin. Normally, the converting the float to an integer would be done via
fptoui in the IR. This is incorrect as fptoui truncates the value and we must
ensure the value is not truncated. Therefore, we provide custom codegen to utilize
bitcast instead as bitcasts do not truncate.

Differential Revision: https://reviews.llvm.org/D83500
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was addedclang/test/CodeGen/builtins-ppc-vec-ins-error.c
The file was modifiedclang/lib/Headers/altivec.h
Commit e1ef7183c6f008fa13cbe273500b020c4fad1252 by Jonas Devlieghere
[dwarfdump] Warn for tags with DW_CHILDREN_yes but no children.

Flag DIEs that have DW_CHILDREN_yes set in their abbreviation but don't
actually have any children.

rdar://59809554

Differential revision: https://reviews.llvm.org/D88048
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/verify_die_ranges.s
The file was modifiedllvm/test/DebugInfo/X86/skeleton-unit-verify.s
The file was addedllvm/test/tools/llvm-dwarfdump/X86/no-children.yaml
Commit 0328feb086fca6ed8e57265aa073d7600ac9079c by dblaikie
DebugInfo: Filter DWARFv5 TUs out of the debug_info unit list when CUs requested

Since DWARFv5 places TUs in debug_info, some of DWARFContext's APIs have
become a bit erroneous, including TUs in the CU list by accident.
Correct that by providing compile_units (& dwo_compile_units) that
filter out the type units from the debug_info units.

Differential Revision: https://reviews.llvm.org/D87935
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
Commit beeceb92c082ce13807504b1e8f0567bf91d17ea by andrew.litteken
[IRSim][NFC] Removing warning from IRSimilarityIdentifier
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit 505ac22f1a1ada261280d979862d8af541016f77 by Xing
[DWARFYAML] Make the ExtLen field of extended opcodes optional.

This patch makes the 'ExtLen' field of extended opcodes optional. We
don't need to manually calculate it in the future.

Reviewed By: jhenderson, MaskRay

Differential Revision: https://reviews.llvm.org/D88136
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-line.yaml
Commit b63bfc2030dedf1f94fd074805993b53c5a71caf by andrew.litteken
[IRSim] Adding a basic similarity identifier.

This takes the mapped instructions from the IRInstructionMapper, and
passes it to the Suffix Tree to find the repeated substrings.  Within
each set of repeated substrings, the IRSimilarityCandidates are compared
against one another for structure, and ensuring that the operands in the
instructions are used in the same way.  Each of these structurally
similarity IRSimilarityCandidates are contained in a SimilarityGroup.

Tests checking for identifying identity of structure, different
isomorphic structure, and different
nonisomoprhic structure are found in
unittests/Analysis/IRSimilarityIdentifierTest.cpp.

Differential Revision: https://reviews.llvm.org/D86972
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit c367f93e8539c4d0bcdc86ad7ea7923e06231a93 by omair.javaid
Revert "[lld-macho] Implement and test resolution of common symbols"

This reverts commit cd7cb0c30305501982ba37b4905bb264b3539ad0.
Break lldb Arm build:
http://lab.llvm.org:8011/builders/lldb-arm-ubuntu/builds/4409
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/test/MachO/nonweak-definition-override.s
The file was removedlld/test/MachO/common-symbol-resolution.s
Commit 8112d494d344dc0935d5c078f066a43d7c984e0c by omair.javaid
Revert "[lld-macho] Initial support for common symbols"

This reverts commit 63ace77962543f961f1d566dd1243b1fb37129ef.

Breaks LLDB Arm build:
http://lab.llvm.org:8011/builders/lldb-arm-ubuntu/builds/4409
The file was removedlld/test/MachO/common-symbol-coalescing.s
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/SymbolTable.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/SyntheticSections.h
Commit 99edb9b79c46706a41921c4edb1b849c1a618d26 by andrzej.warzynski
[flang][driver] Fix options flag in the frontend driver

In the frontend driver we should be using FC1Option (frontend driver
options) instead of FlangOption (flang driver options).

Differential Revision: https://reviews.llvm.org/D88108
The file was modifiedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Commit 7a6627b83539cc3b7970764e96dcfc2c9607b47f by kiran.chandramohan
[OpenMP][MLIR] Add assembly format for master op

Reviewed By: SouraVX, kiranktp

Differential Revision: https://reviews.llvm.org/D87549
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
The file was modifiedmlir/test/Dialect/OpenMP/ops.mlir
Commit 2f90e01a963acc1a4db2fbdd1c7fcf1433955744 by andrzej.warzynski
[flang][driver] Add missing dependency in CMake files

The Flang driver depends on libclangBasic. This means, among other
things, that some of the tablegen files (e.g. diagnostic definitions)
need to be generated before various libclangBasic header files can be
included (e.g. DiagnosticIDs.h). If we are lucky, libclangBasic is
indeed built before various flang driver libraries that depend on it
are. This patch makes sure that this is deterministic - i.e.
libclangBasic is built before the Flang driver libraries are.

Differential Revision: https://reviews.llvm.org/D88110
The file was modifiedflang/lib/FrontendTool/CMakeLists.txt
The file was modifiedflang/lib/Frontend/CMakeLists.txt
Commit 27da2875070ac00f6cd9f8040c6f994aca915406 by andrzej.warzynski
[flang][NFC] Fix CMake variable name in README.md

The CMake variable for the new flang driver is FLANG_BUILD_NEW_DRIVER
rather than BUILD_FLANG_NEW_DRIVER.
The file was modifiedflang/README.md
Commit 64168c6d996b6fdd017488785e0e9ce5ce05be54 by kadircet
[clangd] Disable suffix matching fallback for C during include insertion

Clangd currently doesn't respect language and breaks the builds with
include insertion for C. This patch aims to stop the bleeding by not mapping
back to CPP standard library headers.

Improves https://github.com/clangd/clangd/issues/376.

Differential Revision: https://reviews.llvm.org/D88144
The file was modifiedclang-tools-extra/clangd/index/CanonicalIncludes.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CanonicalIncludesTests.cpp
Commit 98756d865b696bece858ff0832ed3687b6b8ba4b by sam.mccall
[clangd] Fix comment. NFC
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit e60a760b7da970b6eeabc26faa9e065ec7cec1a8 by alexshap
[llvm-objcopy][MachO] Fix --add-section

This diff fixes --add-section functionality and simplifies the tests organization.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D87497
The file was addedllvm/test/tools/llvm-objcopy/MachO/add-section-64.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was addedllvm/test/tools/llvm-objcopy/MachO/add-section-error.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was addedllvm/test/tools/llvm-objcopy/MachO/add-section-32.test
The file was removedllvm/test/tools/llvm-objcopy/MachO/add-section.test
Commit 56ffb8d1697932c1097fba3315dba6d9e55b7bb8 by pifon
[mlir] Stop allowing LLVMType Int arguments for GPULaunchFuncOp.

Conversion to LLVM becomes confusing and incorrect if someone tries to lower
STD -> LLVM and only then GPULaunchFuncOp to LLVM separately. Although it is
technically allowed now, it works incorrectly because of the argument
promotion. The correct way to use this conversion pattern is to add to the
STD->LLVM patterns before running the pass.

Differential Revision: https://reviews.llvm.org/D88147
The file was modifiedmlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
Commit 4035cb7ac5755357222b6a83d76bdc4c2d718c54 by david.sherwood
[SVE] Add new isKnownXX comparison functions to TypeSize

This patch introduces four new comparison functions:

  isKnownLT, isKnownLE, isKnownGT, isKnownGE

that return true if we know at compile time that a particular
condition is met, i.e. that one size is definitely greater than
another. The existing operators <,>,<=,>= remain in the code for
now, but over time we would like to remove them and change the
code to use the isKnownXY routines instead. These functions do
not assert like the existing operators because the caller is
expected to properly deal with cases where we return false by
analysing the scalable properties. I've made more of an effort
to deal with cases where there are mixed comparisons, i.e. between
fixed width and scalable types.

I've also added some knownBitsXY routines to the EVT and MVT
classes that call the equivalent TypeSize::isKnownXY routines.
I've changed the existing bitsXY functions to call their knownBitsXY
equivalents and added asserts that the scalable properties match.
Again, over time we expect to migrate callers to use knownBitsXY
and make the code more aware of the scalable nature of the sizes.

Differential revision: https://reviews.llvm.org/D88098
The file was modifiedllvm/include/llvm/Support/TypeSize.h
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.h
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
Commit 8cc842a95072aaa87b5067a12aa9ef5b3ac8e592 by mikhail.maltsev
[clang][Sema] Use enumerator instead of hard-coded constant

Sema::DiagnoseSwiftName uses the constant 12 instead of the
corresponding enumerator ExpectedFunctionWithProtoType. This is
fragile and will fail if a new value gets added in the middle of the
enum.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D88164
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit a1217620a87f66616c15e869d56783ba18e51b12 by mikael.holmen
[unittests] Use std::make_tuple to make some toolchains happy again

My toolchain stopped working (LLVM 8.0, libstdc++ 5.4.0) after 577adda:

06:25:37 ../unittests/Support/Path.cpp:91:7: error: chosen constructor is explicit in copy-initialization
06:25:37       {"", false, false},  {"/", true, true},      {"/foo", true, true},
06:25:37       ^~~~~~~~~~~~~~~~~~
06:25:37 /proj/flexasic/app/llvm/8.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple:479:19: note: explicit constructor declared here
06:25:37         constexpr tuple(_UElements&&... __elements)
06:25:37                   ^

This commit adds explicit calls to std::make_tuple to work around
the problem.
The file was modifiedllvm/unittests/Support/Path.cpp
Commit a90d72127a814ea242227456be711aca07cc83a6 by pifon
[llvm] Use instead of  in IRSimilarityIdentifierTest.cpp.
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit 5ad06e43992a766fe048a1b964fd6fd1f10ade71 by georgemitenk0v
[MLIR][docs] Fix typos

Fixed typos in SPIR-V to LLVM manual.

Reviewed By: georgemitenkov

Differential Revision: https://reviews.llvm.org/D88202
The file was modifiedmlir/docs/SPIRVToLLVMDialectConversion.md
Commit 00e05b12c76c396688cd8d4caac09a2e96851fd9 by sam.mccall
[clangd] Reorder a little bit of init code. NFC

This makes it possible to do something else (run checks) instead of
starting the server, with all config applied.
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit 15c9af5618c8c4a810994df53543af9060086a8e by ro
[asan][test] Disable malloc-no-intercept.c on Solaris

`TestCases/malloc-no-intercept.c` `FAIL`s on Solaris/x86, e.g. with
`-Dtestfunc=mallinfo`:

  /usr/bin/ld: /tmp/malloc-no-intercept-586529.o: in function `main':
  /vol/llvm/src/llvm-project/dist/compiler-rt/test/asan/TestCases/malloc-no-intercept.c:30: undefined reference to `nonexistent_function'
  clang-12: error: linker command failed with exit code 1 (use -v to see invocation)

This is not surprising, actually:

- `mallinfo` and `mallopt` only exist in `libmalloc`
- `pvalloc` doesn't exist all all
- `cfree` does exist in `libc`, but isn't declared in any public header and
  the OpenSolaris sources reveal that it has a different signature than on
  Linux
- only `memalign` is a public interface

To avoid this, this patch disables the interceptors for all but `meminfo`.
Additionally, the test is marked `UNSUPPORTED` on Solaris since the
`memalign` and `cfree` variants **do** link on Solaris.

Tested on `amd64-pc-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D87898
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/test/asan/TestCases/malloc-no-intercept.c
Commit d4ddf63fc40cfbbc348adcc45cdc6f6d78268c5c by flo
[SCEV] Use loop guard info when computing the max BE taken count in howFarToZero.

For some expressions, we can use information from loop guards when
we are looking for a maximum. This patch applies information from
loop guards to the expression used to compute the maximum backedge
taken count in howFarToZero. It currently replaces an unknown
expression X with UMin(X, Y), if the loop is guarded by
X ult Y.

This patch is minimal in what conditions it applies, and there
are a few TODOs to generalize.

This partly addresses PR40961. We will also need an update to
LV to address it completely.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D67178
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/pr36032.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 5bddaf6dbf77085863346d3171023e30972b7323 by grimar
[llvm-readobj] - Fix a warning.

In a post review comments for D88097 it was mentioned that code
triggers bunch of warnings of the form:

llvm/tools/llvm-readobj/ELFDumper.cpp:5299:28: warning: loop variable 'Note' is always a copy because
the range of type 'iterator_range<llvm::object::ELFFile<llvm::object::ELFType<llvm::support::big, true> >::Elf_Note_Iterator>'
(aka 'iterator_range<Elf_Note_Iterator_Impl<ELFType<(llvm::support::endianness)0U, true> > >') does not return a reference [-Wrange-loop-analysis]
      for (const Elf_Note &Note : this->Obj.notes(P, Err))

It happens because Elf_Note is always copied here:

Elf_Note_Impl<ELFT> operator*() const {
  assert(Nhdr && "dereferenced ELF note end iterator");
  return Elf_Note_Impl<ELFT>(*Nhdr);
}

This patch fixes the issue by removing a reference.
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit bb0597067d1e7410e67d8c7d8a4c0ec9e6b26cd0 by grimar
[llvm-readelf/obj] - Stop printing wrong addresses for arm32 unwind info for non-relocatable objects.

This is the first patch for https://bugs.llvm.org/show_bug.cgi?id=47581.

Currently -u does not compute function addresses correctly and
dumps broken addresses for non-relocatable objects.

ARM spec says:
"An index table entry consists of 2 words.
The first word contains a prel31 offset (see Relocations) to the start of a function, with bit 31 clear."
...
"The relocated 31 bits form a place-relative signed offset to the referenced entity.
For brevity, this document will refer to the results of these relocations as "prel31 offsets"."

(https://developer.arm.com/documentation/ihi0038/c/?lang=en#index-table-entries)
(https://developer.arm.com/documentation/ihi0038/c/?lang=en#relocations)

Currently we use an address of the SHT_ARM_EXIDX section instead of an address of an entry
in computations. As a result we compute an offset that is not really "place-relative",
but section relative, what is wrong.

The patch fixes this issue.

Differential revision: https://reviews.llvm.org/D88076
The file was addedllvm/test/tools/llvm-readobj/ELF/ARM/unwind-non-relocatable.test
The file was modifiedllvm/tools/llvm-readobj/ARMEHABIPrinter.h
Commit 590cc068c160f3b623d47fb34fd1d26848cb0e0a by sepavloff
Use different name for auto variable

Without this change GCC 5.4.0 failed to compile JSON.cpp with the error:

    .../llvm-project/llvm/lib/Support/JSON.cpp: In lambda function:
    .../llvm-project/llvm/lib/Support/JSON.cpp:291:29: error: use of 'V' before deduction of 'auto'
           for (const auto &V : *V.getAsArray())
The file was modifiedllvm/lib/Support/JSON.cpp
Commit a4e42601d44b39fb0b2782344f5ed4ea53de5f20 by james.henderson
[lld][ELF][test] Add a couple of test cases for LTO behaviour

This patch expands two LTO test cases to check other aspects.

1) weak.ll has been expanded to show that it doesn't matter whether the
   first appearance of a weak symbol appears in a bitcode file or native
   object - that one is picked.
2) reproduce-lto.ll has been expanded to show that the bitcode files are
   stored in the reproduce package and that intermediate files (such as
   the LTO-compiled object) are not.

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

Reviewed by: grimar, MaskRay
The file was modifiedlld/test/ELF/reproduce-lto.s
The file was modifiedlld/test/ELF/lto/weak.ll
Commit 4e534900476d2a5c620e74ddb9c9e7d321e6d443 by development
[NFC][Docs] fix clang-docs compilation
The file was modifiedclang/docs/analyzer/checkers.rst
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 3ed04f93e30121867a813a220452b97aebeb1730 by a.v.lapshin
[llvm-objcopy][NFC] refactor error handling. part 1.

Remove usages of special error reporting functions(error(),
reportError()). This patch is extracted from D87987.
Errors are reported as Expected<>/Error returning values.
This part is for MachO subfolder of llvm-objcopy.

Testing: check-all.

Reviewed By: jhenderson, alexshap

Differential Revision: https://reviews.llvm.org/D88113
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.h
Commit b2c46633d1296a9080098abc4e6c6214d19005c0 by spatel
[APFloat] add tests for convert of NAN; NFC

More coverage for the bug fix proposed in D87835.
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp
Commit 10c94d8cf876952edb0dee20219259166c27c21d by andrzej.warzynski
[flang][driver] Remove unnecessary includes in the unittest (NFC)

Differential Revision: https://reviews.llvm.org/D88219
The file was modifiedflang/unittests/Frontend/CompilerInstanceTest.cpp
Commit 956a84da0616eb761297b46aa65750d738fb1544 by david.truby
    [flang] [OpenMP 4.5] Adding lit test cases for OpenMP Constructs.

1. Section 2.5   : Parallel Construct
2. Section 2.7.1 : Loop Construct
3. Section 2.7.2 : Sections Construct
4. Section 2.7.3 : Single Construct
5. Section 2.7.4 : Workshare Construct
6. Section 2.8.1 : Simd Construct
7. Section 2.8.3 : Loop Simd Construct
8. Section 2.9.1 : Task Construct
9. Section 2.9.2 : Taskloop Construct
10. Section 2.9.3 : Taskloop Simd Construct

Most of the test cases added as part of this change contains semantic errors except few cases which are semantically correct but thrown a semantic error.

Currently flang is not throwing the errors for these cases and throwing semantic errors for the following correct test cases

{omp-do03.f90 , omp-loop-simd01.f90 , omp-simd02.f90 , omp-taskloop01.f90}

Hence, all the test cases are marked as XFAIL.

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D87908
The file was addedflang/test/Semantics/omp-simd02.f90
The file was addedflang/test/Semantics/omp-do05.f90
The file was addedflang/test/Semantics/omp-do04.f90
The file was addedflang/test/Semantics/omp-do07.f90
The file was addedflang/test/Semantics/omp-sections01.f90
The file was addedflang/test/Semantics/omp-single02.f90
The file was addedflang/test/Semantics/omp-simd03.f90
The file was addedflang/test/Semantics/omp-workshare02.f90
The file was addedflang/test/Semantics/omp-do03.f90
The file was addedflang/test/Semantics/omp-taskloop01.f90
The file was addedflang/test/Semantics/omp-do01.f90
The file was addedflang/test/Semantics/omp-task01.f90
The file was addedflang/test/Semantics/omp-simd01.f90
The file was addedflang/test/Semantics/omp-do09.f90
The file was addedflang/test/Semantics/omp-do02.f90
The file was addedflang/test/Semantics/omp-parallell01.f90
The file was addedflang/test/Semantics/omp-parallell02.f90
The file was addedflang/test/Semantics/omp-workshare01.f90
The file was addedflang/test/Semantics/omp-loop-simd01.f90
The file was addedflang/test/Semantics/omp-taskloop03.f90
The file was addedflang/test/Semantics/omp-taskloop02.f90
The file was addedflang/test/Semantics/omp-do08.f90
The file was addedflang/test/Semantics/omp-do06.f90
The file was addedflang/test/Semantics/omp-do10.f90
The file was addedflang/test/Semantics/omp-taskloop-simd01.f90
The file was addedflang/test/Semantics/omp-single01.f90
Commit 4da6927de47074f56531c2e7e2eecc4d6a1f09ec by a.v.lapshin
Fix a builtbot failure after 3ed04f93e30121867a813a220452b97aebeb1730.
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
Commit 24f510570fedf2ac6ea421478c7500d777c8c3c6 by alexandre.ganea
[Support] On Windows, ensure abort() can be catched several times in a row with CrashRecoveryContext

Before this patch, the CrashRecoveryContext would only catch the first abort(). Any further calls to abort() inside subsquent CrashRecoveryContexts would not be catched. This is because the Windows CRT removes the abort() handler before calling it.

This is part of https://reviews.llvm.org/D70378
The file was modifiedllvm/unittests/Support/CrashRecoveryTest.cpp
The file was modifiedllvm/include/llvm/Support/CrashRecoveryContext.h
The file was modifiedllvm/lib/Support/CrashRecoveryContext.cpp
Commit b3418cb4eb1456c41606f4621dcfa362fe54183c by alexandre.ganea
[lit] Support running tests on Windows without GnuWin32

Historically, we have told contributors that GnuWin32 is a pre-requisite
because our tests depend on utilities such as sed, grep, diff, and more.
However, Git on Windows includes versions of these utilities in its
installation.  Furthermore, GnuWin32 has not been updated in many years.
For these reasons, it makes sense to have the ability to run llvm tests
in a way that is both:
  a) Easier on the user (less stuff to install)
  b) More up-to-date (The verions that ship with git are at least as
     new, if not newer, than the versions in GnuWin32.

We add support for this here by attempting to detect where Git is
installed using the Windows registry, confirming the existence of
several common Unix tools, and then adding this location to lit's PATH
environment.

Differential Revision: https://reviews.llvm.org/D84380
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit f5314d15af4f4514103ea12c74cb208538b8bef5 by alexandre.ganea
[Support] On Unix, let the CrashRecoveryContext return the signal code

Before this patch, the CrashRecoveryContext was returning -2 upon a signal, like ExecuteAndWait does. This didn't match the behavior on Windows, where the the exception code was returned.

We now return the signal's code, which optionally allows for re-throwing the signal later. Doing so requires all custom handlers to be removed first, through llvm::sys::unregisterHandlers() which we made a public API.

This is part of https://reviews.llvm.org/D70378
The file was modifiedllvm/include/llvm/Support/Signals.h
The file was modifiedllvm/lib/Support/CrashRecoveryContext.cpp
The file was modifiedllvm/unittests/Support/CrashRecoveryTest.cpp
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedllvm/lib/Support/Unix/Signals.inc
The file was modifiedllvm/lib/Support/Windows/Signals.inc
Commit 9d9a11c7be037cbbfb5239b72dbeb48dd2601bbc by sam.parker
[ARM] Check for LSTP side-effects.

If the LSTP instruction is inserted with an element count low enough
to immediately predicate some lanes as false, this can have some
unintended effects on any proceeding MVE instructions in the
preheader.

Differential Revision: https://reviews.llvm.org/D88209
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/lstp-insertion-position.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
Commit 2fc690ac904c657dad9159926074ec62edebcd8e by sjoerd.meijer
[ARM] LowoverheadLoops: add an option to disable tail-predication

This might be useful for testing. We already have an option -tail-predication
but that controls the MVETailPredication pass.  This
-arm-loloops-disable-tail-pred is just for disabling it in the LowoverheadLoops
pass.

Differential Revision: https://reviews.llvm.org/D88212
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-disabled-in-loloops.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
Commit a815578c31775f3bca57a6ede65787aa152bafbd by llvm-dev
[AArch64] Regenerate dag-combine-mul-shl.ll checks
The file was modifiedllvm/test/CodeGen/AArch64/dag-combine-mul-shl.ll
Commit e39da8ab6a286ac777d5fe7799f1eb782cf99938 by Yaxun.Liu
Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"

This recommits 7f1f89ec8d9944559042bb6d3b1132eabe3409de and
40df06cdafc010002fc9cfe1dda73d689b7d27a6 after fixing memory
sanitizer failure.
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/test/TableGen/DiagnosticBase.inc
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticCrossTU.h
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaSYCL.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSema.h
The file was modifiedclang/include/clang/Basic/DiagnosticSerialization.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Basic/DiagnosticFrontend.h
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticLex.h
The file was modifiedclang/include/clang/Basic/DiagnosticAST.h
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/SemaCUDA/deferred-oeverload.cu
The file was addedclang/test/TableGen/deferred-diag.td
The file was modifiedclang/include/clang/Basic/DiagnosticAnalysis.h
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticComment.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriver.h
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParse.h
The file was modifiedclang-tools-extra/clangd/Diagnostics.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticRefactoring.h
The file was modifiedclang/include/clang/Basic/Diagnostic.td
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was modifiedclang/tools/diagtool/DiagnosticNames.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
Commit 4b64ce7428b66cacfe74dbd9dbc29aff6dfb84af by alexandre.ganea
Improve 723fea23079f9c85800e5cdc90a75414af182bfd - Silence 'warning: unused variable' when compiling with Clang 10.0
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
Commit a6a6ccfc4c8b348d6d534657e16bb7504b9f2888 by alexandre.ganea
Fix f5314d15af4f4514103ea12c74cb208538b8bef5 - [Support] On Unix, let the CrashRecoveryContext return the signal code

This was causing bots to fail: http://green.lab.llvm.org/green/job/clang-stage1-RA/14828/consoleFull#6384962949ba4694-19c4-4d7e-bec5-911270d8a58c
The file was modifiedllvm/unittests/Support/CrashRecoveryTest.cpp
Commit ff00b58392527419ea32d0b97575ef973c1bd085 by uday
[MLIR] Normalize memrefs in LoadOp and StoreOp of Standard Ops

Added a trait, `MemRefsNormalizable` in LoadOp and StoreOp of Standard Ops
to normalize input memrefs in LoadOp and StoreOp.

Related revision: https://reviews.llvm.org/D86236

Differential Revision: https://reviews.llvm.org/D88156
The file was modifiedmlir/test/Transforms/normalize-memrefs-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 303e8cdacb106c4e1ba07d47ab60d71c03a2552c by luismarques
[NFC][RISCV][builtins] Remove some hard-coded values from i-cache clear routine

Remove some hard-coded values from i-cache clear routine

Differential Revision: https://reviews.llvm.org/D87578
The file was modifiedcompiler-rt/lib/builtins/clear_cache.c
Commit 0389eff4047a74bb1ba6c0603c9002b5c73b203e by thakis
lld: Try to fix check-lld on incremental builds after 8f2c31f22b974da
The file was modifiedlld/test/MachO/link-search-order.s
Commit 8e712807e4848ea4687cb5d27dca99237f4ebaa7 by spatel
[InstCombine] regenerate test checks; NFC
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/ldexp.ll
Commit 9cf647bb3f88434e3ecba8e108d56fa4e3ed56f9 by spatel
[PhaseOrdering] move an 'opt' test from x86 codegen; NFC

This file comes from 2007, and I'm not entirely sure of the
motivation, but it was going through all of opt and llc.
The llc part is almost certainly unnecessary as shown in
the now auto-generated FileCheck lines.

This test may be affected by a logic change suggested in:
D87835
The file was addedllvm/test/Transforms/PhaseOrdering/nancvt.ll
The file was removedllvm/test/CodeGen/X86/nancvt.ll
Commit 2625433e77ef5e161536f6fd01ea68840cfcb0dc by spatel
[PhaseOrdering] move test with target requirement to x86 dir

I'm not sure if the target is actually necessary,
but since it was specified, I'm moving to the
appropriate dir to avoid bot fallout.
The file was removedllvm/test/Transforms/PhaseOrdering/nancvt.ll
The file was addedllvm/test/Transforms/PhaseOrdering/X86/nancvt.ll
Commit 8f72717ebe27209a11be80629c667332cd5e4e60 by georgemitenk0v
[MLIR][SPIRV] Fixed dialect loading in deserialization

Fixed an error when deserializing the SPIR-V binary
to MLIR SPIR-V. Before, the SPIR-V dialect was not loaded
explicitly into the context, which resulted in unregistered
operation error.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D88223
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
Commit d65a7003c435de22b8e30dca292160fea822d887 by Matthew.Arsenault
OpaquePtr: Add helpers for sret to mirror byval

Sret should really have a type parameter like byval does.
The file was modifiedllvm/include/llvm/IR/Argument.h
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/lib/Analysis/Lint.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/test/CodeGen/X86/vectorcall.ll
Commit dc08185ca797a3bcd7721a0d55db876a6cc4de10 by Matthew.Arsenault
IR: Have byref imply dereferenceable

The langref already states it does, but this wasn't implemented. Also
covers inalloca and preallocated. Also helps fix a dependence on
pointer element types.
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
Commit 6f7cd16d297155332ff2b4c7efb01ca592eb7753 by sebastian.neubauer
[AMDGPU] Fix v3f16 handling for getresinfo

v3f32 should not be expanded to v4f32. getresinfo with a dmask of 7
created an image sample with a v3f32 return value, which was bitcasted
to a v4f32 in constructRetValue.

Differential Revision: https://reviews.llvm.org/D88206
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.getresinfo.ll
Commit c05cf1ca3c55362c5a8ef8a148c3b763cc8784e9 by jay.foad
[AMDGPU] Use cast instead of dyn_cast
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
Commit d9beff04a30877c117e15c7fbc4d4e5c87e413ab by vpykhtin
[RegisterCoalescer] Fix IMPLICIT_DEF init removal for a register on joining

This patch removes redundant IMPLICIT_DEF for subregs which was leading to
incorrect register initialization on joining in some cases.

Reviewed by: qcolombet

Differential revision: https://reviews.llvm.org/D82258
The file was addedllvm/test/CodeGen/AMDGPU/coalescing_makes_lanes_undef.mir
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
Commit 00ee52ae0467f0bfa588d9797053a42c615d2332 by sam.parker
[NFC][ARM] Remove dead loop.

Remove a loop that just calculated a couple of values that were now
longer needed.
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit ea34d95e0ad664fa879bb1d8b71f32928b1d6c0f by jonathan.l.peyton
[OpenMP] Introduce GOMP teams support in runtime

Implement GOMP_teams_reg() function which enables GOMP support of the
standalone teams construct. The GOMP_parallel* functions were modified
to call __kmp_fork_call() unconditionally so that the teams-specific
code could be reused within __kmp_fork_call() instead of reproduced
inside the GOMP_* functions.

Differential Revision: https://reviews.llvm.org/D87167
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp_ftn_os.h
The file was addedopenmp/runtime/test/teams/teams.c
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
Commit 72ada5ae6c5bcc53045eba559666a65a68149e4c by jonathan.l.peyton
[OpenMP] Introduce GOMP mutexinoutset in the runtime

Encapsulate GOMP task dependencies in separate class and introduce the
new mutexinoutset dependency type. This separate class allows
future GOMP task APIs easier access to the task dependency functionality
and better ability to propagate new dependency types to all existing GOMP
task APIs which use task dependencies.

Differential Revision: https://reviews.llvm.org/D87267
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
The file was addedopenmp/runtime/test/tasking/omp50_task_depend_mtx3.c
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
Commit 9089b4a5c5b4271e6b8300cf5d7471d4ddd93bec by jonathan.l.peyton
[OpenMP] Introduce GOMP taskwait depend in the runtime

This change introduces the GOMP_taskwait_depend() function. It implements
the OpenMP 5.0 feature of #pragma omp taskwait with depend() clause by
wrapping around __kmpc_omp_wait_deps().

Differential Revision: https://reviews.llvm.org/D87269
The file was addedopenmp/runtime/test/tasking/omp50_taskwait_depend.c
The file was modifiedopenmp/runtime/src/kmp_ftn_os.h
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
Commit ee1c04a926904b34525e4577742d8c10a23db814 by jonathan.l.peyton
[OpenMP] Fix if0 task with dependencies in the runtime

The current GOMP interface for serialized tasks does not take into
account task dependencies. Add the check and wait for dependencies.

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

Differential Revision: https://reviews.llvm.org/D87271
The file was addedopenmp/runtime/test/tasking/taskdep_if0.c
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
The file was addedopenmp/runtime/test/tasking/taskdep_if0_2.c
Commit 283036394ee606401ebb6601bb97b500e11a2830 by llvm-dev
[X86][SSE] combineVectorTruncation - enable (pre-SSSE3) vXi16->vXi8 truncation.

Shuffle combining can now handle this output, and by performing this early in combineVectorTruncation we avoid a scalarization that caused a regression on D87502.
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-math.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc.ll
Commit 31a3c5fb45b78bdaa78d94ffcc9258e839002016 by froydnj
[clang] use string tables for static diagnostic descriptions

Using a pointer for the description string in StaticDiagInfoRec causes
several problems:

1. We don't need to use a whole pointer to represent the string;
2. The use of pointers incurs runtime relocations for those pointers;
   the relocations take up space on disk and represent runtime overhead;
3. The need to relocate data implies that, on some platforms, the entire
   array containing StaticDiagInfoRecs cannot be shared between processes.

This patch changes the storage scheme for the diagnostic descriptions to
avoid these problems.  We instead generate (effectively) one large
string and then StaticDiagInfoRec conceptually holds offsets into the
string.  We elected to also move the storage of those offsets into a
separate array to further reduce the space required.

On x86-64 Linux, this change removes about 120KB of relocations and
moves about 60KB from the non-shareable .data.rel.ro section to
shareable .rodata.  (The array is about 80KB before this, but we
eliminated 4 bytes/entry by using offsets rather than pointers.)  We
actually reap this benefit twice, because these tables show up in both
libclang.so and libclang-cpp.so and we get the reduction in both places.

Differential Revision: https://reviews.llvm.org/D81865
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp
Commit 296d8832a3b5fe97725be62c5bbc721cc0e2cd20 by Saleem Abdulrasool
Sema: add support for `__attribute__((__swift_newtype__))`

Add the `swift_newtype` attribute which allows a type definition to be
imported into Swift as a new type.  The imported type must be either an
enumerated type (enum) or an object type (struct).

This is based on the work of the original changes in
https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c

Differential Revision: https://reviews.llvm.org/D87652
Reviewed By: Aaron Ballman
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/SemaObjC/attr-swift_newtype.m
The file was addedclang/test/AST/attr-swift_newtype.m
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
Commit ada1e2ffa1172ede1790b4b42ef8ab01508d3a47 by davelee.com
[lldb/examples] Add missing declaration in heap.py

Add missing declaration for `malloc_get_all_zones` in heap.py.

Differential Revision: https://reviews.llvm.org/D88158
The file was modifiedlldb/examples/darwin/heap_find/heap.py
Commit ffd159d8e919435561a8c9eac0dcdd83aacdcf6a by tianshilei1992
[OpenMP] cmake option LIBOMPTARGET_NVPTX_MAX_SM for nvptx device RTL

It allows customizing MAX_SM for non-flagship GPU and reduces graphic memory usage.

In addition, so far the size is hard-coded up to __CUDA_ARCH__ 700 and is already a hassle for 800.
Introduce MAX_SM for 800 and protect future arch

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D88185
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
Commit 08d145e6d7a9b3085d433d05abac5c8a4392e09a by andrew.litteken
[IRSim][NFC] Removing dead variables from IRSimilarityIdentifier.cpp

As informed by danielkiss.

Follow up to Differential Revision: https://reviews.llvm.org/D86972
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit bd44558001e978d93fbff5a4537f38b46b0e355a by momchil.velikov
[AArch64][GlobalISel] Implement __builtin_return_address for PAC-RET

This patch implements stripping of the PAC in the return address for GlobalISel.

Implementation for when not using GLobalISel is in
https://reviews.llvm.org/D75044 The analogous GCC patch is
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=a70d5d81c41048556fd86eaa1036018a6bfba115

Differential Revision: https://reviews.llvm.org/D84502
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-returnaddr.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/builtin-return-address-pacret.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-returnaddress-liveins.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit a9fca98ee4f653278d84713caecd152fef8494f5 by a.bataev
[OPENMP]PR47606: Do not update the lastprivate item if it was captured by reference as firstprivate data member.

No need to make final copy from the firsptrivate/lastprivate copy to the original item if the item is a data memeber.
Firstprivate copy creates a copy by reference and the original item gets
updated correctly when updating the lastprivate shared variable.

Differential Revision: https://reviews.llvm.org/D88179
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 27a62f6317f3faa845d1cb67ec3f0ed357ee07e8 by Stanislav.Mekhanoshin
[AMDGPU] global-isel support for RT

Differential Revision: https://reviews.llvm.org/D87847
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit bdd6af3a58d55ba4518ecd3a13769f8c111a65e7 by llvm-dev
[AArch64] Regenerate dag-numsignbits.ll checks

To improve the codegen diff in D87502
The file was modifiedllvm/test/CodeGen/AArch64/dag-numsignbits.ll
Commit 81a408808f668c74ada3a1ed3d55f1feef334872 by llvm-dev
[Scalar] ConstantHoistingPass - iterate with const references. NFCI.

Fix some clang-tidy warnings.
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Commit d1419c9fdab141617b6aa9f028191b9bfc8be260 by a.bataev
[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default

Need to fix a check for the variable if it is declared in the inner
OpenMP region to be able to firstprivatize it.

Differential Revision: https://reviews.llvm.org/D88240
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 03f22b08e2a387a415dcbb3cf021e41e629c3d34 by craig.topper
[SLP] Remove LHS and RHS from OperationData.

These were only really used for 2 things. One was to check if the operand matches the phi if it exists. The other was for the createOp method to build the reduction.

For the first case we still have the operation we just need to know how to index its operands. So I've modified getLHS/getRHS to just use the opcode/kind to know how to find the right operands on an instruction that is now passed in.

For the other case we had to create an OperationData object to set the LHS/RHS values and copy the opcode/kind from another object. We would then just call createOp on that temporary object. Instead I've made LHS/RHS arguments to createOp and removed all these temporary objects.

Differential Revision: https://reviews.llvm.org/D88193
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit e34bd1e0b03d20a506ada156d87e1b3a96d82fa2 by spatel
[APFloat] prevent NaN morphing into Inf on conversion (PR43907)

We shift the significand right on a truncation, but that needs to be made NaN-safe:
always set at least 1 bit in the significand.
https://llvm.org/PR43907

See D88238 for the likely follow-up (but needs some plumbing fixes before it can proceed).

Differential Revision: https://reviews.llvm.org/D87835
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/cast.ll
The file was modifiedllvm/lib/Support/APFloat.cpp
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp
Commit 3453b6928da332bb67f902add71f5cd80f61c136 by rnk
Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions""

This reverts commit e39da8ab6a286ac777d5fe7799f1eb782cf99938.

This depends on a change that needs additional design review and needs
to be reverted.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSema.h
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Sema/SemaSYCL.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticComment.h
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticAST.h
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/tools/diagtool/DiagnosticNames.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriver.h
The file was modifiedclang/include/clang/Basic/DiagnosticSerialization.h
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
The file was modifiedclang/lib/Basic/DiagnosticIDs.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/include/clang/Basic/Diagnostic.td
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang-tools-extra/clangd/Diagnostics.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedclang/test/TableGen/deferred-diag.td
The file was modifiedclang/include/clang/Basic/DiagnosticFrontend.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticCrossTU.h
The file was modifiedclang/include/clang/Basic/DiagnosticLex.h
The file was modifiedclang/test/TableGen/DiagnosticBase.inc
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticAnalysis.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParse.h
The file was removedclang/test/SemaCUDA/deferred-oeverload.cu
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticRefactoring.h
Commit b62fd436a3e613cbfe0654305cbc0e4f142bfcf9 by rnk
Revert "Recommit [NFC] Refactor DiagnosticBuilder and PartialDiagnostic"

This reverts commit 8e780a1653e6f87755a447e921b8f929d8b70996.

DiagnosticBuilder is a value type, created on the stack everywhere. IMO
we should not be adding a vtable to it, and making very operator<< use a
virtual interface. There are other feasible designs for implementing
this. The original review, D84362, was approved by @tra, who is
responsible for Clang's CUDA support, but it wasn't reviewed by @rsmith
or anyone responsible for clang's diagnostic library.
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Basic/PartialDiagnostic.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Basic/Diagnostic.cpp
The file was modifiedclang/include/clang/AST/TemplateBase.h
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/include/clang/Sema/Ownership.h
The file was modifiedclang/include/clang/Basic/Diagnostic.h
The file was modifiedclang/include/clang/AST/Attr.h
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/lib/AST/TemplateName.cpp
The file was modifiedclang/include/clang/AST/CanonicalType.h
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclarationName.h
The file was modifiedclang/include/clang/AST/TemplateName.h
Commit 29ec5901c9c515e34ed4299ac500f268dca1f62e by Jinsong Ji
[llvm-exegesis] Add whitespace between words in error message
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp
Commit cde7d90cc7c20d73d14225517cf11ffc6073018a by a.bataev
Revert "[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default"

This reverts commit d1419c9fdab141617b6aa9f028191b9bfc8be260 to fix the
buffer overflow detected by address sanitiizer.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
Commit d34c8c70aae2a5421337c2ccac91130c70511f94 by Saleem Abdulrasool
Basic: add an extra newline for sphinx (NFC)

This should resolve the "Bullet list ends without a blank line" warning.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 55624237be725a6feef84db7f46147335e68ebab by alexandre.ganea
[LLD][COFF] Avoid overwriting inputs in tests

Before this patch, these two tests were emitting both a .DLL and .LIB. The output .LIB file name also happens to be an input .LIB file name. This prevented the test from executing a second time when LLD is re-entrant (LLD_IN_TEST=2).

This is a support patch for https://reviews.llvm.org/D70378.
The file was modifiedlld/test/COFF/dll.test
The file was modifiedlld/test/COFF/guardcf-lto.ll
Commit f2efb5742cc9f74ad73987760651e3d23894a416 by alexandre.ganea
[LLD][COFF] Cover usage of LLD-as-a-library in tests

In lit tests, we run each LLD invocation twice (LLD_IN_TEST=2), without shutting down the process in-between. This ensures a full cleanup is properly done between runs.
Only active for the COFF driver for now. Other drivers still use LLD_IN_TEST=1 which executes just one iteration with full cleanup, like before.
When the environment variable LLD_IN_TEST is unset, a shortcut is taken, only one iteration is executed, no cleanup for faster exit, like before.
A public API, lld::safeLldMain(), is also available when using LLD as a library.

Differential Revision: https://reviews.llvm.org/D70378
The file was modifiedlld/COFF/Writer.cpp
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
The file was addedlld/test/COFF/lit.local.cfg
The file was modifiedlld/tools/lld/lld.cpp
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/Common/ErrorHandler.cpp
The file was modifiedlld/include/lld/Common/ErrorHandler.h
The file was modifiedlld/COFF/Writer.h
The file was modifiedlld/include/lld/Common/Driver.h
Commit 606a734755d1fb6c35a17680d0c251f834b79334 by erich.keane
[PR47636] Fix tryEmitPrivate to handle non-constantarraytypes

As mentioned in the bug report, tryEmitPrivate chokes on the
MaterializeTemporaryExpr in the reproducers, since it assumes that if
there are elements, than it must be a ConstantArrayType. However, the
MaterializeTemporaryExpr (which matches exactly the AST when it is NOT a
global/static) has an incomplete array type.

This changes the section where the number-of-elements is non-zero to
properly handle non-CAT types by just extracting it as an array type
(since all we needed was the element type out of it).
The file was addedclang/test/CodeGenCXX/pr47636.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
Commit 55bb1ba0fdd3c97d163f8115f818eafe11814623 by joker.eph
Add support for setting the path to llvm-symbolizer through an environment variable

This allows to point to an executable that isn't named exactly
"llvm-symbolizer" and not necessarily in the current PATH.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D88192
The file was modifiedllvm/lib/Support/Signals.cpp
Commit e75afc9acf9b6de511c0c90b8e8a06364de46e3e by Matthew.Arsenault
GlobalISel: Use unmerge when copying wide vectors to result registers

Avoid using G_EXTRACT and move towards a more consistent vector
legalization strategy.
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sext-inreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-add.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umulh.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.s16.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-uaddsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.load.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-implicit-def.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-intrinsic-round.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sshlsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-zext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bswap.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-usubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.store.2d.d16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sub.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ushlsat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcos.mir
Commit c4bacc3c9b333bb7032fb96f41d6f5b851623132 by vsapsai
[Modules] Add stats to measure performance of building and loading modules.

Measure amount of high-level or fixed-cost operations performed during
building/loading modules and during header search. High-level operations
like building a module or processing a .pcm file are motivated by
previous issues where clang was re-building modules or re-reading .pcm
files unnecessarily. Fixed-cost operations like `stat` calls are tracked
because clang cannot change how long each operation takes but it can
perform fewer of such operations to improve the compile time.

Also tracking such stats over time can help us detect compile-time
regressions. Added stats are more stable than the actual measured
compilation time, so expect the detected regressions to be less noisy.

rdar://problem/55715134

Reviewed By: aprantl, bruno

Differential Revision: https://reviews.llvm.org/D86895
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit 9ed1e5873c19eb817fb9e36d0262c7effee5d35e by silvasean
[mlir][shape] Start a pass that lowers shape constraints.

This pass converts shape.cstr_* ops to eager (side-effecting)
error-handling code. After that conversion is done, the witnesses are
trivially satisfied and are replaced with `shape.const_witness true`.

Differential Revision: https://reviews.llvm.org/D87941
The file was modifiedmlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
The file was addedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/lib/Conversion/ShapeToStandard/CMakeLists.txt
The file was addedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
Commit 89aad892a596a0b54d1fcdb0b68cc5fa4d3e2932 by mtrofin
[NFC][regalloc] Remove unused API in AllocationOrder

Differential Revision: https://reviews.llvm.org/D88197
The file was modifiedllvm/lib/CodeGen/AllocationOrder.h
Commit 0a349d5827f6864ee89a5d0867d609339c07115d by spatel
[SLP] clean up - use 'const' and ArrayRef constructor; NFC

Follow-on tidying suggested in the post-commit review of 6a23668.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 9eba6b20a0579d3441e1b0f3cb3942f86d32679f by vsapsai
Revert "[Modules] Add stats to measure performance of building and loading modules."

This reverts commit c4bacc3c9b333bb7032fb96f41d6f5b851623132.

Test "LLVM :: ThinLTO/X86/funcimport-stats.ll" is failing. Reverting now
and will recommit after making the test not fail with the added stats.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit e55410f8b260a2868d600ca99fe5ee80f9cd4fc5 by Matthew.Arsenault
AArch64/GlobalISel: Add testcase for bug 47619

This is asserting on the 11 release branch, and wasn't covered by
exisiting tests at the time. This was fixed by
b98f902f1877c3d679f77645a267edc89ffcd5d6.
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll
Commit f02c4c87b46c8203d7368cadc62607707d6f66b8 by andrew.litteken
[IRSim] Adding wrapper pass for IRSimilarityIdentfier

This introduces an analysis pass that wraps IRSimilarityIdentifier,
and adds a printer pass to examine in what function similarities are
being found.

Test for what the printer pass can find are in
test/Analysis/IRSimilarityIdentifier.

Reviewed by: paquette, jroelofs

Differential Revision: https://reviews.llvm.org/D86973
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/test/Analysis/IRSimilarityIdentifier/nothing.ll
The file was modifiedllvm/lib/Analysis/Analysis.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was addedllvm/test/Analysis/IRSimilarityIdentifier/basic.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was addedllvm/test/Analysis/IRSimilarityIdentifier/different.ll
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
Commit f8a92adfa242a94052f583ef7b483ae1b493ebdc by erich.keane
Remove dead branch identified by @rsmith on post-commit for D88236
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
Commit b9a2837f1617ea94ae4b4be66d984ea9c7e7252c by andrzej.warzynski
[flang][driver] Add missing dependency (shared library builds, NFC)

`flang-new` depends on libclangFrontend (it uses DiagnosticConsumer
classes from there). This patch adds the missing dependency in CMake.

clang::TextDiagnosticBuffer is only reported as missing when compiling
`flang-new` with BUILD_SHARED_LIBS=ON. This symbol is linked in
statically with libflangFrontend when BUILD_SHARED_LIBS=OFF.
The file was modifiedflang/tools/flang-driver/CMakeLists.txt
Commit 579c42225ac373688dbdbe3a1ce62986a6bf638a by a.bataev
[OPENMP]Fix PR47621: Variable used by task inside a template function is not made firstprivate by default

Need to fix a check for the variable if it is declared in the inner
OpenMP region to be able to firstprivatize it.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D88240
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 4b8cb665a13b1eef4df3e09080098b5f8f520016 by daltenty
[CMake][AIX] Set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR appropriately for AIX

AIX by default usually folds 32-bit & 64-bit arch libraries into a single
archive, a behaviour we may want for the runtime libraries in the future,
so we don't necessarily want to opt into the multlib layout introduce in
D45604, which is currently the default for runtime builds.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88169
The file was modifiedllvm/runtimes/CMakeLists.txt
Commit 1ad94624f8a092fbfcb74685e11243c186b04c8f by sam.mccall
[AST] Use data-recursion when building ParentMap, avoid stack overflow.

The following crashes on my system before this patch, but not after:

  void foo(int i) {
    switch (i) {
      case 1:
      case 2:
      ... 100000 cases ...
        ;
    }
  }

  clang-query -c="match stmt(hasAncestor(stmt()))" deep.c

I'm not sure it's actually a sane testcase to run though, it's pretty slow :-)

Differential Revision: https://reviews.llvm.org/D88222
The file was modifiedclang/lib/AST/ParentMapContext.cpp
Commit 34ca5b3392ced08e2320fb4236cca5c7df4ec6e9 by isanbard
Remove stale assert.

This is triggered during serialization. The test is for modules, but
will occur for any serialization effort using asm goto.

Reviewed By: nickdesaulniers, jyknight

Differential Revision: https://reviews.llvm.org/D88195
The file was addedclang/test/Modules/asm-goto.c
The file was modifiedclang/lib/AST/Stmt.cpp
The file was addedclang/test/Modules/Inputs/asm-goto/a.h
The file was addedclang/test/Modules/Inputs/asm-goto/module.modulemap
Commit 0a925a813a5003049bf12330111d61cb823b8814 by diego.caballero
[mlir][NFC] Promote memory space to BaseMemRefType

This patch moves the memory space field from MemRefType and UnrankedMemRefType
to their base class BaseMemRefType so that it can be retrieved from it without
downcasting it to the specific memref.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D87649
The file was modifiedmlir/lib/IR/TypeDetail.h
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
Commit 2a96f47c5ffca84cd774ad402cacd137f4bf45e2 by daniel.kiss
[AArch64] __builtin_return_address for PAuth.

This change adds the support for __builtin_return_address
for ARMv8.3A Pointer Authentication.
Location of the authentication code in the pointer depends on
the system configuration, therefore a dedicated instruction is used for
effectively removing the authentication code without
authenticating the pointer.

Reviewed By: chill

Differential Revision: https://reviews.llvm.org/D75044
The file was modifiedllvm/test/CodeGen/AArch64/arm64-returnaddr.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64_32.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/returnaddr.ll
The file was addedllvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit 30514f0afa3ee1e6da6bf9c41e83c28e884f0740 by tra
[CUDA] Added conversion functions to builtin vars.

This is needed to compile some headers in CUDA-11 that assume that threadIdx is
implicitly convertible to dim3. With NVCC, threadIdx is uint3 and there's
dim3(uint3) constructor. Clang uses a special type for the builtin variables, so
that path does not work. Instead, this patch adds conversion function to the
builtin variable classes. that will allow them to be converted to dim3 and uint3.

Differential Revision: https://reviews.llvm.org/D88250
The file was modifiedclang/lib/Headers/__clang_cuda_runtime_wrapper.h
The file was modifiedclang/lib/Headers/__clang_cuda_builtin_vars.h
Commit 7f4c940bd0b526f25e11c51bb4d58a85024330ae by isanbard
[CodeGen] Postprocess PHI nodes for callbr

When processing PHI nodes after a callbr, we need to make sure that the
PHI nodes on the default branch are resolved after the callbr
(inserted after INLINEASM_BR). The PHI node values on the indirect
branches are processed before the INLINEASM_BR.

Differential Revision: https://reviews.llvm.org/D86260
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
The file was addedllvm/test/CodeGen/X86/callbr-asm-phi-nodes.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit f97b68ef4ddd28a685e502653768c2a34c314cba by isanbard
Fix testcase.
The file was modifiedclang/test/Modules/asm-goto.c
Commit 0c0c57f7b21bee1cda0fce83d9919a57764bd74e by isanbard
Revert "[CodeGen] Postprocess PHI nodes for callbr"

Accidental commit.

This reverts commit 7f4c940bd0b526f25e11c51bb4d58a85024330ae.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was removedllvm/test/CodeGen/X86/callbr-asm-phi-nodes.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit 31177949cb1d88d7dd32078d09a265b828d40826 by lebedev.ri
[NFCI][IR] ConstantRangeTest: refactor operation range gatherers

We do the same dance to acquire the "exact" range of an op via
an exhaustive approach in many places.
Let's not invent the wheel each time.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 9bcf7b1c7a139a455400df109d81c638b9e75150 by lebedev.ri
[NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing

I have long complained that while we have exhaustive tests
for ConstantRange, they are, uh, not good.

The approach of groking our own constant range
via exhaustive enumeration is, mysterious.

It neither tells us without doubt that the result is
conservatively correct, nor the precise match to the ConstantRange
result tells us that the result is precise.
But yeah, it's fast, i give it that.

In short, there are three things that we need to check:
1. That ConstantRange result is conservatively correct
2. That ConstantRange range is reasonable
3. That ConstantRange result is reasonably precise

So let's not just check the middle one, but all three.

This provides precision test coverage for D88178.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 506b6170cb513f1cb6e93a3b690c758f9ded18ac by zequanwu
Reland [CodeGen] emit CG profile for COFF object file

This reverts commit 90242caca2074dab5a9b76e5bc36d9fafd2179a7.

Error fixed at f5435399e823746bbe1737b95c853d77a42e1ac3

Differential Revision: https://reviews.llvm.org/D87811
The file was modifiedllvm/lib/Target/TargetLoweringObjectFile.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was addedllvm/test/MC/COFF/cgprofile.ll
The file was modifiedllvm/include/llvm/Target/TargetLoweringObjectFile.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit e39286510deb59730c40fa662a44e73f484ea1c2 by tmsriram
Temporary fix for D85085 debug_loc bug with basic block sections.

Until then, this one line fix removes the assert fail with basic block sections
with debug info. Bug tracking this: #47549
This fix does not generate loc list or DW_AT_const_value if the argument is
mentioned in a different section than the start of the function.

Temporarily fixes bugzilla : https://bugs.llvm.org/show_bug.cgi?id=47549

Differential Revision: https://reviews.llvm.org/D87787
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc.ll
Commit c8df781e54a43593eafd993a5a5cd647866955f8 by akhuang
[DebugInfo] Fix bug in constructor homing with classes with trivial
constructors.

This changes the code to avoid using constructor homing for aggregate
classes and classes with trivial default constructors, instead of trying
to loop through the constructors.

Differential Revision: https://reviews.llvm.org/D87808
The file was modifiedclang/test/CodeGenCXX/debug-info-limited-ctor.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit a079f619b5a1959af8af37cabdea27ae542903db by shafik
[LLDB] Add a defensive check for member__f_

I only have a crash log and was not able to come up with a test case for this.

rdar://problem/69403150
The file was modifiedlldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
Commit 1c5a3c4d382353e582ecf4913e338599028e267f by tlively
[WebAssembly] Make SjLj lowering globals thread-local

Emscripten's longjump and exception mechanism depends on two global variables,
`__THREW__` and `__threwValue`, which are changed to be defined as thread-local
in https://github.com/emscripten-core/emscripten/pull/12056. This patch updates
the corresponding code in the WebAssembly backend to properly declare these
globals as thread-local as well.

Differential Revision: https://reviews.llvm.org/D88262
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
Commit dfc5a9eb57aaaac972764bf731503419284bd3dc by Vedant Kumar
[Instruction] Add dropLocation and updateLocationAfterHoist helpers

Introduce a helper which can be used to update the debug location of an
Instruction after the instruction is hoisted. This can be used to safely
drop a source location as recommended by the docs.

For more context, see the discussion in https://reviews.llvm.org/D60913.

Differential Revision: https://reviews.llvm.org/D85670
The file was modifiedllvm/unittests/IR/InstructionsTest.cpp
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/test/Transforms/LICM/hoisting-preheader-debugloc.ll
The file was modifiedllvm/test/Transforms/GVN/PRE/phi-translate.ll
The file was modifiedllvm/lib/IR/DebugInfo.cpp
The file was modifiedllvm/test/DebugInfo/Generic/licm-hoist-debug-loc.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
Commit c32e69b2ce7abfb151a87ba363ac9e25abf7d417 by jezng
[lld-macho][re-land] Initial support for common symbols

Fix earlier build break via a static_cast.

This reverts commit 8112d494d344dc0935d5c078f066a43d7c984e0c.

Differential Revision: https://reviews.llvm.org/D86909
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SymbolTable.h
The file was addedlld/test/MachO/common-symbol-coalescing.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/Symbols.h
Commit 5213576fa25e6deb7c649032b2893726de2f8b6c by jezng
[lld-macho][re-land] Implement and test resolution of common symbols

Earlier build break fixed in c32e69b2ce7abfb151a87ba363ac9e25abf7d417.

This reverts commit c367f93e8539c4d0bcdc86ad7ea7923e06231a93.
The file was addedlld/test/MachO/common-symbol-resolution.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/test/MachO/nonweak-definition-override.s
Commit 070555c6c008c57c408c1e99025b12c5d71c9848 by snehasishk
[lld] Make -z keep-text-section-prefix recognize .text.split. as a prefix.

".text.split." holds symbols which are split out from functions in
other input sections. For example, with -fsplit-machine-functions,
placing the cold parts in .text.split instead of .text.unlikely mitigates
against poor profile inaccuracy. Techniques such as hugepage remapping can
make conservative decisions at the section granularity.

Differential Revision: https://reviews.llvm.org/D87840
The file was modifiedlld/test/ELF/text-section-prefix.s
The file was modifiedlld/ELF/Writer.cpp
Commit c9b53b3bf20d20d5752876be32a9e5887c702e53 by isanbard
Fix regex in test.
The file was modifiedclang/test/Modules/asm-goto.c
Commit a22814194e8ea8d581a26992bb27f808e53bbbde by jhuber6
[OpenMP] OpenMPOpt Support for Globalization Remarks

Summary:
This patch add support for printing analysis messages relating to data
globalization on the GPU. This occurs when data is shared between the
threads in a GPU context and must be pushed to global or shared memory.

Reviewers: jdoerfert

Subscribers: guansong hiraditya llvm-commits ormris sstefan1 yaxunl

Tags: #OpenMP #LLVM

Differential Revision: https://reviews.llvm.org/D88243
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/globalization_remarks.ll
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Commit d2696dec45cdcff791cd53b8b8288d33a0d8dddb by snehasishk
[llvm] Add -bbsections-cold-text-prefix to emit cold clusters to a different section.

This change adds an option to basic block sections to allow cold
clusters to be assigned a custom text prefix. With a custom prefix such
as ".text.split." (D87840), lld can place them in a separate output section.
The benefits are -

* Empirically shown to improve icache and itlb metrics by 3-5%
(absolute) compared to placing split parts in .text.unlikely.
* Mitigates against poor profiles, eg samplePGO profiles used with the
machine function splitter. Optimizations such as hugepage remapping can
make different decisions at the section granularity.
* Enables section granularity hotness monitoring (checking on the
decisions made during compilation vs sample data from production).

Differential Revision: https://reviews.llvm.org/D87813
The file was modifiedllvm/lib/CodeGen/BasicBlockSections.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicBlockSectionUtils.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections-cold.ll
Commit 1e66e723eb66c19080f259ca7b4c165bfc1f8d08 by ebahapo
[RISCV] Merge the pipeline models for Rocket

Merge the 32 and 64 bit pipeline models for Rocket into a single file.

Differential Revision: https://reviews.llvm.org/D87873
The file was removedllvm/lib/Target/RISCV/RISCVSchedRocket64.td
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was removedllvm/lib/Target/RISCV/RISCVSchedRocket32.td
The file was addedllvm/lib/Target/RISCV/RISCVSchedRocket.td
Commit 43804364e2bc2bd586740dbb0b7aae2137c130cc by Stanislav.Mekhanoshin
[AMDGPU] Fixes typo in the test. NFC.

denormal-fp-math-fp32 -> denormal-fp-math-f32
The file was modifiedllvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
Commit b8a50e920704436ddcbe0cc9d2020935d7e37095 by rnk
[MS] Simplify rules for passing C++ records

Regardless of the target architecture, we should always use the C rules
(RAA_Default) for records that "canBePassedInRegisters". Those are
trivially copyable things, and things marked with [[trivial_abi]].

This should be NFC, although it changes where the final decision about
x86_32 overaligned records is made. The current x86_32 C rules say that
overaligned things are passed indirectly, so there is no functional
difference.
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/inalloca-overaligned.cpp
Commit ecfc9b971269a86b101cddf1fd9f0976be4096d0 by rnk
[MS] For unknown ISAs, pass non-trivially copyable arguments indirectly

Passing them directly is likely to be non-conforming, since it usually
involves copying the bytes of the record. For unknown architectures, we
don't know what MSVC does or will do, but we should at least try to
conform as well as we can.
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was addedclang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
Commit bddebca61ea73d45d5eafc38aaf9fe7605f5a9b3 by walter erquinigo
[intel-pt] Refactor the JSON parsing

Recently https://reviews.llvm.org/D88103 introduced a nice API for
converting a JSON object into C++ types, which include nice error
messaging.

I'm using that new functioniality to perform the parsing in a much more
elegant way. As a result, the code looks simpler and more maintainable,
as we aren't parsing anymore individual fields manually.

I updated the test cases accordingly.

Differential Revision: https://reviews.llvm.org/D88264
The file was modifiedlldb/include/lldb/Target/TraceSettingsParser.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace_bad4.json
The file was modifiedlldb/source/Target/TraceSettingsParser.cpp
The file was modifiedlldb/include/lldb/Target/Trace.h
The file was modifiedlldb/source/Target/Trace.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.h
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace_bad5.json
The file was modifiedlldb/test/API/commands/trace/TestTraceLoad.py
Commit a32feed0dbeac7606d042d0d7e041c9eaf12cd51 by rnk
Add a static_assert confirming that DiagnosticBuilder is small
The file was modifiedclang/lib/Basic/Diagnostic.cpp
Commit 276f68eace7c27f6805d69a30a4b2f186e42c56c by rnk
Revert "Add a static_assert confirming that DiagnosticBuilder is small"

This reverts commit a32feed0dbeac7606d042d0d7e041c9eaf12cd51.

This assert doesn't hold in 32-bit builds, I didn't do the math right.
The file was modifiedclang/lib/Basic/Diagnostic.cpp
Commit 495a5e94baadefa6ed50390e6655021c127ea266 by rnk
Revert "[NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing"

This reverts commit 9bcf7b1c7a139a455400df109d81c638b9e75150.

Breaks build with MSVC.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 1c45220028a8aa39ad2f26c8c3c6234d1a816086 by aqjune
[ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison

This is a patch that allows isGuaranteedNotToBeUndefOrPoison to return more precise result
when an argument is given, by looking through its uses at the entry block (and following blocks as well, if it is checking poison only).

This is useful when there is a function call with noundef arguments at the entry block.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D88207
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 92106641ae297c24877085e0357e8095aa7b43c9 by aqjune
[ValueTracking] Make isGuaranteedNotToBeUndefOrPoison exit early when MetadataAsValue is given

It is set to conservatively return false, otherwise noundef attributes are added to function calls with metadata arguments.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 1ca6bd261e0aebdd73e3af98fb97c444c2a339cd by i
[lld] Clean up in lld::{coff,elf}::link after D70378

Library users should not need to call errorHandler().reset() explicitly.

google/iree calls lld::elf::link and without the patch some global
variables are not cleaned up in the next invocation.
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/COFF/Driver.cpp
Commit 3185839bcf6614af28c255e90195f6b1cafee106 by kparzysz
[Hexagon] Avoid crash on CONCAT_VECTORS with illegal element types

Legal vector element types may not be legal as scalar types. When
CONCAT_VECTORS is converted to BUILD_VECTOR, the individual vector
elements become standalone operands to the build operation. If they
have illegal (scalar) types, they need to be made legal. In doing
so, the case of TRUNCATE was not handled, causing an assertion to
fail.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-hvx-concat-truncate.ll
Commit 960535d65a927b27ff883250094492842c33ca86 by joker.eph
Hint how to get a symbolized stack trace if llvm-symbolizer is not found on crashes

Most users of LLVM tools hit the raw traces and don't know how to get LLVM to
symbolize automatically for them.

When we print the non-symbolized stack trace, we will add information about
how to get it symbolized.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D88269
The file was modifiedllvm/lib/Support/Unix/Signals.inc
Commit 8c98c8803430804010da06a07cfb291dab59067c by richard
PR47176: Don't read from an inactive union member if a friend function
has default arguments and an exception specification.
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/Parser/cxx0x-decl.cpp
Commit 6f7fbdd2857fc8a7280afbb26fd4e1a6450069e4 by ianlevesque
[xray] Function coverage groups

Add the ability to selectively instrument a subset of functions by dividing the functions into N logical groups and then selecting a group to cover. By selecting different groups over time you could cover the entire application incrementally with lower overhead than instrumenting the entire application at once.

Differential Revision: https://reviews.llvm.org/D87953
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/XRayArgs.cpp
The file was modifiedllvm/docs/XRay.rst
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was addedclang/test/CodeGen/xray-function-groups.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/include/clang/Driver/XRayArgs.h
Commit 64b8a633a872f25c8b3f9414c22165405400ea10 by zarko
[NFC] [PPC] Add PowerPC expected IR tests for C99 complex

Adding this test so that I can extend it in a follow on patch with
expected IR for AIX when I implement complex handling in
AIXABIInfo.

Reviewed By: daltenty, ZarkoCA

Differential Revision: https://reviews.llvm.org/D88105
The file was addedclang/test/CodeGen/powerpc-c99complex.c
Commit 15a5e86fb387359f736e919eeb5cc2b9f4477d48 by tlively
[lld][WebAssembly] Allow `atomics` feature with unshared memory

https://github.com/WebAssembly/threads/issues/144 updated the
WebAssembly threads proposal to make atomic operations on unshared memories
valid. This change updates the feature checking in the linker accordingly.
Production WebAssembly engines have recently been updated to allow this
behvaior, but after this change users who accidentally use atomics with unshared
memories on older versions of the engines will get validation errors at runtime
rather than link errors.

Differential Revision: https://reviews.llvm.org/D79530
The file was modifiedlld/test/wasm/shared-memory.yaml
The file was modifiedlld/wasm/Writer.cpp
Commit 7db7a355453887906d12ffb67df8fbaa5e9e873d by ianlevesque
Fix uninitialized XRayArg
The file was modifiedclang/include/clang/Driver/XRayArgs.h
Commit ef36e8380a9109c43ef4a564083428a14a9b818a by asteinhauser
[libc] Using llvm_libc memcpy in mem* benchmarks.

Currently the mem* benchmarks use memcpy from Glibc and memset from LLVM libc.
That's misleading and produces inconsistent results and behaviors.

This change makes Memcpy.cpp consistent with Memset.cpp:
https://github.com/llvm/llvm-project/blob/master/libc/benchmarks/Memset.cpp#L49

Reviewers: sivachandra

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D88271
The file was modifiedlibc/benchmarks/Memcpy.cpp
Commit 396e7f454893e24969bb989fe89aa028e2ea1693 by artur.bialas
[mlir][SCFToGPU] LaunchOp propagate optional attributes

Allow propagating optional user defined attributes during SCF to GPU conversion. Gives opportunity to use user defined attributes in the further lowering. For example setting subgroup size, or other options for GPU dispatch. This does not break backward compatibility and does not require new attributes, just allow passing optional ones.

Differential Revision: https://reviews.llvm.org/D88203
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/test/Conversion/SCFToGPU/parallel_loop.mlir
Commit a399d1880bc6e2a13cad02a2a3cb024c27d32ac2 by sam.parker
[ARM] Find VPT implicitly predicated by VCTP

On failing to find a VCTP in the list of instructions that explicitly
predicate the entry of a VPT block, inspect whether the block is
controlled via VPT which is implicitly predicated due to it's
predicated operand(s).

Differential Revision: https://reviews.llvm.org/D87819
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 6f10998ad80687a85633d8dda84146c57c49ca25 by andrzej.warzynski
[flang][driver] Add missing dependency (shared library builds, NFC)

`FlangFrontendTests` depends on libclangFrontend (it uses
DiagnosticConsumer classes from there). This patch adds the missing
dependency in CMake.

The missing dependency manifests itself only with BUILD_SHARED_LIBS=ON.
This symbol is linked in statically with libflangFrontend when
BUILD_SHARED_LIBS=OFF.
The file was modifiedflang/unittests/Frontend/CMakeLists.txt
Commit ade6fa46f94b31e89c8a488264ac79e319d1ccdb by Amara Emerson
[AArch64][GlobalISel] Make <8 x s16> for G_INSERT_VECTOR_ELT legal.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
Commit f7b36b35b69a3f100c740ac4bcd933fcdce58798 by Amara Emerson
[AArch64][GlobalISel] Manually select G_DUP with s8/s16 gpr scalar operands.

These don't get selected by the imported patterns, and avoiding generating them
is a whole load of not-worth-it-hassle (until we have fp types in GlobalISel).
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
Commit 64f878db5022cf9258ff308f15ad07d27c9ca4d9 by grimar
[Object/yaml2obj/obj2yaml][test] - Split, cleanup and move MIPS abi-flags.yaml test. NFCI.

We have the `Object/Mips/abi-flags.yaml` which tests how yaml2obj/obj2yaml
handle `SHT_MIPS_ABIFLAGS` sections.

This patch splits it into two tests: one for obj2yaml and one for yaml2obj
and moves the result to right places.

Differential revision: https://reviews.llvm.org/D88231
The file was addedllvm/test/tools/yaml2obj/ELF/mips-abi-flags.yaml
The file was removedllvm/test/Object/Mips/abi-flags.yaml
The file was addedllvm/test/tools/obj2yaml/ELF/mips-abi-flags.yaml
Commit 3a98f4dca7ada4c50ebca646f2cdd7385cd778af by Vitaly Buka
[msan] Fix gethostent tests

gethostent should follow sethostent.
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
Commit 7af12015ad44bccb23bd61820c8f34212467e71c by Vitaly Buka
[msan] Remove redundant test

The test needs to control intercept_strcmp option.
It's already implemented as lit.test strcmp.c.
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
Commit 42bfa7c63b85e76fe16521d1671afcafaf8f64ed by llvm-dev
Revert rGe55410f8b260 : "AArch64/GlobalISel: Add testcase for bug 47619"

This reverts commit e55410f8b260a2868d600ca99fe5ee80f9cd4fc5.

This is failing on EXPENSIVE_CHECKS buildbots
The file was removedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll
Commit b34ddfcc76e39cdad62887f648aec46c8434c648 by jay.foad
[SplitKit] In addDeadDef tolerate parent range that defines more lanes

Following on from D87757 "[SplitKit] Only copy live lanes", in
SplitEditor::addDeadDef, when we're checking whether the parent live
interval has a subrange defining the same lanes, tolerate the case
where the parent subrange defines a superset of the lanes. This can
happen when the child subrange comes from SplitEditor::buildCopy
decomposing a partial copy into a sequence of subreg copies that cover
the required lanes.

Differential Revision: https://reviews.llvm.org/D88020
The file was modifiedllvm/lib/CodeGen/SplitKit.h
The file was addedllvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
Commit f11f382523e096859571b61520af81b9bb1defbf by jay.foad
[AMDGPU] Fix declaration parameter names to match definition

This fixes the declaration of AMDGPULegalizerInfo::legalizeBufferLoad to
match the definition. It is still confusing that that parameter order is
different from legalizeBufferStore.

https://bugs.llvm.org/show_bug.cgi?id=47535
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
Commit a88c722e687e6780dcd6a58718350dc76fcc4cc9 by momchil.velikov
[AArch64] PAC/BTI code generation for LLVM generated functions

PAC/BTI-related codegen in the AArch64 backend is controlled by a set
of LLVM IR function attributes, added to the function by Clang, based
on command-line options and GCC-style function attributes. However,
functions, generated in the LLVM middle end (for example,
asan.module.ctor or __llvm_gcov_write_out) do not get any attributes
and the backend incorrectly does not do any PAC/BTI code generation.

This patch record the default state of PAC/BTI codegen in a set of
LLVM IR module-level attributes, based on command-line options:

* "sign-return-address", with non-zero value means generate code to
  sign return addresses (PAC-RET), zero value means disable PAC-RET.

* "sign-return-address-all", with non-zero value means enable PAC-RET
  for all functions, zero value means enable PAC-RET only for
  functions, which spill LR.

* "sign-return-address-with-bkey", with non-zero value means use B-key
  for signing, zero value mean use A-key.

This set of attributes are always added for AArch64 targets (as
opposed, for example, to interpreting a missing attribute as having a
value 0) in order to be able to check for conflicts when combining
module attributed during LTO.

Module-level attributes are overridden by function level attributes.
All the decision making about whether to not to generate PAC and/or
BTI code is factored out into AArch64FunctionInfo, there shouldn't be
any places left, other than AArch64FunctionInfo, which directly
examine PAC/BTI attributes, except AArch64AsmPrinter.cpp, which
is/will-be handled by a separate patch.

Differential Revision: https://reviews.llvm.org/D85649
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/machine-outliner-outline-bti.ll
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-1.ll
The file was modifiedclang/test/CodeGen/aarch64-sign-return-address.c
The file was modifiedllvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
The file was addedllvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-1.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/branch-target-enforcement.mir
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-7.ll
The file was addedllvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-8.ll
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-4.ll
The file was modifiedclang/test/CodeGen/aarch64-branch-protection-attr.c
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-3.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/machine-outliner-bti.mir
The file was removedclang/test/CodeGenCXX/aarch64-sign-return-address-static-ctor.cpp
The file was modifiedllvm/test/CodeGen/AArch64/machine-outliner-2fixup-blr-terminator.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AArch64/bti-branch-relaxation.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
The file was addedllvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64BranchTargets.cpp
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-0.ll
The file was modifiedllvm/test/CodeGen/AArch64/note-gnu-property-pac-bti-5.ll
Commit facad21b29839a08fdf448eb4dd5a4e31e293b9b by adam.balogh
[Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers

For /C++/ constructor initializers `ExprEngine:computeUnderConstruction()`
asserts that they are all member initializers. This is not neccessarily
true when this function is used to get the return value for the
construction context thus attempts to fetch return values of base and
delegating constructor initializers result in assertions. This small
patch fixes this issue.

Differential Revision: https://reviews.llvm.org/D85351
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
The file was modifiedclang/unittests/StaticAnalyzer/TestReturnValueUnderConstruction.cpp
Commit 9d2ef5e74eea2247657431f44152f1f83ed99b84 by whisperity
[CMake][CTE] Add "check-clang-extra-..." targets to test only a particular Clang extra tool

Create targets `check-clang-extra-clang-tidy`, `check-clang-extra-clang-query`
similar to how `check-clang-sema`, `check-clang-parser`, etc. are
auto-generated from the directory structure.

This allows running only a particular sub-tool's tests, not having to wait
through the entire `check-clang-tools` execution.

Differential Revision: http://reviews.llvm.org/D84176
The file was modifiedclang-tools-extra/test/CMakeLists.txt
Commit d224175230d1ab232cfdf71f9da63a732f405c91 by stefanp
[PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits

The R2 save stub will now support offsets up to 64 bits.

There are three cases that will be used.
1) The offset fits in 26 bits.
```
b <26 bit offset>
```
2) The offset does not fit in 26 bits but fits in 34 bits.
```
paddi r12, 0, <34 bit offset>, 1
mtctr r12
bctr
```
3) The offset does not fit in 34 bits. Since this is an R2 save stub we can use
the TOC in R2. We are not loading the offset but the actual address we want to
branch to.
```
addis r12, r2, <address in TOC lo>
ld r12 <address in TOC hi>(r12)
mtctr r12
bctr
```

In case 1) the stub is only 8 bytes while in cases 2) and 3) the stub will be
20 bytes.

Reviewed By: MaskRay, sfertile, NeHuang

Differential Revision: https://reviews.llvm.org/D87916
The file was modifiedlld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s
The file was modifiedlld/ELF/Thunks.cpp
Commit 852447650c75de5f3e9c53a2659589cd2fd36b4d by llvm-dev
[InstCombine] Add bswap tests from funnel shift intrinsics

Based on (WIP) patch in D87452 - I'm intending to add the intrinsics handling to collectBitParts as a separate patch to make the changes clearer.
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit f330d9f163f644b968c6aa5884dc1be5efda20a1 by zarko
[PPC] [AIX] Implement calling convention IR for C99 complex types on AIX

Add AIX calling convention logic to Clang for C99 complex types on AIX

Differential Revision: https://reviews.llvm.org/D88130
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was removedclang/test/CodeGen/aix-complex.c
Commit b8880f5f97bf1628b2c9606e96abcd612dc7d747 by ajcbik
[mlir] [VectorOps] generalize printing support for integers

This generalizes printing beyond just i1,i32,i64 and also accounts
for signed and unsigned interpretation in the output.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D88290
The file was modifiedmlir/lib/ExecutionEngine/CRunnerUtils.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-print-int.mlir
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Commit e336b74c995d665bc3fb75164375bbb0f78f516c by klimek
[clang-format] Add a MacroExpander.

Summary:
The MacroExpander allows to expand simple (non-resursive) macro
definitions from a macro identifier token and macro arguments. It
annotates the tokens with a newly introduced MacroContext that keeps
track of the role a token played in expanding the macro in order to
be able to reconstruct the macro expansion from an expanded (formatted)
token stream.

Made Token explicitly copy-able to enable copying tokens from the parsed
macro definition.

Reviewers: sammccall

Subscribers: mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83296
The file was addedclang/unittests/Format/TestLexer.h
The file was addedclang/lib/Format/Macros.h
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/unittests/Format/CMakeLists.txt
The file was modifiedclang/lib/Format/CMakeLists.txt
The file was addedclang/unittests/Format/MacroExpanderTest.cpp
The file was addedclang/lib/Format/MacroExpander.cpp
Commit 6a1bca8798c6ba119f188061472b60876495b9ae by benny.kra
[Analyzer] Fix unused variable warning in Release builds

clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp:377:19: warning: unused variable 'Init'
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
Commit 9112567bbd1f479599e389ef9f45f820a1eab59c by llvmgnsyncbot
[gn build] Port e336b74c995
The file was modifiedllvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn
Commit 1fa06162c1cf648a6d4fac837e02b709a205f4df by flo
[SCEV] Add more tests using info from loop guards for BTC.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 9f21d341e83842c20f0cd09bb6b97617441ef55a by Louis Dionne
[libc++] Initial support for pre-commit CI with Buildkite

This commit adds basic files and scripts that are used for the Buildkite
pre-commit CI setup. This was tested to mostly work on a fork of llvm-project,
however some adjustments will have to be made as we complete the real
setup.
The file was addedlibcxx/utils/ci/buildkite-pipeline.yml
The file was addedlibcxx/utils/ci/Dockerfile
The file was addedlibcxx/utils/ci/phabricator-report
The file was addedlibcxx/utils/ci/secrets.env
The file was addedlibcxx/utils/ci/run-buildbot.sh
Commit df77ce7cad081bf55042cf098b61b118dcdfc7e9 by flo
[SCEV] Extract code to collect conditions to lambda (NFC).

This makes re-using the common functionality easier in follow-up
patches.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 85cea77ecb7f2ca51198ec1ad1d28845e803ee32 by aaron
Typo fix; NFC
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 8d90d92f0dccfb9e1c150247128a28ed55fcb8ea by llvm-dev
[InstCombine] Add 'partial' bswap tests from PR39793

Tests for basic zext(bswap(trunc(x))) patterns shown on PR39793
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit a51d51a0d4d72ab423b11da4c5c877bc6e89a580 by aaron
Fix some of the more egregious 80-col and whitespace issues; NFC
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 132f29ce0611754e0ffb2b534c34b2ffe27b40a8 by llvm-dev
[InstCombine] Add some extra bswap tests from PR39793

Also test for cases where recognizeBSwapOrBitReverseIdiom checks for a truncated bswap pattern.
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit 8c53282d64b299a9543758988b1b480a88a93ae5 by stefanp
[PowerPC][NFC] Merged two switch entries.

Two switch entries did exactly the same thing. This patch merges them.
The file was modifiedlld/ELF/Arch/PPC64.cpp
Commit 8858340bd380b821bbad773c7b3a022a9bb5b2d9 by flo
[SCEV] Swap operands if LHS is not unknown.

Currently we only use information from guards for unknown expressions.
Swap LHS/RHS and predicate, if LHS is not unknown.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit e03dd978d015f6141d14afb3986f39365cabcdab by daltenty
[AIX] Try to not use LLVM tools while building runtimes

Since 64-bit XCOFF and the big AR format is not yet supported in some of these tools, this patch avoids additional setup of these tools. This patch is not intended to prevent picking up the LLVM tools if they happen to be available otherwise.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D85329
The file was modifiedllvm/runtimes/CMakeLists.txt
Commit e2ccf7f178ddaf202171a96cd6f41daa7a74a09c by mcinally
[SVE] Lower fixed length VECREDUCE_[SMAX|SMIN] to Scalable

This patch is pretty similar to the VECREDUCE_ADD patch, with some minor tweaks.

Results from the AArch64ISD::[SMAX|SMIN]V_PRED return element sized results. This requires an ANY_EXTEND for results < 32-bits, since Legalization promotes those results.

There is no NEON i64 vector support for SMAXV|SMINV, so use SVE for those.

Differential Revision: https://reviews.llvm.org/D88259
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 9a4767411e89d35e55074e8783b909d0e8c6b2df by mcinally
[SVE] Revert accidental change from 405e22fbe8719cff6c40eec15c2044f42527f116

Accidentally commited two lines that were not intended. Remove those.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit e17f52d623cc146b7d9bf5a2e02965043508b4c4 by Adrian Prantl
Add a verifier check that rejects non-distinct DISubprogram function
attachments. They would crash the backend, which expects all
DISubprograms that are not part of the type system to have a unit field.

Clang right before https://reviews.llvm.org/D79967 would generate this
kind of broken IR.

rdar://problem/69534688
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
The file was addedllvm/test/Verifier/unique-disubprogram.ll
Commit 0b7f03b98d82dac7224e00377329577634d92c17 by jurahul
[NFC] Fix minor typos in comments and reuse concreteOp.

Differential Revision: https://reviews.llvm.org/D88242
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Commit 8046ab04a75bcd3a455faafa1364c67726748a78 by jurahul
[NFC] Fix syntax of ranked memrefs in the MLIR Language Reference.

- Eliminate incorrect |
- Eliminate memspace0 as the memory spaces currently are integer literals and memory
  space 0 is not explicitly printed.

Differential Revision: https://reviews.llvm.org/D88171
The file was modifiedmlir/docs/LangRef.md
Commit 2a11a197af7e72725fe461ba9917756b1b09661a by Louis Dionne
[libc++][ci] Don't require passing --token to phabricator-report

The CONDUIT_TOKEN is already taken from the environment. Also, disable
reporting back to Phabricator for now until we're ready to start spamming
the results back. This still needs a bit of testing.
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/phabricator-report
Commit c74da051b8680d322328a1ba2e6c2ed794a74f59 by daltenty
[CMake] Make sure _cmake_system_name has a default

We currently try to pick it up from the CMake arguments passed to llvm_ExternalProject_Add but
if there isn't an explicit option passed, we should reflect CMake's own default behaviour
of targeting the host, since we'll make decisions about what tools to use for the build based on
the setting. Otherwise, we'll get different behaviour between configuring an external project with
the default target and configuring with an explicit one targeting the same platform.

Reviewed By: stevewan, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88157
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake
Commit 179e15d53acdb1fc27e9e2c8f7e1d1e08dcf4a89 by Dávid Bolvanský
[SystemZ] Optimize bcmp calls (PR47420)

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

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D87988
The file was addedllvm/test/CodeGen/SystemZ/bcmp.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit b5a3b901c73082c82f6eb387323cd61525423e2d by flo
[SCEV] Add support for `x == constant` to CollectCondition.

Add support for EQ predicates with constant operand. In that case, using
the constant instead of an unknown expression should always be
beneficial.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 2d128b04d93784f5399e9b5d3ee4a560ebd170e4 by jurahul
[NFC] Fix build warnings
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
Commit 62c372770d2e87f3e882a20d43c6814e6c4fe0f5 by Vedant Kumar
[profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR

Add support for expanding the %t filename specifier in LLVM_PROFILE_FILE
to the TMPDIR environment variable. This is supported on all platforms.

On Darwin, TMPDIR is used to specify a temporary application-specific
scratch directory. When testing apps on remote devices, it can be
challenging for the host device to determine the correct TMPDIR, so it's
helpful to have the runtime do this work.

rdar://68524185

Differential Revision: https://reviews.llvm.org/D87332
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
The file was addedcompiler-rt/test/profile/instrprof-tmpdir.c
The file was modifiedclang/docs/SourceBasedCodeCoverage.rst
Commit b5e87c9ef2243ecd65e0ef87a1bf303c0c26db04 by Amara Emerson
[AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar.

Fixes the neon intrinsics test in the test suite.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
Commit 76eb163259c46171559a49111a394a3e48d1e523 by Saleem Abdulrasool
Sema: remove unnecessary parameter for SwiftName handling (NFCI)

This code never actually did anything in the implementation.

`mergeDeclAttribute` is declared as `static`, and referenced exactly
once in the file: from `Sema::mergeDeclAttributes`.

`Sema::mergeDeclAttributes` sets `LocalAMK` to `AMK_None`.  If the
attribute is `DeprecatedAttr`, `UnavailableAttr`, or `AvailabilityAttr`
then the `LocalAMK` is updated.  However, because we are dealing with a
`SwiftNameDeclAttr` here, `LocalAMK` remains `AMK_None`.  This is then
passed to the function which will as a result pass the value of
`AMK_None == AMK_Override` aka `false`.  Simply propagate the value
through and erase the dead codepath.

Thanks to Aaron Ballman for flagging the use of the availability merge
kind here leading to this simplification!

Differential Revision: https://reviews.llvm.org/D88263
Reviewed By: Aaron Ballman
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit 7d0556fc137aa07347741b7750e50ecbc2b4c6e2 by i
Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll.bc
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll
Commit 9b86b7009430789d28d67bb1b630e74473f80fa2 by baptiste.saleil
[PowerPC] Add accumulator register class and instructions

This patch adds the xxmfacc, xxmtacc and xxsetaccz instructions to manipulate
accumulator registers. It also adds the ACC register class definition for the
accumulator registers.

Differential Revision: https://reviews.llvm.org/D84847
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td
Commit 6caf3fb8178699ac14fb94fef99aaf1cf297264f by i
Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Assembler/disubprogram.ll
Commit c1f856803142a113fa094411fa4760512b919ef6 by uday
[MLIR] Fix for updating function signature in normalizing memrefs

Normalizing memrefs failed when a caller of symbolic use in a function
can not be casted to `CallOp`. This patch avoids the failure by checking
the result of the casting. If the caller can not be casted to `CallOp`,
it is skipped.

Differential Revision: https://reviews.llvm.org/D87746
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/Transforms/normalize-memrefs-ops.mlir
Commit 6cb0d23f2ea6fb25106b0380797ccbc2141d71e1 by Matthew.Arsenault
AArch64/GlobalISel: Narrow stack passed argument access size

This fixes a verifier error in the testcase from bug 47619.

The stack passed s3 value was widened to 4-bytes, and producing a
4-byte memory access with a < 1 byte result type. We need to either
widen the result type or narrow the access size. This copies the code
directly from the AMDGPU handling, which narrows the load size. I
don't like that every target has to handle this, but this is currently
broken on the 11 release branch and this is the simplest fix.

This reverts commit 42bfa7c63b85e76fe16521d1671afcafaf8f64ed.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll
Commit 8055ae31f46b0a3fafd7b64f6cd77b78b34e6753 by Adrian Prantl
Revert "Add a verifier check that rejects non-distinct DISubprogram function"

This reverts commit e17f52d623cc146b7d9bf5a2e02965043508b4c4.

while investigating bot breakage.
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was removedllvm/test/Verifier/unique-disubprogram.ll
Commit 4f1897c6f0082ef968547458b1b7b2fba0bf1590 by hans
Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line

For some mysterious reason it doesn't build with clang-cl when compiled
as part of the includes in clang's CodeGenAction.cpp
(crbug.com/1132292).
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
Commit 3a69ebf0ad018561c79fc52d9d3986fdc21d8d5c by flo
[SCEV] Add another test using info from loop guards for BTC with NE.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 7d274aa9bed00cdf1197b2f05140635be90f3362 by flo
[SCEV] Add support for `x != 0` to CollectCondition.

Add support for NE predicates with 0 constants. Those can be translated
to UMaxExpr(x, 1).
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 55c4ff91bd820d72014f63dcf7f3d5a0d3397986 by Matthew.Arsenault
OpaquePtr: Add type to sret attribute

Make the corresponding change that was made for byval in
b7141207a483d39b99c2b4da4eb3bb591eca9e1a. Like byval, this requires a
bulk update of the test IR tests to include the type before this can
be mandatory.
The file was modifiedclang/test/CodeGen/aarch64-varargs.c
The file was modifiedclang/test/Modules/templates.mm
The file was modifiedllvm/test/Bitcode/compatibility.ll
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-darwin.c
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c
The file was modifiedclang/test/CodeGenCXX/matrix-type-builtins.cpp
The file was modifiedclang/test/CodeGen/sparcv9-abi.c
The file was modifiedclang/test/CodeGen/lanai-arguments.c
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c
The file was modifiedclang/test/CodeGenCXX/arm-cc.cpp
The file was modifiedclang/test/CodeGenCXX/lambda-expressions.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedllvm/test/Bitcode/highLevelStructure.3.2.ll
The file was modifiedllvm/test/Bitcode/compatibility-3.9.ll
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-iamcu.c
The file was modifiedclang/test/CodeGenCXX/thunks.cpp
The file was modifiedclang/test/CodeGen/mcu-struct-return.c
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp
The file was modifiedclang/test/CodeGen/wasm-arguments.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32-abi.c
The file was modifiedclang/test/CodeGenCXX/thunk-returning-memptr.cpp
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll
The file was modifiedllvm/test/Bitcode/compatibility-3.8.ll
The file was modifiedclang/test/CodeGen/vectorcall.c
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedclang/test/CodeGen/mingw-long-double.c
The file was modifiedclang/test/CodeGen/aggregate-assign-call.c
The file was modifiedclang/test/CodeGen/ppc-aggregate-abi.cpp
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedclang/test/CodeGen/ppc32-and-aix-struct-return.c
The file was modifiedclang/test/CodeGenCXX/homogeneous-aggregates.cpp
The file was modifiedclang/test/CodeGenCXX/temporaries.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
The file was modifiedclang/test/CodeGen/arm-aapcs-vfp.c
The file was modifiedclang/test/CodeGenCXX/unknown-anytype.cpp
The file was modifiedclang/test/CodeGen/arm-varargs.c
The file was modifiedclang/test/CodeGen/ppc64le-aggregates.c
The file was modifiedclang/test/CodeGen/riscv64-lp64d-abi.c
The file was modifiedclang/test/CodeGenOpenCL/addr-space-struct-arg.cl
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-abi.c
The file was modifiedclang/test/CodeGen/aligned-sret.c
The file was modifiedclang/test/CodeGenCXX/exceptions.cpp
The file was modifiedclang/test/CodeGenCXX/thiscall-struct-return.cpp
The file was modifiedclang/test/CodeGenObjC/nontrivial-c-struct-exception.m
The file was modifiedclang/test/CodeGen/ppc64-soft-float.c
The file was modifiedclang/test/CodeGen/ppc64le-f128Aggregates.c
The file was modifiedclang/test/CodeGenCXX/stack-reuse.cpp
The file was modifiedclang/test/CodeGen/ppc64-qpx-vector.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32d-abi.c
The file was modifiedclang/test/CodeGenCXX/stack-reuse-miscompile.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-await.cpp
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c
The file was modifiedclang/test/CodeGenCXX/pass-by-value-noalias.cpp
The file was modifiedllvm/test/Bitcode/compatibility-5.0.ll
The file was modifiedclang/test/CodeGen/mips64-padding-arg.c
The file was modifiedclang/test/CodeGen/ppc64-align-struct.c
The file was modifiedclang/test/CodeGen/arm64_32.c
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedclang/test/CodeGen/ppc64-elf-abi.c
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
The file was modifiedllvm/test/Bitcode/compatibility-4.0.ll
The file was modifiedclang/test/CodeGen/mips-zero-sized-struct.c
The file was modifiedclang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-nacl.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-abi.c
The file was modifiedclang/test/CodeGenCXX/regcall.cpp
The file was modifiedclang/test/CodeGen/ppc64-vector.c
The file was modifiedclang/test/CodeGenCXX/conditional-gnu-ext.cpp
The file was modifiedclang/test/CodeGenObjC/arc.m
The file was modifiedllvm/lib/IR/AttributeImpl.h
The file was modifiedclang/test/CodeGen/struct-passing.c
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c
The file was modifiedclang/test/CodeGenCXX/x86_32-arguments.cpp
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments2.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
The file was modifiedclang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
The file was modifiedllvm/test/Bitcode/compatibility-3.6.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedclang/test/CodeGenCXX/cxx1z-copy-omission.cpp
The file was modifiedclang/test/CodeGen/c11atomics.c
The file was modifiedclang/test/CodeGen/arm-swiftcall.c
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments.c
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
The file was modifiedclang/test/CodeGenObjC/stret_lookup.m
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c
The file was modifiedclang/test/CodeGenCXX/matrix-type.cpp
The file was modifiedclang/test/CodeGen/arm64-arguments.c
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedclang/test/CodeGen/arm-neon-vld.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-abi.c
The file was modifiedclang/test/CodeGenCXX/x86_64-arguments.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
The file was modifiedclang/test/CodeGen/wasm-varargs.c
The file was modifiedllvm/test/Bitcode/compatibility-3.7.ll
The file was addedllvm/test/Assembler/sret-type-attr.ll
The file was modifiedclang/test/CodeGen/arm-vector-arguments.c
The file was modifiedclang/test/CodeGen/le32-arguments.c
The file was modifiedllvm/test/Verifier/byref.ll
The file was modifiedclang/test/CodeGenObjC/stret-1.m
The file was modifiedclang/test/CodeGen/arc/arguments.c
The file was modifiedclang/test/CodeGen/systemz-abi.c
The file was modifiedclang/test/CodeGenObjC/direct-method.m
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-win32.c
The file was modifiedclang/test/CodeGen/2006-05-19-SingleEltReturn.c
The file was modifiedclang/test/CodeGen/c11atomics-ios.c
The file was modifiedclang/test/CodeGen/blocks.c
The file was modifiedclang/test/CodeGen/ms_abi.c
The file was modifiedclang/test/CodeGen/windows-swiftcall.c
The file was modifiedclang/test/CodeGen/windows-struct-abi.c
The file was modifiedclang/test/CodeGenCXX/builtin-source-location.cpp
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
The file was modifiedllvm/test/Bitcode/compatibility-6.0.ll
The file was modifiedclang/test/CodeGen/regparm-struct.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
The file was modifiedclang/test/CodeGenCXX/call-with-static-chain.cpp
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modifiedclang/test/CodeGen/renderscript.c
The file was modifiedclang/test/CodeGenCXX/wasm-args-returns.cpp
The file was modifiedclang/test/CodeGenObjC/weak-in-c-struct.m
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedclang/test/CodeGen/arm-homogenous.c
The file was modifiedclang/test/CodeGen/64bit-swiftcall.c
The file was modifiedclang/test/CodeGen/arm64-microsoft-arguments.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
Commit d2f1f530430e9dbdd69c3ed173ced076f4bb933e by SourabhSingh.Tomar
[flang][OpenMP] Place the insertion point to the start of the block

After skeleton of the `Parallel Op` is created set the insertion point to start of the block. So that later `CodeGen` can proceed.

Note: This patch reflects the work that can be upstreamed from PR(merged)
PR: https://github.com/flang-compiler/f18-llvm-project/pull/424

Reviewed By: schweitz, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88221
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit 06104cb9f21d3f4b0f0feba7b35744284203164c by clementval
[NFC] Fix comment for DataOp
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit e4e673e75a067236c9c4ff2e1ab19d6a3a87003d by jezng
[lld-macho] Implement support for PIC

* Implement rebase opcodes. Rebase opcodes tell dyld where absolute
  addresses have been encoded in the binary. If the binary is not loaded
  at its preferred address, dyld has to rebase these addresses by adding
  an offset to them.
* Support `-pie` and use it to test rebase opcodes.

This is necessary for absolute address references in dylibs, bundles etc
to work.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D87199
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/local-got.s
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was addedlld/test/MachO/compact-unwind-pie.s
The file was modifiedlld/test/MachO/dylink-lazy.s
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
Commit f23f5126912b7da3f2a118a7cb1bcf6be3d8c1bc by jezng
[lld-macho] Support -bundle

Not 100% sure but it appears that bundles are almost identical to
dylibs, aside from the fact that they do not contain `LC_ID_DYLIB`. ld64's code
seems to treat bundles and dylibs identically in most places.

Supporting bundles allows us to run e.g. XCTests, as all test suites are
compiled into bundles which get dynamically loaded by the `xctest` test runner.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87856
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/MachO/Driver.cpp
Commit c7c9776f77712eb4311708d884c0c70ccaa7125b by jezng
[lld-macho] Allow the entry symbol to be dynamically bound

Apparently this is used in real programs. I've handled this by reusing
the logic we already have for branch (function call) relocations.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87852
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/test/MachO/entry-symbol.s
Commit 62a3f0c9844bb89a48173440145b26212be60f83 by jezng
[lld-macho] Support absolute symbols

They operate like Defined symbols but with no associated InputSection.

Note that `ld64` seems to treat the weak definition flag like a no-op for
absolute symbols, so I have replicated that behavior.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87909
The file was addedlld/test/MachO/abs-symbols.s
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was addedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/MachO/ExportTrie.cpp
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s
Commit 643ec67a64ad7a686361b1d309e5088ad8f228e9 by jezng
[lld-macho] Always include custom syslibroot when running tests

This greatly reduces the amount of boilerplate in our tests.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D87960
The file was modifiedlld/test/MachO/weak-definition-over-dysym.s
The file was modifiedlld/test/MachO/weak-binding.s
The file was modifiedlld/test/MachO/filelist.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-relocation.s
The file was addedlld/test/MachO/lit.local.cfg
The file was modifiedlld/test/MachO/static-link.s
The file was modifiedlld/test/MachO/segments.s
The file was modifiedlld/test/MachO/tlv.s
The file was modifiedlld/test/MachO/compact-unwind-pie.s
The file was modifiedlld/test/MachO/dso-handle.s
The file was modifiedlld/test/MachO/linkedit-contiguity.s
The file was modifiedlld/test/MachO/invalid/no-filelist.s
The file was modifiedlld/test/MachO/invalid/archive-no-index.s
The file was modifiedlld/test/MachO/symbol-order.s
The file was modifiedlld/test/MachO/entry-symbol.s
The file was modifiedlld/test/MachO/objc.s
The file was modifiedlld/test/MachO/subsections-section-relocs.s
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s
The file was modifiedlld/test/MachO/local-got.s
The file was modifiedlld/test/MachO/nonweak-definition-override.s
The file was modifiedlld/test/MachO/weak-definition-direct-fetch.s
The file was modifiedlld/test/MachO/fat-arch.s
The file was modifiedlld/test/MachO/weak-import.s
The file was modifiedlld/test/MachO/invalid/invalid-relocation-length.yaml
The file was modifiedlld/test/MachO/link-search-order.s
The file was modifiedlld/test/MachO/invalid/alignment-too-large.yaml
The file was modifiedlld/test/MachO/resolution.s
The file was modifiedlld/test/MachO/indirect-symtab.s
The file was modifiedlld/test/MachO/invalid/bad-archive.s
The file was modifiedlld/test/MachO/invalid/order-file-bad-objfile.test
The file was modifiedlld/test/MachO/dylib.s
The file was modifiedlld/test/MachO/no-exports-dylib.s
The file was modifiedlld/test/MachO/arch.s
The file was modifiedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/test/MachO/rpath.s
The file was modifiedlld/test/MachO/lc-build-version.s
The file was modifiedlld/test/MachO/section-merge.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-tlv-reference.s
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/test/MachO/no-unneeded-dyld-info.s
The file was modifiedlld/test/MachO/invalid/stub-link.s
The file was modifiedlld/test/MachO/invalid/undefined-symbol.s
The file was modifiedlld/test/MachO/invalid/invalid-fat-narch.s
The file was modifiedlld/test/MachO/section-headers.s
The file was modifiedlld/test/MachO/stub-link.s
The file was modifiedlld/test/MachO/sectcreate.s
The file was modifiedlld/test/MachO/x86-64-reloc-got-load.s
The file was modifiedlld/test/MachO/invalid/invalid-stub.s
The file was modifiedlld/test/MachO/tlv-dylib.s
The file was modifiedlld/test/MachO/invalid/invalid-relocation-pcrel.yaml
The file was modifiedlld/test/MachO/common-symbol-resolution.s
The file was modifiedlld/test/MachO/headerpad.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-def.s
The file was modifiedlld/test/MachO/dylink.s
The file was modifiedlld/test/MachO/invalid/reserved-section-name.s
The file was modifiedlld/test/MachO/weak-header-flags.s
The file was modifiedlld/test/MachO/x86-64-reloc-signed.s
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/test/MachO/symtab.s
The file was modifiedlld/test/MachO/weak-definition-indirect-fetch.s
The file was modifiedlld/test/MachO/bss.s
The file was modifiedlld/test/MachO/invalid/duplicate-symbol.s
The file was modifiedlld/test/MachO/subsections-symbol-relocs.s
The file was modifiedlld/test/MachO/invalid/invalid-executable.s
The file was modifiedlld/test/MachO/weak-definition-order.s
The file was modifiedlld/test/MachO/invalid/no-id-dylink.yaml
The file was modifiedlld/test/MachO/stub-framework.s
The file was modifiedlld/test/MachO/dylink-lazy.s
The file was modifiedlld/test/MachO/export-trie.s
The file was modifiedlld/test/MachO/reexport-stub.s
The file was modifiedlld/test/MachO/search-paths.test
The file was modifiedlld/test/MachO/invalid/missing-dylib.s
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/test/MachO/invalid/invalid-fat-offset.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
The file was modifiedlld/test/MachO/abs-symbols.s
The file was modifiedlld/test/MachO/invalid/order-file-bad-arch.test
The file was modifiedlld/test/MachO/syslibroot.test
The file was modifiedlld/test/MachO/common-symbol-coalescing.s
The file was modifiedlld/test/MachO/order-file.s
The file was modifiedlld/test/MachO/framework.s
The file was modifiedlld/test/MachO/compact-unwind.test
The file was modifiedlld/test/MachO/platform-version.s
The file was modifiedlld/test/MachO/force-load.s
The file was modifiedlld/test/MachO/archive.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-opcode.s
The file was modifiedlld/test/MachO/invalid/no-such-file.s
The file was modifiedlld/test/MachO/relocations.s
The file was modifiedlld/test/MachO/sub-library.s
Commit 2c2a7494482133ecdd681869e1ccc53b71d27385 by jezng
[lld-macho] Ignore a few more undocumented flags

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D88268
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/MachO/Options.td
Commit d2166076b882e38becf3657ea830ffd2b6a5695e by xun
[Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules

Issue Details:
In order to support coroutine splitting, any multi-value PHI node in a coroutine is split into multiple blocks with single-value PHI Nodes, which then allows a subsequent transform to generate `reload` instructions as required (i.e., to reload the value if required if the coroutine has been resumed). This causes issues with EH pads (`catchswitch` and `catchpad`) as all pads within a `catchswitch` must have the same unwind destination, but the coroutine splitting logic may modify them to each have a unique unwind destination if there is a PHI node in the unwind `cleanuppad` that is set from values in the `catchswitch` and `cleanuppad` blocks.

Fix Details:
During splitting, if such a PHI node is detected, then create a "dispatcher" `cleanuppad` as well as the blocks with single-value PHI Nodes: thus the "dispatcher" is the unwind destination and it will detect which predecessor called it and then branch to the appropriate single-value PHI node block, which will then branch back to the original `cleanuppad` block.

Reviewed By: GorNishanov, lxfind

Differential Revision: https://reviews.llvm.org/D88059
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-catchswitch-cleanuppad.ll
Commit 89fe083c197951a1380ee70e9e36e2aa95659da5 by tlively
[WebAssembly] Check features before making SjLj vars thread-local

1c5a3c4d3823 updated the variables inserted by Emscripten SjLj lowering to be
thread-local, depending on the CoalesceFeaturesAndStripAtomics pass to downgrade
them to normal globals if the target features did not support TLS. However, this
had the unintended side effect of preventing all non-TLS-supporting objects from
being linked into modules with shared memory, because stripping TLS marks an
object as thread-unsafe. This patch fixes the problem by only making the SjLj
lowering variables thread-local if the target machine supports TLS so that it
never introduces new usage of TLS that will be stripped. Since SjLj lowering
works on Modules instead of Functions, this required that the
WebAssemblyTargetMachine have its feature string updated to reflect the
coalesced features collected from all the functions so that a
WebAssemblySubtarget can be created without using any particular function.

Differential Revision: https://reviews.llvm.org/D88323
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
Commit 6cd4a4cd02dba6aed33c447114587eebf6854c43 by Jonas Devlieghere
[lldb] Pass reference instead of pointer in protected SBAddress methods.

Every call to the protected SBAddress constructor and the SetAddress
method takes the address of a valid object which means we might as well
pass it as a const reference instead of a pointer and drop the null
check.

Differential revision: https://reviews.llvm.org/D88249
The file was modifiedlldb/source/API/SBFunction.cpp
The file was modifiedlldb/include/lldb/API/SBAddress.h
The file was modifiedlldb/source/API/SBValue.cpp
The file was modifiedlldb/source/API/SBQueueItem.cpp
The file was modifiedlldb/source/API/SBLineEntry.cpp
The file was modifiedlldb/source/API/SBInstruction.cpp
The file was modifiedlldb/source/API/SBBreakpointLocation.cpp
The file was modifiedlldb/source/API/SBFrame.cpp
The file was modifiedlldb/source/API/SBSymbol.cpp
The file was modifiedlldb/source/API/SBAddress.cpp
Commit 137597d4f47854bb1701f6883d5c91e8a14d29a2 by Adrian Prantl
Add a verifier check that rejects non-distinct DISubprogram function
attachments. They would crash the backend, which expects all
DISubprograms that are not part of the type system to have a unit field.

Clang right before https://reviews.llvm.org/D79967 would generate this
kind of broken IR.

rdar://problem/69534688

Thanks to Fangrui for fixing an assembler test I had missed!

https://reviews.llvm.org/D88270
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was addedllvm/test/Verifier/unique-disubprogram.ll
Commit d3f6972abb9c0ac06ddabf61697754c3c6f5d11b by aeubanks
[LoopReroll][NewPM] Port -loop-reroll to NPM

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87957
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was addedllvm/include/llvm/Transforms/Scalar/LoopReroll.h
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/LoopReroll/basic.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopRerollPass.cpp
Commit 2a0ca17f66f7776ade251fd40dc9a4f981b2a673 by llvm-dev
[InstCombine] collectBitParts - add fshl/fshr handling

Pulled from D87452, this is a fixed version of the collectBitParts fshl/fshr handling which as @nikic noticed wasn't checking for different providers or had correct bit ordering (which was hid by only testing shift amounts of bitwidth/2).

Differential Revision: https://reviews.llvm.org/D88292
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit 15645d044bcfe2a0f63156048b302f997a717688 by andrew.litteken
[IRSim] Adding basic implementation of llvm-sim.

This is a similarity visualization tool that accepts a Module and
passes it to the IRSimilarityIdentifier.  The resulting SimilarityGroups
are output in a JSON file.

Tests are found in test/tools/llvm-sim and check for the file not found,
a bad module, and that the JSON is created correctly.

Reviewers: paquette, jroelofs

Differential Revision: https://reviews.llvm.org/D86974
The file was addedllvm/test/tools/llvm-sim/fail-cases.test
The file was addedllvm/tools/llvm-sim/llvm-sim.cpp
The file was modifiedllvm/tools/LLVMBuild.txt
The file was addedllvm/test/tools/llvm-sim/Inputs/sim1.ll
The file was addedllvm/test/tools/llvm-sim/single-sim.test
The file was addedllvm/tools/llvm-sim/CMakeLists.txt
The file was addedllvm/tools/llvm-sim/LLVMBuild.txt
The file was addedllvm/test/tools/llvm-sim/single-sim-file.test
Commit 994ef4e7bb22ccdc871ee876207e529ed118f114 by llvm-dev
[InstCombine] Fix test name to match type. NFCI.

We're testing a <2 x i36> not <2 x i16>
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
Commit 9ff9c1d8ee1d412f088b0fc9ea1b5c2cffe95c88 by llvm-dev
[InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895)

This patch adds handling of rotation patterns with constant shift amounts - the next bit will be how we want to support non-uniform constant vectors.

Differential Revision: https://reviews.llvm.org/D87452
The file was modifiedllvm/test/Transforms/InstCombine/fsh.ll
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/test/Transforms/InstCombine/or-concat.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit 7fa464f33d723051850f1d5785a93d5d2d6cd58f by llvm-dev
Fix copy+paste typo in doxygen parameter name to fix Wdocumentation. NFCI.
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
Commit 69c6f6be07e4db11f2aca91ad7bbc0db1e9044d6 by andrew.litteken
Revert "[IRSim] Adding basic implementation of llvm-sim."

This reverts commit 15645d044bcfe2a0f63156048b302f997a717688.
The file was removedllvm/test/tools/llvm-sim/single-sim.test
The file was removedllvm/test/tools/llvm-sim/Inputs/sim1.ll
The file was removedllvm/test/tools/llvm-sim/fail-cases.test
The file was removedllvm/test/tools/llvm-sim/single-sim-file.test
The file was removedllvm/tools/llvm-sim/LLVMBuild.txt
The file was modifiedllvm/tools/LLVMBuild.txt
The file was removedllvm/tools/llvm-sim/llvm-sim.cpp
The file was removedllvm/tools/llvm-sim/CMakeLists.txt
Commit a83eb048cb9a75da7a07a9d5318bbdbf54885c87 by mvanotti
[lsan] Add interceptor for pthread_detach.

This commit adds an interceptor for the pthread_detach function,
calling into ThreadRegistry::DetachThread, allowing for thread contexts
to be reused.

Without this change, programs may fail when they create more than 8K
threads.

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

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D88184
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.h
The file was addedcompiler-rt/test/lsan/TestCases/many_threads_detach.cpp
Commit 1bec6eb3f5cba594698bae5b2789744e0c8ee5f2 by Jason Molenda
Add support for firmware/standalone LC_NOTE "main bin spec" corefiles

When a Mach-O corefile has an LC_NOTE "main bin spec" for a
standalone binary / firmware, with only a UUID and no load
address, try to locate the binary and dSYM by UUID and if
found, load it at offset 0 for the user.

Add a test case that tests a firmware/standalone corefile
with both the "kern ver str" and "main bin spec" LC_NOTEs.

<rdar://problem/68193804>

Differential Revision: https://reviews.llvm.org/D88282
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/main.c
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/bout.mk
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was addedlldb/test/API/macosx/lc-note/firmware-corefile/Makefile
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Commit 152ff3772c2bc4463555fb5dbb75f9b0dcc700f5 by Vitaly Buka
[msan] Skip memcpy interceptor called by gethostname

No test as reproducer requires particular glibc build.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D88284
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
The file was modifiedcompiler-rt/lib/msan/msan_interceptors.cpp
Commit 58cdbf518b6ebaee59d0492375e2e8f7da87ca41 by Saleem Abdulrasool
Sema: add support for `__attribute__((__swift_private__))`

This attribute allows declarations to be restricted to the framework
itself, enabling Swift to remove the declarations when importing
libraries.  This is useful in the case that the functions can be
implemented in a more natural way for Swift.

This is based on the work of the original changes in
https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c

Differential Revision: https://reviews.llvm.org/D87720
Reviewed By: Aaron Ballman
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was addedclang/test/SemaObjC/attr-swift_private.m
The file was modifiedclang/include/clang/Basic/Attr.td
The file was addedclang/test/AST/attr-swift_private.m
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit b65966cff65bfb66de59621347ffd97238d3f645 by jingham
Add the ability to write target stop-hooks using the ScriptInterpreter.

Differential Revision: https://reviews.llvm.org/D88123
The file was modifiedlldb/bindings/python/python-wrapper.swig
The file was addedlldb/test/API/commands/target/stop-hooks/stop_hook.py
The file was modifiedlldb/include/lldb/Symbol/SymbolContext.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
The file was addedlldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was addedlldb/test/Shell/Commands/command-stop-hook-output.test
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/bindings/python/python-swigsafecast.swig
The file was modifiedlldb/test/API/commands/target/stop-hooks/TestStopHooks.py
The file was modifiedlldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
The file was modifiedlldb/docs/use/python-reference.rst
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Symbol/SymbolContext.cpp
The file was addedlldb/test/Shell/Commands/Inputs/stop_hook.py
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/test/API/commands/target/stop-hooks/main.c
The file was modifiedlldb/source/Target/Target.cpp
Commit 4600e210514281d2ac049e1c46d3f10bd17bf25c by efriedma
[AArch64][SVE] Drop "argmemonly" from gather/scatter with vector base.

The intrinsics don't have any pointer arguments, so "argmemonly" makes
optimizations think they don't write to memory at all.

Differential Revision: https://reviews.llvm.org/D88186
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/test/Transforms/LICM/AArch64/sve-load-hoist.ll
Commit 48961ba0de3c556b092d434bd86583401495f101 by efriedma
[TRE][NFC] Refactor Basic Block Processing

Simplify and improve readability.

Differential Revision: https://reviews.llvm.org/D82269
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
Commit 51cad041e0cb26597c7ccc0fbfaa349b8fffbcda by efriedma
C API: functions to get mask of a ShuffleVector

This commit fixes a regression (from LLVM 10 to LLVM 11 RC3) in the LLVM
C API.

Previously, commit 1ee6ec2bf removed the mask operand from the
ShuffleVector instruction, storing the mask data separately in the
instruction instead; this reduced the number of operands of
ShuffleVector from 3 to 2. AFAICT, this change unintentionally caused
a regression in the LLVM C API. Specifically, it is no longer possible
to get the mask of a ShuffleVector instruction through the C API. This
patch introduces new functions which together allow a C API user to get
the mask of a ShuffleVector instruction, restoring the functionality
which was previously available through LLVMGetOperand().

This patch also adds tests for this change to the llvm-c-test
executable, which involved adding support for InsertElement,
ExtractElement, and ShuffleVector itself (as well as constant vectors)
to echo.cpp. Previously, vector operations weren't tested at all in
echo.ll.

I also fixed some typos in comments and help-text nearby these changes,
which I happened to spot while developing this patch. Since the typo
fixes are technically unrelated other than being in the same files, I'm
happy to take them out if you'd rather they not be included in the patch.

Differential Revision: https://reviews.llvm.org/D88190
The file was modifiedllvm/tools/llvm-c-test/echo.cpp
The file was modifiedllvm/include/llvm-c/Core.h
The file was modifiedllvm/test/Bindings/llvm-c/echo.ll
The file was modifiedllvm/tools/llvm-c-test/main.c
The file was modifiedllvm/lib/IR/Core.cpp
Commit 8bd205bf1de486a32abd956390f6527da4c13e33 by aqjune
[LangRef] Clarify the behavior of memory access instructions when pointers/sizes aren't well-defined

This is a patch to LangRef that clarifies the behavior of load/store/memset/memcpy/memmove when the pointers or sizes are not well-defined
as well.

MSan detects a case when e.g., only lower bits of address are garbage when `-msan-check-access-address` is enabled, and it does not directly conflict with this patch because a C program should not use a pointer with undef bits and reasonable optimizations do not convert a well-defined pointer into a pointer with undef bits.

This patch contains a definition of a well-defined value as well.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D87994
The file was modifiedllvm/docs/LangRef.rst
Commit 0291c471aad4bf8422405586e2bf80cb8df25980 by ebahapo
[RISCV] Fix formatting (NFC)
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedule.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedRocket.td
Commit b5f46534c4dd5ac32bc3b63685de1d66eec96595 by craig.topper
[IR] Improve the description for Constant::isNormalFP to list all things that are not normal instead of just denormal. NFC
The file was modifiedllvm/include/llvm/IR/Constant.h
Commit 97702c3d9234ddc7dd39d4d107c8bec8765746ce by alexshap
[Object][MachO] Refine the interface of Slice

This patch performs a minor cleanup of the class Slice:
static methods and constructors which take a pointer but assume that
it's not null now take the argument by reference.
NFC.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D88320
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
The file was modifiedllvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
Commit 764c1b7a4db1606438c8daea13c9d2a18190a865 by ebahapo
[RISCV] Scheduler description for Bullet

Add the pipeline model for the RISC-V Bullet micro architecture.

Co-authored-by: Evandro Menezes <evandro.menezes@sifive.com>
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/include/llvm/Support/RISCVTargetParser.def
The file was addedllvm/lib/Target/RISCV/RISCVSchedBullet.td
Commit a000580a89718a1ff27a3129e34367b9a3fa1730 by ebahapo
[RISCV] Update driver tests

Add the RISC-V Bullet core to the driver tests.
The file was modifiedclang/test/Driver/riscv-cpus.c
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
Commit 67782a0f99c6a792c9d60267d42b21f7335814ba by i
[lldb/bindings] Fix -Wformat after D88123
The file was modifiedlldb/bindings/python/python-wrapper.swig
Commit 2dba5461be2d1b35e8461a60a2149281b42fea48 by Amara Emerson
[AArch64][GlobalISel] Add a few more vector type combinations for shift selection.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir
Commit 83e3ea2cfce69d2b2b4b831ca78335c349df4fdd by aeubanks
[LowerTypeTests][NewPM] Add constructor that uses command line flags

This matches the legacy PM pass by having one constructor use command
line flags, and the other use parameters to the pass.

This fixes all tests under Transforms/LowerTypeTests using NPM.

Reviewed By: ychen, pcc

Differential Revision: https://reviews.llvm.org/D87845
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/Transforms/IPO/LowerTypeTests.h
The file was modifiedllvm/test/Transforms/LowerTypeTests/simple.ll
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
Commit 546e460a00a985ce6fca323fe509f7d4e893b621 by Amara Emerson
[AArch64][GlobalISel] If a G_BUILD_VECTOR operands are all G_CONSTANT then assign to gpr bank.

Even if the type is s8/s16, assigning to gpr is preferable with constants because
worst case we can select via a constant pool load, and without cross-bank copies
to the FPR bank more patterns can be imported later.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/regbankselect-build-vector.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
Commit ebb1092a2875739d3e9bb6b1fb230c0e0d88ebff by tianshilei1992
[Clang][OpenMP] Added support for nowait target in CodeGen via regular task

Previously for nowait target, CG emitted a function call to `__tgt_target_nowait`, etc. However, in OpenMP RTL, these functions just directly call the no-nowait version, which means nowait is not working as expected.

OpenMP specification says a target is acutally a target task, which is an untied and detachable task. It is natural to go to the direction that generates a task for a nowait target. However, OpenMP task has a problem that it must be within to a parallel region; otherwise the task will be executed immediately. As a result, if we directly wrap to a regular task, the `target nowait` outside of a parallel region is still a synchronous version.

In D77609, I added the support for unshackled task in OpenMP RTL. Basically, unshackled task is a task that is not bound to any parallel region. So all nowait target will be tranformed into an unshackled task. In order to distinguish from regular task, a new flag bit is set for unshackled task. This flag will be used by RTL for later process.

Since all target tasks are allocated via `__kmpc_omp_target_task_alloc`, and in current `libomptarget`, `__kmpc_omp_target_task_alloc` just calls `__kmpc_omp_task_alloc`. Therefore, we can modify the flag in `__kmpc_omp_target_task_alloc` so that we don't need to modify the FE too much. If users choose to opt out the feature, they just need to use a RTL w/o support of unshackled threads.

As a result, in this patch, the `target nowait` region is simply wrapped into a regular task. Later once we have RTL support for unshackled tasks, the wrapped tasks can be executed by unshackled threads w/o changes in the FE.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D78075
The file was modifiedclang/test/OpenMP/target_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
Commit 76419525fba62c93d5c337acdb0b80d6e42b00c9 by joker.eph
Common code preparation for tblgen-types patch

Cleanup and add methods which https://reviews.llvm.org/D86904 requires. Breaking up to lower review load.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D88267
The file was addedmlir/include/mlir/TableGen/CodeGenHelpers.h
The file was modifiedllvm/lib/TableGen/Record.cpp
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/tools/mlir-tblgen/DialectGen.cpp
The file was modifiedllvm/include/llvm/TableGen/Record.h
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 63c58c2b934525c9863e624cf39ec542dd84ca78 by i
[bindings/go] Fix TestAttributes after D88241
The file was modifiedllvm/bindings/go/llvm/ir_test.go
Commit 96318f64a7864747ebbb4e33cb75b0dea465abfc by dmantipov
[Driver] Perform Linux distribution detection only once

Differential Revision: https://reviews.llvm.org/D87187
The file was modifiedclang/include/clang/Driver/Distro.h
The file was modifiedclang/lib/Driver/Distro.cpp
Commit 2ca0ea15e5c910ff93874679f0a03c923fe85e5b by dmantipov
[Driver] Fix formatting as suggested by clang-format (NFC)
The file was modifiedclang/include/clang/Driver/Distro.h
Commit c0f8e4c06c85db256806cfce90a2b49e4cdd58d4 by qiucofan
[SelectionDAG] Add guard to automatically insert flags

This is like FastMathFlagGuard in IR. Since we use SDAG instance to get
values, it's with SelectionDAG. By creating a FlagInserter in current
scope, all values created by getNode will get the flags if no Flags
argument provided.

In this patch, I applied it to floating point operations folding part in
DAG combiner, and removed Flags passing to getNode to show its effect.
Other places in DAG combiner and other helper methods similar to getNode
also need this. They can be done in follow-up patches.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D87361
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath-mir.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit c6c5629f2fb4ddabd376fbe7c218733283e91d09 by simon
[CodeGen] Do not call `emitGlobalConstantLargeInt` for constant requires 8 bytes to store

This is a fix for PR47630. The regression is caused by the D78011. After
this change the code starts to call the `emitGlobalConstantLargeInt` even
for constants which requires eight bytes to store.

Differential revision: https://reviews.llvm.org/D88261
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/Mips/emit-big-cst.ll
Commit 8d5b289a4681d89f4dedcd8926225333e0772967 by tyker
[LoopDelete][Assume] Allow deleting loops with assumes

This pervent very poor optimization caused by a signle assume like https://godbolt.org/z/EK3oMh

baseline flags: -O3
patched flags: -O3 -mllvm --enable-knowledge-retention

Before the patch
```
Metric: compile_time
Program                                                      baseline patched diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test  20.72    29.74  43.5%
                     test-suite :: CTMark/Bullet/bullet.test  24.39    24.91   2.2%
               test-suite :: CTMark/7zip/7zip-benchmark.test  37.39    38.06   1.8%
                      test-suite :: CTMark/kimwitu++/kc.test  11.76    11.94   1.5%
                   test-suite :: CTMark/sqlite3/sqlite3.test  12.94    12.91  -0.3%
                       test-suite :: CTMark/SPASS/SPASS.test  11.72    11.70  -0.2%
                     test-suite :: CTMark/lencod/lencod.test  16.12    16.10  -0.1%
                   test-suite :: CTMark/ClamAV/clamscan.test  13.31    13.30  -0.1%
              test-suite :: CTMark/mafft/pairlocalalign.test   9.12     9.12  -0.1%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test   9.34     9.34  -0.1%
                                          Geomean difference                   4.2%

Metric: compiler_Kinst_count
Program                                                      baseline     patched      diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 107576069.87 172886418.90 60.7%
                     test-suite :: CTMark/Bullet/bullet.test 123291865.66 125457117.96  1.8%
                      test-suite :: CTMark/kimwitu++/kc.test  56347884.64  57298544.14  1.7%
               test-suite :: CTMark/7zip/7zip-benchmark.test 180637699.58 183341656.57  1.5%
                   test-suite :: CTMark/sqlite3/sqlite3.test  66723788.85  66664692.80 -0.1%
                   test-suite :: CTMark/ClamAV/clamscan.test  69581500.56  69597863.92  0.0%
                     test-suite :: CTMark/lencod/lencod.test  94236501.48  94216545.32 -0.0%
                       test-suite :: CTMark/SPASS/SPASS.test  58516756.95  58505089.07 -0.0%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test  48832815.53  48841989.39  0.0%
              test-suite :: CTMark/mafft/pairlocalalign.test  49682720.53  49686324.34  0.0%
                                          Geomean difference                            5.4%
```

After the patch
```
Metric: compile_time
Program                                                      baseline patched diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test  20.70    22.40   8.2%
               test-suite :: CTMark/7zip/7zip-benchmark.test  37.13    38.05   2.5%
                     test-suite :: CTMark/Bullet/bullet.test  24.25    24.83   2.4%
                      test-suite :: CTMark/kimwitu++/kc.test  11.69    11.94   2.2%
                   test-suite :: CTMark/ClamAV/clamscan.test  13.19    13.36   1.3%
                     test-suite :: CTMark/lencod/lencod.test  16.02    16.19   1.1%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test   9.29     9.36   0.7%
                       test-suite :: CTMark/SPASS/SPASS.test  11.64    11.73   0.7%
              test-suite :: CTMark/mafft/pairlocalalign.test   9.10     9.15   0.5%
                   test-suite :: CTMark/sqlite3/sqlite3.test  12.95    12.96   0.0%
                                          Geomean difference                   1.9%

Metric: compiler_Kinst_count
Program                                                      baseline     patched      diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 107590933.61 114044834.72  6.0%
                      test-suite :: CTMark/kimwitu++/kc.test  56344526.77  57235806.29  1.6%
                     test-suite :: CTMark/Bullet/bullet.test 123291285.10 125128334.97  1.5%
               test-suite :: CTMark/7zip/7zip-benchmark.test 180641540.10 183155706.39  1.4%
                   test-suite :: CTMark/sqlite3/sqlite3.test  66725619.22  66668713.92 -0.1%
                       test-suite :: CTMark/SPASS/SPASS.test  58509029.85  58478704.75 -0.1%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test  48843711.23  48826894.68 -0.0%
                     test-suite :: CTMark/lencod/lencod.test  94233305.79  94207544.23 -0.0%
                   test-suite :: CTMark/ClamAV/clamscan.test  69587887.66  69603549.90  0.0%
              test-suite :: CTMark/mafft/pairlocalalign.test  49686968.65  49689291.04  0.0%
                                          Geomean difference                            1.0%
```

Reviewed By: jdoerfert, efriedma

Differential Revision: https://reviews.llvm.org/D86816
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp
The file was addedllvm/test/Transforms/LoopDeletion/assume.ll
Commit 6314f412a83d61e293e3696d4afe1797a4001ac4 by sepavloff
[FPEnv] Evaluate constant expressions under non-default rounding modes

The change implements evaluation of constant floating point expressions
under non-default rounding modes. The main objective was to support
evaluation of global variable initializers, where constant rounding mode
may be specified by `#pragma STDC FENV_ROUND`.

Differential Revision: https://reviews.llvm.org/D87822
The file was addedclang/test/AST/const-fpfeatures-diag.c
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was addedclang/test/AST/const-fpfeatures.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was addedclang/test/AST/const-fpfeatures.c
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/lib/AST/Expr.cpp
Commit b2c0193afa2b25afc718bc32751147c5dc1bfd63 by flo
[DSE] Add tests with lifetime.end that only mark parts of the obj as dead.

llvm.lifetime.end accepts a size parameters to limit the size of the
location marked as dead. Add a few tests with stores to locations after
the part that has been marked as dead.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll
Commit 8f0466edc0cb3782af4108bfe8840e2ad3de9b49 by flo
[DSE] Unify & fix mem terminator location checks.

When looking for memory defs killed by memory terminators the code
currently incorrectly ignores the size argument of llvm.lifetime.end.

This patch updates the code to use isMemTerminator and updates
isMemTerminator to use isOverwrite() to make sure locations that are
outside the range marked as dead by llvm.lifetime.end are not
considered. Note that isOverwrite is only used for llvm.lifetime.end,
because free-like functions make the whole underlying object dead.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll
Commit 50a3df585d91ea3c8bd677f3f202931caf6aa8c7 by paul
[TableGen] Add/edit Doxygen comments to match "TableGen Backend Developer's Guide."
The file was modifiedllvm/include/llvm/TableGen/Record.h
The file was modifiedllvm/docs/TableGen/BackGuide.rst
Commit f91b9c0f9858bb3d6ff4dd1fb494e83633eefed8 by sepavloff
Run test on particular target only

The test `AST/const-fpfeatures-diag.c` requires setting strict FP
semantics, so it fails on targets where support of such semantic
is limited.
The file was modifiedclang/test/AST/const-fpfeatures-diag.c
Commit decc1944f38f4205bf53829bf91e3c98ea6fc7ac by llvm-dev
MachineCSE.cpp - use auto const& iterators in for-range loops to avoid copies. NFCI.
The file was modifiedllvm/lib/CodeGen/MachineCSE.cpp
Commit a61272a900296573902dfce99274fd335239a4d3 by llvm-dev
[DAG] Fold vector mul(x,0)/mul(x,1) to a clearing mask

If we're multiplying all elements of a vector by '0' or '1' then we can more efficiently perform this as a clearing mask (that is likely to further simplify to a shuffle blend).

This was noticed when reviewing D87502 but seems to help idiv/irem by constant cases even more as '0'/'1' values are often used for 'passthrough' cases.

Differential Revision: https://reviews.llvm.org/D88225
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-math.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-mul.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll

Summary

  1. Added x86_64-fedora-clang builder and fedora-llvm-x86_64 slave (details)
  2. Name builddir of x86_64-fedora-clang builder like the slave/worker fedora-llvm-x86_64 (details)
  3. clang-x86-ninja-win10 fixed slash replacement (details)
  4. clang-x86-ninja-win10 fixed MSVC version output (details)
  5. [zorg] [PowerPC] set lld as the default linker on ppc64le-clang-rhel bot (details)
  6. clang-x86-ninja-win10 enabling LLD (details)
  7. Added openmp docs to SphinxDocsBuilder. (details)
Commit d5933da06ce30de8cfec8ea57f8ecce0d094cb9c by kkleine
Added x86_64-fedora-clang builder and fedora-llvm-x86_64 slave

I'm evaluating how to run a buildbot slave/worker in a Red Hat internal OpenShift cluster.

Differential Revision: https://reviews.llvm.org/D88007
The file was modifiedbuildbot/osuosl/master/config/slaves.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 5bf9586c573c6057a05f486c014e0268e173af9c by kkleine
Name builddir of x86_64-fedora-clang builder like the slave/worker fedora-llvm-x86_64
The file was modifiedbuildbot/osuosl/master/config/builders.py