SuccessChanges

Summary

  1. Added compiler-rt tests to run on ARM target. (details)
  2. Fix bash script when df exits with error (details)
  3. NFC. Updated comment. (details)
  4. [sanitizer] More robust rm calls (details)
  5. [sanitizer] Remove compiler-rt from Android stage2 (details)
  6. [sanitizer] Remove ANDROID_NDK_VERSION and ANDROID (details)
  7. Use lit --vv on Android bot (details)
  8. [sanitizer] Delete build only with CCACHE (details)
Commit 4188d05872df991d47d129395cbc7c0451cec441 by aorlov
Added compiler-rt tests to run on ARM target.

Run compiler-rt tests remotely on the target if it makes sense.

Reviewed By: vvereschaka

Differential Revision: https://reviews.llvm.org/D90491
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 33e3f9a7dcef049e8e7a45a173471a1ceb9659dc by Vitaly Buka
Fix bash script when df exits with error
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_functions.sh (diff)
The file was modifiedbuildbot/osuosl/master/config/status.py (diff)
Commit 75a910ce32b1e90fa5dcedc9857e7cec144f10ed by Vitaly Buka
[sanitizer] More robust rm calls

Sometimes rm fails the first time.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_android_functions.sh (diff)
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_functions.sh (diff)
Commit b1e4bac53aa87f06abefe6bd5f187467e980d0f5 by Vitaly Buka
[sanitizer] Remove compiler-rt from Android stage2
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_android_functions.sh (diff)
Commit 6f1f57eab12e6a5ac2da41677fc6dd26798c0b71 by Vitaly Buka
[sanitizer] Remove ANDROID_NDK_VERSION and ANDROID
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_android_functions.sh (diff)
Commit d62e20a22e7859fb6d54420b3a0111f4d217191f by Vitaly Buka
Use lit --vv on Android bot
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_android_functions.sh (diff)
Commit 9698ab4e39e1f7dbfa7ff3d0c4bb60e67d19a19d by Vitaly Buka
[sanitizer] Delete build only with CCACHE
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_cmake.sh (diff)

Summary

  1. Support: Avoid std::tie in Support/FileSystem/UniqueID.h, NFC (details)
  2. [gn build] Port c17da8676a0 (details)
  3. [LLD] [COFF] Align all debug directories (details)
  4. [mlir][CAPI] Add APIs for mlirOperationGetName and Identifier. (details)
  5. [mlir][vector] Address post-commit review comments on vector ops folding patterns (details)
  6. [flang] Allow array constructor implied DO loop indices as constant expressions (details)
  7. [Sema] adds -Wfree-nonheap-object member var checks (details)
  8. Undef the `DEFINE_C_API_STRUCT` macro after using it in the MLIR C API header (NFC) (details)
  9. [PartialInliner]: Handle code regions in a switch stmt cases (details)
  10. [AMDGPU] Improve FLAT scratch detection (details)
  11. [NFC][regalloc] Use MCRegister appropriately (details)
  12. [Hexagon] Move isTypeForHVX from Hexagon TTI to HexagonSubtarget, NFC (details)
  13. [clangd] Fix check-clangd with no clang built (details)
  14. Change Module::ASTFile and ModuleFile::File => Optional<FileEntryRef>, NFC (details)
  15. [FileCheck] Added documentation for --allow-unused-prefixes (details)
  16. Rename CXXUnresolvedConstructExpr::arg_size for consistency (details)
  17. Ignore template instantiations if not in AsIs mode (details)
  18. [clangd] Add -log=public to redact all request info from index server logs (details)
  19. [MC] Make MCStreamer aware of AsmParser's StartTokLoc (details)
  20. [mlir] Add func-bufferize pass. (details)
  21. [mlir][Bufferize] Rename TestBufferPlacement to TestFinalizingBufferize (details)
  22. Fix build error on bots after 9f151df17800e1668c32e5314a290ae94c8f2dd3 (details)
  23. [Coroutines][Docs] Remove frame packing as a TODO (details)
  24. [LazyCallGraph] Build SCCs of the reference graph in order (details)
  25. [IndVars] Regenerate test checks (NFC) (details)
  26. [NFC][AMDGPU] Restructure the AMDGPU memory model description (details)
  27. [flang] Fix actual argument character length and length error reporting (details)
  28. [MLIR] Introduce std.global_memref and std.get_global_memref operations. (details)
  29. [MLIR] Work around an ICE in GCC 7. (details)
  30. [GWP-ASan] Stub out backtrace/signal functions on Fuchsia (details)
  31. [LoopFusion] Regenerate test checks (NFC) (details)
  32. [AsmPrinter] Split up .gcc_except_table (details)
  33. [CUDA] Allow local static variables with target attributes. (details)
  34. [mlir] Optimize Op definitions and registration to optimize for code size (details)
  35. [MachO] Also recongize __swift_ast as a debug info section (details)
  36. Revert "[CUDA] Allow local static variables with target attributes." (details)
  37. [MLIR] Remove unnecessary CHECK's from tests for which we do not run FileCheck. (details)
  38. Reland - [Clang] Add the ability to map DLL storage class to visibility (details)
  39. [pstl] Replace direct use of assert() with _PSTL_ASSERT (details)
  40. [NFC] Use [MC]Register in Live-ness tracking (details)
  41. [cc1as] Close MCAsmParser before MCStreamer (details)
  42. [scudo][standalone] Code tidying (NFC) (details)
  43. [libc++] Fix invalid parsing of ints in a <random> test (details)
  44. [darwin] add support for __isPlatformVersionAtLeast check for if (@available) (details)
  45. [mlir][Linalg] Add more utility functions to LinalgDependenceGraph. (details)
  46. [PowerPC] Parse and ignore .machine ppc64 (details)
  47. Add parallelTransformReduce and parallelForEachError (details)
  48. [mlir][Affine] Remove single iteration affine.for ops in AffineLoopNormalize (details)
  49. Remove unused parameter (details)
  50. [sanitizer] Make destructors protected (details)
  51. [LICM] Add assert of AST/MSSA exclusiveness. (details)
  52. Add textual header PPCTypes.def to module Clang_Basic after D81508 (details)
  53. [Syntax] DeclaratorList is a List (details)
  54. [crashlog] Fix and simplify the way we import lldb (details)
  55. [PowerPC] [NFC] Rename VCMPo to VCMP_rec (details)
  56. [PowerPC] Skip IEEE 128-bit FP type in FastISel (details)
  57. [crashlog] Turn crash log parsing modes into a Python 'enum' (NFC) (details)
  58. [crashlog] Remove commented out code (NFC) (details)
  59. [RISCV] Only return DestSourcePair from isCopyInstrImpl for registers (details)
  60. [CodeGen] Fix regression from D83655 (details)
  61. [sanitizer] Cleanup -Wnon-virtual-dtor warnings (details)
  62. [polly] Fix -Wunused-lambda-capture and -Wunused-variable (details)
  63. [docs] Fix clang/docs/UsersManual.rst after D87528 & D88446 (details)
  64. [Libomptarget][NFC] Move global Libomptarget state to a struct (details)
  65. Put back the test pragma-fp-exc.cpp (details)
  66. [Flang][OpenMP][NFC][1/2] Reorder OmpStructureChecker and simplify it. (details)
  67. [NFC][PowerPC] Move the folding RLWINMs from ppc-mi-peephole to PPCInstrInfo. (details)
  68. [IndVars] Use knowledge about execution on last iteration when removing checks (details)
  69. [RISCV] Remove isel patterns for fshl/fshr with same inputs. NFC (details)
  70. [NFC] Split lambda into 2 parts for further reuse (details)
  71. [scan-build] Fix clang++ pathname again (details)
  72. [libcxxabi] Build all of libcxxabi with _LIBCPP_BUILDING_LIBRARY defined (details)
  73. [libcxx] [test] Fix the fs.op.absolute test to cope with windows paths (details)
  74. [libcxx] [test] Avoid an unused variable in non-libcpp cases in path.append (details)
  75. [libcxx] [test] Create symlink_to_dir as the right kind, as a directory symlink (details)
  76. [libcxx] Avoid double frees of file descriptors in the fallback ifstream/ofstream codepath (details)
  77. [libcxx] [test] Use error_code::default_error_condition to check errors against the expected codes (details)
  78. [PowerPC] Extend folding RLWINM + RLWINM to post-RA. (details)
  79. [compiler-rt] [ubsan] Use the itanium type info lookup for mingw targets (details)
  80. [clang] [MinGW] Allow using the vptr sanitizer (details)
  81. [NFC] Refactor code in IndVars, preparing for further improvement (details)
  82. [clang] Fix the fsanitize.c testcase after eaae6fdf67e1f. NFC. (details)
  83. AMDGPU/GlobalISel: Use same builder/observer in post-legalizer-combiner (details)
  84. [llvm-readobj/libObject] - Allow dumping objects that has a broken SHT_SYMTAB_SHNDX section. (details)
  85. [lldb] [Process/FreeBSDRemote] Implement thread GetName() (details)
  86. [lldb] [Host/{free,net}bsd] Fix process matching by name (details)
  87. [lldb] [Process/FreeBSDRemote] Fix attaching via lldb-server (details)
  88. [lldb] [Process/FreeBSDRemote] Remove GetSharedLibraryInfoAddress override (details)
  89. [lldb] [Plugins/FreeBSDRemote] Disable GetMemoryRegionInfo() (details)
  90. [mlir] Add partial lowering of shape.cstr_broadcastable. (details)
  91. [mlir] Add to shape.is_broadcastable description (details)
  92. [LLDB][NFC] treat Lua error codes in a more explicit manner (details)
  93. [NFCI] Add StackOffset class and base classes for ElementCount, TypeSize. (details)
  94. [CostModel] Make target intrinsics cheap by default (details)
  95. Provide a hook to customize missing library error handling (details)
  96. [AArch64] Redundant masks in downcast long multiply (details)
  97. [lld] missing doc entry for error handling script (details)
  98. [SLP] Pass VecPred argument to getCmpSelInstrCost. (details)
  99. [mlir] Convert `memref_reshape` to LLVM. (details)
  100. [AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts (details)
  101. Add test missing from previous commit (details)
  102. Remove mlir-c/Core.h which is superseded by the new API in mlir-c/IR.h (details)
  103. Change the PrintOpStatsPass to operate on any operation instead of just ModuleOp (details)
  104. Handle the verifier at run() time in the PassManager instead of build time (details)
  105. Make the implicit nesting behavior of the PassManager user-controllable and default to false (details)
  106. [MLIR] Added test operations to replace linalg dependency for (details)
  107. [AArch64][SVE] NFC: Guard all SVE tests for TypeSize warnings. (details)
  108. [ARM] Low overhead loop memcpy lowering test. NFC (details)
  109. [ARM] Treat memcpy/memset/memmove as call instructions for low overhead loops (details)
  110. Fix 'default label in switch which covers all enumeration values' warning (details)
  111. [clang-tidy] adding "--config-file=<file-path>" to specify custom config file. (details)
  112. [JITLink][ELF] Implement R_X86_64_PLT32 relocations (details)
  113. Revert "[CodeGen] [WinException] Only produce handler data at the end of the function if needed" (details)
  114. [OpenMP][Tool] Handle detached tasks in Archer (details)
  115. [OpenMP][OMPT][NFC] Fix flaky test (details)
  116. [OpenMP][libomptarget][Tests] fix failing test (details)
  117. [ARM] Remove unused variable. NFC (details)
  118. [SCCP] Handle bitcast of vector constants. (details)
  119. [NFC][InstCombine] Add test coverage for PR47997 (details)
  120. [NFC][InstCombine] Negator: add test coverage for `(?? - (C - %y))` pattern (PR47997) (details)
  121. [NFC][InstCombine] Negator: add test coverage for `(?? - (%y + C))` pattern (PR47997) (details)
  122. [InstCombine] Negator: - (C - %x) --> %x - C (PR47997) (details)
  123. [InstCombine] Perform  C-(X+C2) --> (C-C2)-X  transform before using Negator (details)
  124. [CUDA][HIP] Fix linkage for -fgpu-rdc (details)
  125. [x86] update cost table comments for maxnum; NFC (details)
  126. [mlir][spirv] Support for a few more decorations in (de)serialization (details)
  127. [AMDGPU] Specify a triple to avoid codegen changes depending on host OS (details)
  128. [gn build] (manually) port 1af3cb5424d (details)
  129. [gn build] Port 1667d23e585 (details)
  130. [DAG] computeKnownBits - Move (most) ISD::SHL handling into KnownBits::shl (details)
  131. [ASTMatchers] Made isExpandedFromMacro Polymorphic (details)
  132. [AMDGPU] Precommit globalisel tests for ds_read2_b64 with large offset (details)
  133. [SLP][X86][Test] Extend test coverage for PR47629 (details)
  134. [ADT] Add SmallVector::pop_back_n (details)
  135. make the AsmPrinterHandler array public (details)
  136. [Docs][FileCheck] Small fix. (details)
  137. [lldb/Utility] Add unit tests for RegisterValue::GetScalarValue (details)
  138. [libcxx] [libcxxabi] Set flags for visibility when statically linking libcxxabi into libcxx for windows (details)
  139. [libcxx] Error out if __libcpp_mbsrtowcs_l fails in __time_get_storage (details)
  140. [AMDGPU] Fix ds_read2/write2 with unaligned offsets (details)
  141. [SVE][InstCombine] Improve specificity of InstCombine TypeSize test (details)
  142. [OpenMP][Tools] clang-format Archer (NFC) (details)
  143. Fix GCC error: specialization of 'template<class LeafTy> struct llvm::LinearPolyBaseTypeTraits' in different namespace (details)
  144. [CostModel] fix cost calc bug for sadd/ssub with overflow (details)
  145. [openmp][openacc][NFC] Simplify access and validation of DirectiveBase information (details)
  146. [lldb] [Process/FreeBSDRemote] Fix "Fix attaching via lldb-server" (details)
  147. [AMDGPU] Add gfx90c target (details)
  148. [AMDGPU] Add gfx1033 target (details)
  149. Revert "[PowerPC] Extend folding RLWINM + RLWINM to post-RA." (details)
  150. [compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX (details)
  151. [NFC][AMDGPU] Minor editorial improvements to AMDGPUUsage.rst (details)
  152. Make test/tools/llvm-dlltool/tool-name.test pass, and make it run (details)
  153. [crashlog] Move crash log parsing into its own class (details)
  154. [libc++] Move <memory> helpers outside of std::allocator_traits (details)
  155. [AMDGPU] Regenerate load i16 tests to use update_llc_test_checks.py script. NFCI. (details)
  156. [DAG] computeKnownBits - Move (most) ISD::SRL handling into KnownBits::lshr (details)
  157. [RISCV] Add missing patterns for rotr with immediate for Zbb/Zbp extensions. (details)
  158. [DAG] computeKnownBits - Move ISD::SRA handling into KnownBits::ashr (details)
  159. Cleanup namespace comment to fix clang-tidy warning. NFCI. (details)
  160. [crashlog] Modularize parser (details)
  161. [GVN] small improvements to comments (details)
  162. [CUDA] Allow local static variables with target attributes. (details)
  163. [HIP] Use argv[0] as the default choice for the Executable name. (details)
  164. [HIP] Math Headers to use type promotion (details)
  165. [WebAssembly] Implement ref.null (details)
  166. Return actual type from SBType::GetArrayElementType (details)
  167. Precommit LTO pipeline test (details)
  168. Add loop distribution to the LTO pipeline (details)
  169. Fix - [Clang] Add the ability to map DLL storage class to visibility (details)
  170. [AMDGPU] Add some missing tests for GFX10.3 subtargets (details)
  171. Revert "Add loop distribution to the LTO pipeline" (details)
  172. Revert "Precommit LTO pipeline test" (details)
  173. [mlir][vector] Add canonicalization patterns for ExtractStride/ShapeCast + Splat constant (details)
  174. [NFC][Reassociate] Add tests with `add`-like `or` (w/ no common bits set) (details)
  175. [Reassociate] Convert `add`-like `or`'s into an `add`'s to allow reassociation (details)
  176. [memprof] Don't protect destructor in final (details)
  177. [compiler-rt] Use empty SuspendedThreadsList for Fuchsia (details)
  178. [musttail] Unify musttail call preceding return checking (details)
  179. [crashlog] Print the actual exception in the CommandReturnObject (details)
  180. [libc++] NFC: Simplify how we run config tests (details)
  181. [unittest][TrasnformerTest] Fix asan stack-use-after-return (details)
  182. [libc++] Remove support for .run.fail.cpp tests (details)
  183. [clangd] Handle absolute/relative path specifications in Config (details)
  184. [clangd] Fix missing override warnings in remote-index client (details)
  185. [OpenMP] Fixed an issue in the test case parallel_offloading_map (details)
  186. [lldb] [test] Remove xfail from tests that pass on FreeBSD (details)
  187. [lldb] [test/Shell] Pass -pthread to host toolchain on FreeBSD too (details)
  188. [lldb] [test] Update XFAILs/skips for FreeBSD (details)
  189. [libc++] Harden tests against executors not running tests in a shell (details)
  190. [NFC] Inline wasm assertion-only variable (details)
  191. [PowerPC] Add MMA builtin decoding and definitions (details)
  192. [mlir][Parser] Small optimization to parsing (details)
  193. [NFC] Fix call to lldb RegisterValue constructor (details)
  194. [LIBC][NFC] Rename errno and assert files to match other files with functions (details)
  195. [libc++][NFC] Mark LWG issue 2899 as not complete. (details)
  196. [docs] Fix docs-llvm-html after recent TableGen changes D90617 (details)
  197. Revert "Ignore template instantiations if not in AsIs mode" (details)
  198. Undo Revert "Ignore template instantiations if not in AsIs mode" (details)
  199. When re-checking an already-substituted template argument, don't lose (details)
  200. [MLIR] NFC : Move OpenMP dialect include to translation (details)
  201. Remove extra comma after macro, fix GCC warning (NFC) (details)
  202. [ARM] remove cost-kind predicate for most math op costs (details)
  203. [mlir][vector] Make linalg FillOp vectorization use Transfer op (details)
  204. [WebAssembly] Don't fold frame offset for global addresses (details)
  205. [libc][NFC][Obvious] Use the new macro to declare special constants in tests. (details)
  206. [MLIR] Move eraseArguments and eraseResults to FunctionLike (details)
  207. [flang] Dodge gcc 8.2.0 build problem (NFC) (details)
  208. [MLIR] Check for duplicate entries in attribute dictionary during custom parsing (details)
  209. [AArch64][GlobalISel] Add combine for G_EXTRACT_VECTOR_ELT to allow selection of pairwise FADD. (details)
  210. [NFC] Use [MC]Register in register allocation (details)
  211. [clangd][NFC] Make Located::operator->() use pointer sematics (details)
  212. [MachineInstr] Add support for instructions with multiple memory operands. (details)
  213. [StackColoring] Conservatively merge catch point of V for catch(V) (details)
  214. [RISCV] Add fshl with immediate tests for Zbt extension. NFC (details)
  215. Port print-must-be-executed-contexts and print-mustexecute to NPM (details)
  216. Add a basic C API for the MLIR PassManager as well as a basic TableGen backend for creating passes (details)
  217. Switch the CallbackOstream wrapper in the MLIR C API to an Unbuffered stream (details)
  218. Enable -Werror-implicit-function-declaration by default (NFC) (details)
  219. Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts" (details)
  220. Fix linkage error on mlirLogicalResultIsFailure. (details)
  221. [mlir][Python] Return and accept OpView for all functions. (details)
  222. Re-land "[llvm-exegesis] Save target state before running the benchmark. (details)
  223. Revert "Re-land "[llvm-exegesis] Save target state before running the benchmark." (details)
  224. [DebugInfo] Delete unused DwarfUnit::addConstantFPValue & addConstantValue overloads. NFC (details)
  225. [Flang][OpenMP] Add semantic checks for OpenMP copyin clause. (details)
  226. [clangd] Store the containing symbol for refs (details)
  227. [mlir] Add a generic while/do-while loop to the SCF dialect (details)
  228. [mlir] Add lowering to CFG for WhileOp (details)
  229. [mlir] Add a simpler lowering pattern for WhileOp representing a do-while loop (details)
  230. Re-land "[llvm-exegesis] Save target state before running the benchmark." (details)
  231. [NFCI] Replace AArch64StackOffset by StackOffset. (details)
  232. Use LLD for Android compiler-rt (details)
  233. [sanitizer] Remove -Wno-non-virtual-dtor (details)
  234. [ARM] Remove unused variable. NFC (details)
  235. [llvm-exegesis] Fix unused variable warning. (details)
  236. [sanitizer] Remove ANDROID_NDK_VERSION (details)
  237. [lldb] Delete Value::Vector class (details)
  238. [clangd] Pass parameters to config apply functions (details)
  239. [llvm-exegesis][X86] Save and restore eflags. (details)
  240. [Clang] Add more fp128 math library function builtins (details)
  241. [JITLink][ELF] Omit temporary labels in tests (details)
  242. [mlir] Fix failing shared libraries build (details)
  243. [NFC][UBSAN] Replace "count 0" with FileCheck (details)
  244. [AMDGPU] Fix ieee mode default value (details)
  245. [AMDGPU] Set rsrc1 flags for graphics shaders (details)
  246. [libomptarget][nfc] Build amdgcn deviceRTL with nogpulib (details)
  247. [DAG] computeKnownBits - Replace ISD::MUL handling with the common KnownBits::computeForMul implementation (details)
  248. [mlir][SCF] Add canonicalization pattern for scf::For to eliminate yields that just forward. (details)
  249. [SVE][CodeGen] Lower scalable integer vector reductions (details)
  250. [VE] Add +vpu attribute (details)
  251. [gn build] try to port 707d69ff32309b (details)
  252. [gn build] Port 1124bf4ab77 (details)
  253. [gn build] Port 73b6cb67dcd (details)
  254. [llvm-exegesis] Fix rGaf658d920e2b (details)
  255. [MLIR] Support walks over regions and blocks (details)
  256. [mlir][std] Add DimOp folding for dim(tensor_load(m)) -> dim(m). (details)
  257. [Reassociate] Guard `add`-like `or` conversion into an `add` with profitability check (details)
  258. [InstSimplify] add vector cmp tests; NFC (details)
  259. [InstSimplify] allow vector folds for icmp Pred (1 << X), 0x80 (details)
  260. [libc++] Don't run tests in a shell in the default executor (details)
  261. [libc++] Remove test that is irrelevant since f1a96de1bc8d (details)
  262. [lldb] Improve RegisterValue::GetScalarValue (details)
  263. [TableGen] [IR] Eliminate unnecessary recursive help class. (details)
  264. [TableGen] Add !interleave operator to concatenate a list of values with delimiters (details)
  265. Disable emulated-tls for  compiler-rt+tests on Android if ELF_TLS is presence. (details)
  266. [NFC]Remove unused variable (details)
  267. [compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is specified (details)
  268. Add a floating-point suffix to silence warnings; NFC (details)
  269. [libc++] NFCI: Refactor chrono.cpp to make it easier to support new platforms (details)
  270. Fix gcc braces warning. NFCI. (details)
  271. Use isa<> instead of dyn_cast<> to avoid unused variable warning. NFCI. (details)
  272. [lldb/Utility] Delete Scalar::[US]IntValueIsValidForSize (details)
  273. [lldb] Remove [US]IntValueIsValidForSize from CommandObjectMemory (details)
  274. [ms] [llvm-ml] Enable support for MASM-style macro procedures (details)
  275. Start of an llvm.coro.async implementation (details)
  276. [clang-tidy] Add signal-handler-check for SEI CERT rule SIG30-C (details)
  277. [gn build] Port d1b2a523191 (details)
  278. [clangd] Cleanup dependencies around RemoteIndex (details)
  279. Fix breakage in D89615 (due to cmake version 3.16.5) (details)
  280. [libc++] Split off part of a test that require signals into a separate test (details)
  281. Revert "Start of an llvm.coro.async implementation" (details)
  282. [libc++] Remove the ability to not install the support headers (details)
  283. [Dexter] add an optnone attribute debug experience test for loops. (details)
  284. [Dexter] add visual studio 2019 debugger support (details)
  285. [GlobalISel] GISelKnownBits::computeKnownBitsImpl - Replace TargetOpcode::G_MUL handling with the common KnownBits::computeForMul implementation (details)
  286. [KnownBits] KnownBits::computeForMul - avoid unnecessary APInt copies. NFCI. (details)
  287. Add facilities to print/parse a pass pipeline through the C API (details)
  288. [llvm-objcopy][MachO] Make isValidMachOCannonicalName static (details)
  289. [llvm-objcopy] Make --set-section-flags work with --add-section (details)
  290. [AMDGPU] Fix iterating in SIFixSGPRCopies (details)
  291. [NewPM] Don't run before pass instrumentation on required passes (details)
  292. Revert "[GlobalISel] GISelKnownBits::computeKnownBitsImpl - Replace TargetOpcode::G_MUL handling with the common KnownBits::computeForMul implementation" (details)
  293. [AMDGPU] Resolve pseudo registers at encoding uses (details)
  294. [RISCV] Remove custom isel for (srl (shl val, 32), imm). Use pattern instead. NFCI (details)
  295. [UBSan] Cannot negate smallest negative signed integer (details)
  296. Switch from C-style comments `/* ... */` to C++ style `//` (NFC) (details)
  297. [RISCV] Check all 64-bits of the mask in SelectRORIW. (details)
  298. [mlir] Fix materializations for unranked tensors. (details)
  299. [mlir] Make linalg-bufferize a composable bufferization pass (details)
  300. Start of an llvm.coro.async implementation (details)
  301. [MLIR] Remove NoSideEffect from std.global_memref op. (details)
  302. [MLIR] Refactor memref type -> LLVM Type conversion (details)
  303. [RISCV] Remove assertsexti32 from inputs to riscv_sllw/srlw nodes in B extension isel patterns. (details)
  304. [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts (details)
  305. Move MlirStringCallback declaration from mlir-c/IR.h to mlir-c/Support.h (NFC) (details)
  306. Refactor PyPrintAccumulatorm, PyFileAccumulator, and PySinglePartStringAccumulator from IRModules.cpp to PybindUtils.h (details)
  307. [libc++] NFC: Remove trailing whitespace (details)
  308. [DAGCombine] Fix bug in load scalarization (details)
  309. Basic: Split out DirectoryEntry.h, NFC (details)
  310. [RISCV] Correct the operand order for fshl/fshr to fsl/fsr instructions. (details)
  311. [mlir][std] Add SignedCeilDivIOp and SignedFloorDivIOp with std to std lowering triggered by -std-expand-divs option. The new operations support positive/negative nominator/denominator numbers. (details)
  312. [PowerPC] Rename mftbl to mftb (details)
  313. Add info about the cherry-picked commit and contributor (details)
  314. [MemorySSA] Use provided memory location even if instruction is call (details)
  315. [flang][openacc] Lower exit data directive (details)
  316. [RISCV] Remove assertsexti32 from fslw/fsrw isel patterns. (details)
  317. [libc++] Move availability-related Lit configuration to the DSL (details)
  318. [libc++] Remove stray setting of use_system_cxx_lib left behind (details)
  319. [lld][ELF][test] test LTO-removed symbols are not in symtab (details)
  320. [flang][openacc] Lower enter data directive (details)
  321. [NFC] Use Register/MCRegister (details)
  322. [SelectionDAG] Add legalizations for VECREDUCE_SEQ_FMUL (details)
  323. [ms] [llvm-ml] Lex MASM strings, including escaping (details)
  324. Fix -Wsign-compare issue in MasmParser.cpp (details)
  325. [flang][openacc] Lower update directive (details)
  326. [crashlog] Pass the debugger around instead of relying on lldb.debugger (details)
  327. [NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback (details)
  328. Revert "[NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback" (details)
  329. Reland [NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback (details)
  330. Basic: Change Module::Umbrella to a PointerUnion, NFC (details)
  331. [NFC] Fix comment in test (details)
  332. [NFC][LSAN] Remove unused variable (details)
  333. [sanitizer] Get Android API from --target (details)
  334. Fix UB in one libcxx test, when deleting D through a pointer to B. (details)
  335. [PowerPC] Add Sema checks for MMA types (details)
  336. [NFC][sanitizer] Reformat some code (details)
  337. [MLIR][NFC] Update syntax of global_memref in ODS description. (details)
  338. [flang][openacc] Lower init and shutdown directive (details)
  339. [sanitizer] Allow preinit array on Android (details)
  340. [X86] Enable shrink-wrapping for no-frame-pointer non-nounwind functions on platforms not using compact unwind (details)
  341. Reland [lsan] Enable LSAN for Android (details)
  342. [flang][openacc] Lower wait directive (details)
  343. [mlir] Change deprecated -Werror-implicit-function-declaration to -Werror=implicit-function-declaration (details)
  344. [LSAN] Fix CAN_SANITIZE_LEAKS on Android (details)
  345. [sanitizer] Quick fix for non-Linux build (details)
  346. [clang] Add mustprogress and llvm.loop.mustprogress attribute deduction (details)
  347. [lsan] Remove unnecessary elf-tls condition (details)
  348. [NFC] Extract InitializePlatformCommonFlags (details)
  349. [sanitizer] Fix -fno-emulated-tls setup (details)
  350. [LangRef] Adds llvm.loop.mustprogress loop metadata (details)
  351. [RISCV] Move some test cases from rv64i-single-softfloat.ll to a new rv64i-double-softfloat.ll. NFC (details)
  352. Revert "[RISCV] Move some test cases from rv64i-single-softfloat.ll to a new rv64i-double-softfloat.ll. NFC" (details)
  353. Recommit "[RISCV] Move some test cases from rv64i-single-softfloat.ll to a new rv64i-double-softfloat.ll. NFC"" (details)
  354. [SCEV] Handle non-positive case in isImpliedViaOperations (details)
  355. [MachineSink] add more profitable pattern. (details)
  356. Revert "[SCEV] Handle non-positive case in isImpliedViaOperations" (details)
  357. [Driver] Add callback to Command execution (details)
  358. [sanitizers] Add missing definition (details)
  359. Capture the name for mlir::OpPassManager in std::string instead of StringRef (NFC) (details)
  360. [LSAN] Enabled only with __ANDROID_API__ >= 28 (details)
  361. [NewPM] Provide method to run all pipeline callbacks, used for -O0 (details)
  362. [LSAN] Fix preprocessor condition for MSVC (details)
  363. Revert "[LSAN] Fix preprocessor condition for MSVC" (details)
  364. [LSAN] Fix compilation error on MSVC (details)
  365. [NFC] Fix cpplint warnings (details)
  366. [test] Add 'REQUIRES: bpf-registered-target' to bpf-O0.c (details)
  367. [mlir][spirv] Allow usage of vector size 8 and 16 with Vector16 capability (details)
  368. [mlir][spirv] Add VectorExtractDynamicOp and vector.extractelement lowering (details)
  369. [ARM] Make tests less dependent on scheduling. NFC (details)
  370. [flang] update ODS syntax to use OpBuidlerDAG instead of OpBuilder (details)
  371. [mlir][Linalg] Side effects interface for Linalg ops (details)
  372. [mlir] Restructure C API tests for IR (details)
  373. [SyntaxTree] Add reverse links to syntax Nodes. (details)
  374. [InstCombine] Remove orphan InstCombinerImpl method declarations. NFCI. (details)
  375. [UnitTests] Add exhaustive tests for KnownBits shl/lshr/ashr (details)
  376. Revert rGbbeb08497ce58 "Revert "[GlobalISel] GISelKnownBits::computeKnownBitsImpl - Replace TargetOpcode::G_MUL handling with the common KnownBits::computeForMul implementation"" (details)
  377. [SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference. (details)
  378. [OpenMP] avoid warning: equality comparison with extraneous parentheses (details)
  379. [sanitizer] Assume getrandom might not be supported by the kernel (details)
  380. [lsan] Disable some LSAN tests for arm-linux-gnueabi{hf} (details)
  381. [GlobalISel] ComputeKnownBits - use common KnownBits shift handling (PR44526) (details)
  382. [OpenCL] Support vec_step in C++ for OpenCL mode (details)
  383. [GVN] Fix MemorySSA update when replacing assume(false) with stores. (details)
  384. [Flang][f18] Remove unimplemented options from `flang -help` (NFC) (details)
  385. [lldb] Also Catch invalid calls to TestPExpectTest's expect() (details)
  386. [KnownBits] Move ValueTracking/SelectionDAG UDIV KnownBits handling to KnownBits::udiv. NFCI. (details)
  387. [libc++] Correct XFAILs for the C++20 Synchronization Library (details)
  388. [TableGen] Add true and false literals to represent booleans (details)
  389. [lldb] Skip TestChangeProcessGroup on watchOS/tvOS (details)
  390. Reland [lldb] Explicitly use the configuration architecture when building test executables (details)
  391. [sanitizers] Remove the test case involving `new int[0]` (details)
  392. [mlir] Move TestDialect and its passes to mlir::test namespace. (details)
  393. [KnownBits] Move ValueTracking/SelectionDAG UREM KnownBits handling to KnownBits::urem. NFCI. (details)
  394. [lldb] Add Apple simulator platforms to lldbplatform.py (details)
  395. [KnownBits] Move ValueTracking SREM KnownBits handling to KnownBits::srem. NFCI. (details)
  396. [FileCheck] Use %ProtectFileCheckOutput in allow-unused-prefixes.txt (details)
  397. [clang] Add an option for hiding line numbers in diagnostics (details)
  398. [gn build] Port 659f4bd87ef (details)
  399. Implement Lambda Conversion Operators for All CCs for MSVC. (details)
  400. [lldb] Set the default architecture also in buildDefault (details)
  401. [lldb][NFC] Fix compiler warnings after removal of eValueTypeVector (details)
  402. [CaptureTracking] Avoid overly restrictive dominates check (details)
  403. [lldb] [test/Shell] Simplify -pthread condition (details)
  404. [lldb] Enable FreeBSDRemote plugin by default and update test status (details)
  405. [IndVarSimplify][SimplifyIndVar] Move WidenIV to Utils/SimplifyIndVar. NFCI. (details)
  406. [mlir]  Fix missing namespaces in OpBuildGen.cpp (details)
  407. [GlobalISel] Don't use Register type for getNumOperands(). NFCI. (details)
  408. [DAG] computeKnownBits - Replace ISD::SREM handling with KnownBits::srem to reduce code duplication (details)
  409. [OpenMP] Add ident_t flags for compiler OpenMP version (details)
  410. scudo: Don't memset previously released cached pages in the secondary allocator. (details)
  411. Revert "[CaptureTracking] Avoid overly restrictive dominates check" (details)
  412. [libc++] Rework the whole availability markup implementation (details)
  413. [RISCV] Add isel patterns for fshl with immediate to select FSRI/FSRIW (details)
  414. [RISCV] Remove shadow register list passed to AllocateReg when allocating FP registers for calling convention (details)
  415. [clangd] Trivial: Log missing completion signals. (details)
  416. [Sema] Special case -Werror-implicit-function-declaration and reject other -Werror- (details)
  417. [flang][f18] Remove unimplemented options (NFC) (details)
  418. [NFC] Add InitializePlatformCommonFlags for Fuchsia (details)
  419. [AMDGPU] Add default 1 glc operand to rtn atomics (details)
Commit c17da8676a0ccdf3039b37d9fabb7062ab98070c by Duncan P. N. Exon Smith
Support: Avoid std::tie in Support/FileSystem/UniqueID.h, NFC

Running `-fsyntax-only` on UniqueID.h is 2x faster with this patch
(which avoids calling `std::tie` for `operator<`).  Since the transitive
includers of this file will go up as `FileEntryRef` gets used in more
places, avoid that compile-time hit.  This is a follow-up to
23ed570af1cc165afea1b70a533a4a39d6656501 (suggested by Reid Kleckner).

Also drop the `<tuple>` include from FileSystem.h (which was vestigal
from before UniqueID.h was split out).

Differential Revision: https://reviews.llvm.org/D90471
The file was addedllvm/unittests/Support/FSUniqueIDTest.cpp
The file was modifiedllvm/include/llvm/Support/FileSystem/UniqueID.h
The file was modifiedllvm/include/llvm/Support/FileSystem.h
The file was modifiedllvm/unittests/Support/CMakeLists.txt
Commit 31a3aca7f9cdfb4adb6e531e200f9a8781c8a0a0 by llvmgnsyncbot
[gn build] Port c17da8676a0
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Commit e59726220f3d1234b8cdecb906722b3ecc13cb77 by rnk
[LLD] [COFF] Align all debug directories

Match MSVC linker output - align all debug directories on four bytes,
while removing debug directory alignment. This would have the same
effect on CETCOMPAT support as D89919.

Chromium bug: https://crbug.com/1136664

Differential Revision: https://reviews.llvm.org/D89921
The file was modifiedlld/COFF/Writer.cpp
Commit b85f2f5c5ff72b7a5aabea16e9e51c38ec1e7f72 by stellaraccident
[mlir][CAPI] Add APIs for mlirOperationGetName and Identifier.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D90583
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/include/mlir/CAPI/IR.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit 9081e7594df2356f72c038423a0f8130f140b255 by thomasraoux
[mlir][vector] Address post-commit review comments on vector ops folding patterns

Differential Revision: https://reviews.llvm.org/D90183
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit e8f96899e17b11292940d8826338e2e0a64a22b9 by pklausler
[flang] Allow array constructor implied DO loop indices as constant expressions

When the bounds of an implied DO loop in an array constructor are
constant, the index variable of that loop is considered a constant
expression and can be used as such in the items in the value list
of the implied DO loop.  Since the KIND type parameter values of items
in the value list can depend on the various values taken by such an
index, it is not possible to represent those values with a single
typed expression.  So implement such loops by taking multiple passes
over the parse tree of the implied DO loop instead.

Differential revision: https://reviews.llvm.org/D90494
The file was modifiedflang/include/flang/Parser/message.h
The file was modifiedflang/test/Semantics/array-constr-values.f90
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was addedflang/test/Evaluate/folding13.f90
Commit ba18bc4925d8cbd4a9354629617cbcafbbd48941 by George Burgess IV
[Sema] adds -Wfree-nonheap-object member var checks

Checks to make sure that stdlib's (std::)free is being appropriately
used for member variables.

Differential Revision: https://reviews.llvm.org/D90269
The file was modifiedclang/test/Sema/warn-free-nonheap-object.c
The file was modifiedclang/test/Sema/warn-free-nonheap-object.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 9be3c01eb989a1729ea34ebe102b3716acfe5223 by joker.eph
Undef the `DEFINE_C_API_STRUCT` macro after using it in the MLIR C API header (NFC)

Leaking macros isn't a good practice when defining headers. This
requires to duplicate the macro definition in every header though, but
that seems like a better tradeoff right now.

Differential Revision: https://reviews.llvm.org/D90633
The file was modifiedmlir/include/mlir-c/AffineExpr.h
The file was modifiedmlir/include/mlir-c/AffineMap.h
The file was modifiedmlir/include/mlir-c/IR.h
Commit 4274cbba1c69a67020aa2ecebd4a4065425daf8a by etiotto
[PartialInliner]: Handle code regions in a switch stmt cases

This patch enhances computeOutliningColdRegionsInfo() to allow it to
consider regions containing a single basic block and a single
predecessor as candidate for partial inlining.

Reviewed By: fhann

Differential Revision: https://reviews.llvm.org/D89911
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
The file was addedllvm/test/Transforms/PartialInlining/switch_stmt.ll
Commit c9d6fe6f7d84f5b1a0bdbe502ebc3c8035722fdb by Stanislav.Mekhanoshin
[AMDGPU] Improve FLAT scratch detection

We were useing too broad check for isFLATScratch() which also
includes FLAT global.

Differential Revision: https://reviews.llvm.org/D90505
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrFormats.td
The file was modifiedllvm/lib/Target/AMDGPU/SIDefines.h
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
Commit 61e8a4465597438f5de5287c0b353728cc1f9460 by mtrofin
[NFC][regalloc] Use MCRegister appropriately

Differential Revision: https://reviews.llvm.org/D90506
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
The file was modifiedllvm/include/llvm/CodeGen/RegisterScavenging.h
The file was modifiedllvm/lib/CodeGen/RegAllocBasic.cpp
The file was modifiedllvm/lib/CodeGen/VirtRegMap.cpp
The file was modifiedllvm/lib/CodeGen/RegisterScavenging.cpp
Commit b26a2755dc107b2608bc9c6c3f8e952613760b46 by kparzysz
[Hexagon] Move isTypeForHVX from Hexagon TTI to HexagonSubtarget, NFC

It's useful outside of Hexagon TTI, and with how TTI is implemented,
it is not accessible outside of TTI.
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.h
Commit c29513f7e023f125c6d221db179dc40b79e5c074 by sam.mccall
[clangd] Fix check-clangd with no clang built

- pass required=False to use_clang(), as we don't need it
- fix required=False (which was unused and rotted):
  - make derived substitutions conditional on it
  - add a feature so we can disable tests that need it
- conditionally disable our one test that depends on %resource_dir.
  This doesn't seem right from first principles, but isn't a big deal.

Differential Revision: https://reviews.llvm.org/D90528
The file was modifiedclang-tools-extra/clangd/test/document-link.test
The file was modifiedclang-tools-extra/clangd/test/lit.cfg.py
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit 9f151df17800e1668c32e5314a290ae94c8f2dd3 by Duncan P. N. Exon Smith
Change Module::ASTFile and ModuleFile::File => Optional<FileEntryRef>, NFC

Change `Module::ASTFile` and `ModuleFile::File` to use
`Optional<FileEntryRef>` instead of `const FileEntry *`. One of many
steps toward removing `FileEntry::getName`.

Differential Revision: https://reviews.llvm.org/D89836
The file was modifiedclang/include/clang/Basic/Module.h
The file was modifiedclang/lib/Basic/Module.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/include/clang/Basic/FileEntry.h
The file was modifiedclang/lib/Sema/SemaModule.cpp
The file was modifiedclang/include/clang/Serialization/ModuleFile.h
The file was modifiedclang/lib/Serialization/ModuleManager.cpp
The file was modifiedclang/include/clang/Serialization/ModuleManager.h
The file was modifiedclang/tools/libclang/CXIndexDataConsumer.cpp
Commit 22113341d7470d5dc6245b623f84d27c46e2895a by mtrofin
[FileCheck] Added documentation for --allow-unused-prefixes

Differential Revision: https://reviews.llvm.org/D90621
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
Commit 537cc6dd2b36a7219a9bbaa6bc6f32c99a1baae1 by steveire
Rename CXXUnresolvedConstructExpr::arg_size for consistency

Make it possible to use argumentCountIs and hasArgument with
CXXUnresolvedConstructExpr.

Differential Revision: https://reviews.llvm.org/D90553
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
Commit 53df3beb624989ed32d87697d0c17601d7871465 by steveire
Ignore template instantiations if not in AsIs mode

Summary:
IgnoreUnlessSpelledInSource mode should ignore these because they are
not written in the source.  This matters for example when trying to
replace types or values which are templated.  The new test in
TransformerTest.cpp in this commit demonstrates the problem.

In existing matcher code, users can write
`unless(isInTemplateInstantiation())` or `unless(isInstantiated())` (the
user must know which to use).  The point of the
TK_IgnoreUnlessSpelledInSource mode is to allow the novice to avoid such
details.  This patch changes the IgnoreUnlessSpelledInSource mode to
skip over implicit template instantiations.

This patch does not change the TK_AsIs mode.

Note: An obvious attempt at an alternative implementation would simply
change the shouldVisitTemplateInstantiations() in ASTMatchFinder.cpp to
return something conditional on the operational TraversalKind.  That
does not work because shouldVisitTemplateInstantiations() is called
before a possible top-level traverse() matcher changes the operational
TraversalKind.

Reviewers: sammccall, aaron.ballman, gribozavr2, ymandel, klimek

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80961
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/AST/ASTDumper.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit 65eaec9bd3f23f113a195edf8f2d544ec8e34b4e by sam.mccall
[clangd] Add -log=public to redact all request info from index server logs

The index server has access to potentially-sensitive information, e.g. a
sequence of fuzzyFind requests reveals details about code completions in the
editor which in turn reveals details about the code being edited.
This information is necessary to provide the service, and our intention[1] is it
should never be retained beyond the scope of the request (e.g. not logged).

At the same time, some log messages should be exposed:
- server startup/index reloads etc that don't pertain to a user request
- basic request logs (method, latency, #results, error code) for monitoring
- errors while handling requests, without request-specific data
The -log=public design accommodates these by allowing three types of logs:
- those not associated with any user RPC request (via context-propagation)
- those explicitly tagged as [public] in the log line
- logging of format strings only, with no interpolated data (error level only)

[1] Specifically: Google is likely to run public instances of this server
for LLVM and potentially other projects, they will run in this configuration.
The details agreed in a Google-internal privacy review.
As clangd developers, we'd encourage others to use this configuration for public
instances too.

Differential Revision: https://reviews.llvm.org/D90526
The file was modifiedclang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/support/Logger.h
The file was modifiedclang-tools-extra/clangd/support/Logger.cpp
Commit 395c8bed64509a951b94d30aa8caff034d7b542e by i
[MC] Make MCStreamer aware of AsmParser's StartTokLoc

A SMLoc allows MCStreamer to report location-aware diagnostics, which
were previously done by adding SMLoc to various methods (e.g. emit*) in an ad-hoc way.

Since the file:line is most important, the column is less important and
the start token location suffices in many cases, this patch reverts
b7e7131af2dd7bdb03fa42a3bc1b4bc72ab95ce1

```
// old
symbol-binding-changed.s:6:8: error: local changed binding to STB_GLOBAL
.globl local
       ^
// new
symbol-binding-changed.s:6:1: error: local changed binding to STB_GLOBAL
.globl local
^
```

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D90511
The file was modifiedllvm/lib/MC/MCMachOStreamer.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetFile.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/lib/MC/MCWinCOFFStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCXCOFFStreamer.h
The file was modifiedllvm/lib/MC/MCNullStreamer.cpp
The file was modifiedllvm/lib/Object/RecordStreamer.cpp
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCWasmStreamer.h
The file was modifiedllvm/lib/MC/MCWasmStreamer.cpp
The file was modifiedllvm/unittests/CodeGen/TestAsmPrinter.h
The file was modifiedllvm/lib/MC/MCELFStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCELFStreamer.h
The file was modifiedllvm/tools/llvm-mca/CodeRegionGenerator.cpp
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/lib/Object/RecordStreamer.h
The file was modifiedllvm/lib/MC/MCXCOFFStreamer.cpp
The file was modifiedllvm/include/llvm/MC/MCWinCOFFStreamer.h
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp
The file was modifiedllvm/test/MC/ELF/symbol-binding-changed.s
Commit 52b0fe64045d3fbbb7604f70066ac91970da612f by silvasean
[mlir] Add func-bufferize pass.

This is the most basic possible finalizing bufferization pass, which I
also think is sufficient for most new use cases. The more concentrated
nature of this pass also greatly clarifies the invariants that it
requires on its input to safely transform the program (see the
pass description in Passes.td).

With this pass, I have now upstreamed practically all of the
bufferizations from npcomp (the exception being std.constant, which can
be upstreamed when std.global_memref lands:
https://llvm.discourse.group/t/rfc-global-variables-in-mlir/2076/16 )

Differential Revision: https://reviews.llvm.org/D90205
The file was addedmlir/test/Dialect/Standard/func-bufferize.mlir
The file was modifiedmlir/include/mlir/Transforms/Bufferize.h
The file was modifiedmlir/lib/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
The file was addedmlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
Commit 773ad135a30dbe0f969086e3ed518ab17502e9f5 by silvasean
[mlir][Bufferize] Rename TestBufferPlacement to TestFinalizingBufferize

BufferPlacement is no longer part of bufferization. However, this test
is an important test of "finalizing" bufferize passes.
A "finalizing" bufferize conversion is one that performs a "full"
conversion and expects all tensors to be gone from the program. This in
particular involves rewriting funcs (including block arguments of the
contained region), calls, and returns. The unique property of finalizing
bufferization passes is that they cannot be done via a local
transformation with suitable materializations to ensure composability
(as other bufferization passes do). For example, if a call is
rewritten, the callee needs to be rewritten otherwise the IR will end up
invalid. Thus, finalizing bufferization passes require an atomic change
to the entire program (e.g. the whole module).

This new designation makes it clear also that it shouldn't be testing
bufferization of linalg ops, so the tests have been updated to not use
linalg.generic ops. (linalg.copy is still used as the "copy" op for
copying into out-params)

Differential Revision: https://reviews.llvm.org/D89979
The file was removedmlir/test/Transforms/buffer-placement-preparation-allowed-memref-results.mlir
The file was removedmlir/test/lib/Transforms/TestBufferPlacement.cpp
The file was addedmlir/test/lib/Transforms/TestFinalizingBufferize.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was addedmlir/test/Transforms/finalizing-bufferize.mlir
The file was removedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was addedmlir/test/Transforms/finalizing-bufferize-allowed-memref-results.mlir
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
Commit 5cb8d93205463f169ad4dd532829147fed2e38d0 by Duncan P. N. Exon Smith
Fix build error on bots after 9f151df17800e1668c32e5314a290ae94c8f2dd3

Attempt to fix build error on bots not seen locally.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit eed8df6a131453dee779f7e3554d4e0bb591318b by a335pate
[Coroutines][Docs] Remove frame packing as a TODO

This has already been done by @rjmccall in D76526 (49e5a97ec363), and
9514c048d89e. We should remove this from the docs.

Differential Revision: https://reviews.llvm.org/D90550
The file was modifiedllvm/docs/Coroutines.rst
Commit 491dd2711f7234e21983da355c32107ee1f6a750 by i
[LazyCallGraph] Build SCCs of the reference graph in order

```
// The legacy PM CGPassManager discovers SCCs this way:
for function in the source order
  tarjanSCC(function)

// While the new PM CGSCCPassManager does:
for function in the reversed source order [1]
  discover a reference graph SCC
  build call graph SCCs inside the reference graph SCC
```

In the common cases, reference graph ~= call graph, the new PM order is
undesired because for `a | b | c` (3 independent functions), the new PM will
process them in the reversed order: c, b, a. If `a <-> b <-> c`, we can see
that `-print-after-all` will report the sole SCC as `scc: (c, b, a)`.

This patch corrects the iteration order. The discovered SCC order will match
the legacy PM in the common cases.

For some tests (`Transforms/Inline/cgscc-*.ll` and
`unittests/Analysis/CGSCCPassManagerTest.cpp`), the behaviors are dependent on
the SCC discovery order and there are too many check lines for the particular
order.  This patch simply reverses the function order to avoid changing too many
check lines.

Differential Revision: https://reviews.llvm.org/D90566
The file was modifiedllvm/test/Other/scc-pass-printer.ll
The file was modifiedllvm/test/Transforms/OpenMP/parallel_region_merging.ll
The file was modifiedllvm/unittests/Analysis/LazyCallGraphTest.cpp
The file was modifiedllvm/test/Transforms/Inline/cgscc-cycle-debug.ll
The file was modifiedllvm/test/Analysis/LazyCallGraph/alias.ll
The file was modifiedllvm/test/Transforms/OpenMP/globalization_remarks.ll
The file was modifiedllvm/test/Transforms/Inline/cgscc-cycle.ll
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
The file was modifiedllvm/test/Analysis/LazyCallGraph/basic.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
The file was modifiedllvm/unittests/Analysis/CGSCCPassManagerTest.cpp
The file was modifiedllvm/test/Transforms/Inline/cgscc-invalidate.ll
The file was modifiedllvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
Commit a8ef00af43ff7d1d2158d8715b8bab3bcb2d783a by nikita.ppv
[IndVars] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/IndVarSimplify/zext-nuw.ll
Commit 68160789c12099b281e6a302ea75094272d92efb by Tony.Tye
[NFC][AMDGPU] Restructure the AMDGPU memory model description

Separate the AMDGPU memory model description into separate sections
for each architecture.

Differential Revision: https://reviews.llvm.org/D90548
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 934b27a9daf6cff8cb32d6e49eaf6ff8f69c7727 by pklausler
[flang] Fix actual argument character length and length error reporting

Ensure that character length is properly calculated for
actual arguments to intrinsics, and that source provenance
information is available when expression analysis calls
folding in cases where the length is invalid.

Differential revision: https://reviews.llvm.org/D90636
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/include/flang/Semantics/expression.h
Commit c254b0bb69635c8fb896e27452351234dacac178 by jurahul
[MLIR] Introduce std.global_memref and std.get_global_memref operations.

- Add standard dialect operations to define global variables with memref types and to
  retrieve the memref for to a named global variable
- Extend unit tests to test verification for these operations.

Differential Revision: https://reviews.llvm.org/D90337
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Standard/ops.mlir
The file was modifiedmlir/lib/Parser/Parser.h
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
Commit 5ece2115d85326e3b24336a7ccb4c191932ccb4a by benny.kra
[MLIR] Work around an ICE in GCC 7.

Looks like we have a blind spot in the testing matrix.

AsyncRegionRewriter.cpp: In member function ‘virtual void {anonymous}::GpuAsyncRegionPass::runOnFunction()’:
AsyncRegionRewriter.cpp:113:16: internal compiler error: in replace_placeholders_r, at cp/tree.c:2804
   if (getFunction()
       ~~~~~~~~~~~~~
           .getRegion()
           ~~~~~~~~~~~~
           .walk(Callback{OpBuilder{&getContext()}})
           ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The file was modifiedmlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
Commit 98fe39df939ee6f1fd20b75edcc9fe0860b52dba by kostyak
[GWP-ASan] Stub out backtrace/signal functions on Fuchsia

The initial version of GWP-ASan on Fuchsia doesn't support crash and
signal handlers, so this just adds empty stubs to be able to compile
the project on the platform.

Differential Revision: https://reviews.llvm.org/D90537
The file was addedcompiler-rt/lib/gwp_asan/optional/backtrace_fuchsia.cpp
The file was addedcompiler-rt/lib/gwp_asan/optional/segv_handler_fuchsia.cpp
Commit 1fcd5d5655e29f85e12b402e32974f207cfedf32 by nikita.ppv
[LoopFusion] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/LoopFusion/simple.ll
Commit ee5d1a04494390ab8dbece1e32cb00312ecce4b1 by i
[AsmPrinter] Split up .gcc_except_table

MC currently produces monolithic .gcc_except_table section. GCC can split up .gcc_except_table:

* if comdat: `.section .gcc_except_table._Z6comdatv,"aG",@progbits,_Z6comdatv,comdat`
* otherwise, if -ffunction-sections: `.section .gcc_except_table._Z3fooi,"a",@progbits`

This ensures that (a) non-prevailing copies are discarded and (b)
.gcc_except_table associated to discarded text sections can be discarded by a
.gcc_except_table-aware linker (GNU ld, but not gold or LLD)

This patches matches the GCC behavior. If -fno-unique-section-names is
specified, we don't append the suffix. If -ffunction-sections is additionally specified,
use `.section ...,unique`.

Note, if clang driver communicates that the linker is LLD and we know it
is new (11.0.0 or later) we can use SHF_LINK_ORDER to avoid string table
costs, at least in the -fno-unique-section-names case. We cannot use it on GNU
ld because as of binutils 2.35 it does not support mixed SHF_LINK_ORDER &
non-SHF_LINK_ORDER components in an output section
https://sourceware.org/bugzilla/show_bug.cgi?id=26256

For RISC-V -mrelax, this patch additionally fixes an assembler-linker
interaction problem: because a section is shrinkable, the length of a call-site
code range is not a constant. Relocations referencing the associated text
section (STT_SECTION) are needed. However, a STB_LOCAL relocation referencing a
discarded section group member from outside the group is disallowed by the ELF
specification (PR46675):

```
// a.cc
inline int comdat() { try { throw 1; } catch (int) { return 1; } return 0; }
int main() { return comdat(); }

// b.cc
inline int comdat() { try { throw 1; } catch (int) { return 1; } return 0; }
int foo() { return comdat(); }

clang++ -target riscv64-linux -c a.cc b.cc -fPIC -mno-relax
ld.lld -shared a.o b.o => ld.lld: error: relocation refers to a symbol in a discarded section:
```

-fbasic-block-sections= is similar to RISC-V -mrelax: there are outstanding relocations.

Reviewed By: jrtc27, rahmanl

Differential Revision: https://reviews.llvm.org/D83655
The file was modifiedllvm/include/llvm/MC/MCObjectFileInfo.h
The file was addedllvm/test/CodeGen/X86/gcc_except_table-multi.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/include/llvm/Target/TargetLoweringObjectFile.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit f38a9e51178add132d2c8ae160787fb2175a48a4 by tra
[CUDA] Allow local static variables with target attributes.

While CUDA documentation claims that such variables are not allowed[1], NVCC has
been accepting them since CUDA-10.0[2] and some headers in CUDA-11 rely on this
working.

1. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#static-variables-function
2. https://godbolt.org/z/zsodzc

Differential Revision: https://reviews.llvm.org/D88345
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCUDA/device-var-init.cu
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/CodeGenCUDA/static-device-var-no-rdc.cu
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaCUDA/bad-attributes.cu
Commit b870d9ec8334523a902e0abc04fd49a5a95dbc43 by riddleriver
[mlir] Optimize Op definitions and registration to optimize for code size

This revision refactors the base Op/AbstractOperation classes to reduce the amount of generated code size when defining a new operation. The current scheme involves taking the address of functions defined directly on Op and Trait classes. This is problematic because even when these functions are empty/unused we still result in these functions being defined in the main executable. In this revision, we switch to using SFINAE and template type filtering to remove remove functions that are not needed/used. For example, if an operation does not define a custom `print` method we shouldn't define a templated `printAssembly` method for it. The same applies to parsing/folding/verification/etc. This dropped MLIR code size for a large downstream library by ~10%(~1 mb in an opt build).

Differential Revision: https://reviews.llvm.org/D90196
The file was modifiedmlir/include/mlir/IR/Dialect.h
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/lib/IR/Operation.cpp
Commit c938b4a1ed43f3075155e16a7c2792ca8c122258 by Jonas Devlieghere
[MachO] Also recongize __swift_ast as a debug info section

Address post-commit review from Adrian.
The file was modifiedllvm/test/tools/dsymutil/X86/swift-ast-x86_64.test
The file was modifiedllvm/lib/Object/MachOObjectFile.cpp
Commit 0a3ebb4d8d988e063e395621d162fa224fa4fb08 by tra
Revert "[CUDA] Allow local static variables with target attributes."

This reverts commit f38a9e51178add132d2c8ae160787fb2175a48a4
Which triggered assertions.
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaCUDA/bad-attributes.cu
The file was modifiedclang/test/CodeGenCUDA/static-device-var-no-rdc.cu
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCUDA/device-var-init.cu
Commit 549eac9d87fdbf3f22a7010e6abe14af0dcab5da by jurahul
[MLIR] Remove unnecessary CHECK's from tests for which we do not run FileCheck.

Differential Revision: https://reviews.llvm.org/D90651
The file was modifiedmlir/test/Dialect/Affine/invalid.mlir
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
Commit ae9231ca2a8125ce75fff3ff2539126610aa2eeb by Ben.Dunbobbin
Reland - [Clang] Add the ability to map DLL storage class to visibility

415f7ee883 had LIT test failures on any build where the clang executable
was not called "clang". I have adjusted the LIT CHECKs to remove the
binary name to fix this.

Original commit message:

For PlayStation we offer source code compatibility with
Microsoft's dllimport/export annotations; however, our file
format is based on ELF.

To support this we translate from DLL storage class to ELF
visibility at the end of codegen in Clang.

Other toolchains have used similar strategies (e.g. see the
documentation for this ARM toolchain:

https://developer.arm.com/documentation/dui0530/i/migrating-from-rvct-v3-1-to-rvct-v4-0/changes-to-symbol-visibility-between-rvct-v3-1-and-rvct-v4-0)

This patch adds the ability to perform this translation. Options
are provided to support customizing the mapping behaviour.

Differential Revision: https://reviews.llvm.org/D89970
The file was addedclang/test/CodeGenCXX/visibility-dllstorageclass.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.cpp
The file was addedclang/test/Driver/ps4-visibility-dllstorageclass.c
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/Driver/visibility-dllstorageclass.c
Commit 2e15f4ac572bcf429ec12e8f3efbb8ad254042c7 by Louis Dionne
[pstl] Replace direct use of assert() with _PSTL_ASSERT

Standard libraries may (libstdc++ in particular) forbid direct use of
assert()/<cassert> in library code.

Differential Revision: https://reviews.llvm.org/D60249
The file was modifiedpstl/include/pstl/internal/algorithm_impl.h
The file was modifiedpstl/include/pstl/internal/parallel_backend_tbb.h
The file was modifiedpstl/include/pstl/internal/parallel_backend_utils.h
The file was modifiedpstl/include/pstl/internal/numeric_impl.h
The file was modifiedpstl/include/pstl/internal/pstl_config.h
The file was modifiedpstl/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
Commit b68994bd2d358a4fa42a919d1083efc86b1dda6c by gjn
[NFC] Use [MC]Register in Live-ness tracking

Differential Revision: https://reviews.llvm.org/D90611
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervals.h
The file was modifiedllvm/lib/CodeGen/LiveIntervals.cpp
The file was modifiedllvm/lib/CodeGen/LiveVariables.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveVariables.h
The file was modifiedllvm/lib/CodeGen/PHIElimination.cpp
Commit bc847b31435e48ad0e54b322a716a4b9f07bc232 by i
[cc1as] Close MCAsmParser before MCStreamer

This is a pre-existing problem exposed by D90511 (asan failurs with
clang/test/Driver/relax.s and a few other tests).
The file was modifiedclang/tools/driver/cc1as_main.cpp
Commit b3420adf5a8491b4c63b54c7750fbbb6368a0a23 by kostyak
[scudo][standalone] Code tidying (NFC)

- we have clutter-reducing helpers for relaxed atomics that were barely
  used, use them everywhere we can
- clang-format everything with a recent version

Differential Revision: https://reviews.llvm.org/D90649
The file was modifiedcompiler-rt/lib/scudo/standalone/memtag.h
The file was modifiedcompiler-rt/lib/scudo/standalone/secondary.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/stack_depot.h
The file was modifiedcompiler-rt/lib/scudo/standalone/options.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
Commit 5a829ef6adeb560d297ce596becb79527d88bbf7 by Louis Dionne
[libc++] Fix invalid parsing of ints in a <random> test

The strings were concatenated together without adding spaces between
numbers, which lead to numbers that wouldn't fit in an unsigned int.

Thanks to Casey Carter for the find.
The file was modifiedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp
Commit 701456b52355c25089e1b536805164570f5def6f by Alex Lorenz
[darwin] add support for __isPlatformVersionAtLeast check for if (@available)

The __isPlatformVersionAtLeast routine is an implementation of `if (@available)` check
that uses the _availability_version_check API on Darwin that's supported on
macOS 10.15, iOS 13, tvOS 13 and watchOS 6.

Differential Revision: https://reviews.llvm.org/D90367
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedcompiler-rt/lib/builtins/os_version_check.c
The file was addedcompiler-rt/test/builtins/TestCases/Darwin/platform_version_check_test.c
The file was modifiedclang/test/CodeGenObjC/availability-cf-link-guard.m
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/test/CodeGenObjC/availability-check.m
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
Commit 04776bd0ed50bfeac3b10ce85e6edf1abad390bb by ravishankarm
[mlir][Linalg] Add more utility functions to LinalgDependenceGraph.

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D90582
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h
Commit ca01a6b3aceb74134fed6a177165c040ee2703de by i
[PowerPC] Parse and ignore .machine ppc64

In the wild, kexec-tools purgatory/arch/ppc64/v2wrap.S and hvcall.S
use this directive.
The file was modifiedllvm/test/MC/PowerPC/ppc-machine.s
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
Commit c0a922b3db2d39f36c0c01776cce90cc160a7d62 by rnk
Add parallelTransformReduce and parallelForEachError

parallelTransformReduce is modelled on the C++17 pstl API of
std::transform_reduce, except our wrappers do not use execution policy
parameters.

parallelForEachError allows loops that contain potentially failing
operations to propagate errors out of the loop. This was one of the
major challenges I encountered while parallelizing PDB type merging in
LLD. Parallelizing a loop with parallelForEachError is not behavior
preserving: the loop will no longer stop on the first error, it will
continue working and report all errors it encounters in a list.

I plan to use this to propagate errors out of LLD's
coff::TpiSource::remapTpiWithGHashes, which currently stores errors an
error in the TpiSource object.

Differential Revision: https://reviews.llvm.org/D90639
The file was modifiedllvm/include/llvm/Support/Parallel.h
The file was modifiedllvm/unittests/Support/ParallelTest.cpp
Commit f82d307c9833abf5b00e9d2552c86ecae467bfca by diego.caballero
[mlir][Affine] Remove single iteration affine.for ops in AffineLoopNormalize

This patch renames AffineParallelNormalize to AffineLoopNormalize to make it
more generic and be able to hold more loop normalization transformations in
the future for affine.for and affine.parallel ops. Eventually, it could also be
extended to support scf.for and scf.parallel. As a starting point for affine.for,
the patch also adds support for removing single iteration affine.for ops to the
the pass.

Differential Revision: https://reviews.llvm.org/D90267
The file was removedmlir/test/Dialect/Affine/affine-parallel-normalize.mlir
The file was addedmlir/test/Dialect/Affine/affine-loop-normalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.h
The file was removedmlir/lib/Dialect/Affine/Transforms/AffineParallelNormalize.cpp
The file was addedmlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
Commit b0f1d7d56226fe24d0320fa79d6d3e9dd7a5a5f3 by Akira
Remove unused parameter
The file was modifiedllvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
The file was modifiedllvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
The file was modifiedllvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
The file was modifiedllvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h
Commit 8b37a4e6caac61c55bc413ab43c1becf906474d6 by Vitaly Buka
[sanitizer] Make destructors protected
The file was modifiedcompiler-rt/lib/lsan/lsan_posix.h
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.h
The file was modifiedcompiler-rt/lib/asan/asan_thread.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector_interface.h
The file was modifiedcompiler-rt/lib/memprof/memprof_thread.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_thread_registry_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector1.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector2.cpp
Commit f514b32a89936880b792f917ea7645d4d635378b by asbirlea
[LICM] Add assert of AST/MSSA exclusiveness.

The API `canSinkOrHoistInst` may be called by LoopSink. Add assert to
avoid having two analyses passed in.
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit 8a626f1cc478298c8bf5da4b84bb2a3f6ffd01e1 by i
Add textual header PPCTypes.def to module Clang_Basic after D81508
The file was modifiedclang/include/clang/module.modulemap
Commit dd6f7ee05e90edcca70ab5bb51315b3caba5206c by sam.mccall
[Syntax] DeclaratorList is a List

I think this was just an oversight.

Differential Revision: https://reviews.llvm.org/D90541
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
Commit fb6d1c020c1dcf4ab6e4529a4456f75f86c2379a by Jonas Devlieghere
[crashlog] Fix and simplify the way we import lldb

Don't try to guess the location of LLDB.framework but use xcrun to ask
the command line driver for the location of the lldb module.
The file was modifiedlldb/examples/python/crashlog.py
Commit 3204ffeadecfd8bf204819482288972c3b1144d0 by qiucofan
[PowerPC] [NFC] Rename VCMPo to VCMP_rec

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D90581
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
Commit d14e51806b0214560ec99b5d3ce797f5fa3f7522 by qiucofan
[PowerPC] Skip IEEE 128-bit FP type in FastISel

Vector types, quadword integers and f128 currently cannot be handled in
FastISel. We did not skip f128 type in lowering arguments, which causes
a crash. This patch will fix it.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D90206
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/f128-passByValue.ll
Commit 6c9f3fe908a70a646e619a1355df451c06f6c3a1 by Jonas Devlieghere
[crashlog] Turn crash log parsing modes into a Python 'enum' (NFC)

Python doesn't support enums before PEP 435, but using a class with
constants is how it's commonly emulated. It can be converted into a real
Enum (in Python 3.4 and later) by extending the Enum class:

  class CrashLogParseMode(Enum):
      NORMAL = 0
      THREAD = 1
      IMAGES = 2
      THREGS = 3
      SYSTEM = 4
      INSTRS = 5
The file was modifiedlldb/examples/python/crashlog.py
Commit 66009a19e5ae20660efe4a70dce839a90b306dcf by Jonas Devlieghere
[crashlog] Remove commented out code (NFC)

Remove commented out code and print statements.
The file was modifiedlldb/examples/python/crashlog.py
Commit 7601a2173893dbb0fbe883e6efaa413bc986557d by jrtc27
[RISCV] Only return DestSourcePair from isCopyInstrImpl for registers

ADDI often has a frameindex in operand 1, but consumers of this
interface, such as MachineSink, tend to call getReg() on the Destination
and Source operands, leading to the following crash when building
FreeBSD after this implementation was added in 8cf6778d30:

```
clang: llvm/include/llvm/CodeGen/MachineOperand.h:359: llvm::Register llvm::MachineOperand::getReg() const: Assertion `isReg() && "This is not a register operand!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
#0 0x00007f4286f9b4d0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) llvm/lib/Support/Unix/Signals.inc:563:0
#1 0x00007f4286f9b587 PrintStackTraceSignalHandler(void*) llvm/lib/Support/Unix/Signals.inc:630:0
#2 0x00007f4286f9926b llvm::sys::RunSignalHandlers() llvm/lib/Support/Signals.cpp:71:0
#3 0x00007f4286f9ae52 SignalHandler(int) llvm/lib/Support/Unix/Signals.inc:405:0
#4 0x00007f428646ffd0 (/lib/x86_64-linux-gnu/libc.so.6+0x3efd0)
#5 0x00007f428646ff47 raise /build/glibc-2ORdQG/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
#6 0x00007f42864718b1 abort /build/glibc-2ORdQG/glibc-2.27/stdlib/abort.c:81:0
#7 0x00007f428646142a __assert_fail_base /build/glibc-2ORdQG/glibc-2.27/assert/assert.c:89:0
#8 0x00007f42864614a2 (/lib/x86_64-linux-gnu/libc.so.6+0x304a2)
#9 0x00007f428d4078e2 llvm::MachineOperand::getReg() const llvm/include/llvm/CodeGen/MachineOperand.h:359:0
#10 0x00007f428d8260e7 attemptDebugCopyProp(llvm::MachineInstr&, llvm::MachineInstr&) llvm/lib/CodeGen/MachineSink.cpp:862:0
#11 0x00007f428d826442 performSink(llvm::MachineInstr&, llvm::MachineBasicBlock&, llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::SmallVectorImpl<llvm::MachineInstr*>&) llvm/lib/CodeGen/MachineSink.cpp:918:0
#12 0x00007f428d826e27 (anonymous namespace)::MachineSinking::SinkInstruction(llvm::MachineInstr&, bool&, std::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::less<llvm::MachineBasicBlock*>, std::allocator<std::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u> > > >&) llvm/lib/CodeGen/MachineSink.cpp:1073:0
#13 0x00007f428d824a2c (anonymous namespace)::MachineSinking::ProcessBlock(llvm::MachineBasicBlock&) llvm/lib/CodeGen/MachineSink.cpp:410:0
#14 0x00007f428d824513 (anonymous namespace)::MachineSinking::runOnMachineFunction(llvm::MachineFunction&) llvm/lib/CodeGen/MachineSink.cpp:340:0
```

Thus, check that operand 1 is also a register in the condition.

Reviewed By: arichardson, luismarques

Differential Revision: https://reviews.llvm.org/D89090
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was addedllvm/test/CodeGen/RISCV/copy-frameindex.mir
Commit f77c8a48aea9fbce038fc38ef9849f7aa1453993 by jrtc27
[CodeGen] Fix regression from D83655

Arm EHABI has a null LSDASection as it does its own thing, so we should
continue to return null in that case rather than try and cast it.
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit d48f2d7c02743571075bb7812bb4c9e634e51ed1 by Vitaly Buka
[sanitizer] Cleanup -Wnon-virtual-dtor warnings
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp
The file was modifiedcompiler-rt/lib/memprof/memprof_thread.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector_interface.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
The file was modifiedcompiler-rt/lib/msan/msan.cpp
The file was modifiedcompiler-rt/lib/tsan/dd/dd_rtl.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp
Commit 98031b664c94c3266303978de093feb3502f4527 by i
[polly] Fix -Wunused-lambda-capture and -Wunused-variable
The file was modifiedpolly/lib/Transform/ForwardOpTree.cpp
Commit 0d4e1729e36f6db464adf8342efce9734a1ec1ea by i
[docs] Fix clang/docs/UsersManual.rst after D87528 & D88446
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/docs/index.rst
Commit a95b25b29ecf498afa17ad526226ae3a4271d228 by a335pate
[Libomptarget][NFC] Move global Libomptarget state to a struct

Presently, there a number of global variables in libomptarget (devices,
RTLs, tables, mutexes, etc.) that are not placed within a struct. This
patch places them into a struct ``PluginManager``. All of the functions
that act on this data remain free.

Differential Revision: https://reviews.llvm.org/D90519
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/interface.cpp
The file was modifiedopenmp/libomptarget/src/private.h
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/rtl.h
The file was modifiedopenmp/libomptarget/src/api.cpp
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was modifiedopenmp/libomptarget/src/rtl.cpp
Commit ee63acc37e319cdab6accd677fdf772ea3683867 by sepavloff
Put back the test pragma-fp-exc.cpp

This test was removed in 5963e028e714 because it failed on cores where
support of constrained intrinsics was limited. Now this test is enabled
only on x86.
The file was addedclang/test/CodeGen/pragma-fp-exc.cpp
Commit 855a32d9e55932885759979361b353c63def84c8 by joshisameeran17
[Flang][OpenMP][NFC][1/2] Reorder OmpStructureChecker and simplify it.

`OmpStructureChecker` has too much boilerplate code in source file.
It was not easy to figure out the seperation of clauses inside 'OmpClause' and
the ones which had a seperate node in parse-tree.h.

This patch:
1. Removes the boilerplate by defining a few macros.
2. Makes seperation between constructs, directives and clauses(sub classes are seperated).
3. Macros could have been shared between OMP and OACC, template specilizations might have
   been costly hence used macros.
Follows the same strategy used for `AccStructureChecker`.

Next patch in series to simplify OmpStructureChecker would try to simplify
boilerplates inside the functions and either create abstractions or use if
something is available inside check-directive-structure.h

Reviewed By: kiranchandramohan, clementval

Differential Revision: https://reviews.llvm.org/D90324
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
Commit b969dfe26f41ce0373a9e1542ebd4cfb0e6a2c25 by esme.yi
[NFC][PowerPC] Move the folding RLWINMs from ppc-mi-peephole to PPCInstrInfo.

Summary: We have the patterns to fold 2 RLWINMs in ppc-mi-peephole, while some RLWINM will be generated after RA, for example D88274. If the RLWINM generated after RA followed by another RLWINM, we expect to perform the optimization after RA, too.
This is a NFC patch to move the folding patterns to PPCInstrInfo, and the follow-up works will be calling it in pre-emit-peephole and expand the patterns to handle more cases.

Reviewed By: shchenz

Differential Revision: https://reviews.llvm.org/D89846
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
Commit f847094c246810d698d3d6d476f066e9b8779456 by mkazantsev
[IndVars] Use knowledge about execution on last iteration when removing checks

If we know that some check will not be executed on the last iteration, we can use this
fact to eliminate its check.

Differential Revision: https://reviews.llvm.org/D88210
Reviwed By: ebrevnov
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit 46e91f67019ecbf387175034cc3e9d6cd580ff77 by craig.topper
[RISCV] Remove isel patterns for fshl/fshr with same inputs. NFC

These were being selected to ROL/ROR, but DAG combine should
canonicalize fshl/fshr with same inputs to rotl/rotr which we
also have patterns for.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit a44b7322a27a636da6a6e1a28091dc7a6d59a4be by mkazantsev
[NFC] Split lambda into 2 parts for further reuse
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 7a5184ed951ad38d652d7b3c339f4c6ae7842eeb by sbergman
[scan-build] Fix clang++ pathname again

e00629f777d9d62875730f40d266727df300dbb2 "[scan-build] Fix clang++ pathname" had
removed the -MAJOR.MINOR suffix, but since presumably LLVM 7 the suffix is only
-MAJOR, so ClangCXX (i.e., the CLANG_CXX environment variable passed to
clang/tools/scan-build/libexec/ccc-analyzer) now contained a non-existing
/path/to/clang-12++ (which apparently went largely unnoticed as
clang/tools/scan-build/libexec/ccc-analyzer falls back to just 'clang++' if the
executable denoted by CLANG_CXX does not exist).

For the new clang/test/Analysis/scan-build/cxx-name.test to be effective,
%scan-build must now take care to pass the clang executable's resolved pathname
(i.e., ending in .../clang-MAJOR rather than just .../clang) to --use-analyzer.

Differential Revision: https://reviews.llvm.org/D89481
The file was modifiedclang/tools/scan-build/bin/scan-build
The file was addedclang/test/Analysis/scan-build/cxx-name.test
The file was modifiedclang/test/Analysis/scan-build/lit.local.cfg
Commit 9c30bafd59bf1078bbe1c235c7c25bf7e278e2e9 by martin
[libcxxabi] Build all of libcxxabi with _LIBCPP_BUILDING_LIBRARY defined

Various definitions from libcxx need to be set in the same way
as if building libcxx itself.

Differential Revision: https://reviews.llvm.org/D90476
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibcxxabi/src/stdlib_exception.cpp
The file was modifiedlibcxxabi/src/fallback_malloc.cpp
The file was modifiedlibcxxabi/src/stdlib_new_delete.cpp
Commit 321f696920630be1b3c93e2a8b965c624ddd646c by martin
[libcxx] [test] Fix the fs.op.absolute test to cope with windows paths

Prepend the root path on the already_absolute testcase, and construct
a path ending with the preferred separator for the test reference for
"foo/".

Differential Revision: https://reviews.llvm.org/D89944
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
Commit 22e5ee0eef818bb0005f296aac57a6ddf6421e16 by martin
[libcxx] [test] Avoid an unused variable in non-libcpp cases in path.append

Differential Revision: https://reviews.llvm.org/D89947
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
Commit 11987248c8aef5ba0dfeb5595df93616ac3d3c63 by martin
[libcxx] [test] Create symlink_to_dir as the right kind, as a directory symlink

This was missed in 5c39eebc126d.

Differential Revision: https://reviews.llvm.org/D90600
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
Commit 08b4cc5e0d2625e85ed4af9aad17ccc0876e3bd3 by martin
[libcxx] Avoid double frees of file descriptors in the fallback ifstream/ofstream codepath

So far, most actual uses of libc++ std::filesystem probably use
the sendfile or fcopyfile implementations.

Differential Revision: https://reviews.llvm.org/D90601
The file was modifiedlibcxx/src/filesystem/operations.cpp
Commit 529ba612b0774a86f581b68655ad3422075092c6 by martin
[libcxx] [test] Use error_code::default_error_condition to check errors against the expected codes

error_code returned from functions might not be of the generic category,
but of the system category, which can have different error code values.
Use default_error_condition() to remap errors to the generic category
where possible, to allow comparing them to the expected values.

Use the ErrorIs() helper instead of a direct comparison against
an excpected value.

Differential Revision: https://reviews.llvm.org/D90602
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
Commit 119ab2181e6ed823849c93d55af8e989c28c9f3c by esme.yi
[PowerPC] Extend folding RLWINM + RLWINM to post-RA.

Summary: This patch depends on D89846. We have the patterns to fold 2 RLWINMs in ppc-mi-peephole, while some RLWINM will be generated after RA, for example rGc4690b007743. If the RLWINM generated after RA followed by another RLWINM, we expect to perform the optimization after RA, too.

Reviewed By: shchenz, steven.zhang

Differential Revision: https://reviews.llvm.org/D89855
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/vsx_builtins.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
The file was addedllvm/test/CodeGen/PowerPC/fold-rlwinm-after-ra.mir
The file was modifiedllvm/test/CodeGen/PowerPC/sms-phi-5.ll
Commit 076d351e8bdd98fdcc7291c437be82d1a8480d11 by martin
[compiler-rt] [ubsan] Use the itanium type info lookup for mingw targets

Differential Revision: https://reviews.llvm.org/D90571
The file was modifiedcompiler-rt/lib/ubsan/ubsan_type_hash_win.cpp
The file was modifiedcompiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp
Commit eaae6fdf67e1f61599331d69a41a7dafe6199667 by martin
[clang] [MinGW] Allow using the vptr sanitizer

Differential Revision: https://reviews.llvm.org/D90572
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/test/Driver/mingw-sanitizers.c
Commit 46b2e85f0f5c2b0373ac261a1be83d743bd8c9da by mkazantsev
[NFC] Refactor code in IndVars, preparing for further improvement
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit d3bd06f5c709fe073739a06e0d5a22020f0bf90c by martin
[clang] Fix the fsanitize.c testcase after eaae6fdf67e1f. NFC.

After that commit, the vptr sanitizer is enabled for mingw targets.
The file was modifiedclang/test/Driver/fsanitize.c
Commit 0031418dce3e06b8ca98ad1ec048e4833785bdaa by petar.avramovic
AMDGPU/GlobalISel: Use same builder/observer in post-legalizer-combiner

Change match/apply functions into methods of new target specific combiner
helper class. Use reference to MachineIRBuilder from helper instead of
constructing new MachineIRBuilder each time new instruction needs to made.
Allows correct tracking of newly created instructions.

Differential Revision: https://reviews.llvm.org/D90623
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCombine.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 1af3cb5424d578d2c58bc55740075bfc2a0f119b by grimar
[llvm-readobj/libObject] - Allow dumping objects that has a broken SHT_SYMTAB_SHNDX section.

Currently it is impossible to create an instance of ELFObjectFile when the
SHT_SYMTAB_SHNDX can't be read. We error out when fail to parse the
SHT_SYMTAB_SHNDX section in the factory method.

This change delays reading of the SHT_SYMTAB_SHNDX section entries,
with it llvm-readobj is now able to work with such inputs.

Differential revision: https://reviews.llvm.org/D89379
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/sht-symtab-shndx.yaml
The file was modifiedllvm/test/tools/obj2yaml/ELF/sht-symtab-shndx.yaml
The file was modifiedllvm/unittests/Object/ELFObjectFileTest.cpp
The file was modifiedllvm/include/llvm/Object/ELFObjectFile.h
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/unittests/Object/CMakeLists.txt
The file was modifiedllvm/test/tools/llvm-readobj/ELF/symbol-shndx.test
Commit 326d235300814e2e38341580bdf04efd226ba83d by mgorny
[lldb] [Process/FreeBSDRemote] Implement thread GetName()

Implement NativeThreadFreeBSD::GetName().  This is based
on the equivalent code in the legacy FreeBSD plugin, except it is
modernized a bit to use llvm::Optional and std::vector for data storage.

Differential Revision: https://reviews.llvm.org/D90298
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.h
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeThreadFreeBSD.cpp
Commit f893b2939781910fd52ad70a30484255a3cf0f6e by mgorny
[lldb] [Host/{free,net}bsd] Fix process matching by name

Fix process matching by name to make 'process attach -n ...' work.

The process finding code has an optimization that defers getting
the process name and executable format after the numeric (PID, UID...)
parameters are tested.  However, the ProcessInstanceInfoMatch.Matches()
method has been matching process name against the incomplete process
information as well, and effectively no process ever matched.

In order to fix this, create a copy of ProcessInstanceInfoMatch, set
it to ignore process name and se this copy for the initial match.
The same fix applies to FreeBSD and NetBSD host code.

Differential Revision: https://reviews.llvm.org/D90454
The file was modifiedlldb/source/Host/freebsd/Host.cpp
The file was modifiedlldb/source/Host/netbsd/HostNetBSD.cpp
Commit 8e6bcbb41758b3a6c23f1b448fcef6f67fd8c6d0 by mgorny
[lldb] [Process/FreeBSDRemote] Fix attaching via lldb-server

Fix two bugs that caused attaching to a process in a pre-connected
lldb-server to fail.  These are:

1. Prematurely reporting status in NativeProcessFreeBSD::Attach().
   The SetState() call defaulted to notify the process, and LLGS tried
   to send the stopped packet before the process instance was assigned
   to it.  While at it, add an assert for that in LLGS.

2. Duplicate call to ReinitializeThreads() (via SetupTrace()) that
   overwrote the stopped status in threads.  Now SetupTrace() is called
   directly by NativeProcessFreeBSD::Attach() (not the Factory) in place
   of ReinitializeThreads().

This fixes at least commands/process/attach/TestProcessAttach.py
and python_api/hello_world/TestHelloWorld.py.

Differential Revision: https://reviews.llvm.org/D90525
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
Commit 40d26bc4b1854c1e493c500a96a9c9d65a93da59 by mgorny
[lldb] [Process/FreeBSDRemote] Remove GetSharedLibraryInfoAddress override

Remove the NetBSD-specific override of GetSharedLibraryInfoAddress(),
restoring the generic implementation from NativeProcessELF.

Differential Revision: https://reviews.llvm.org/D90620
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.h
Commit 952ddc9866dc761e29757c262ce28ca0fa9431ed by mgorny
[lldb] [Plugins/FreeBSDRemote] Disable GetMemoryRegionInfo()

Disable GetMemoryRegionInfo() in order to unbreak expression parsing.
For some reason, the presence of non-stub function causes LLDB to fail
to detect system libraries correctly.  Through being unable to find
mmap() and allocate memory, this leads to expression parser being
broken.

The issue is non-trivial and it is going to require more time debugging.
On the other hand, the downsides of missing the function are minimal
(2 failing tests), and the benefit of working expression parser
justifies disabling it temporarily.  Furthermore, the old FreeBSD plugin
did not implement it anyway, so it allows us to switch to the new plugin
without major regressions.

The really curious part is that the respective code in the NetBSD plugin
yields very similar results, yet does not seem to break the expression
parser.

Differential Revision: https://reviews.llvm.org/D90650
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
Commit d05d42199f77852e1f77b94acbe7b28f39ede64f by tpopp
[mlir] Add partial lowering of shape.cstr_broadcastable.

Because cstr operations allow more instruction reordering than asserts, we only
lower cstr_broadcastable to std ops with cstr_require. This ensures that the
more drastic lowering to asserts can happen specifically with the user's desire.

Differential Revision: https://reviews.llvm.org/D89325
The file was addedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.td
The file was modifiedmlir/lib/Conversion/ShapeToStandard/CMakeLists.txt
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
Commit ca1bcdff4b866b1baa9a7b89ff0d11f8e36d4e52 by tpopp
[mlir] Add to shape.is_broadcastable description
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 4b9fa3b705c8280e71908f4cc8c115320ef48316 by pctammela
[LLDB][NFC] treat Lua error codes in a more explicit manner

This patch is a minor suggestion to not rely on the fact
that the `LUA_OK` macro is 0.

This assumption could change in future versions of the C API.

Differential Revision: https://reviews.llvm.org/D90556
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/Lua.cpp
Commit 1667d23e585c13835c66b8d61c2d5ef93f196dd5 by sander.desmalen
[NFCI] Add StackOffset class and base classes for ElementCount, TypeSize.

This patch adds a linear polynomial base class, called LinearPolyBase, which
serves as a base class for StackOffset. It tries to represent a linear
polynomial like:

  c0 * scale0 + c1 * scale1 + ... + cK * scaleK

where the scale is implicit, meaning that only the coefficients are
encoded.

This patch also adds a univariate linear polynomial, which serves as
a base class for ElementCount and TypeSize. This tries to represent a
linear polynomial where only one dimension can be set at any one time,
i.e. a TypeSize is either fixed-sized, or scalable-sized, but cannot be
a combination of the two.

  class LinearPolyBase
     ^
     |
     +---- class StackOffset  (dimensions = 2 (fixed/scalable), type = int64_t)

  class UnivariateLinearPolyBase
     |
     |
     +---- class LinearPolySize (dimensions = 2 (fixed/scalable))
                  ^
                  |
                  +-------- class ElementCount  (type = unsigned)
                  |
                  |
                  +-------- class TypeSize      (type = uint64_t)

Reviewed By: ctetreau, david-arm

Differential Revision: https://reviews.llvm.org/D88982
The file was modifiedllvm/include/llvm/Support/TypeSize.h
The file was modifiedllvm/unittests/Support/CMakeLists.txt
The file was addedllvm/unittests/Support/LinearPolyBaseTest.cpp
Commit 90131e3ecb753c38cc99e060aa69ca1766d96432 by david.green
[CostModel] Make target intrinsics cheap by default

This patch changes the intrinsics cost model to assume that by default
target intrinsics are cheap. This didn't seem to be the case for all
intrinsics, and is potentially an MVE problem due to our scalarization
overheads. Cheap seems to be a good default in general though.

Differential Revision: https://reviews.llvm.org/D90597
The file was modifiedllvm/test/Analysis/CostModel/ARM/target-intrinsics.ll
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit cfc32267e27f77211ee5eb6e30c52ab2c7740e6e by sguelton
Provide a hook to customize missing library error handling

Make it possible for lld users to provide a custom script that would help to
find missing libraries. A possible scenario could be:

    % clang /tmp/a.c -fuse-ld=lld -loauth -Wl,--error-handling-script=/tmp/addLibrary.py
    unable to find library -loauth
    looking for relevant packages to provides that library

        liboauth-0.9.7-4.el7.i686
        liboauth-devel-0.9.7-4.el7.i686
        liboauth-0.9.7-4.el7.x86_64
        liboauth-devel-0.9.7-4.el7.x86_64
        pix-1.6.1-3.el7.x86_64

Where addLibrary would be called with the missing library name as first argument
(in that case addLibrary.py oauth)

Differential Revision: https://reviews.llvm.org/D87758
The file was modifiedlld/docs/index.rst
The file was modifiedlld/docs/ld.lld.1
The file was addedlld/test/ELF/error-handling-script-linux.test
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/error-handling-script-windows.bat
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/test/ELF/lit.local.cfg
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/include/lld/Common/ErrorHandler.h
The file was modifiedlld/Common/ErrorHandler.cpp
Commit 54d8627852a60e648022392ca316175911025eb9 by nicholas.guy
[AArch64] Redundant masks in downcast long multiply

Adds patterns to catch masks preceeding a long multiply,
and generating a single umull/smull instruction instead.

Differential revision: https://reviews.llvm.org/D89956
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Commit 3bdeb2ac2efa66de795f161f2f8a1a90b7e49ac8 by sguelton
[lld] missing doc entry for error handling script

Fix http://lab.llvm.org:8011/#/builders/69/builds/67
The file was addedlld/docs/error_handling_script.rst
Commit d9cbf39a377b4e2b1d41013d5f1b0c3e2c874640 by flo
[SLP] Pass VecPred argument to getCmpSelInstrCost.

Check if all compares in VL have the same predicate and pass it to
getCmpSelInstrCost, to improve cost-modeling on targets that only
support compare/select combinations for certain uniform predicates.

This leads to additional vectorization in some cases

```
Same hash: 217 (filtered out)
Remaining: 19
Metric: SLP.NumVectorInstructions

Program                                        base    slp2    diff
test-suite...marks/SciMark2-C/scimark2.test    11.00   26.00  136.4%
test-suite...T2006/445.gobmk/445.gobmk.test    79.00  135.00  70.9%
test-suite...ediabench/gsm/toast/toast.test    54.00   71.00  31.5%
test-suite...telecomm-gsm/telecomm-gsm.test    54.00   71.00  31.5%
test-suite...CI_Purple/SMG2000/smg2000.test   426.00  542.00  27.2%
test-suite...ch/g721/g721encode/encode.test    30.00   24.00  -20.0%
test-suite...000/186.crafty/186.crafty.test   116.00  138.00  19.0%
test-suite...ications/JM/ldecod/ldecod.test   697.00  765.00   9.8%
test-suite...6/464.h264ref/464.h264ref.test   822.00  886.00   7.8%
test-suite...chmarks/MallocBench/gs/gs.test   154.00  162.00   5.2%
test-suite...nsumer-lame/consumer-lame.test   621.00  651.00   4.8%
test-suite...lications/ClamAV/clamscan.test   223.00  231.00   3.6%
test-suite...marks/7zip/7zip-benchmark.test   680.00  695.00   2.2%
test-suite...CFP2000/177.mesa/177.mesa.test   2121.00 2129.00  0.4%
test-suite...:: External/Povray/povray.test   2406.00 2412.00  0.2%
test-suite...TimberWolfMC/timberwolfmc.test   634.00  634.00   0.0%
test-suite...CFP2006/433.milc/433.milc.test   1036.00 1036.00  0.0%
test-suite.../Benchmarks/nbench/nbench.test   321.00  321.00   0.0%
test-suite...ctions-flt/Reductions-flt.test    NaN      5.00   nan%
```

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D90124
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-min-max.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
Commit 992516857691edecbbefc8e55c402908884301ba by pifon
[mlir] Convert `memref_reshape` to LLVM.

https://llvm.discourse.group/t/rfc-standard-memref-cast-ops/1454/15

Differential Revision: https://reviews.llvm.org/D90377
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/mlir-cpu-runner/memref_reshape.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
Commit 59b22e495c15d2830f41381a327f5d6bf49ff416 by llvm-dev
[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts

The fold currently only handles rotation patterns, but with the maturation of backend funnel shift handling we can now realistically handle all funnel shift patterns.

This should allow us to begin resolving PR46896 et al.

Differential Revision: https://reviews.llvm.org/D90625
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/funnel.ll
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/rotate.ll
Commit ff02ae2139eebbe3fbd66d4204ad7589d475a355 by steveire
Add test missing from previous commit
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit 0aaa2a4cb114a72735a10a0d6901b4dbe2bacb09 by joker.eph
Remove mlir-c/Core.h which is superseded by the new API in mlir-c/IR.h

This header was an initial early attempt at a crude C API for bindings,
but it isn't used and redundant with the new API. At this point it only
contributes to more confusion.

Differential Revision: https://reviews.llvm.org/D90643
The file was removedmlir/include/mlir-c/Core.h
Commit bf523186fb7817ba12aa1de09d6db95589621797 by joker.eph
Change the PrintOpStatsPass to operate on any operation instead of just ModuleOp

This allows to use it on other operation, like a GPUModule for example.
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was modifiedmlir/lib/Transforms/OpStats.cpp
Commit cd7107a62b4fe887c7a8f3a3e226ec5e92b7e5f5 by joker.eph
Handle the verifier at run() time in the PassManager instead of build time

This simplifies a few parts of the pass manager, but in particular we don't add as many
verifierpass as there are passes in the pipeline, and we can now enable/disable the
verifier after the fact on an already built PassManager.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D90669
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/lib/Pass/PassDetail.h
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was modifiedmlir/test/Pass/pipeline-stats.mlir
The file was modifiedmlir/test/Pass/pass-timing.mlir
The file was modifiedmlir/test/lib/Transforms/TestDynamicPipeline.cpp
Commit 008b9d97cb791b8e3d89c7bc3ddd714ca3a61c80 by joker.eph
Make the implicit nesting behavior of the PassManager user-controllable and default to false

This is an error prone behavior, I frequently have ~20 min debugging sessions when I hit
an unexpected implicit nesting. This default makes the C++ API safer for users.

Depends On D90669

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D90671
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was modifiedmlir/unittests/Pass/PassManagerTest.cpp
The file was modifiedmlir/examples/toy/Ch5/toyc.cpp
The file was modifiedmlir/test/lib/Transforms/TestConvVectorization.cpp
The file was modifiedmlir/test/lib/Transforms/TestDynamicPipeline.cpp
The file was modifiedmlir/include/mlir/Pass/PassManager.h
Commit 5452fa6a599b197b75ad5d017c0498612fa600b4 by Alexander.Bosch
[MLIR] Added test operations to replace linalg dependency for
BufferizeTests.

Summary:
Added test operations to replace the LinalgDialect dependency in tests
which use the buffer-deallocation, buffer-hoisting,
buffer-loop-hoisting, promote-buffers-to-stack,
buffer-placement-preparation-allowed-memref-resutls and
buffer-placement-preparation pass. Adapted the corresponding tests cases
and TestBufferPlacement.cpp.

Differential Revision: https://reviews.llvm.org/D90037
The file was modifiedmlir/test/Transforms/promote-buffers-to-stack.mlir
The file was modifiedmlir/test/Transforms/buffer-deallocation.mlir
The file was modifiedmlir/test/lib/Transforms/TestFinalizingBufferize.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/Transforms/buffer-hoisting.mlir
The file was modifiedmlir/test/Transforms/buffer-loop-hoisting.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
The file was modifiedmlir/test/Transforms/finalizing-bufferize-allowed-memref-results.mlir
The file was modifiedmlir/test/Transforms/finalizing-bufferize.mlir
Commit ba10c514c9712b99197935a82f0df8d285752bdf by sander.desmalen
[AArch64][SVE] NFC: Guard all SVE tests for TypeSize warnings.

This patch adds a bunch of CHECK lines to guard against implicit
conversions of TypeSize -> uint64_t occuring in code-paths that previously
were safe for scalable vectors.
The file was modifiedllvm/test/CodeGen/AArch64/sve2-bitwise-ternary.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-vec-hist-count.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-int-mul-lane.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-gather-loads-64bit-scaled-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-mla-unpredicated.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-merging-stores.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-polynomial-arithmetic.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-fp-widening-mul-acc.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-complex-arith.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-scatter-stores-32bit-unscaled-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-character-match.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-fp-int-binary-logarithm.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-gather-loads-64bit-unscaled-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-contiguous-conflict-detection.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ldN-reg+imm-addr-mode.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-widening-pairwise-arith.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-mla-indexed.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-gather-loads-vector-base-scalar-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-widening-dsp.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-int-addsub-long.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-unary-narrowing.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-crypto.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-ldN-reg+reg-addr-mode.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-binary-narrowing-shr.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-non-widening-pairwise-arith.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-while.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-binary-narrowing-add-sub.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-polynomial-arithmetic-128.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-zeroing.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-scatter-stores-64bit-unscaled-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-insert-extract-tuple.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-widening-complex-int-arith.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-complex-dot.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-scatter-stores-64bit-scaled-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-bit-permutation.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-bfloat.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-int-mul.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-scatter-stores-vector-base-scalar-offset.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-perm-select-matmul-fp64.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-fp-converts.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-nt-gather-loads-32bit-unscaled-offset.ll
Commit 785080e3fa941f77dc20d5d6d2677196445bec4d by david.green
[ARM] Low overhead loop memcpy lowering test. NFC
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/memcall.ll
Commit e47449940227a9feab51c997d87df3aa06878c91 by david.green
[ARM] Treat memcpy/memset/memmove as call instructions for low overhead loops

If an instruction will be lowered to a call there is no advantage of
using a low overhead loop as the LR register will need to be spilled and
reloaded around the call, and the low overhead will end up being
reverted. This teaches our hardware loop lowering that these memory
intrinsics will be calls under certain situations.

Differential Revision: https://reviews.llvm.org/D90439
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/memcall.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 1c068a01035ad63febd91fcc34148a4720c2045e by sguelton
Fix 'default label in switch which covers all enumeration values' warning
The file was modifiedlld/Common/ErrorHandler.cpp
Commit d6a468d622b2d48c40c47290aa54d6d910c5a6bf by dmitry.polukhin
[clang-tidy] adding "--config-file=<file-path>" to specify custom config file.

Let clang-tidy to read config from specified file.
Example:
$ clang-tidy --config-file=/some/path/myTidyConfig --list-checks --
...this will read config from '/some/path/myTidyConfig'.

ClangTidyMain.cpp reads ConfigFile into string and then assigned read data to 'Config' i.e. makes like '--config' code flow internally.

May speed-up tidy runtime since now it will just look-up <file-path>
instead of searching ".clang-tidy" in parent-dir(s).

Directly specifying config path helps setting build dependencies.

Thanks to @DmitryPolukhin for valuable suggestion. This patch now propose
change only in ClangTidyMain.cpp.

Reviewed By: DmitryPolukhin

Differential Revision: https://reviews.llvm.org/D89936
The file was modifiedclang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
The file was addedclang-tools-extra/test/clang-tidy/infrastructure/config-file.cpp
The file was addedclang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-file/config-file
Commit b397795f1a2f9e25669fe030dc3836f35e2e725e by Stefan Gränitz
[JITLink][ELF] Implement R_X86_64_PLT32 relocations

Basic implementation for call and jmp branches with 32 bit offset. Branches to local targets produce
Branch32 edges that are resolved like a regular PCRel32 relocations. Branches to external (undefined)
targets produce Branch32ToStub edges and go through a PLT entry by default. If the target happens to
get resolved within the 32 bit range from the callsite, the edge is relaxed during post-allocation
optimization. There is a test for each of these cases.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D90331
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s
Commit cbf25fbed5b46ec47e3ce2799ed9095f2f18ea8f by hans
Revert "[CodeGen] [WinException] Only produce handler data at the end of the function if needed"

This caused an explosion in ICF times during linking on Windows when libfuzzer
instrumentation is enabled. For a small binary we see ICF time go from ~0 to
~10 s. For a large binary it goes from ~1 s to forevert (I gave up after 30
minutes).

See comment on the code review.

> If we are going to write handler data (that is written as variable
> length data following after the unwind info in .xdata), we need to
> emit the handler data immediately, but for cases where no such
> info is going to be written, skip emitting it right away. (Unwind
> info for all remaining functions that hasn't gotten it emitted
> directly is emitted at the end.)
>
> This does slightly change the ordering of sections (triggering a
> bunch of updates to DebugInfo/COFF tests), but the change should be
> benign.
>
> This also matches GCC's assembly output, which doesn't output
> .seh_handlerdata unless it actually is needed.
>
> For ARM64, the unwind info can be packed into the runtime function
> entry itself (leaving no data in the .xdata section at all), but
> that can only be done if there's no follow-on data in the .xdata
> section. If emission of the unwind info is triggered via
> EmitWinEHHandlerData (or the .seh_handlerdata directive), which
> implicitly switches to the .xdata section, there's a chance of the
> caller wanting to pass further data there, so the packed format
> can't be used in that case.
>
> Differential Revision: https://reviews.llvm.org/D87448

This reverts commit 36c64af9d7f97414d48681b74352c9684077259b.
The file was modifiedllvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
The file was modifiedllvm/test/CodeGen/X86/musttail-varargs.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinException.cpp
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-recursive-struct.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-intel-ocl.ll
The file was modifiedllvm/test/CodeGen/X86/no-sse-win64.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-regcall-Mask.ll
The file was modifiedllvm/test/DebugInfo/COFF/enum-co.ll
The file was modifiedllvm/test/CodeGen/AArch64/wineh1.mir
The file was modifiedllvm/test/DebugInfo/COFF/defer-complete-type.ll
The file was modifiedllvm/test/CodeGen/X86/mixed-ptr-sizes.ll
The file was modifiedllvm/test/DebugInfo/COFF/global_visibility.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/win64-jumptable.ll
The file was modifiedllvm/test/CodeGen/X86/win64_frame.ll
The file was modifiedllvm/test/CodeGen/AArch64/win64-jumptable.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-method-ref-qualifiers.ll
The file was modifiedllvm/test/CodeGen/X86/gnu-seh-nolpads.ll
The file was modifiedllvm/test/CodeGen/X86/break-false-dep.ll
The file was modifiedllvm/test/CodeGen/X86/mingw-comdats.ll
The file was modifiedllvm/test/DebugInfo/COFF/type-quals.ll
Commit e99207feb4b901e8f7bb6d3e70388d31fafc4330 by protze
[OpenMP][Tool] Handle detached tasks in Archer

Since detached tasks are supported by clang and the OpenMP runtime, Archer
must expect to receive the corresponding callbacks.

This patch adds support to interpret the synchronization semantics of
omp_fulfill_event and cleans up the handling of task switches.
The file was modifiedopenmp/tools/archer/tests/CMakeLists.txt
The file was modifiedopenmp/tools/archer/ompt-tsan.cpp
The file was addedopenmp/tools/archer/tests/task/task_late_fulfill.c
The file was addedopenmp/tools/archer/tests/task/task_early_fulfill.c
Commit b0eb19bf8af43b560106fdf30087606a0f65fa84 by protze
[OpenMP][OMPT][NFC] Fix flaky test

As reported by @ronlieb, the test shows intermittent fails.
The test failed, if the dependent task was already finished, when the depending
task was to be created. We have other tests to check for the dependences pair.
The file was modifiedopenmp/runtime/test/ompt/tasks/dependences_mutexinoutset.c
Commit 71041a8b6bc48f0173ab6b82625e307fa8ffe264 by protze
[OpenMP][libomptarget][Tests] fix failing test

D88149 updated `omp_get_initial_device` behavior to conform with OpenMP 5.1.
omp_get_initial_device() == omp_get_num_devices()
The file was modifiedopenmp/libomptarget/test/unified_shared_memory/api.c
Commit bd32386410402e5f8d6b1f84f36e6846ef9d814c by david.green
[ARM] Remove unused variable. NFC
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit d68bed0fa94e133f79c14248621f8c5544f7bdd9 by flo
[SCCP] Handle bitcast of vector constants.

Vectors where all elements have the same known constant range are treated as a
single constant range in the lattice. When bitcasting such vectors, there is a
mis-match between the width of the lattice value (single constant range) and
the original operands (vector). Go to overdefined in that case.

Fixes PR47991.
The file was modifiedllvm/test/Transforms/SCCP/vector-bitcast.ll
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
Commit 482d65331bab5f007408ad573f8b613d6adcf4f3 by lebedev.ri
[NFC][InstCombine] Add test coverage for PR47997
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 67be050acc3497213b0560812afa26091449c04a by lebedev.ri
[NFC][InstCombine] Negator: add test coverage for `(?? - (C - %y))` pattern (PR47997)
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
Commit f8cf6d027b54e0c2a3804e272a6d3ace95952ef9 by lebedev.ri
[NFC][InstCombine] Negator: add test coverage for `(?? - (%y + C))` pattern (PR47997)
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
Commit e465f9c3036b28bdbdbef03eee8fd022a3b6dcbf by lebedev.ri
[InstCombine] Negator: - (C - %x) --> %x - C (PR47997)

This relaxes one-use restriction on that `sub` fold,
since apparently the addition of Negator broke
preexisting `C-(C2-X) --> X+(C-C2)` (with C=0) fold.
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
Commit c009d11bdac4a7f4a3a8ae85e42da053828a6f24 by lebedev.ri
[InstCombine] Perform  C-(X+C2) --> (C-C2)-X  transform before using Negator

In particular, it makes it fire for C=0, because negator doesn't want
to perform that fold since in general it's not beneficial.
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit abd8cd9199d1e14cae961e1067b78df7044179a3 by Yaxun.Liu
[CUDA][HIP] Fix linkage for -fgpu-rdc

Currently for explicit template function instantiation in CUDA/HIP device
compilation clang emits instantiated kernel with external linkage
and instantiated device function with internal linkage.

This is fine for -fno-gpu-rdc since there is only one TU.

However this causes duplicate symbols for kernels for -fgpu-rdc if
the same instantiation happen in multiple TU. Or missing symbols
if a device function calls an explicitly instantiated template function
in a different TU.

To make explicit template function instantiation work for
-fgpu-rdc we need to follow the C++ linkage paradigm, i.e.
use weak_odr linkage.

Differential Revision: https://reviews.llvm.org/D90311
The file was addedclang/test/CodeGenCUDA/device-fun-linkage.cu
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 9af561ec99350043c864442f93c3ac46274d324f by spatel
[x86] update cost table comments for maxnum; NFC

Follow-up suggested in D90613.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit d5bf727bcd503ccbf2fbe9d15d82856729e45e77 by antiagainst
[mlir][spirv] Support for a few more decorations in (de)serialization

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D90655
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/decorations.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
Commit 32897c05ab6ba90c3496270046aa5664b37f6557 by jay.foad
[AMDGPU] Specify a triple to avoid codegen changes depending on host OS
The file was modifiedllvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_write2.ll
Commit 47c95f1710e756204aad24ba948d585e71426905 by thakis
[gn build] (manually) port 1af3cb5424d
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn
Commit a5bbefe303140bcbda757f439ebd7664cfbeccb9 by llvmgnsyncbot
[gn build] Port 1667d23e585
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Commit cab21d4fa8c335e002df91ee4736fc05593ed23c by llvm-dev
[DAG] computeKnownBits - Move (most) ISD::SHL handling into KnownBits::shl

As discussed on D90527, we should be be trying to move shift handling functionality into KnownBits to avoid code duplication in SelectionDAG/GlobalISel/ValueTracking.

The refactor to use the KnownBits fixed/min/max constant helpers allows us to hit a couple of cases that we were missing before.

We still need the getValidMinimumShiftAmountConstant case as KnownBits doesn't handle per-element vector cases.
The file was modifiedllvm/test/CodeGen/PowerPC/pr44183.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/test/CodeGen/X86/pr32282.ll
The file was modifiedllvm/include/llvm/Support/KnownBits.h
Commit b091af790f192c5532b59159fc029f9c368285c0 by n.james93
[ASTMatchers] Made isExpandedFromMacro Polymorphic

Made the isExpandedFromMacro matcher work on Stmt's, TypeLocs and Decls in line with the other macro expansion matchers.
Also tweaked it to take a `std::string` instead of a `StringRef`.
This prevents potential use-after-free bugs if the matcher is created with a string thats destroyed before the matcher finishes matching.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D90303
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/GtestMatchers.cpp
Commit 6e008cb554b3bd737834d55bc2158545d7072973 by jay.foad
[AMDGPU] Precommit globalisel tests for ds_read2_b64 with large offset
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local-128.mir
Commit e8d67ef2dc93af671a2123caaf302709ba6e15d5 by anton.a.afanasyev
[SLP][X86][Test] Extend test coverage for PR47629

Add two cases for `<i32 x 8>`. Precommit for PR47629 and D90445. NFC
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
Commit 97e8da45f9459ce9334c2d387ada7d2cde9625f4 by n.james93
[ADT] Add SmallVector::pop_back_n

Adds a method called pop_back_n to SmallVector.
This is more readable and less error prone than the alternatives of using
```lang=c++
Vector.resize(Vector.size() - N);
Vector.erase(Vector.end() - N, Vector.end());
for (unsigned I = 0;I<N;++I) Vector.pop_back();
```

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D90576
The file was modifiedllvm/include/llvm/ADT/SmallVector.h
The file was modifiedllvm/unittests/ADT/SmallVectorTest.cpp
Commit a0ad066ce490ba34f259dd0fc8ad5810bd92dc3d by vtjnash
make the AsmPrinterHandler array public

This lets external consumers customize the output, similar to how
AssemblyAnnotationWriter lets the caller define callbacks when printing
IR. The array of handlers already existed, this just cleans up the code
so that it can be exposed publically.

Replaces https://reviews.llvm.org/D74158

Differential Revision: https://reviews.llvm.org/D89613
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was modifiedllvm/include/llvm/CodeGen/DebugHandlerBase.h
The file was modifiedllvm/lib/Target/BPF/BTFDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/unittests/CodeGen/TestAsmPrinter.h
The file was modifiedllvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinterHandler.h
Commit 34b0a99cce8143be8a9bea8677b4cccece74264b by mtrofin
[Docs][FileCheck] Small fix.
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
Commit d2700b7873e305a09a931e98b12ebab7b42deec3 by pavel
[lldb/Utility] Add unit tests for RegisterValue::GetScalarValue

Buggy cases are commented out.

Also sneak in a modernization of a RegisterValue constructor.
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/unittests/Utility/RegisterValueTest.cpp
The file was modifiedlldb/include/lldb/Utility/RegisterValue.h
The file was modifiedlldb/source/Expression/Materializer.cpp
Commit 8a73aa8c4c3ee82e7d650c6a957937713a4a9ab4 by martin
[libcxx] [libcxxabi] Set flags for visibility when statically linking libcxxabi into libcxx for windows

Previously, these had to be set manually when building each of the
projects standalone, in order to get proper symbol visibility when
combining the two libraries.

Differential Revision: https://reviews.llvm.org/D90021
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
Commit 1127ef789c02e735357c9c9f2ffaf6291dc8e6d7 by martin
[libcxx] Error out if __libcpp_mbsrtowcs_l fails in __time_get_storage

If __libcpp_mbsrtowcs_l outputs zero wchar_t's for week days or
month names (due to errors in the locale function setup), these are
matched all the time in __time_get_storage::__analyze, ending up in
an infinite loop, allocating more memory until killed.

Differential Revision: https://reviews.llvm.org/D69553
The file was modifiedlibcxx/src/locale.cpp
Commit 040c50278c8dc317c15639b5ea65dd2a32a5bcd0 by jay.foad
[AMDGPU] Fix ds_read2/write2 with unaligned offsets

These instructions use a scaled offset. We were wrongly selecting them
even when the required offset was not a multiple of the scale factor.

Differential Revision: https://reviews.llvm.org/D90607
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_write2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local-128.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
Commit cf637a69e742a9b820a75882fe22512564fb271f by joe.ellis
[SVE][InstCombine] Improve specificity of InstCombine TypeSize test

The test was using -O2, where -instcombine will suffice.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D90684
The file was modifiedllvm/test/Transforms/InstCombine/gep-can-replace-gep-idx-with-zero-typesize.ll
Commit eaed9e6b56b224110f654513f4c85becb899b334 by protze
[OpenMP][Tools] clang-format Archer (NFC)
The file was modifiedopenmp/tools/archer/ompt-tsan.cpp
Commit 1d3cd7172b2fb62a41fb962bc506913e2a6e8a8e by hans
Fix GCC error: specialization of 'template<class LeafTy> struct llvm::LinearPolyBaseTypeTraits' in different namespace
The file was modifiedllvm/unittests/Support/LinearPolyBaseTest.cpp
Commit 3c050a597c599cea035537b8875774dcc48922c3 by spatel
[CostModel] fix cost calc bug for sadd/ssub with overflow

As noted in D90554, there's an opcode typo in using an easily
misused cost model API: getCmpSelInstrCost(). Beyond that, the
assumed sequence of ops is questionable, but that would be
another patch.

My guess is that the x86 test diffs show that we are probably
wrong both before and after this change, so there will be no
practical difference.
As an example, I tried this test which shows a cost of '7'
either way:

  define <4 x i32> @sadd(<4 x i32> %va, <4 x i32> %vb) {
    %V4I32  = call {<4 x i32>, <4 x i1>}  @llvm.sadd.with.overflow.v4i32(<4 x i32> %va, <4 x i32> %vb)
    %ov = extractvalue {<4 x i32>, <4 x i1>} %V4I32, 1
    %r = extractvalue {<4 x i32>, <4 x i1>} %V4I32, 0
    %z = select <4 x i1> %ov, <4 x i32> <i32 42, i32 42, i32 42, i32 42>, <4 x i32> %r
    ret <4 x i32> %z
  }

  $ llc -o - sadd.ll -mattr=avx
        vpaddd  %xmm1, %xmm0, %xmm2
        vpcmpgtd        %xmm2, %xmm0, %xmm0
        vpxor   %xmm0, %xmm1, %xmm0
        vblendvps       %xmm0, LCPI0_0(%rip), %xmm2, %xmm0a

Differential Revision: https://reviews.llvm.org/D90681
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-ssat.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 6c337945c8954bc7aeb265ea5c70e455a951bd8a by clementval
[openmp][openacc][NFC] Simplify access and validation of DirectiveBase information

This patch adds some helper in the DirectiveLanguage wrapper to initialize it from
the RecordKeeper and validate the records. This simplify arguments in lots of function
since only the DirectiveLanguge is passed.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D90358
The file was modifiedllvm/include/llvm/TableGen/DirectiveEmitter.h
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
Commit fbc0d41bb0e465a0e2a799e7e3b86be4319019f2 by mgorny
[lldb] [Process/FreeBSDRemote] Fix "Fix attaching via lldb-server"

One of the changes seems to have been lost in rebase.  Reapply.
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeProcessFreeBSD.cpp
Commit ee3e642627575bc8fb0a7008f8a02c891e172b7b by tim.renouf
[AMDGPU] Add gfx90c target

This differentiates the Ryzen 4000/4300/4500/4700 series APUs that were
previously included in gfx909.

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

Change-Id: Ia901a7157eb2f73ccd9f25dbacec38427312377d
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedclang/lib/Basic/Cuda.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.td
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedclang/test/Driver/amdgpu-mcpu.cl
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/lib/Target/AMDGPU/GCNProcessors.td
The file was modifiedclang/lib/Basic/Targets/NVPTX.cpp
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/lib/Support/TargetParser.cpp
Commit 89d41f3a2b820c17edeb86a2e9d458ca69eca34e by tim.renouf
[AMDGPU] Add gfx1033 target

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

Change-Id: If2650fc7f31bbdd49c76e74a9ca8e3734d769761
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
The file was modifiedclang/test/Driver/amdgpu-mcpu.cl
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl
The file was modifiedllvm/lib/Support/TargetParser.cpp
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedllvm/test/MC/AMDGPU/gfx1011_dlops.s
The file was modifiedclang/lib/Basic/Cuda.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1011_dasm_dlops.txt
The file was modifiedclang/lib/Basic/Targets/NVPTX.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_new.s
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
The file was modifiedllvm/lib/Target/AMDGPU/GCNProcessors.td
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modifiedllvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
The file was modifiedclang/include/clang/Basic/Cuda.h
Commit 5053eab890749e9ed53a41bf50a3d78ad336dccb by esme.yi
Revert "[PowerPC] Extend folding RLWINM + RLWINM to post-RA."

This reverts commit 119ab2181e6ed823849c93d55af8e989c28c9f3c.
The file was modifiedllvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/sms-phi-5.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/vsx_builtins.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was removedllvm/test/CodeGen/PowerPC/fold-rlwinm-after-ra.mir
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
Commit e1af54296c5228144e3942031c88629d290473a1 by etiotto
[compiler-rt][profile][AIX]: Enable compiler-rt profile build on AIX

This patch adds support for building the compiler-rt profile library on AIX.

Reviewed by: phosek

Differential Revision: https://reviews.llvm.org/D90619
The file was modifiedcompiler-rt/cmake/config-ix.cmake
Commit 45bcbe46d75a4a7ca604119e9345fdfae3780960 by Tony.Tye
[NFC][AMDGPU] Minor editorial improvements to AMDGPUUsage.rst

Differential Revision: https://reviews.llvm.org/D90661
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit af9bf14e6b08974cb5f80f12a52ece3b3fe0445c by thakis
Make test/tools/llvm-dlltool/tool-name.test pass, and make it run

The test hasn't run since it was added in D71302.
The file was modifiedllvm/test/lit.cfg.py
The file was modifiedllvm/test/tools/llvm-dlltool/lit.local.cfg
Commit 4b846820445ef33a099a19b5df983ed2f9d6e067 by Jonas Devlieghere
[crashlog] Move crash log parsing into its own class

Move crash log parsing out of the CrashLog class and into its own class
and add more tests.

Differential revision: https://reviews.llvm.org/D90664
The file was modifiedlldb/examples/python/crashlog.py
The file was addedlldb/test/Shell/ScriptInterpreter/Python/Crashlog/interactive.test
The file was addedlldb/test/Shell/ScriptInterpreter/Python/Crashlog/lit.local.cfg
The file was removedlldb/test/Shell/ScriptInterpreter/Python/crashlog.test
The file was addedlldb/test/Shell/ScriptInterpreter/Python/Crashlog/crashlog.test
Commit d9a4f936d05c1e8740f5f73da1b149c36d25d02c by Louis Dionne
[libc++] Move <memory> helpers outside of std::allocator_traits

They don't really belong as members of allocator_traits.
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/include/memory
Commit c06c02bd1f162cf154996ea064a5d19054a4e364 by llvm-dev
[AMDGPU] Regenerate load i16 tests to use update_llc_test_checks.py script. NFCI.

Necessary for upcoming KnownBits::lshr support.
The file was modifiedllvm/test/CodeGen/AMDGPU/load-global-i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-constant-i16.ll
Commit cb798f040a768dbd1fc918fe581088b2fe7932bf by llvm-dev
[DAG] computeKnownBits - Move (most) ISD::SRL handling into KnownBits::lshr

As discussed on D90527, we should be be trying to move shift handling functionality into KnownBits to avoid code duplication in SelectionDAG/GlobalISel/ValueTracking.

The refactor to use the KnownBits fixed/min/max constant helpers allows us to hit a couple of cases that we were missing before.

We still need the getValidMinimumShiftAmountConstant case as KnownBits doesn't handle per-element vector cases.
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/test/CodeGen/AMDGPU/load-constant-i16.ll
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/load-global-i16.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 00eff96e1d02969ff1c1416a266b4d29506cd1c0 by craig.topper
[RISCV] Add missing patterns for rotr with immediate for Zbb/Zbp extensions.

DAGCombine doesn't canonicalize rotl/rotr with immediate so we
need patterns for both.

Remove the custom matcher for rotl to RORI and just use a SDNodeXForm
to convert the immediate instead. Doing this gives priority to the
rev32/rev16 versions of grevi over rori since an explicit immediate
is more precise than any immediate. I also added rotr patterns for
rev32/rev16. And removed the (or (shl), (shr)) patterns that should be
combined to rotl by DAG combine.

There is at least one other grev pattern that probably needs a
another rotr pattern, but we need more test coverage first.

Differential Revision: https://reviews.llvm.org/D90575
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Commit e9b88c754ad31bcc0dd582a04402b5de1a28ef48 by llvm-dev
[DAG] computeKnownBits - Move ISD::SRA handling into KnownBits::ashr

As discussed on D90527, we should be trying to move shift handling functionality into KnownBits to avoid code duplication in SelectionDAG/GlobalISel/ValueTracking.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
Commit 6dabc38cce73549ed747c537f81f6f4dd79eba39 by llvm-dev
Cleanup namespace comment to fix clang-tidy warning. NFCI.
The file was modifiedllvm/lib/Support/APFloat.cpp
Commit 16dd69347dfc80ec52f656b971102c31ccf78449 by Jonas Devlieghere
[crashlog] Modularize parser

Instead of parsing the crashlog in one big loop, use methods that
correspond to the different parsing modes.

Differential revision: https://reviews.llvm.org/D90665
The file was modifiedlldb/examples/python/crashlog.py
Commit 59a6ab28c42bd0330232415178ed8cc97206a209 by vtjnash
[GVN] small improvements to comments
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/lib/Transforms/Utils/VNCoercion.cpp
Commit be86b6773b6ba4d101a848e109540548181d2ed5 by tra
[CUDA] Allow local static variables with target attributes.

While CUDA documentation claims that such variables are not allowed[1], NVCC has
been accepting them since CUDA-10.0[2] and some headers in CUDA-11 rely on this
working.

1. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#static-variables-function
2. https://godbolt.org/z/zsodzc

Differential Revision: https://reviews.llvm.org/D88345
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCUDA/bad-attributes.cu
The file was modifiedclang/test/SemaCUDA/device-var-init.cu
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/test/CodeGenCUDA/static-device-var-no-rdc.cu
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit cdbf6bfdc7d15fc6a078c7773f142042a11d2c1b by tra
[HIP] Use argv[0] as the default choice for the Executable name.

The path produced by getMainExecutable() may not be the right one when the files are installed in
a symlinked tree and when the real location of llvm-objdump is in a different directory.

Given that clang-offload-bundler is invoked by clang, the driver already does the job figuring out
the right path (e.g. it pays attention to -no-canonical-prefixes).
Offload bundler should use it, instead of trying to figure out the path on its
own.

Differential Revision: https://reviews.llvm.org/D90436
The file was modifiedclang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
Commit ca5b31502c828f8e7160a77f54a5a131dc298005 by enye.shi
[HIP] Math Headers to use type promotion

Similar to libcxx implementation of cmath function
overloads, use type promotion templates to determine
return types of multi-argument math functions.

Fixes: SWDEV-256825

Reviewed By: tra, yaxunl

Differential Revision: https://reviews.llvm.org/D90409
The file was modifiedclang/lib/Headers/__clang_hip_cmath.h
Commit 107c3a12d627f12a23f138a00d6aabe9de7402f7 by tlively
[WebAssembly] Implement ref.null

This patch adds a new "heap type" operand kind to the WebAssembly MC
layer, used by ref.null. Currently the possible values are "extern" and
"func"; when typed function references come, though, this operand may be
a type index.

Note that the "heap type" production is still known as "refedtype" in
the draft proposal; changing its name in the spec is
ongoing (https://github.com/WebAssembly/reference-types/issues/123).

The register form of ref.null is still untested.

Differential Revision: https://reviews.llvm.org/D90608
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was addedllvm/test/MC/WebAssembly/reference-types.s
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
Commit f35a82384d9ebeff3bb5ffd7a5ebe30436c1b401 by Jonas Devlieghere
Return actual type from SBType::GetArrayElementType

SBType::GetArrayElementType should return the actual type, not the
canonical type (e.g. int32_t, not the underlying int).

Added a test case to validate the new behavior. I also ran all other
tests on Linux (ninja check-lldb), they all pass.

Differential revision: https://reviews.llvm.org/D90318
The file was modifiedlldb/test/API/python_api/type/main.cpp
The file was modifiedlldb/test/API/python_api/type/TestTypeList.py
The file was modifiedlldb/source/API/SBType.cpp
Commit 5a72a1623e4afd9365a13473079db1ec66af1f0e by Sanne.Wouda
Precommit LTO pipeline test
The file was addedllvm/test/Other/opt-LTO-pipeline.ll
Commit 6e80318eecde2639faa1e72be045c78b8b8aedad by Sanne.Wouda
Add loop distribution to the LTO pipeline

The LoopDistribute pass is missing from the LTO pipeline, so
-enable-loop-distribute has no effect during post-link. The pre-link
loop distribution doesn't seem to survive the LTO pipeline either.

With this patch (and -flto -mllvm -enable-loop-distribute) we see a 43%
uplift on SPEC 2006 hmmer for AArch64. The rest of SPECINT 2006 is
unaffected.

Differential Revision: https://reviews.llvm.org/D89896
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/opt-LTO-pipeline.ll
Commit 7ad6010f58eac498896e601857ff7eda84466064 by Ben.Dunbobbin
Fix - [Clang] Add the ability to map DLL storage class to visibility

415f7ee883 had a silly typo introduced when I inlined some
code into a loop from its own function.

Original commit message:

For PlayStation we offer source code compatibility with
Microsoft's dllimport/export annotations; however, our file
format is based on ELF.

To support this we translate from DLL storage class to ELF
visibility at the end of codegen in Clang.

Other toolchains have used similar strategies (e.g. see the
documentation for this ARM toolchain:

https://developer.arm.com/documentation/dui0530/i/migrating-from-rvct-v3-1-to-rvct-v4-0/changes-to-symbol-visibility-between-rvct-v3-1-and-rvct-v4-0)

This patch adds the ability to perform this translation. Options
are provided to support customizing the mapping behaviour.

Differential Revision: https://reviews.llvm.org/D89970
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGenCXX/visibility-dllstorageclass.cpp
Commit c9f69ee7f94cfefc373c3c6cae08e51b11e6d3c2 by jay.foad
[AMDGPU] Add some missing tests for GFX10.3 subtargets
The file was modifiedllvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
Commit 2ec26d3a23155b0b825527fa3034b37f0083fcd8 by Sanne.Wouda
Revert "Add loop distribution to the LTO pipeline"

This reverts commit 6e80318eecde2639faa1e72be045c78b8b8aedad.
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/opt-LTO-pipeline.ll
Commit e969ab43202eb2b6115b25af64d7d311189780ad by Sanne.Wouda
Revert "Precommit LTO pipeline test"

This reverts commit 5a72a1623e4afd9365a13473079db1ec66af1f0e.
The file was removedllvm/test/Other/opt-LTO-pipeline.ll
Commit 36480657d8ce97836f76bf5fa8c36677b9cdc19a by thomasraoux
[mlir][vector] Add canonicalization patterns for ExtractStride/ShapeCast + Splat constant

Differential Revision: https://reviews.llvm.org/D90567
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit f099330094d68d268e366defffccf4c311427e67 by lebedev.ri
[NFC][Reassociate] Add tests with `add`-like `or` (w/ no common bits set)
The file was addedllvm/test/Transforms/Reassociate/add-like-or.ll
Commit 70472f34b289d663a9f70740dfc9ae32fc89e077 by lebedev.ri
[Reassociate] Convert `add`-like `or`'s into an `add`'s to allow reassociation

InstCombine is quite aggressive in doing the opposite transform,
folding `add` of operands with no common bits set into an `or`,
and that not many things support that new pattern..

In this case, teaching Reassociate about it is easy,
there's preexisting art for `sub`/`shl`:
just convert such an `or` into an `add`:
https://rise4fun.com/Alive/Xlyv
The file was modifiedllvm/test/Transforms/Reassociate/add-like-or.ll
The file was modifiedllvm/lib/Transforms/Scalar/Reassociate.cpp
Commit 4cd09273061321c63cc18d4bd6817ba2569b38b8 by Vitaly Buka
[memprof] Don't protect destructor in final
The file was modifiedcompiler-rt/lib/memprof/memprof_thread.h
Commit e0b5e5a9d89c9f04f12ab91922507b4561ebbc7a by phosek
[compiler-rt] Use empty SuspendedThreadsList for Fuchsia

d48f2d7 made destructor of SuspendedThreadsList protected, so we need
an empty subclass to pass to the callback now.

Differential Revision: https://reviews.llvm.org/D90695
The file was modifiedcompiler-rt/lib/lsan/lsan_common_fuchsia.cpp
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.cpp
Commit 7f34aca083b528db1d880b406f1a1953eeb6aa95 by xun
[musttail] Unify musttail call preceding return checking

There is already an API in BasicBlock that checks and returns the musttail call if it precedes the return instruction.
Use it instead of manually checking in each place.

Differential Revision: https://reviews.llvm.org/D90693
The file was modifiedllvm/lib/Transforms/Utils/EscapeEnumerator.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
Commit f0fd4349a78aff99b7e2214bf1ffe9e352201de3 by Jonas Devlieghere
[crashlog] Print the actual exception in the CommandReturnObject

Before:

  error: python exception <class 'AttributeError'>

After:

  error: python exception: 'DarwinImage' object has no attribute 'debugger'
The file was modifiedlldb/examples/python/crashlog.py
Commit d1217be43f96db38441b3bffa288dfac381578ef by Louis Dionne
[libc++] NFC: Simplify how we run config tests

We can use the convenience substitutions provided by the format instead
of bootstrapping our own.
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
Commit 96ed6793b35e8267b0c94ebe69ae94f07024f476 by i
[unittest][TrasnformerTest] Fix asan stack-use-after-return
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
Commit 5369d8cca7e6443703dd4dbaf253012e4c5bb400 by Louis Dionne
[libc++] Remove support for .run.fail.cpp tests

Unfortunately, executing these tests correctly on platforms that do not
support a shell is very challenging. Since the executor can't just negate
the result of the command, we'd have to ship a portable program capable
of running the actual test executable, and negating its result.

Doing this portably is challenging. Since we do not currently have strong
use cases for tests that fail at runtime (we effectively have no tests
using that capability right now), it is difficult to justify making them
work portably. Instead, it makes more sense to remove this feature until
we can implement it properly (i.e. without requiring shell support).
The file was removedlibcxx/test/libcxx/selftest/run.fail.cpp/run-success.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/run.fail.cpp/link-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/run.fail.cpp/run-error.run.fail.cpp
The file was modifiedlibcxx/utils/libcxx/test/format.py
The file was removedlibcxx/test/libcxx/selftest/run.fail.cpp/compile-error.run.fail.cpp
Commit 7f059a258a1dbfc240a8d526b5d23d238a3d84f7 by kadircet
[clangd] Handle absolute/relative path specifications in Config

This introduces a mechanism for providers to interpret paths specified
in a fragment either as absolute or relative to fragment location.
This information should be used during compile stage to handle blocks correctly.

Differential Revision: https://reviews.llvm.org/D90270
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigProviderTests.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/ConfigProvider.cpp
The file was modifiedclang-tools-extra/clangd/ConfigProvider.h
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
Commit 05e0a8e519fd7dd73141b58a1a479a84a5ac1014 by kadircet
[clangd] Fix missing override warnings in remote-index client
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
Commit f5eebc25cc37332713888116beb4c2d9b09107ff by tianshilei1992
[OpenMP] Fixed an issue in the test case parallel_offloading_map

There is a non-conforming use of variable-sized array in the test case `parallel_offloading_map.c`. This patch fixed it.

Reviewed By: protze.joachim

Differential Revision: https://reviews.llvm.org/D90642
The file was removedopenmp/libomptarget/test/offloading/parallel_offloading_map.c
The file was addedopenmp/libomptarget/test/offloading/parallel_offloading_map.cpp
Commit b7de7be098d7f167d10acb713fe601ad15f37071 by mgorny
[lldb] [test] Remove xfail from tests that pass on FreeBSD
The file was modifiedlldb/test/API/lang/cpp/enum_types/TestCPP11EnumTypes.py
The file was modifiedlldb/test/API/python_api/thread/TestThreadAPI.py
The file was modifiedlldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
The file was modifiedlldb/test/API/api/multiple-targets/TestMultipleTargets.py
The file was modifiedlldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
Commit 051da2bede4ba7231d009b5708d1191dde1e5dde by mgorny
[lldb] [test/Shell] Pass -pthread to host toolchain on FreeBSD too
The file was modifiedlldb/test/Shell/helper/toolchain.py
Commit 98257c30065a7c85685a60653df7075cf95281dd by mgorny
[lldb] [test] Update XFAILs/skips for FreeBSD

Update expected failures and test skips based on common results
for the old and new FreeBSD plugins.
The file was modifiedlldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setBreakpoints.py
The file was modifiedlldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
The file was modifiedlldb/test/API/commands/log/basic/TestLogging.py
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_callback_command_source/TestBreakpointCallbackCommandSource.py
The file was modifiedlldb/test/API/functionalities/dlopen_other_executable/TestDlopenOtherExecutable.py
The file was modifiedlldb/test/API/functionalities/thread/state_after_expression/TestStateAfterExpression.py
The file was modifiedlldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py
The file was modifiedlldb/test/API/commands/expression/multiline-navigation/TestMultilineNavigation.py
The file was modifiedlldb/test/API/commands/target/create-deps/TestTargetCreateDeps.py
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
The file was modifiedlldb/test/API/api/multithreaded/TestMultithreaded.py
The file was modifiedlldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
The file was modifiedlldb/test/API/commands/process/launch/TestProcessLaunch.py
The file was modifiedlldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
The file was modifiedlldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
The file was modifiedlldb/test/API/functionalities/breakpoint/global_constructor/TestBreakpointInGlobalConstructor.py
The file was modifiedlldb/test/API/functionalities/memory-region/TestMemoryRegion.py
The file was modifiedlldb/test/API/commands/platform/process/list/TestProcessList.py
Commit 8e5156f6b0d17e2703566a296601706fdc09bccb by Louis Dionne
[libc++] Harden tests against executors not running tests in a shell

Some executors do not run the tests in a shell, and so assuming that
they can understand shell builtins is wrong. Instead, call Bash
directly to do what we need to do.

This still requires the executor to be able to run Bash, but at least
it does not require it to interpret command lines in the Bash language.
The file was modifiedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin.sh.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/check-stderr.sh
The file was modifiedlibcxx/test/libcxx/selftest/remote-substitutions.sh.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/check-stdout.sh
The file was modifiedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/send-stdin.sh
The file was modifiedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcout.sh.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.sh.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wclog.sh.cpp
Commit 980bf1d5d1f0ef7021cdc75c8a190041dd9cb84a by rupprecht
[NFC] Inline wasm assertion-only variable
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
Commit daa127d77eab2547b1b7754939aa3f91fa8b1801 by baptiste.saleil
[PowerPC] Add MMA builtin decoding and definitions

Add MMA builtin decoding. These builtins use the new PowerPC-specific types __vector_pair and __vector_quad.
So to avoid pervasive changes, we use custom type descriptors and custom decoding for these builtins.
We also use custom code generation to expand builtin calls with pointers to simpler intrinsic calls with non-pointer types.

Differential Revision: https://reviews.llvm.org/D81748
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was addedclang/test/CodeGen/builtins-ppc-mma.c
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 3e1390090fe31702488d26b72aa2aa018f557f0e by riddleriver
[mlir][Parser] Small optimization to parsing

* Use function_ref instead of std::function in several methods
* Use ::get instead of ::getChecked for IntegerType.
  - It is already fully verified and constructing a mlir::Location can be extremely costly during parsing.
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/lib/Parser/Parser.h
The file was modifiedmlir/lib/Parser/TypeParser.cpp
Commit 33945cdd62c40ea4ce381d4c3d49b22f8a2cc015 by rupprecht
[NFC] Fix call to lldb RegisterValue constructor
The file was modifiedlldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
Commit 5080840d280d4adaab93a88fa6033849f0589737 by michaelrj
[LIBC][NFC] Rename errno and assert files to match other files with functions

Rename the files containing the `__errno_location` function
to `__errno_location.h/cpp` to match the other files and move
the `llvmlibc_errno` macro to its own file.

Split assert.h into `__assert_fail.h` (contains the function prototype)
and assert.h (contains the assert macro).

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D90653
The file was removedlibc/src/errno/errno_location.cpp
The file was modifiedlibc/src/errno/llvmlibc_errno.h
The file was modifiedlibc/src/errno/CMakeLists.txt
The file was modifiedlibc/src/assert/CMakeLists.txt
The file was addedlibc/src/assert/__assert_fail.h
The file was modifiedlibc/src/assert/assert.h
The file was addedlibc/src/errno/__errno_location.h
The file was modifiedlibc/src/assert/__assert_fail.cpp
The file was addedlibc/src/errno/__errno_location.cpp
Commit e2b69872040216a5340eca963ff70097ac025671 by zoecarver
[libc++][NFC] Mark LWG issue 2899 as not complete.

Commit 59e26308e60a08a5a4534ba827744564c71d7aff accidentally
marked this LWG issue as complete but it has not yet been
implemented. D66262 fixes this issue.
The file was modifiedlibcxx/www/cxx2a_status.html
Commit d2c45f66204552177b164095501d560cd950a690 by i
[docs] Fix docs-llvm-html after recent TableGen changes D90617
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedllvm/docs/TableGen/index.rst
The file was modifiedllvm/docs/CommandGuide/tblgen.rst
Commit 72531ae6e64d4408f6e9aee8d5902f5d6b0ae519 by mascasa
Revert "Ignore template instantiations if not in AsIs mode"

This reverts commit 53df3beb624989ed32d87697d0c17601d7871465 due to
check-asan failure on the buildbot.
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/lib/AST/ASTDumper.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit a6d15d40701ad38f29e4ff93703b3ffa7b204611 by mascasa
Undo Revert "Ignore template instantiations if not in AsIs mode"

MaskRay already fixed the ASan bug.
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/lib/AST/ASTDumper.cpp
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
Commit 09b54e2799a11c6813796c70475d52e09898568b by richard
When re-checking an already-substituted template argument, don't lose
the reference-ness of the parameter's type.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
Commit ab8a4cec558562e75e67b133b9316f865c426273 by kiran.chandramohan
[MLIR] NFC : Move OpenMP dialect include to translation

The OpenMP dialect include is only needed for translation
and is not required in LLVM dialect.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D90510
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
Commit bd156fee054fd58b2724834687ffbaf0dbadc04a by joker.eph
Remove extra comma after macro, fix GCC warning (NFC)
The file was modifiedmlir/include/mlir/CAPI/IR.h
Commit c40126e74017deb7c8bc0b557ad95d2e73df7cc8 by spatel
[ARM] remove cost-kind predicate for most math op costs

This is based on the same idea that I am using for the basic model implementation
and what I have partly already done for x86: throughput cost is number of
instructions/uops, so size/blended costs are identical except in special cases
(for example, fdiv or other known-expensive machine instructions or things like
MVE that may require cracking into >1 uop)).

Differential Revision: https://reviews.llvm.org/D90692
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-add.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/ARM/phi-eliminate.ll
Commit 29d1fba7b5335d969e3e5daa84b7a25cd1fa75ef by thomasraoux
[mlir][vector] Make linalg FillOp vectorization use Transfer op

Differential Revision: https://reviews.llvm.org/D90474
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir
Commit 0fca6517118d435f9c2d7afe6135fd5f357509b5 by aheejin
[WebAssembly] Don't fold frame offset for global addresses

When machine instructions are in the form of
```
%0 = CONST_I32 @str
%1 = ADD_I32 %stack.0, %0
%2 = LOAD 0, 0, %1
```

In the `ADD_I32` instruction, it is possible to fold it if `%0` is a
`CONST_I32` from an immediate number. But in this case it is a global
address, so we shouldn't do that. But we haven't checked if the operand
of `ADD` is an immediate so far. This fixes the problem. (The case
applies the same for `ADD_I64` and `CONST_I64` instructions.)

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

Patch by Julien Jorge (jjorge@quarkslab.com)

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D90577
The file was modifiedllvm/test/CodeGen/WebAssembly/userstack.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
Commit 50c2f2b6f0ccb5bb72896dc14ed8e8c89fa7a0c7 by sivachandra
[libc][NFC][Obvious] Use the new macro to declare special constants in tests.
The file was modifiedlibc/test/src/math/fmax_test.cpp
The file was modifiedlibc/test/src/math/ceilf_test.cpp
The file was modifiedlibc/test/src/math/sqrt_test.cpp
The file was modifiedlibc/test/src/math/fmaxf_test.cpp
The file was modifiedlibc/test/src/math/fmaxl_test.cpp
The file was modifiedlibc/test/src/math/hypotf_test.cpp
The file was modifiedlibc/test/src/math/floor_test.cpp
The file was modifiedlibc/test/src/math/copysignf_test.cpp
The file was modifiedlibc/test/src/math/roundf_test.cpp
The file was modifiedlibc/test/src/math/ceill_test.cpp
The file was modifiedlibc/test/src/math/roundl_test.cpp
The file was modifiedlibc/test/src/math/truncl_test.cpp
The file was modifiedlibc/test/src/math/sqrtf_test.cpp
The file was modifiedlibc/test/src/math/copysignl_test.cpp
The file was modifiedlibc/test/src/math/floorl_test.cpp
The file was modifiedlibc/test/src/math/trunc_test.cpp
The file was modifiedlibc/test/src/math/fmin_test.cpp
The file was modifiedlibc/test/src/math/fminf_test.cpp
The file was modifiedlibc/test/src/math/fabsl_test.cpp
The file was modifiedlibc/test/src/math/fabs_test.cpp
The file was modifiedlibc/test/src/math/round_test.cpp
The file was modifiedlibc/test/src/math/truncf_test.cpp
The file was modifiedlibc/test/src/math/ceil_test.cpp
The file was modifiedlibc/test/src/math/fminl_test.cpp
The file was modifiedlibc/test/src/math/fabsf_test.cpp
The file was modifiedlibc/test/src/math/floorf_test.cpp
The file was modifiedlibc/test/src/math/sqrtl_test.cpp
The file was modifiedlibc/test/src/math/copysign_test.cpp
Commit 2e36e0dad52b07f0e856f939d530d47bbe8a74ac by mikeurbach
[MLIR] Move eraseArguments and eraseResults to FunctionLike

Previously, they were only defined for `FuncOp`.

To support this, `FunctionLike` needs a way to get an updated type
from the concrete operation. This adds a new hook for that purpose,
called `getTypeWithoutArgsAndResults`.

For now, `FunctionLike` continues to assume the type is
`FunctionType`, and concrete operations that use another type can hide
the `getType`, `setType`, and `getTypeWithoutArgsAndResults` methods.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D90363
The file was modifiedmlir/lib/IR/Block.cpp
The file was modifiedmlir/include/mlir/IR/Block.h
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/include/mlir/IR/FunctionSupport.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was addedmlir/lib/IR/FunctionSupport.cpp
The file was modifiedmlir/lib/IR/Function.cpp
The file was modifiedmlir/lib/IR/CMakeLists.txt
The file was modifiedmlir/lib/IR/Types.cpp
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/include/mlir/IR/Function.h
Commit 7ba393efe5fe861fe2905bb8c09801897fecc128 by pklausler
[flang] Dodge gcc 8.2.0 build problem (NFC)

Add explicit member initializers to the declarations of
some constexpr values added in a recent patch to avoid an
apparent problem with gcc 8.2.0 with default initializers.

Differential revision: https://reviews.llvm.org/D90696
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
Commit c298824f9caf407aedeb4958467fb2a18025638d by jurahul
[MLIR] Check for duplicate entries in attribute dictionary during custom parsing

- Verify that attributes parsed using a custom parser do not have duplicates.
- If there are duplicated in the attribute dictionary in the input, they get caught during the
  dictionary parsing.
- This check verifies that there is no duplication between the parsed dictionary and any
  attributes that might be added by the custom parser (or when the custom parsing code
  adds duplicate attributes).
- Fixes https://bugs.llvm.org/show_bug.cgi?id=48025

Differential Revision: https://reviews.llvm.org/D90502
The file was modifiedmlir/lib/Parser/AttributeParser.cpp
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/IR/OperationSupport.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
Commit 393b55380afcd8681db03dfbdea2f27ff3517d25 by Amara Emerson
[AArch64][GlobalISel] Add combine for G_EXTRACT_VECTOR_ELT to allow selection of pairwise FADD.

For the <2 x float> case, instead of adding another combine or legalization to
get it into a <4 x float> form, I'm just adding a GISel specific selection
pattern to cover it.

Differential Revision: https://reviews.llvm.org/D90699
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extractvec-faddp.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrGISel.td
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-faddp.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
Commit 492b1d78d5c555a34e3d21a99081e7dea0b53b55 by gjn
[NFC] Use [MC]Register in register allocation

Differential Revision: https://reviews.llvm.org/D90725
The file was modifiedllvm/lib/CodeGen/RegAllocPBQP.cpp
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/include/llvm/CodeGen/LiveRangeEdit.h
The file was modifiedllvm/lib/CodeGen/RegAllocBase.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocBasic.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
Commit cb9d0e8819ad7ca2f349a57d62ea2af02d631dfa by n.james93
[clangd][NFC] Make Located::operator->() use pointer sematics

This enables using the arrow operator to access members of the contained item.
```lang=c++
Located<std::string> X;
const char* CStr = X->c_str();
```
This is inline with how classes like `Optional` handle the arrow operator.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D90682
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
Commit 4b1120159274ca98b4a58064b116aba88372ac98 by michael.hliao
[MachineInstr] Add support for instructions with multiple memory operands.

- Basically iterate each pair of memory operands from both instructions
  and return true if any of them may alias.
- The exception are memory instructions without any memory operand. They
  may touch everything and could alias to any memory instruction.

Differential Revision: https://reviews.llvm.org/D89447
The file was modifiedllvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/test/CodeGen/X86/store_op_load_fold2.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/test/CodeGen/AArch64/merge-store-dependency.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-phireg.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst3.ll
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
The file was modifiedllvm/test/CodeGen/ARM/big-endian-neon-fp16-bitconv.ll
Commit 7ba3293691beb9a2c6ea4a81064c24580afe5816 by xiang1.zhang
[StackColoring] Conservatively merge catch point of V for catch(V)

Reviewed By: thanm, clin1

Differential Revision: https://reviews.llvm.org/D86673
The file was addedllvm/test/CodeGen/X86/pr48064.mir
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
Commit d34152324d87fc9d9dbba5ffe7c8e383a9296e65 by craig.topper
[RISCV] Add fshl with immediate tests for Zbt extension. NFC

We should be able to map this to fsri with adjustment of the
immediate.
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbt.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbt.ll
Commit 06926e0f012cbfb2e05c3ab4b9db6b0d057b6d0d by aeubanks
Port print-must-be-executed-contexts and print-mustexecute to NPM

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D90207
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Analysis/MustExecute/must_be_executed_context.ll
The file was modifiedllvm/lib/Analysis/MustExecute.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Analysis/MustExecute/const-cond.ll
The file was modifiedllvm/include/llvm/Analysis/MustExecute.h
Commit f61d1028fa55846aadcd69be17ba06bf8a710952 by joker.eph
Add a basic C API for the MLIR PassManager as well as a basic TableGen backend for creating passes

This is exposing the basic functionalities (create, nest, addPass, run) of
the PassManager through the C API in the new header: `include/mlir-c/Pass.h`.

In order to exercise it in the unit-test, a basic TableGen backend is
also provided to generate a simple C wrapper around the pass
constructor. It is used to expose the libTransforms passes to the C API.

Reviewed By: stellaraccident, ftynse

Differential Revision: https://reviews.llvm.org/D90667
The file was modifiedmlir/test/CAPI/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/include/mlir/CAPI/IR.h
The file was addedmlir/include/mlir/CAPI/Pass.h
The file was addedmlir/lib/CAPI/Transforms/CMakeLists.txt
The file was addedmlir/test/CAPI/pass.c
The file was addedmlir/lib/CAPI/Transforms/Passes.cpp
The file was addedmlir/tools/mlir-tblgen/PassCAPIGen.cpp
The file was addedmlir/include/mlir-c/Pass.h
The file was modifiedmlir/include/mlir/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/CMakeLists.txt
The file was addedmlir/include/mlir-c/Transforms.h
The file was modifiedmlir/test/lit.cfg.py
The file was addedmlir/lib/CAPI/IR/Pass.cpp
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
Commit b4fa6d3e13ef66baec8c2610c5ce39f3e470da12 by joker.eph
Switch the CallbackOstream wrapper in the MLIR C API to an Unbuffered stream

This delegate the control of the buffering to the user of the API. This
seems like a safer option as messages are immediately propagated to the
user, which may lead to less surprising behavior during debugging for
instance.
In terms of performance, a user can add a buffered stream on the other
side of the callback.

Differential Revision: https://reviews.llvm.org/D90726
The file was modifiedmlir/lib/CAPI/IR/Diagnostics.cpp
The file was modifiedmlir/lib/CAPI/IR/AffineMap.cpp
The file was modifiedmlir/lib/CAPI/IR/AffineExpr.cpp
The file was modifiedmlir/include/mlir/CAPI/Utils.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit 065047ab01b30ead4c7b618e57266482fb61d901 by joker.eph
Enable -Werror-implicit-function-declaration by default (NFC)

This is useful in C source files where it is easy for a typo to be
silently assumed by the compiler to be an implicit declaration.

Differential Revision: https://reviews.llvm.org/D90727
The file was modifiedmlir/CMakeLists.txt
Commit 36cf1e7d0e0e8aaea1f33bfa12d7a285756b75ba by martin
Revert "[AggressiveInstCombine] Generalize foldGuardedRotateToFunnelShift to generic funnel shifts"

This reverts commit 59b22e495c15d2830f41381a327f5d6bf49ff416.

That commit broke building for ARM and AArch64, reproducible like this:

$ cat apedec-reduced.c
a;
b(e) {
  int c;
  unsigned d = f();
  c = d >> 32 - e;
  return c;
}
g() {
  int h = i();
  if (a)
    h = h << a | b(a);
  return h;
}
$ clang -target aarch64-linux-gnu -w -c -O3 apedec-reduced.c
clang: ../lib/Transforms/InstCombine/InstructionCombining.cpp:3656: bool llvm::InstCombinerImpl::run(): Assertion `DT.dominates(BB, UserParent) && "Dominance relation broken?"' failed.

Same thing for e.g. an armv7-linux-gnueabihf target.
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/rotate.ll
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/funnel.ll
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
Commit ebe12df896528a15c237f18dbdf8d24e9ec527ea by stellaraccident
Fix linkage error on mlirLogicalResultIsFailure.

* For C, this needs to be inline static like the others.

Differential Revision: https://reviews.llvm.org/D90740
The file was modifiedmlir/include/mlir-c/Support.h
Commit 8260db752c91e0c368b88607132be0a9cd9362ba by stellaraccident
[mlir][Python] Return and accept OpView for all functions.

* All functions that return an Operation now return an OpView.
* All functions that accept an Operation now accept an _OperationBase, which both Operation and OpView extend and can resolve to the backing Operation.
* Moves user-facing instance methods from Operation -> _OperationBase so that both can have the same API.
* Concretely, this means that if there are custom op classes defined (i.e. in Python), any iteration or creation will return the appropriate instance (i.e. if you get/create an std.addf, you will get an instance of the mlir.dialects.std.AddFOp class, getting full access to any custom API it exposes).
* Refactors all __eq__ methods after realizing the proper way to do this for _OperationBase.

Differential Revision: https://reviews.llvm.org/D90584
The file was modifiedmlir/lib/Bindings/Python/Globals.h
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
The file was modifiedmlir/lib/Bindings/Python/IRModules.h
The file was modifiedmlir/test/Bindings/Python/ir_operation.py
The file was modifiedmlir/lib/Bindings/Python/MainModule.cpp
Commit fd13d7ce09af2bcad6976b8f5207874992bdd908 by courbet
Re-land "[llvm-exegesis] Save target state before running the benchmark.

Use `__builtin_ia32_fxsave64` under __GNUC__, (_fxsave64) does not exist in old versions of
gcc (pre-9.1).

This reverts commit e128f9cafca4e72b089fcd1381af5a1ec656d987.
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
The file was addedllvm/test/tools/llvm-exegesis/X86/uops-FLDENVm.s
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
Commit 8cfc872129a99782ab07a19171bf8eace85589ae by courbet
Revert "Re-land "[llvm-exegesis] Save target state before running the benchmark."

Still issues on some architectures.

This reverts commit fd13d7ce09af2bcad6976b8f5207874992bdd908.
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was removedllvm/test/tools/llvm-exegesis/X86/uops-FLDENVm.s
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Commit 0314dff051848bae3d929e11207b2a0acfa41254 by i
[DebugInfo] Delete unused DwarfUnit::addConstantFPValue & addConstantValue overloads. NFC

This functions appear to be unused for many years.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Commit a4a4c503708f8bbf539147187faf180a80b4eea9 by praveen
[Flang][OpenMP] Add semantic checks for OpenMP copyin clause.

Add the semantic checks for the OpenMP 4.5 - 2.15.4.1 copyin clause.

Resolve OpenMPThreadprivate directive since the list of items specified
in copyin clause should be threadprivate.

Test cases : omp-copyin01.f90, omp-copyin02.f90, omp-copyin03.f90,
             omp-copyin04.f90, omp-copyin05.f90

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D89385
The file was addedflang/test/Semantics/omp-copyin05.f90
The file was modifiedflang/lib/Semantics/resolve-directives.cpp
The file was modifiedflang/test/Semantics/omp-combined-constructs.f90
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was addedflang/test/Semantics/omp-copyin04.f90
The file was addedflang/test/Semantics/omp-copyin01.f90
The file was addedflang/test/Semantics/omp-copyin02.f90
The file was addedflang/test/Semantics/omp-copyin03.f90
Commit 3bec07f91fb1aea7a53ebc760f0511be1b5409f4 by zeratul976
[clangd] Store the containing symbol for refs

This is needed to implement call hierarchy.

Differential Revision: https://reviews.llvm.org/D89670
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.h
The file was modifiedclang-tools-extra/clangd/index/Serialization.cpp
The file was modifiedclang-tools-extra/clangd/index/Ref.h
Commit 79716559b5acee891d5664315d7862c5b5c1d34f by zinenko
[mlir] Add a generic while/do-while loop to the SCF dialect

The new construct represents a generic loop with two regions: one executed
before the loop condition is verifier and another after that. This construct
can be used to express both a "while" loop and a "do-while" loop, depending on
where the main payload is located. It is intended as an intermediate
abstraction for lowering, which will be added later. This form is relatively
easy to target from higher-level abstractions and supports transformations such
as loop rotation and LICM.

Differential Revision: https://reviews.llvm.org/D90255
The file was modifiedmlir/lib/Interfaces/ControlFlowInterfaces.cpp
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/test/Dialect/SCF/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/test/Dialect/SCF/invalid.mlir
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
Commit 4c0e255c98cc0e7769be9c9b2700d96e76aec99f by zinenko
[mlir] Add lowering to CFG for WhileOp

The lowering is a straightforward inlining of the "before" and "after" regions
connected by (conditional) branches. This plugs the WhileOp into the
progressive lowering scheme. Future commits may choose to target WhileOp
instead of CFG when lowering ForOp.

Differential Revision: https://reviews.llvm.org/D90603
The file was modifiedmlir/test/Conversion/SCFToStandard/convert-to-cfg.mlir
The file was modifiedmlir/lib/Conversion/SCFToStandard/SCFToStandard.cpp
Commit 8475fa6ed6bb27d5abad418a7f77e9430aa825eb by zinenko
[mlir] Add a simpler lowering pattern for WhileOp representing a do-while loop

When the "after" region of a WhileOp is merely forwarding its arguments back to
the "before" region, i.e. WhileOp is a canonical do-while loop, a simpler CFG
subgraph that omits the "after" region with its extra branch operation can be
produced. Loop rotation from general "while" to "if { do-while }" is left for a
future canonicalization pattern when it becomes necessary.

Differential Revision: https://reviews.llvm.org/D90604
The file was modifiedmlir/test/Conversion/SCFToStandard/convert-to-cfg.mlir
The file was modifiedmlir/lib/Conversion/SCFToStandard/SCFToStandard.cpp
Commit 8383fddc4fa9b4e61954e5ac93b00719a39d2291 by courbet
Re-land "[llvm-exegesis] Save target state before running the benchmark."

The X86 exegesis target is never executed run on non-X86 hosts, disable
X86 instrinsic code on non-X86 targets.

This reverts commit 8cfc872129a99782ab07a19171bf8eace85589ae.
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was addedllvm/test/tools/llvm-exegesis/X86/uops-FLDENVm.s
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
Commit 73b6cb67dcdad25317f130966f59c6d0399624f8 by sander.desmalen
[NFCI] Replace AArch64StackOffset by StackOffset.

This patch replaces the AArch64StackOffset class by the generic one
defined in TypeSize.h.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D88983
The file was removedllvm/lib/Target/AArch64/AArch64StackOffset.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/unittests/Target/AArch64/CMakeLists.txt
The file was addedllvm/unittests/Target/AArch64/DecomposeStackOffsetTest.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was removedllvm/unittests/Target/AArch64/TestStackOffset.cpp
The file was modifiedllvm/include/llvm/Support/TypeSize.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Commit 707d69ff32309bf244552c1a8e7335bb7bbc951e by Vitaly Buka
Use LLD for Android compiler-rt

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D90720
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/globals-gc-sections-lld.cpp
Commit 9c31e12609e1935eb84a2497ac08a49e3139859a by Vitaly Buka
[sanitizer] Remove -Wno-non-virtual-dtor

Warning should be fixed with d48f2d7c02743571075bb7812bb4c9e634e51ed1
The file was modifiedcompiler-rt/lib/interception/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/asan/tests/CMakeLists.txt
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
Commit eb611930b6abf1af91f1a8e41f6a632a523ea3bb by david.green
[ARM] Remove unused variable. NFC
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 045c3692099a9df7655d1637d7153c69bd88b7ff by courbet
[llvm-exegesis] Fix unused variable warning.
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
Commit e86205680ee3f6a7dbec9c3d07fae62ad161e4e3 by Vitaly Buka
[sanitizer] Remove ANDROID_NDK_VERSION
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Commit 5d64574301836c4c17127794121d49a62d24f803 by pavel
[lldb] Delete Value::Vector class

This class and it's surroundings contain a lot of shady code, but as far
as I can tell all of that code is unreachable (there is no code actually
setting the value to eValueTypeVector).

According to history this class was introduced in 2012 in
r167033/0665a0f09. At that time, the code seemed to serve some purpose,
and it had two entry points (in Value::SetContext and
ClangExpressionDeclMap::LookupDecl). The first entry point was deleted
in D17897 and the second one in r179842/44342735.

The stated purpose of the patch introducing this class was to fix
TestRegisters.py, and "expr $xmm0" in particular. Both of these things
function perfectly well these days without this class.
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/source/Core/ValueObject.cpp
The file was modifiedlldb/source/Core/ValueObjectVariable.cpp
The file was modifiedlldb/source/Target/ABI.cpp
The file was modifiedlldb/source/Core/Value.cpp
The file was modifiedlldb/include/lldb/Core/Value.h
Commit a57550def15e77e33dd6a4de22c83885c8fdc6f1 by kadircet
[clangd] Pass parameters to config apply functions

This will enable some fragments to apply their features selectively.

Depends on D90270.

Differential Revision: https://reviews.llvm.org/D90455
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
Commit af658d920e2b677117d52fdb83a871f2ca5a98a0 by courbet
[llvm-exegesis][X86] Save and restore eflags.

This is needed to benchmark instruction that touch EFLAGS (e.g. STD: set direction flag).

Differential Revision: https://reviews.llvm.org/D90742
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was addedllvm/test/tools/llvm-exegesis/X86/uops-STD.s
Commit 7faf62a80bfc3a9dfe34133681fcc31f8e8d658b by qiucofan
[Clang] Add more fp128 math library function builtins

Since glibc has supported math library functions conforming IEEE 128-bit
floating point types on some platform (like ppc64le), we can fix clang's
math builtins missing this type.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D90593
The file was modifiedclang/test/CodeGen/math-builtins.c
The file was modifiedclang/test/CodeGen/constrained-math-builtins.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/Builtins.def
Commit 694c16a82386d9d961b6b8b23acabcbda7e7d876 by Stefan Gränitz
[JITLink][ELF] Omit temporary labels in tests

Oneshot temporary labels for declaring function size can be omitted. Follow-up from D90331.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D90676
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_common.s
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s
Commit d007bbd986d9ab004c34efaca27aff4a7633b9e9 by andrzej.warzynski
[mlir] Fix failing shared libraries build

Failing buildbot: http://lab.llvm.org:8011/#/builders/33/builds/478

Patch that introduced the breaking change: https://reviews.llvm.org/D90667
The file was modifiedmlir/lib/CAPI/IR/CMakeLists.txt
Commit 985a5d970aa9223dc9b61b93811ceebd77de205f by Vitaly Buka
[NFC][UBSAN] Replace "count 0" with FileCheck

Unrelated system warnings may confuse "check 0"
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/integer-sign-change-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-or-sign-change-blacklist.c
Commit 76313288cd7dcd583e1f074f7165ebd54a930b93 by sebastian.neubauer
[AMDGPU] Fix ieee mode default value

Previously, the default value for ieee mode was
- on for compute kernels and compute shaders,
- off for all shaders except compute shaders.

This commit changes the default to be
- on for compute kernels,
- off for shaders.

This aligns the default value with the settings that are actually in
use.  To my knowledge, all users of shader calling conventions (mesa and
llpc) disable the ieee mode by default.

Differential Revision: https://reviews.llvm.org/D89388
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgcn-ieee.ll
Commit 1124bf4ab7777448b994fa399022f1a8822c8295 by sebastian.neubauer
[AMDGPU] Set rsrc1 flags for graphics shaders

Before they were only set for compute kernels and compute shaders but
not for other shaders.

Differential Revision: https://reviews.llvm.org/D89399
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
The file was addedllvm/lib/Target/AMDGPU/SIProgramInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIProgramInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIDefines.h
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
Commit 93cbf622fc3c185c6b0436c9e0c8ecdf0e02a226 by jonathanchesterfield
[libomptarget][nfc] Build amdgcn deviceRTL with nogpulib
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
Commit 825e517e340a2218e375e315fa9941f9ac9e6439 by llvm-dev
[DAG] computeKnownBits - Replace ISD::MUL handling with the common KnownBits::computeForMul implementation
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit f202d32216c64b1ae8853a0506b85674cf52126a by nicolas.vasilache
[mlir][SCF] Add canonicalization pattern for scf::For to eliminate yields that just forward.

For instance:
```
func @for_yields_3(%lb : index, %ub : index, %step : index) -> (i32, i32, i32) {
  %a = call @make_i32() : () -> (i32)
  %b = call @make_i32() : () -> (i32)
  %r:3 = scf.for %i = %lb to %ub step %step iter_args(%0 = %a, %1 = %a, %2 = %b) -> (i32, i32, i32) {
    %c = call @make_i32() : () -> (i32)
    scf.yield %0, %c, %2 : i32, i32, i32
  }
  return %r#0, %r#1, %r#2 : i32, i32, i32
}
```

Canonicalizes as:
```
  func @for_yields_3(%arg0: index, %arg1: index, %arg2: index) -> (i32, i32, i32) {
    %0 = call @make_i32() : () -> i32
    %1 = call @make_i32() : () -> i32
    %2 = scf.for %arg3 = %arg0 to %arg1 step %arg2 iter_args(%arg4 = %0) -> (i32) {
      %3 = call @make_i32() : () -> i32
      scf.yield %3 : i32
    }
    return %0, %2, %1 : i32, i32, i32
  }
```

Differential Revision: https://reviews.llvm.org/D90745
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
Commit f2412d372d93b8c9f6e08fd2166e1e161ba4e6f8 by kerry.mclaughlin
[SVE][CodeGen] Lower scalable integer vector reductions

This patch uses the existing LowerFixedLengthReductionToSVE function to also lower
scalable vector reductions. A separate function has been added to lower VECREDUCE_AND
& VECREDUCE_OR operations with predicate types using ptest.

Lowering scalable floating-point reductions will be addressed in a follow up patch,
for now these will hit the assertion added to expandVecReduce() in TargetLowering.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D89382
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was addedllvm/test/CodeGen/AArch64/sve-int-reduce.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
The file was addedllvm/test/CodeGen/AArch64/sve-int-pred-reduce.ll
Commit 351c10cc72143c6ff0b39ce94ddeb0d9f85d2e58 by simon.moll
[VE] Add +vpu attribute

`+vpu` controls whether VEISelLowering adds any vregs.  This defaults to
`-vpu` to have scalar code generation out of the box.  We bring up
vector isel under the `+vpu` flag. Once vector isel is stable we switch
to `+vpu` and advertise vregs and vops in TTI.

Reviewed By: kaz7

Differential Revision: https://reviews.llvm.org/D90465
The file was modifiedllvm/lib/Target/VE/VETargetTransformInfo.h
The file was modifiedllvm/lib/Target/VE/VE.td
The file was modifiedllvm/lib/Target/VE/VESubtarget.h
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/lib/Target/VE/VESubtarget.cpp
The file was modifiedllvm/lib/Target/VE/VEISelLowering.h
The file was addedllvm/test/CodeGen/VE/Vector/feature_vpu.ll
Commit 5c9d2db42db9ae7d33a494fb5b4f3ed81c1c587a by thakis
[gn build] try to port 707d69ff32309b
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Commit 1581331dff0c0c543cfc94bd87fd2f7f8d3d211c by llvmgnsyncbot
[gn build] Port 1124bf4ab77
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Commit beb825168dc495c2f192717fe4aaed9718aee654 by llvmgnsyncbot
[gn build] Port 73b6cb67dcd
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Target/AArch64/BUILD.gn
Commit 9287eb352e6c8107de7b2714ed5e1ae89524adc2 by courbet
[llvm-exegesis] Fix rGaf658d920e2b

Add missing header.

```
../../llvm/tools/llvm-exegesis/lib/X86/Target.cpp(606,14): error: use of undeclared identifier '__readeflags'
    Eflags = __readeflags();
```
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
Commit 1664462d70cc399c6a95b88a9e8e73cb44d8a151 by frgossen
[MLIR] Support walks over regions and blocks

Relands
- [MLIR] Support walks over regions and blocks
         (dbae3d50f114a8ec0a7c3211e3b1b9fb6ef22dbd)
- [MLIR] Use llvm::is_one_of in walk templates
         (56299b1e58bf3720dff2fe60163739ee1554a371)

Differential Revision: https://reviews.llvm.org/D90753
The file was modifiedmlir/include/mlir/IR/Visitors.h
The file was modifiedmlir/include/mlir/IR/Operation.h
The file was modifiedmlir/include/mlir/Analysis/Liveness.h
The file was modifiedmlir/lib/Analysis/Liveness.cpp
The file was modifiedmlir/lib/IR/Visitors.cpp
The file was modifiedmlir/include/mlir/IR/Block.h
Commit 85ff2705cdea60e3cf8fc49af7588c78638ca04f by nicolas.vasilache
[mlir][std] Add DimOp folding for dim(tensor_load(m)) -> dim(m).

Differential Revision: https://reviews.llvm.org/D90755
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 93f3d7f7b3a902ad9e90ef0d9bf147582a2cf620 by lebedev.ri
[Reassociate] Guard `add`-like `or` conversion into an `add` with profitability check

This is slightly better compile-time wise,
since we avoid potentially-costly knownbits analysis that will
ultimately not allow us to actually do anything with said `add`.
The file was modifiedllvm/lib/Transforms/Scalar/Reassociate.cpp
The file was modifiedllvm/test/Transforms/Reassociate/add-like-or.ll
Commit 5765edbf9e7d3db2b4547681488ac4f9544bc53e by spatel
[InstSimplify] add vector cmp tests; NFC
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit c74db55ff56bbe90259e638136c7c2b3be5c24ca by spatel
[InstSimplify] allow vector folds for icmp Pred (1 << X), 0x80
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit f1a96de1bc8db527b5eb820c36c17e275900ca2b by Louis Dionne
[libc++] Don't run tests in a shell in the default executor
The file was modifiedlibcxx/utils/run.py
The file was removedlibcxx/test/libcxx/selftest/shell-escape-pipes.sh.cpp
Commit bbd15062d2e15b7d3426327c5f7d506e016e9c0c by Louis Dionne
[libc++] Remove test that is irrelevant since f1a96de1bc8d

We don't want to give the impression that we allow running arbitrary
shell commands under %{exec}, which isn't the case.
The file was removedlibcxx/test/libcxx/selftest/shell-escape.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/shell-no-escape-builtins.sh.cpp
Commit ac6799d25a59e262191e0babcd7024537fda467e by pavel
[lldb] Improve RegisterValue::GetScalarValue

Using Scalar::SetValueFromData, we make the code simpler, handle
big-endian systems properly, _and_ avoid type aliasing issues.
The file was modifiedlldb/source/Utility/RegisterValue.cpp
The file was modifiedlldb/unittests/Utility/RegisterValueTest.cpp
Commit 5e92acfc82bad332da5bc0b7b5c19c2bdca73dd6 by paul
[TableGen] [IR] Eliminate unnecessary recursive help class.

Differential Revision: https://reviews.llvm.org/D90532
The file was modifiedllvm/include/llvm/IR/IntrinsicsNVVM.td
Commit d56cd4291e40c91fd04a36681ea053b794dc5e7b by paul
[TableGen] Add !interleave operator to concatenate a list of values with delimiters

Add a test. Use it in some TableGen files.

Differential Revision: https://reviews.llvm.org/D90469
The file was modifiedllvm/include/llvm/TableGen/Record.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedllvm/lib/TableGen/TGLexer.cpp
The file was modifiedllvm/lib/TableGen/TGParser.cpp
The file was modifiedllvm/docs/TableGen/index.rst
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
The file was addedllvm/test/TableGen/interleave.td
The file was modifiedllvm/lib/TableGen/Record.cpp
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedllvm/lib/Target/NVPTX/NVPTXIntrinsics.td
The file was modifiedllvm/lib/TableGen/TGLexer.h
Commit aa662f61deca10ba49cd117909d632dd2125898b by vyng
Disable emulated-tls for  compiler-rt+tests on Android if ELF_TLS is presence.

This is necessary for enabling LSAN on Android (D89251) because:
- LSAN will have false negatives if run with emulated-tls.
- Bionic ELF-TLS is not compatible with Gold (hence the need for LLD)

Differential Revision: https://reviews.llvm.org/D89615
The file was modifiedcompiler-rt/lib/lsan/CMakeLists.txt
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/use_tls_test.cpp
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 6855a60fd6ea719af60814c949e7f23ca4fe8a75 by vyng
[NFC]Remove unused variable
Accidentally committed in D89615
The file was modifiedcompiler-rt/test/lit.common.configured.in
Commit 7e2edf973b64b3554404e527f506ad5bc44d9cba by etiotto
[compiler-rt][AIX]: Link compiler-rt profile library when -fprofile-generate is specified

This patch enhances the clang driver to link the runtime profile
library on AIX when the -fprofile-generate option is used.

Reviewed By: phosek

Differentail Revision: https://reviews.llvm.org/D90641
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
Commit 45e0f651623d5507a0ea85533c960956573533d7 by aaron
Add a floating-point suffix to silence warnings; NFC

This silences about 6000 warnings about truncating from double to float
with Visual Studio.
The file was modifiedclang-tools-extra/clangd/quality/CompletionModelCodegen.py
Commit 2dec36e5326eae08507464bbe19bf1004898293a by Louis Dionne
[libc++] NFCI: Refactor chrono.cpp to make it easier to support new platforms

Also simplify a few conditionals along the way for readability.
The file was modifiedlibcxx/src/chrono.cpp
Commit b36cb12a494e13d252f611cc323156bb1cac0291 by llvm-dev
Fix gcc braces warning. NFCI.

gcc warns that the EXPECT_TRUE macro isn't surrounded by if() {} - we already do this in other cases in the file.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 93c2a9ae078daaf1c182472d63200db3783c67d5 by llvm-dev
Use isa<> instead of dyn_cast<> to avoid unused variable warning. NFCI.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
Commit e2d24d91c2a11ea488844d20ef5fabd05936a668 by pavel
[lldb/Utility] Delete Scalar::[US]IntValueIsValidForSize

It's unused, and the same functionality is available in llvm (is(U)IntN
in MathExtras.h).
The file was modifiedlldb/include/lldb/Utility/Scalar.h
Commit 586c375fa3f0bb6f685a69ea43d7f235b76b6a9f by pavel
[lldb] Remove [US]IntValueIsValidForSize from CommandObjectMemory

Use llvm::is(U)IntN (MathExtras.h) instead.
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
Commit bf027da04c4159fda2403038f9b4a97454a3b625 by epastor
[ms] [llvm-ml] Enable support for MASM-style macro procedures

Allows the MACRO directive to define macro procedures with parameters and macro-local symbols.

Supports required and optional parameters (including default values), and matches ml64.exe for its macro-local symbol handling (up to 65536 macro-local symbols in any translation unit).

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D89729
The file was modifiedllvm/lib/MC/MCAsmMacro.cpp
The file was addedllvm/test/tools/llvm-ml/macro.test
The file was addedllvm/test/tools/llvm-ml/macro_errors.test
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCAsmMacro.h
Commit ea606cced0583d1dbd4c44680601d1d4e9a56e58 by aschwaighofer
Start of an llvm.coro.async implementation

This patch adds the `async` lowering of coroutines.

This will be used by the Swift frontend to lower async functions. In
contrast to the `retcon` lowering the frontend needs to be in control
over control-flow at suspend points as execution might be suspended at
these points.

This is very much work in progress and the implementation will change as
it evolves with the frontend. As such the documentation is lacking
detail as some of it might change.

rdar://70097093

Differential Revision: https://reviews.llvm.org/D90612
The file was modifiedllvm/docs/Coroutines.rst
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInstr.h
The file was modifiedllvm/lib/Transforms/Coroutines/CoroEarly.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-async.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/Coroutines.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroCleanup.cpp
Commit d1b2a523191e22806aee381d54015b94b9dcad7a by 1.int32
[clang-tidy] Add signal-handler-check for SEI CERT rule SIG30-C

SIG30-C. Call only asynchronous-safe functions within signal handlers

First version of this check, only minimal list of functions is allowed
("strictly conforming" case), for C only.

Differential Revision: https://reviews.llvm.org/D87449
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/cert-sig30-c.rst
The file was addedclang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-signal-handler.c
The file was addedclang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/signal.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
The file was addedclang-tools-extra/docs/clang-tidy/checks/bugprone-signal-handler.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdlib.h
Commit 2ce5b8f78c65a1aa4b1017807f59cc28e222040c by llvmgnsyncbot
[gn build] Port d1b2a523191
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Commit ed424b42880e256f579d4bc9fb13d2156d8e8eb4 by kadircet
[clangd] Cleanup dependencies around RemoteIndex

RemoteIndexClient implementations only depends on clangdSupport for
logging functionality and has no dependence on clangDeamon itself. This clears
out that link time dependency and enables depending on it in clangDeamon itself,
so that we can have other index implementations that makes use of the
RemoteIndex.

Differential Revision: https://reviews.llvm.org/D90746
The file was modifiedclang-tools-extra/clangd/index/remote/unimplemented/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/index/remote/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
Commit 6b67e22ea3941019a617282a49b37ee12ee8a0db by vyng
Fix breakage in D89615 (due to cmake version 3.16.5)

Differential Revision: https://reviews.llvm.org/D90764
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 9d58dab6f6587f759c7fe6f30008097d8a17559d by Louis Dionne
[libc++] Split off part of a test that require signals into a separate test

This will allow running the basic test on all platforms, and the part that
requires signals on platforms that support them only.
The file was modifiedlibcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
The file was addedlibcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp
Commit 42f19166405878459e27bf682ad38b8f1ac43d0a by aschwaighofer
Revert "Start of an llvm.coro.async implementation"

This reverts commit ea606cced0583d1dbd4c44680601d1d4e9a56e58.

This patch causes memory sanitizer failures sanitizer-x86_64-linux-fast.
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was removedllvm/test/Transforms/Coroutines/coro-async.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroCleanup.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/Coroutines.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h
The file was modifiedllvm/docs/Coroutines.rst
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInstr.h
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/Transforms/Coroutines/CoroEarly.cpp
Commit 6706342f48bea80cb5d801c45837b36eb2ce418d by Louis Dionne
[libc++] Remove the ability to not install the support headers

Those are part of the library, and shipping them just adds a tiny bit of
size to the distribution. This was originally added in b422ecc7de0b to
make it possible to match the Makefile build, which doesn't exist anymore.

The upside is build system simplification.
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
Commit 91c3c67c407daa0339585540b191e685a411c6ba by Tom.Weaver
[Dexter] add an optnone attribute debug experience test for loops.

adds a test that checks debugging experience in functions that are marked
__attribute__((optnone)) and have loops inside them.

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

Author:    Nabeel Omer <nabeel.omer@sony.com>
The file was addeddexter-tests/optnone-loops.cpp
Commit 3ebcef4b737746bd8c60ff77b53f4fc79ac4b4d8 by Tom.Weaver
[Dexter] add visual studio 2019 debugger support

Adds visual studio debugger support to dexter via option --debugger vs2019

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

Author:    Nabeel Omer <nabeel.omer@sony.com>
The file was addeddebuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio2019.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/Debuggers.py
Commit 0b8711e1af97d6c82dc9d25c12c5a06af060cc56 by llvm-dev
[GlobalISel] GISelKnownBits::computeKnownBitsImpl - Replace TargetOpcode::G_MUL handling with the common KnownBits::computeForMul implementation

Avoid code duplication
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit ecbd0413af5abdb08046b50f526da4722aafff2b by llvm-dev
[KnownBits] KnownBits::computeForMul - avoid unnecessary APInt copies. NFCI.

Use const references instead.
The file was modifiedllvm/lib/Support/KnownBits.cpp
Commit aeb4b1a9d8c9f9c4a4530cd3f2394b52c2187d51 by joker.eph
Add facilities to print/parse a pass pipeline through the C API

This also includes and exercise a register function for individual
passes.

Differential Revision: https://reviews.llvm.org/D90728
The file was modifiedmlir/lib/CAPI/IR/Pass.cpp
The file was modifiedmlir/test/CAPI/pass.c
The file was modifiedmlir/include/mlir-c/Pass.h
The file was modifiedmlir/tools/mlir-tblgen/PassCAPIGen.cpp
Commit f7649f2d131fefe23d53cc87bf7a06c1a417de3b by alexshap
[llvm-objcopy][MachO] Make isValidMachOCannonicalName static

This diff makes the function isValidMachOCannonicalName static.
NFC.

Test plan: make check-all
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit ee142c4988f491f3eef0f28739e6e99867912731 by i
[llvm-objcopy] Make --set-section-flags work with --add-section

This matches behavior GNU objcopy and can simplify clang-offload-bundler
(which currently works around the issue by invoking llvm-objcopy twice).

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D90438
The file was addedllvm/test/tools/llvm-objcopy/ELF/add-section-and-set-flags.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/add-symbol-new-symtab.test
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
Commit 31a0b2834f885b61d3d278c01e376c3856230056 by sebastian.neubauer
[AMDGPU] Fix iterating in SIFixSGPRCopies

The insertion of waterfall loops splits the current basic block into
three blocks. So the basic block that we iterate over must be updated.

This failed assert(!NodePtr->isKnownSentinel()) in ilist_iterator for
divergent calls in branches before.

Differential Revision: https://reviews.llvm.org/D90596
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-call.ll
Commit d8f531c42c714da735d108d4ce939444b31f0b33 by aeubanks
[NewPM] Don't run before pass instrumentation on required passes

This allows those instrumentation to log when they decide to skip a
pass. This provides extra helpful info for optnone functions and also
will help with opt-bisect.

Have OptNoneInstrumentation print when it skips due to seeing optnone.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D90545
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/test/Feature/optnone-opt.ll
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
The file was modifiedllvm/include/llvm/IR/PassInstrumentation.h
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit bbeb08497ce5816bcd92989e21eea632993f8cea by i
Revert "[GlobalISel] GISelKnownBits::computeKnownBitsImpl - Replace TargetOpcode::G_MUL handling with the common KnownBits::computeForMul implementation"

This reverts commit 0b8711e1af97d6c82dc9d25c12c5a06af060cc56 which broke GlobalISelTests AArch64GISelMITest.TestKnownBits
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit 58adab34c4801e835bf1a55efbd1213b201660fb by Joseph.Nash
[AMDGPU] Resolve pseudo registers at encoding uses

Pseudo-registers allow different register encodings
between gpu generations. Make sure we resolve the
pseudo regs to real regs whenever we get their
hardware encoding.
Using the correct encodings revealed a register
bank conflict and an unnecessary write dependency.
Tests have been updated to match.

Reviewed By: rampitec

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

Change-Id: I73c154cd24aecc820993b50bebaf4df97a5710ca
The file was modifiedllvm/test/CodeGen/AMDGPU/flat-scratch.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp
Commit 3701e33a2213f2b2307d805bd843656bafcb60cf by craig.topper
[RISCV] Remove custom isel for (srl (shl val, 32), imm). Use pattern instead. NFCI

We don't need custom matching, we just a need a predicate to check
the immediate is greater than 32. We can use the existing ImmSub32
to adjust the immediate.

I've also used the new predicate in the other location that used
ImmSub32. I tried to create a test case where we would break without
the greater than 32 check on that pattern, but DAG combine defeated me.
Still seemed safer to have it.

Differential Revision: https://reviews.llvm.org/D90546
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit 900ec97bbe3254329a77d60201421740b3b2e860 by ctetreau
[UBSan] Cannot negate smallest negative signed integer

Silence warning Undefined Behavior Sanitzer warning:
runtime error: negation of -9223372036854775808 cannot be represented in type 'int64_t' (aka 'long'); cast to an unsigned type to negate this value to itself

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D90710
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit c7994bd939f3f4af0f081a55122c7cde68154e3c by joker.eph
Switch from C-style comments `/* ... */` to C++ style `//` (NFC)

This is mostly a scripted update, it may not be perfect.

function replace() {
  FROM=$1
  TO=$2
  git grep "$FROM" $REPO_PATH |cut -f 1 -d : | sort -u | \
    while read file; do
      sed -i "s#$FROM#$TO#" $file ;
    done
}

replace '|\*===----------------------------------------------------------------------===\*|$' '//===----------------------------------------------------------------------===//'
replace '^/\* =' '//=='
replace '^/\*=' '//='
replace '^\\\*=' '//='
replace '^|\*' '//'
replace ' \*|$' ''
replace '=\*\\$' '=//'
replace '== \*/$' '===//'
replace '==\*/$' '==//'
replace '^/\*\*\(.*\)\*/$' '///\1'
replace '^/\*\(.*\)\*/$' '//\1'
replace '//============================================================================//' '//===----------------------------------------------------------------------===//'

Differential Revision: https://reviews.llvm.org/D90732
The file was modifiedmlir/include/mlir-c/Transforms.h
The file was modifiedmlir/include/mlir-c/StandardDialect.h
The file was modifiedmlir/lib/CAPI/IR/StandardAttributes.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/CRunnerUtils.h
The file was modifiedmlir/test/mlir-cpu-runner/include/mlir_test_cblas.h
The file was modifiedmlir/lib/CAPI/IR/AffineExpr.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/AsyncRuntime.h
The file was modifiedmlir/test/CAPI/pass.c
The file was modifiedmlir/test/mlir-cpu-runner/include/mlir_test_cblas_interface.h
The file was modifiedmlir/include/mlir-c/AffineMap.h
The file was modifiedmlir/include/mlir/CAPI/Utils.h
The file was modifiedmlir/docs/OpDefinitions.md
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir-c/StandardAttributes.h
The file was modifiedmlir/include/mlir-c/Registration.h
The file was modifiedmlir/lib/CAPI/IR/Pass.cpp
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir-c/AffineExpr.h
The file was modifiedmlir/include/mlir/CAPI/Wrap.h
The file was modifiedmlir/include/mlir/ExecutionEngine/RunnerUtils.h
The file was modifiedmlir/include/mlir-c/Pass.h
The file was modifiedmlir/include/mlir-c/Diagnostics.h
The file was modifiedmlir/include/mlir-c/StandardTypes.h
The file was modifiedmlir/include/mlir-c/Bindings/Python/Interop.h
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/include/mlir-c/Support.h
The file was modifiedmlir/lib/CAPI/IR/StandardTypes.cpp
The file was modifiedmlir/test/CAPI/ir.c
Commit 857563eaf02f7aa3cc3748e2c36b45ae14294bf8 by craig.topper
[RISCV] Check all 64-bits of the mask in SelectRORIW.

We need to ensure the upper 32 bits of the mask are zero.
So that the srl shifts zeroes into the lower 32 bits.

Differential Revision: https://reviews.llvm.org/D90585
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbbp.ll
Commit f556af965f11cfe614d722f59257ba116bee3f62 by silvasean
[mlir] Fix materializations for unranked tensors.

Differential Revision: https://reviews.llvm.org/D90656
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
The file was modifiedmlir/lib/Transforms/Bufferize.cpp
Commit eb8d386d513bf4243d0adb814d862af25b8c4e2f by silvasean
[mlir] Make linalg-bufferize a composable bufferization pass

Previously, linalg-bufferize was a "finalizing" bufferization pass (it
did a "full" conversion). This wasn't great because it couldn't be used
composably with other bufferization passes like std-bufferize and
scf-bufferize.

This patch makes linalg-bufferize a composable bufferization pass.
Notice that the integration tests are switched over to using a pipeline
of std-bufferize, linalg-bufferize, and (to finalize the conversion)
func-bufferize. It all "just works" together.

While doing this transition, I ran into a nasty bug in the 1-use special
case logic for forwarding init tensors. That logic, while
well-intentioned, was fundamentally flawed, because it assumed that if
the original tensor value had one use, then the converted memref could
be mutated in place. That assumption is wrong in many cases. For
example:

```
  %0 = some_tensor : tensor<4xf32>
  br ^bb0(%0, %0: tensor<4xf32>, tensor<4xf32>)
^bb0(%bbarg0: tensor<4xf32>, %bbarg1: tensor<4xf32>)
  // %bbarg0 is an alias of %bbarg1. We cannot safely write
  // to it without analyzing uses of %bbarg1.
  linalg.generic ... init(%bbarg0) {...}
```

A similar example can happen in many scenarios with function arguments.
Even more sinister, if the converted memref is produced by a
`std.get_global_memref` of a constant global memref, then we might
attempt to write into read-only statically allocated storage! Not all
memrefs are writable!

Clearly, this 1-use check is not a local transformation that we can do
on the fly in this pattern, so I removed it.

The test is now drastically shorter and I basically rewrote the CHECK
lines from scratch because:
- the new composable linalg-bufferize just doesn't do as much, so there
is less to test
- a lot of the tests were related to the 1-use check, which is now gone,
so there is less to test
- the `-buffer-hoisting -buffer-deallocation` is no longer mixed in, so
the checks related to that had to be rewritten

Differential Revision: https://reviews.llvm.org/D90657
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-matmul.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
Commit ea5989b43adb4a7d169852af398e382216907998 by aschwaighofer
Start of an llvm.coro.async implementation

This patch adds the `async` lowering of coroutines.

This will be used by the Swift frontend to lower async functions. In
contrast to the `retcon` lowering the frontend needs to be in control
over control-flow at suspend points as execution might be suspended at
these points.

This is very much work in progress and the implementation will change as
it evolves with the frontend. As such the documentation is lacking
detail as some of it might change.

rdar://70097093

Reapply with fix for memory sanitizer failure and sphinx failure.

Differential Revision: https://reviews.llvm.org/D90612
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInstr.h
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroCleanup.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/docs/Coroutines.rst
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h
The file was modifiedllvm/lib/Transforms/Coroutines/Coroutines.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-async.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroEarly.cpp
Commit 63e72aa4f575bf2a3405fb7c5e4450efe2ee3e4f by jurahul
[MLIR] Remove NoSideEffect from std.global_memref op.

- Also spell "isUninitialized" correctly.

Differential Revision: https://reviews.llvm.org/D90768
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 8c2025cc617aa0413dee269084b4a66bcb7de4d5 by jurahul
[MLIR] Refactor memref type -> LLVM Type conversion

- Eliminate duplicated information about mapping from memref -> its descriptor fields
  by consolidating that mapping in two functions:  getMemRefDescriptorFields and
  getUnrankedMemRefDescriptorFields.
- Change convertMemRefType() and convertUnrankedMemRefType() to use these
  functions.
- Remove convertMemrefSignature and convertUnrankedMemrefSignature.

Differential Revision: https://reviews.llvm.org/D90707
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
Commit 0122a4ea661db4c2509143a4035c8857eedd9aa5 by craig.topper
[RISCV] Remove assertsexti32 from inputs to riscv_sllw/srlw nodes in B extension isel patterns.

riscv_sllw/srlw only reads the lower 32 bits of the first operand.
And the lower 5 bits of the second operands. Whether the upper
32 bits of the input are sign bits or not doesn't matter.

Also use ineg and not to shorten the patterns.

Differential Revision: https://reviews.llvm.org/D90668
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit d0d43b58b109c2945e30d0bfabe77d3dcf1e4ad5 by cchen
[OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

Clang now asserts for the below case:
```
void clang::CodeGen::CGOpenMPRuntime::createOffloadEntriesAndInfoMetadata(): Assertion `std::get<0>(E) && "All ordered entries must exist!"' failed.
```

The reason why Clang hit the assert is because in
`emitTargetDataCalls`, both `BeginThenGen` and `BeginElseGen` call
`registerTargetRegionEntryInfo` and try to register the Entry in
OffloadEntriesTargetRegion with same key. If changing the expression in
if clause to any constant expression, then the assert disappear. (https://godbolt.org/z/TW7haj)

The assert itself is to avoid
user from accessing elements out of bound inside `OrderedEntries` in
`createOffloadEntriesAndInfoMetadata`.

In this patch, I add a check in `registerTargetRegionEntryInfo` to avoid
register the target region more than once.

A test case that triggers assert: https://godbolt.org/z/4cnGW8

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D90704
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was addedclang/test/OpenMP/target_data_use_device_ptr_if_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit bf5c8625c48c34bfdf141616587ab58af90bb587 by joker.eph
Move MlirStringCallback declaration from mlir-c/IR.h to mlir-c/Support.h (NFC)

This is a generic utility that can be reused beyond the IR bindings.

Differential Revision: https://reviews.llvm.org/D90736
The file was modifiedmlir/include/mlir-c/Support.h
The file was modifiedmlir/include/mlir-c/IR.h
Commit 5b29d26b21bb1cc60b7fe9c367a762fa8860f472 by joker.eph
Refactor PyPrintAccumulatorm, PyFileAccumulator, and PySinglePartStringAccumulator from IRModules.cpp to PybindUtils.h

These are reusable utilities across bindings.

Differential Revision: https://reviews.llvm.org/D90737
The file was modifiedmlir/lib/Bindings/Python/PybindUtils.h
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
Commit 0df0d0fe2d1fd1436d36f736e3ed47a0c69673da by Louis Dionne
[libc++] NFC: Remove trailing whitespace
The file was modifiedlibcxx/include/atomic
Commit f99580c1e57885c8337a7deb08459095f4c16422 by fraser
[DAGCombine] Fix bug in load scalarization

Summary:
For vector element types which are not byte-sized, we would generate
incorrect scalar offsets and produce incorrect codegen.

This optimization could potentially be supported in the future, e.g. by
loading in bytes, then shifting and masking out the remaining bits of
the vector element. However, without an upstream target to test against
it's best to avoid the bad codegen in the simplest possible way.

Related to this bug:

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

Reviewed by: foad

Differential Revision: https://reviews.llvm.org/D78568
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/extract-load-i1.ll
Commit 77a9e0a4af5aea3795ed79a0db61ee5b19b837e4 by Duncan P. N. Exon Smith
Basic: Split out DirectoryEntry.h, NFC

Move `DirectoryEntry` and `DirectoryEntryRef` into their own header,
similar to the creation of FileEntry.h. No functionality change here,
just preparing to include it in more places to allow wider adoption of
`DirectoryEntryRef` without requiring all of `FileManager.h`.

Differential Revision: https://reviews.llvm.org/D90478
The file was modifiedclang/include/clang/Basic/FileManager.h
The file was addedclang/include/clang/Basic/DirectoryEntry.h
Commit d47300f503c90511304e4999182060b8e1e86b0f by craig.topper
[RISCV] Correct the operand order for fshl/fshr to fsl/fsr instructions.

fsl/fsr take their shift amount in $rs2 or an immediate. The
sources are $rs1 and $rs3.

fshl/fshr ISD opcodes both concatenate operand 0 in the high bits and
operand 1 in the lower bits. fshl returns the high bits after
shifting and fshr returns the low bits. So a shift amount of 0
returns operand 0 for fshl and operand 1 for fshr.

fsl/fsr concatenate their operands in different orders such that
$rs1 will be returned for a shift amount of 0. So $rs1 needs to
come from operand 0 of fshl and operand 1 of fshr.

Differential Revision: https://reviews.llvm.org/D90735
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbb.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbt.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbt.ll
Commit 0795715616416382717d5302f33de5bd10cfec96 by alexe
[mlir][std] Add SignedCeilDivIOp and SignedFloorDivIOp with std to std lowering triggered by -std-expand-divs option. The new operations support positive/negative nominator/denominator numbers.

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

Signed-off-by: Alexandre Eichenberger <alexe@us.ibm.com>
The file was addedmlir/integration_test/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
The file was addedmlir/test/Dialect/Standard/std-expand-divs.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
The file was addedmlir/lib/Dialect/StandardOps/Transforms/StdExpandDivs.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
Commit 296c2f31f0c56ab8f5b2a511d36a927ffe7f3eb6 by wanyu9511
[PowerPC] Rename mftbl to mftb

`mftb` and `mftbl` are equivalent, there is no need to have two names for doing the same thing, rename `mftbl` to only have `mftb`.

Differential Revision: https://reviews.llvm.org/D89506
The file was modifiedlibcxx/utils/google-benchmark/src/cycleclock.h
The file was modifiedllvm/utils/benchmark/src/cycleclock.h
Commit 09f2c92e5b340d18cd2b505de7bd23ca31d61840 by wanyu9511
Add info about the cherry-picked commit and contributor
The file was modifiedllvm/utils/benchmark/README.LLVM
The file was modifiedlibcxx/utils/google-benchmark/CONTRIBUTORS
The file was modifiedlibcxx/utils/google-benchmark/README.LLVM
The file was modifiedllvm/utils/benchmark/CONTRIBUTORS
Commit 52b86d35a401eaaeaffbd5ed99b0cd3f4250254d by nikita.ppv
[MemorySSA] Use provided memory location even if instruction is call

If getClobberingMemoryAccess() is called with an explicit
MemoryLocation, but the starting access happens to be a call, the
provided location is currently ignored, and alias analysis queries
will be performed against the call instruction instead. Something
similar happens if the starting access is a load with a MemoryDef.

Change the implementation to not set Q.Inst in the first place if
we want to perform a MemoryLocation-based query, to make sure it
can't be turned into an Instruction-based query along the way...

Additionally, remove the special handling that lifetime.start
intrinsics currently get. They simply report NoAlias for clobbers
between lifetime.start and other calls, but that's obviously not
right if the other call is something like a memset or memcpy. The
default behavior we get from getModRefInfo() will already do the
right thing here.

Differential Revision: https://reviews.llvm.org/D88782
The file was modifiedllvm/unittests/Analysis/MemorySSATest.cpp
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp
Commit 2e73a1f9faafe0a9bc6f8f177d7e92d8e6ae06b3 by clementval
[flang][openacc] Lower exit data directive

This patch upstream the lowering of Exit Data construct that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/527

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D90467
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit cc3bf270776bc362e4a504a2f1bc3c8c932111ea by craig.topper
[RISCV] Remove assertsexti32 from fslw/fsrw isel patterns.

The operations in these patterns shouldn't be effected by sign
bits. And the pattern is starting from a sign_extend_inreg so
we aren't expecting sign bits to be passed through either.

Differential Revision: https://reviews.llvm.org/D90739
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit 70eb30cc81eeb6f569ecf155197e14fb37263b7e by Louis Dionne
[libc++] Move availability-related Lit configuration to the DSL

The implementation is not really satisfactory, but it's better than
being in the legacy config, which causes other issues.
The file was modifiedlibcxx/utils/libcxx/test/features.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit 8e01749bb141fa94447a6d4c5a24371c3b223480 by Louis Dionne
[libc++] Remove stray setting of use_system_cxx_lib left behind
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 1f78ab0ae63cee9ba2f0d73beda33e2f8ceea4ab by edd.dawson at sony.com
[lld][ELF][test] test LTO-removed symbols are not in symtab

Differential Revision: https://reviews.llvm.org/D90680
The file was modifiedlld/test/ELF/lto/internalize-basic.ll
Commit c71adeff24cac194228e57c85af68c13284648af by clementval
[flang][openacc] Lower enter data directive

This patch upstream the lowering of Enter Data directive that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/526

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D90470
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit 5dc47541f9ead81d218d6d0b91ac38be0a8f9f8e by mtrofin
[NFC] Use Register/MCRegister

Differential Revision: https://reviews.llvm.org/D90724
The file was modifiedllvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
Commit c126eb7529bef379f5609df162de13f7916ae991 by mcinally
[SelectionDAG] Add legalizations for VECREDUCE_SEQ_FMUL

Hook up legalizations for VECREDUCE_SEQ_FMUL. This is following up on the VECREDUCE_SEQ_FADD work from D90247.

Differential Revision: https://reviews.llvm.org/D90644
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-soft-float.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
The file was modifiedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-strict.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
Commit 07c4f1d10b305635cc74c7c853c18197faea5d19 by epastor
[ms] [llvm-ml] Lex MASM strings, including escaping

Allow single-quoted strings and double-quoted character values, as well as doubled-quote escaping.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D89731
The file was modifiedllvm/lib/MC/MCParser/AsmLexer.cpp
The file was modifiedllvm/include/llvm/MC/MCParser/AsmLexer.h
The file was addedllvm/test/tools/llvm-ml/strings.test
The file was modifiedllvm/test/tools/llvm-ml/struct.test
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmLexer.h
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
Commit e6cd3eff17fdcfd23f3aad1aea2c99a26f62ac46 by epastor
Fix -Wsign-compare issue in MasmParser.cpp
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
Commit b45ea4451a9ee9595865483f90b88faa84413475 by clementval
[flang][openacc] Lower update directive

This patch upstream the lowering of Update directive that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/528

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D90472
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit c29c24be638957d471e7991b55f54bff69044239 by Jonas Devlieghere
[crashlog] Pass the debugger around instead of relying on lldb.debugger

The lldb.debugger et al convenience variables are only available from
the interactive script interpreter. In all other scenarios, they are
None (since fc1fd6bf9fcfac412b10b4193805ec5de0e8df57) before that they
were default initialized.

The crashlog script was hacking around that by setting the lldb.debugger
to a newly created debugger instance when running outside of the script
interpreter, which works fine until lldb creates a script interpreter
instance under the hood and clears the variables. This was resulting in
an AttributeError when invoking the script directly (from outside of
lldb):

  AttributeError: 'NoneType' object has no attribute 'GetSourceManager'

This patch fixes that by passing around the debugger instance.

rdar://64775776

Differential revision: https://reviews.llvm.org/D90706
The file was modifiedlldb/examples/python/symbolication.py
The file was modifiedlldb/examples/python/crashlog.py
Commit 7a83aa0520d24ee5285a9c60b97b57a1db1d65e8 by aeubanks
[NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback

This allows targets to skip optional optimization passes at -O0.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D90777
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
Commit 9173b5a99daea1768adacefd690243522b567d1a by aeubanks
Revert "[NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback"

This reverts commit 7a83aa0520d24ee5285a9c60b97b57a1db1d65e8.

Causing buildbot failures.
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
Commit ab0ddbc38af9508ee0f753fb897d9050025a0763 by aeubanks
Reland [NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback

This allows targets to skip optional optimization passes at -O0.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D90777
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
Commit 6e73cfa8363d43689f77b0e4e4c2787ae6ae3fb6 by Duncan P. N. Exon Smith
Basic: Change Module::Umbrella to a PointerUnion, NFC

Change `Module::Umbrella` from a `const void *` to a `PointerUnion` of
`FileEntry` and `DirectoryEntry`. We can drop the `HasUmbrellaDir` bit
(since `PointerUnion` includes that).

This change makes it safer to update to `FileEntryRef` and
`DirectoryEntryRef` in a future patch.

Differential Revision: https://reviews.llvm.org/D90481
The file was modifiedclang/lib/Basic/Module.cpp
The file was modifiedclang/include/clang/Basic/Module.h
The file was modifiedclang/lib/Lex/ModuleMap.cpp
Commit 90e5b7b8be016cf724522de0ac7cd9bac12eab02 by Vitaly Buka
[NFC] Fix comment in test

Differential Revision: https://reviews.llvm.org/D90790
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/use_tls_test.cpp
Commit 7960ba3c49fbef9ea545a4e86308e5841a283737 by Vitaly Buka
[NFC][LSAN] Remove unused variable

Depends on D90791.

Differential Revision: https://reviews.llvm.org/D90792
The file was modifiedcompiler-rt/lib/lsan/CMakeLists.txt
Commit 09ec07827b1128504457a93dee80b2ceee1af600 by Vitaly Buka
[sanitizer] Get Android API from --target

Depends on D90792.

Differential Revision: https://reviews.llvm.org/D90793
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 418de7d5d84aa95a644139f87319269841a44315 by arthur.j.odwyer
Fix UB in one libcxx test, when deleting D through a pointer to B.

This undefined behavior was found by applying Lénárd Szolnoki's proposal
to disable implicit conversion of default_delete<D> to default_delete<B>.

The offending part of the test is circa line 243.

The wording that makes it undefined behavior is http://eel.is/c++draft/expr.delete#3 .

Differential Revision: https://reviews.llvm.org/D90536
The file was modifiedlibcxx/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp
Commit f976ba61395811732b4605b6fb9b6ba5cd489372 by baptiste.saleil
[PowerPC] Add Sema checks for MMA types

The use of the new types introduced for PowerPC MMA instructions needs to be restricted.
We add a PowerPC function checking that the given type is valid in a context in which we don't allow MMA types.
This function is called from various places in Sema where we want to prevent the use of these types.

Differential Revision: https://reviews.llvm.org/D82035
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/Sema/ppc-mma-types.c
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/SemaCXX/ppc-mma-types.cpp
Commit a52852f694599d36cad4e67980d0107915b9dd8b by Vitaly Buka
[NFC][sanitizer] Reformat some code

Extracted from D89251
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
Commit 8e466f69cfaeedbf63e8c643865177bb6e53740c by jurahul
[MLIR][NFC] Update syntax of global_memref in ODS description.

- The ODS description was using an old syntax that was updated during the review.
  This fixes the ODS description to match the current syntax.

Differential Revision: https://reviews.llvm.org/D90797
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 4ec7f7e45a6c12c6cc2fea36cf15e90ebb1bb6ea by clementval
[flang][openacc] Lower init and shutdown directive

This patch upstream the lowering of Init and Shutdown directives that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/529

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D90488
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit 678edfc1f39a60c113018ce6dd7a44b4c4a55f51 by Vitaly Buka
[sanitizer] Allow preinit array on Android

Extracted from D89251
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
Commit 96b0b9a5e3c2a038c8590b2d71fa6cc03dc96aa4 by i
[X86] Enable shrink-wrapping for no-frame-pointer non-nounwind functions on platforms not using compact unwind

The current compact unwind scheme does not work when the prologue is not at the
start (the instructions before the prologue cannot be described).  (Technically
this is fixable, but it requires multiple compact unwind descriptors for one
function.)

rL255175 chose to not perform shrink-wrapping for no-frame-pointer functions not
marked as nounwind to work around PR25614. This is overly limited, as platforms
not supporting compact unwind (all non-Darwin) does not need the workaround.
This patch restricts the limitation to compact unwind platforms.

Reviewed By: qcolombet

Differential Revision: https://reviews.llvm.org/D89930
The file was modifiedllvm/test/CodeGen/X86/live-out-reg-info.ll
The file was modifiedllvm/test/CodeGen/X86/x86-shrink-wrap-unwind.ll
The file was modifiedllvm/test/CodeGen/X86/swifterror.ll
The file was modifiedllvm/test/CodeGen/X86/test-vs-bittest.ll
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit 484ec6be30663f980db233fee6c197493b0fe0d7 by Vitaly Buka
Reland [lsan] Enable LSAN for Android

Reland: a2291a58bf1c860d026581fee6fe96019dc25440.

New fixes for the breakages reported in D85927 include:
- declare a weak decl for `dl_iterate_phdr`, because it does not exist on older  APIs
- Do not enable leak-sanitizer if api_level is less than 29, because of  `ld.lld: error: undefined symbol: __aeabi_read_tp` for armv7, API level 16.
- Put back the interceptor for `memalign` but still opt out intercepting `__libc_memalign` and `cfree` because both of these don't exist in Bionic.

Reviewed By: srhines, vitalybuka

Differential Revision: https://reviews.llvm.org/D89251
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/lsan/lsan_common_linux.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.cpp
The file was modifiedcompiler-rt/lib/asan/tests/CMakeLists.txt
Commit 1dad9d4282cc33689b304e87793eff2755b82725 by clementval
[flang][openacc] Lower wait directive

This patch upstream the lowering of Wait directive that was initially done in
https://github.com/flang-compiler/f18-llvm-project/pull/532

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D90489
The file was modifiedflang/lib/Lower/OpenACC.cpp
Commit bf146857bbb3fa4bc30ee4f42829ddc4c19c41de by i
[mlir] Change deprecated -Werror-implicit-function-declaration to -Werror=implicit-function-declaration

This -Werror- form has been deprecated since 2007 (GCC r122017).

And only enable it for CMAKE_C_FLAGS. C++ does not need it.
The file was modifiedmlir/CMakeLists.txt
Commit e15f424cf93264323eeba6dfae11a6cf9d842ee1 by Vitaly Buka
[LSAN] Fix CAN_SANITIZE_LEAKS on Android
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit bbd4ebffd4a634a9256f5eb33b3cce06ade8d809 by Vitaly Buka
[sanitizer] Quick fix for non-Linux build
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.cpp
Commit ac73b73c16526c9e51943759ea6cab285a57e33f by a335pate
[clang] Add mustprogress and llvm.loop.mustprogress attribute deduction

Since C++11, the C++ standard has a forward progress guarantee
[intro.progress], so all such functions must have the `mustprogress`
requirement. In addition, from C11 and onwards, loops without a non-zero
constant conditional or no conditional are also required to make
progress (C11 6.8.5p6). This patch implements these attribute deductions
so they can be used by the optimization passes.

Differential Revision: https://reviews.llvm.org/D86841
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-predicate.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-safety.cpp
The file was modifiedclang/lib/CodeGen/CGLoopInfo.cpp
The file was modifiedclang/test/Profile/c-unprofiled-blocks.c
The file was modifiedclang/test/CodeGenCXX/debug-info-loops.cpp
The file was modifiedclang/test/CodeGen/address-safety-attr-flavors.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-pr27643.cpp
The file was modifiedclang/test/OpenMP/simd_metadata.c
The file was addedclang/test/CodeGen/attr-mustprogress-0.cpp
The file was modifiedclang/test/CodeGen/address-safety-attr.cpp
The file was modifiedclang/test/CodeGenCXX/thunks-ehspec.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-followup_outer.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-safety-nested.cpp
The file was modifiedclang/test/CodeGen/memtag-attr.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-unroll.cpp
The file was modifiedclang/lib/CodeGen/CGLoopInfo.h
The file was modifiedclang/test/CodeGenCXX/pragma-loop-distribute.cpp
The file was modifiedclang/test/CodeGen/no-builtin.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-unroll-and-jam.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/check-attributes.cpp.funcattrs.expected
The file was addedclang/test/CodeGen/attr-mustprogress-1.c
The file was modifiedclang/test/CodeGenCXX/pragma-loop.cpp
The file was addedclang/test/CodeGen/attr-mustprogress-1.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-followup_inner.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/CodeGenCXX/debug-info-line-if.cpp
The file was addedclang/test/CodeGen/attr-mustprogress-0.c
The file was modifiedclang/test/CodeGenCXX/cxx11-trivial-initializer-struct.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-safety-outer.cpp
The file was modifiedclang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
The file was modifiedclang/test/CodeGen/pragma-do-while.cpp
The file was modifiedclang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-pipeline.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-safety-imperfectly_nested.cpp
The file was modifiedclang/test/CodeGenCXX/fno-unroll-loops-metadata.cpp
The file was modifiedclang/test/CodeGenCXX/thunks.cpp
Commit 796650d9903a786f1984144d6a610b5b5099019b by vyng
[lsan] Remove unnecessary elf-tls condition

Differential Revision: https://reviews.llvm.org/D90808
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit 6c164d6080da2f36e5562e14a0e0f4ca5b1b000c by Vitaly Buka
[NFC] Extract InitializePlatformCommonFlags

And move some Android specifi declarations from headers

Differential Revision: https://reviews.llvm.org/D90811
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_win.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
The file was modifiedcompiler-rt/lib/lsan/lsan_common.cpp
Commit 234857f730761a1a662a1b1af6a3b2b7f6e59aac by Vitaly Buka
[sanitizer] Fix -fno-emulated-tls setup

COMPILER_RT_TEST_COMPILER_CFLAGS is a string
The file was modifiedcompiler-rt/CMakeLists.txt
Commit cea0599aa75ba528d077453602945e6d0440f8c3 by a335pate
[LangRef] Adds llvm.loop.mustprogress loop metadata

This patch adds the llvm.loop.mustprogress loop metadata. This is to be
added to loops where the frontend language requires that the loop makes
observable interactions with the environment. This is the loop-level
equivalent to the function attribute `mustprogress` defined in D86233.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D88464
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopInfo.h
The file was modifiedllvm/docs/LangRef.rst
Commit 36072cc0a487fb5ad315d264064daa73d916469c by craig.topper
[RISCV] Move some test cases from rv64i-single-softfloat.ll to a new rv64i-double-softfloat.ll. NFC

This new test covers both with and without the F extension enabled.

This shows that the fptosi/fptoui for double->i32 use a different
libcall depending on whether the F extension is enabled. If it's
not enabled we use the 'si' library call. If it is enabled we use 'di'.
The file was modifiedllvm/test/CodeGen/RISCV/rv64i-single-softfloat.ll
Commit 7709d306418154780aac5a6947d300a705cccbb8 by craig.topper
Revert "[RISCV] Move some test cases from rv64i-single-softfloat.ll to a new rv64i-double-softfloat.ll. NFC"

I failed to git add the new test file.

This reverts commit 36072cc0a487fb5ad315d264064daa73d916469c.
The file was modifiedllvm/test/CodeGen/RISCV/rv64i-single-softfloat.ll
Commit 574de837d4bfd906b88352dc0ea7929917ce7f67 by craig.topper
Recommit "[RISCV] Move some test cases from rv64i-single-softfloat.ll to a new rv64i-double-softfloat.ll. NFC""

With new test file this time.

Original message

This new test covers both with and without the F extension enabled.

This shows that the fptosi/fptoui for double->i32 use a different
libcall depending on whether the F extension is enabled. If it's
not enabled we use the 'si' library call. If it is enabled we use 'di'.
The file was addedllvm/test/CodeGen/RISCV/rv64i-double-softfloat.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64i-single-softfloat.ll
Commit 8dc98897c4af20aeb52f1f19f538c08e55793283 by mkazantsev
[SCEV] Handle non-positive case in isImpliedViaOperations

We already handle non-negative case there. Add support for non-positive.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit f645cea8f63e76f4d1ed291da3f61768cbd6abf4 by czhengsz
[MachineSink] add more profitable pattern.

Add more profitable sinking patterns if the target bb register pressure
is not too high.

Reviewed By: qcolombet

Differential Revision: https://reviews.llvm.org/D88126
The file was addedllvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll
The file was modifiedllvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir
Commit ab7ef35d3460762165be8b22eb2a07a808f8f828 by mkazantsev
Revert "[SCEV] Handle non-positive case in isImpliedViaOperations"

This reverts commit 8dc98897c4af20aeb52f1f19f538c08e55793283.

Commited by mistake.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 20b4f4f76030f8712824c91b5f0b0a611476f747 by sepavloff
[Driver] Add callback to Command execution

Summary:
Object of type `Compilation` now can keep a callback that is called
after each execution of `Command`. This must simplify adaptation of
clang in custom distributions and allow facilities like collection of
execution statistics.

Reviewers: rsmith, rjmccall, Eugene.Zelenko

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D78899
The file was modifiedclang/lib/Driver/Compilation.cpp
The file was modifiedclang/include/clang/Driver/Compilation.h
The file was modifiedclang/unittests/Driver/ToolChainTest.cpp
Commit 9f9077d7d1b436c75e493916c7c196a4c4937388 by vyng
[sanitizers] Add missing definition

Fix breakages from https://reviews.llvm.org/D90811

http://lab.llvm.org:8011/#/builders/37/builds/471/steps/8/logs/stdio

Differential Revision: https://reviews.llvm.org/D90818
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cpp
Commit 4455f3ce72ba2bb0276200f6f29629afca8812d4 by joker.eph
Capture the name for mlir::OpPassManager in std::string instead of StringRef (NFC)

The previous behavior was fragile when building an OpPassManager using a
string, as it was forcing the client to ensure the string to outlive the
entire PassManager.
This isn't a performance sensitive area either that would justify
optimizing further.
The file was modifiedmlir/lib/Pass/Pass.cpp
Commit 61e59ebfa645caa3b89baaf51dd26a56625bc39f by Vitaly Buka
[LSAN] Enabled only with __ANDROID_API__ >= 28

Code does not work as-is with emulated tls even if
lsan is disabled with runtime flag.
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit ae38540042668675dd16c642d850115f217ea59f by aeubanks
[NewPM] Provide method to run all pipeline callbacks, used for -O0

    Some targets may add required passes via
    TargetMachine::registerPassBuilderCallbacks(). We need to run those even
    under -O0. As an example, BPFTargetMachine adds
    BPFAbstractMemberAccessPass, a required pass.

    This also allows us to clean up BackendUtil.cpp (and out-of-tree Rust
    usage of the NPM) by allowing us to share added passes like coroutines
    and sanitizers between -O0 and other optimization levels.

    Tests are a continuation of those added in
    https://reviews.llvm.org/D89083.

    In order to prevent TargetMachines from adding unnecessary optimization
    passes at -O0, TargetMachine::registerPassBuilderCallbacks() will be
    changed to take an OptimizationLevel, but that will be done separately.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D89158
The file was addedclang/test/CodeGen/bpf-O0.c
The file was addedllvm/test/Other/new-pm-O0-ep-callbacks.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/CodeGen/BPF/optnone-2.ll
Commit 2d041554d1f94abed3ddd396d8af944acf63fe4e by Vitaly Buka
[LSAN] Fix preprocessor condition for MSVC
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit e62e0b167581e7881e93b91127f6349b6b4e2143 by Vitaly Buka
Revert "[LSAN] Fix preprocessor condition for MSVC"

Missread the error message. It was not the reason.

This reverts commit 2d041554d1f94abed3ddd396d8af944acf63fe4e.
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit fbf7ccec02f3401d0ac71c15208c431bdafbc117 by Vitaly Buka
[LSAN] Fix compilation error on MSVC
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit 230efefdbc1dfc025b160dec126adcb69759ba4c by Vitaly Buka
[NFC] Fix cpplint warnings
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector_interface.h
The file was modifiedcompiler-rt/lib/sanitizer_common/scripts/check_lint.sh
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
Commit 5fd3193c88d82f04571897a9b9d8a49a9f491d88 by aeubanks
[test] Add 'REQUIRES: bpf-registered-target' to bpf-O0.c
The file was modifiedclang/test/CodeGen/bpf-O0.c
Commit 1938b61bda50f0117e6b8bbc02e42d065d59b4f9 by artur.bialas
[mlir][spirv] Allow usage of vector size 8 and 16 with Vector16 capability

Per spec, vector sizes 8 and 16 are allowed when Vector16 capability is present.
This change expands the limitation of vector sizes to accept these sizes.

Differential Revision: https://reviews.llvm.org/D90683
The file was modifiedmlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/ocl-ops.mlir
Commit f9dca1039a4aa06d0449666888a6bc18b2572159 by artur.bialas
[mlir][spirv] Add VectorExtractDynamicOp and vector.extractelement lowering

VectorExtractDynamicOp in SPIRV dialect
conversion from vector.extractelement to spirv VectorExtractDynamicOp

Differential Revision: https://reviews.llvm.org/D90679
The file was modifiedmlir/test/Dialect/SPIRV/composite-ops.mlir
The file was modifiedmlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td
The file was modifiedmlir/test/Conversion/VectorToSPIRV/simple.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/composite-op.mlir
Commit f38d1a95e9a8b24aca0f267e3963d38dca37e00f by david.green
[ARM] Make tests less dependent on scheduling. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/ifcvt-no-branch-predictor.ll
The file was modifiedllvm/test/CodeGen/Thumb2/float-intrinsics-double.ll
Commit cc2a2bb5ce5164590c85ecc099804407f344fceb by zinenko
[flang] update ODS syntax to use OpBuidlerDAG instead of OpBuilder

Upstream MLIR has deprecated OpBuilder in ODS.

Reviewed By: schweitz

Differential Revision: https://reviews.llvm.org/D90226
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit ecca7852d9d75aba859a3d8d001bfb2dda1345db by nicolas.vasilache
[mlir][Linalg] Side effects interface for Linalg ops

The LinalgDependenceGraph and alias analysis provide the necessary analysis for the Linalg fusion on buffers case.

However this is not enough for linalg on tensors which require proper memory effects to play nicely with DCE and other transformations.
This revision adds side effects to Linalg ops that were previously missing and has 2 consequences:
1. one example in the copy removal pass now fails since the linalg.generic op has side effects and the pass does not perform alias analysis / distinguish between reads and writes.
2. a few examples in fusion-tensor.mlir need to return the resulting tensor otherwise DCE automatically kicks in as part of greedy pattern application.

Differential Revision: https://reviews.llvm.org/D90762
The file was modifiedmlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/test/Transforms/copy-removal.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
Commit b715fa330dfaa379885c5184340c410a63be5987 by zinenko
[mlir] Restructure C API tests for IR

The test file is a long list of functions, followed by equally long FileCheck
comments inside "main". Distribute FileCheck comments closer to the functions
that produce the output we are checking.

Reviewed By: mehdi_amini, stellaraccident

Differential Revision: https://reviews.llvm.org/D90743
The file was modifiedmlir/test/CAPI/ir.c
Commit 23657d9cc33282208bdac074abccd73bd4d4f8be by ecaldas
[SyntaxTree] Add reverse links to syntax Nodes.

Rationale:
Children of a syntax tree had forward links only, because there was no
need for reverse links.

This need appeared when we started mutating the syntax tree.
On a forward list, to remove a target node in O(1) we need a pointer to the node before the target. If we don't have this "before" pointer, we have to find it, and that requires O(n).
So in order to remove a syntax node from a tree, we would similarly need to find the node before to then remove. This is both not ergonomic nor does it have a good complexity.

Differential Revision: https://reviews.llvm.org/D90240
The file was modifiedclang/lib/Tooling/Syntax/Mutations.cpp
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
Commit 4b2be681f4ea475dfdbbb2dab1395eb5d088ebc7 by llvm-dev
[InstCombine] Remove orphan InstCombinerImpl method declarations. NFCI.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
Commit 6c1a31858d0598fb5180fd3deb6bd97621ecd6d8 by llvm-dev
[UnitTests] Add exhaustive tests for KnownBits shl/lshr/ashr

Thanks to @foad for the suggestion.
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
Commit b25765792be35393a9057774a0be2b53b1ff5bf2 by llvm-dev
Revert rGbbeb08497ce58 "Revert "[GlobalISel] GISelKnownBits::computeKnownBitsImpl - Replace TargetOpcode::G_MUL handling with the common KnownBits::computeForMul implementation""

Updated the GISel KnownBits tests as KnownBits::computeForMul allows more accurate computation.
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit d57bba7cf831aa603d1f060a7a2d4ac55bdacdc9 by sander.desmalen
[SVE] Return StackOffset for TargetFrameLowering::getFrameIndexReference.

To accommodate frame layouts that have both fixed and scalable objects
on the stack, describing a stack location or offset using a pointer + uint64_t
is not sufficient. For this reason, we've introduced the StackOffset class,
which models both the fixed- and scalable sized offsets.

The TargetFrameLowering::getFrameIndexReference is made to return a StackOffset,
so that this can be used in other interfaces, such as to eliminate frame indices
in PEI or to emit Debug locations for variables on the stack.

This patch is purely mechanical and doesn't change the behaviour of how
the result of this function is used for fixed-sized offsets. The patch adds
various checks to assert that the offset has no scalable component, as frame
offsets with a scalable component are not yet supported in various places.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D90018
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600FrameLowering.h
The file was modifiedllvm/lib/CodeGen/GCRootLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcRegisterInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcFrameLowering.cpp
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600FrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.h
The file was modifiedllvm/lib/Target/Sparc/SparcFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
The file was modifiedllvm/lib/CodeGen/PrologEpilogInserter.cpp
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinException.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp
Commit 7b0ca32b6228f6268bdd5952577ebd5ebcb2f6f7 by protze
[OpenMP] avoid warning: equality comparison with extraneous parentheses

The macros are used in several places with an if(macro) pattern. This results
in several warnings about extraneous parenteses in equality comparison.

Having the constant at the lhs of the comparison, avoids this warning.

Differential Revision: https://reviews.llvm.org/D90756
The file was modifiedopenmp/runtime/src/kmp.h
Commit 0ad3cb8c267516b96f205d03b5284b7d3d507729 by adhemerval.zanella
[sanitizer] Assume getrandom might not be supported by the kernel

It was added on kernel 3.17.
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/getrandom.c
Commit d025df3c1decf125c73c488b62bafc78a500a5c5 by adhemerval.zanella
[lsan] Disable some LSAN tests for arm-linux-gnueabi{hf}

The tests do not report the expected leak when issued with use_stack
or use_tls option equal to 0 on arm-linux-gnueabihf (ubuntu 18.04,
glibc 2.27).

This issue is being tracked by https://bugs.llvm.org/show_bug.cgi?id=48052
The file was modifiedcompiler-rt/test/lsan/TestCases/do_leak_check_override.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c
The file was modifiedcompiler-rt/test/lsan/TestCases/disabler.c
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/ignore_object.c
The file was modifiedcompiler-rt/test/lsan/TestCases/use_after_return.cpp
Commit 546d002d7a5d0915ab449a3134b9737edc059378 by llvm-dev
[GlobalISel] ComputeKnownBits - use common KnownBits shift handling (PR44526)

Convert GISelKnownBits.computeKnownBitsImpl shift handling to use the common KnownBits implementations, which makes use of the known leading/trailing bits for shifted values in cases where we don't know the shift amount value, as detailed in https://blog.regehr.org/archives/1709

Differential Revision: https://reviews.llvm.org/D90527
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
Commit 8ac9bcc746b9bb4b0ccdd71c6cbeda3b406e7b46 by sven.vanhaastregt
[OpenCL] Support vec_step in C++ for OpenCL mode

Enable the vec_step builtin in C++ for OpenCL mode for compatibility
with OpenCL C.

Differential Revision: https://reviews.llvm.org/D90766
The file was modifiedclang/test/CodeGenOpenCLCXX/constexpr.cl
The file was modifiedclang/include/clang/Basic/TokenKinds.def
Commit be0578f0b44dfe6a3c3715a1c77b6ee9b6b65d3f by flo
[GVN] Fix MemorySSA update when replacing assume(false) with stores.

When replacing an assume(false) with a store, we have to be more careful
with the order we insert the new access. This patch updates the code to
look at the accesses in the block to find a suitable insertion point.

Alterantively we could check the defining access of the assume, but IIRC
there has been some discussion about making assume() readnone, so
looking at the access list might be more future proof.

Fixes PR48072.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D90784
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/test/Transforms/GVN/preserve-memoryssa.ll
Commit a7bcb3b9eb762357d22bcbe4cdc9f5651c9b1f66 by andrzej.warzynski
[Flang][f18] Remove unimplemented options from `flang -help` (NFC)
The file was modifiedflang/tools/f18/f18.cpp
Commit 2f84b59a4cf92a0ce1b985e7f44e17483efa33c0 by Raphael Isemann
[lldb] Also Catch invalid calls to TestPExpectTest's expect()

This is a follow up to D88792 which found an issue in a call to PExpectTest's
expect function that allows passing a string to the `substrs` parameter. However
this issue was found by just grepping and TestPExpect's expect function is still
accepting a single string as a value to `substrs`.

This patch adds the same sanity check that D88792 added to the PExpectTest's
implementation of `expect` and also adds a small test for it.

Reviewed By: kastiglione, JDevlieghere

Differential Revision: https://reviews.llvm.org/D89302
The file was addedlldb/test/API/test_utils/TestPExpectTest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbpexpect.py
Commit 32bee18b84226e817cba7d03abf60c4900fea5e1 by llvm-dev
[KnownBits] Move ValueTracking/SelectionDAG UDIV KnownBits handling to KnownBits::udiv. NFCI.

Both these have the same implementation - so move them to a single KnownBits copy.

GlobalISel will be able to use this as well with minimal effort.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 0e61d02c05c9f35f0e1e242663eb89aab2db7e12 by Louis Dionne
[libc++] Correct XFAILs for the C++20 Synchronization Library

Technically, these tests don't only fail against macosx10.9 to 10.15,
but really against any released macOS yet.
The file was modifiedlibcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.latch/count_down.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/completion.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/arrive.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.latch/try_wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/binary.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/timed.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/release.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
Commit ae2cb4f4273f2f2039e5c720d741f1e18e81943d by paul
[TableGen] Add true and false literals to represent booleans

Update the Programmer's Reference document.

Add a test. Update a couple of tests with an improved error message.

Differential Revision: https://reviews.llvm.org/D90635
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedllvm/test/TableGen/paste-reserved.td
The file was modifiedllvm/test/TableGen/foreach-range-parse-errors0.td
The file was modifiedllvm/lib/TableGen/TGLexer.cpp
The file was modifiedllvm/lib/TableGen/TGLexer.h
The file was addedllvm/test/TableGen/true-false.td
The file was modifiedllvm/test/TableGen/condsbit.td
The file was modifiedllvm/lib/TableGen/TGParser.cpp
Commit 239f488fd692f2af506b2b45d335404d0d2ab30b by Raphael Isemann
[lldb] Skip TestChangeProcessGroup on watchOS/tvOS

`fork` is marked as `__WATCHOS_PROHIBITED __TVOS_PROHIBITED` so the test source
which is calling fork will never compile on watchOS/tvOS. This just adds the
skip decorator for these platforms.

Reviewed By: mib

Differential Revision: https://reviews.llvm.org/D89695
The file was modifiedlldb/test/API/functionalities/process_group/TestChangeProcessGroup.py
Commit d68ebea7670f6bbba136f1517a1cff3696b6a800 by Raphael Isemann
Reland [lldb] Explicitly use the configuration architecture when building test executables

This originally broke the TestQuoting which explicitly called buildDefault
instead of calling build() and marking the test as no_debug_info_test.
TestQuoting has been rewritten by now and is using `build`, so this should now
pass on all platforms.

Original summary:

The Darwin builder currently assumes in `getArchCFlags` that the passed `arch`
value is an actual string it can string.join with vendor/os/version/env strings:

```
   triple = '-'.join([arch, vendor, os, version, env])
```

However this is not true for most tests as we just pass down the `arch=None`
default value from `TestBase.build`. This causes that if we actually end up in
this function we just error out when concatenating `None` with the other actual
strings of vendor/os/version/env. What we should do instead is check that if
there is no test-specific architecture that we fall back to the configuration's
architecture value.

It seems we already worked around this in `builder.getArchSpec` by explicitly
falling back to the architecture specified in the configuration.

This patch just moves this fallback logic to the top `build` function so that it
affects all functions called from `TestBase.build`.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D89056
The file was modifiedlldb/packages/Python/lldbsuite/test/builders/builder.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 5cb378fab3bedbaeef708ae725bdccb813d48519 by vyng
[sanitizers] Remove the test case involving `new int[0]`

Bionic doesn't acutally allocate any memory in this case, so there won't be a leak on Android.

Differential Revision: https://reviews.llvm.org/D90821
The file was modifiedcompiler-rt/test/asan/TestCases/leaks.cpp
Commit 72c65b698e3af6d1826dad43cb57d4ec06844fcc by pifon
[mlir] Move TestDialect and its passes to mlir::test namespace.

TestDialect has many operations and they all live in ::mlir namespace.
Sometimes it is not clear whether the ops used in the code for the test passes
belong to Standard or to Test dialects.

Also, with this change it is easier to understand what test passes registered
in mlir-opt are actually passes in mlir/test.

Differential Revision: https://reviews.llvm.org/D90794
The file was modifiedmlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Transforms/TestDynamicPipeline.cpp
The file was modifiedmlir/test/lib/Transforms/TestConstantFold.cpp
The file was modifiedmlir/test/lib/Transforms/TestConvVectorization.cpp
The file was modifiedmlir/test/lib/Transforms/TestInlining.cpp
The file was modifiedmlir/test/lib/IR/TestInterfaces.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgHoisting.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopUnrolling.cpp
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/test/lib/Transforms/TestLiveness.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopFusion.cpp
The file was modifiedmlir/test/lib/Transforms/TestExpandMemRefReshape.cpp
The file was modifiedmlir/test/lib/Transforms/TestConvertGPUKernelToHsaco.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefBoundCheck.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.h
The file was modifiedmlir/test/lib/Transforms/TestGpuParallelLoopMapping.cpp
The file was modifiedmlir/test/lib/Transforms/TestConvertCallOp.cpp
The file was modifiedmlir/test/lib/Transforms/TestConvertGPUKernelToCubin.cpp
The file was modifiedmlir/test/lib/Transforms/TestOpaqueLoc.cpp
The file was modifiedmlir/test/lib/IR/TestTypes.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/test/lib/Transforms/TestDominance.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopParametricTiling.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgFusionTransforms.cpp
The file was modifiedmlir/test/lib/Transforms/TestAffineLoopParametricTiling.cpp
The file was modifiedmlir/test/lib/Transforms/TestCallGraph.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefStrideCalculation.cpp
The file was modifiedmlir/test/lib/Transforms/TestExpandTanh.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypes.cpp
The file was modifiedmlir/test/lib/Transforms/TestSCFUtils.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTypeDefs.td
The file was modifiedmlir/test/lib/Transforms/TestLoopMapping.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestTraits.cpp
The file was modifiedmlir/test/lib/Transforms/TestFinalizingBufferize.cpp
Commit e237d56b43ebfbb9847648ff82aa17c3d7607481 by llvm-dev
[KnownBits] Move ValueTracking/SelectionDAG UREM KnownBits handling to KnownBits::urem. NFCI.

Both these have the same implementation - so move them to a single KnownBits copy.

GlobalISel will be able to use this as well with minimal effort.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 26a8e8502b5943cc13177bea48841491dadfef9b by Raphael Isemann
[lldb] Add Apple simulator platforms to lldbplatform.py

This just adds the simulator platforms to the lldbplatform enumerations
and the respective test decorator.

The platform names for the simulator are just the SDK names since D85537, so
that's why we are not using LLDB's usual platform names here (e.g., SDK =
"iphonesimulator" vs LLDB platform ="ios-simulator").

Also removes the duplicate platform enumaration in lldbplatformutil.py.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D89694
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbplatform.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbplatformutil.py
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit 6729b6de1f5b753251b4f31fd6349912d07d34ef by llvm-dev
[KnownBits] Move ValueTracking SREM KnownBits handling to KnownBits::srem. NFCI.

Move the ValueTracking implementation to KnownBits, the SelectionDAG version is more limited so I'm intending to replace that as a separate commit.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
Commit 98e8a06e72d4ea5633b981b1ebc372178017912a by mtrofin
[FileCheck] Use %ProtectFileCheckOutput in allow-unused-prefixes.txt

Differential Revision: https://reviews.llvm.org/D90631
The file was modifiedllvm/test/FileCheck/allow-unused-prefixes.txt
Commit 659f4bd87efc7cae379aa128814e03fc8b006471 by Raphael Isemann
[clang] Add an option for hiding line numbers in diagnostics

Clang offers a `-f[no]-show-column` flag for hiding the column numbers when
printing diagnostics but there is no option for doing the same with line
numbers.

In LLDB having this option would be useful, as LLDB sometimes only knows the
file name for a SourceLocation and just assigns it the dummy line/column `1:1`.
These fake line/column numbers are confusing to the user and LLDB should be able
to tell clang to hide *both* the column and the line number when rendering text
diagnostics.

This patch adds a flag for also hiding the line numbers. It's not exposed via
the command line flags as it's most likely not very useful for any user and can
lead to ambiguous output when the user decides to only hide either the line or
the column number (where `file:1: ...` could now refer to both line 1 or column
1 depending on the compiler flags). LLDB can just access the DiagnosticOptions
directly when constructing its internal Clang instance.

The effect doesn't apply to Vi/MSVC style diagnostics because it's not defined
how these diagnostic styles would show an omitted line number (MSVC doesn't have
such an option and Vi's line mode is theory only supporting line numbers if I
understand it correctly).

Reviewed By: thakis, MaskRay

Differential Revision: https://reviews.llvm.org/D83038
The file was modifiedclang/lib/Frontend/TextDiagnostic.cpp
The file was modifiedclang/unittests/Frontend/CMakeLists.txt
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.def
The file was addedclang/unittests/Frontend/TextDiagnosticTest.cpp
Commit 1ec726f954de6475dbcd996e1df65532473c6c7a by llvmgnsyncbot
[gn build] Port 659f4bd87ef
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
Commit 6b104ea4b4630c2fa841c6d5f7c7a69b08d31979 by erich.keane
Implement Lambda Conversion Operators for All CCs for MSVC.

As described here:
https://devblogs.microsoft.com/oldnewthing/20150220-00/?p=44623

In order to allow Lambdas to be used with traditional Win32 APIs, they
emit a conversion function for (what Raymond Chen claims is all) a
number of the calling conventions.  Through experimentation, we
discovered that the list isn't quite 'all'.

This patch implements this by taking the list of conversions that MSVC
emits (across 'all' architectures, I don't see any CCs on ARM), then
emits them if they are supported by the current target.

However, we also add 3 other options (which may be duplicates):
free-function, member-function, and operator() calling conventions.  We
do this because we have an extension where we generate both free and
member for these cases so th at people specifying a calling convention
on the lambda will have the expected behavior when specifying one of
those two.

MSVC doesn't seem to permit specifying calling-convention on lambdas,
but we do, so we need to make sure those are emitted as well. We do this
so that clang-only conventions are supported if the user specifies them.

Differential Revision: https://reviews.llvm.org/D90634
The file was modifiedclang/test/CodeGenCXX/lambda-conversion-op-cc.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
Commit b9b5f12bd4cd0647ff630c1631e0cf20f430fa15 by Raphael Isemann
[lldb] Set the default architecture also in buildDefault

In D89056 the default value for architecture was moved to `build` so that
all called functions see the same architecture value. It seems there are a
few functions that call buildDefault directly (and not via build), so
on some test configurations that set a custom arch value the architecture
value is no longer available.

This just adds the architecture code from build to buildDefault to get
the bots green again while I'm looking for a better solution.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 79d16764dd29aeddb7e6400e6b2d89d31653886c by Raphael Isemann
[lldb][NFC] Fix compiler warnings after removal of eValueTypeVector

5d64574301836c4c17127794121d49a62d24f803 removes this enum value and now
all the switch statements that previously relied on handling this in the
'default' branch are causes compiler warnings due to redundant default cases.

This just removes the now unreachable code in there.
The file was modifiedlldb/source/Core/ValueObjectChild.cpp
The file was modifiedlldb/source/Core/ValueObjectMemory.cpp
The file was modifiedlldb/source/Core/Value.cpp
Commit 15694fd6ad955c6a16b446a6324364111a49ae8b by anna
[CaptureTracking] Avoid overly restrictive dominates check

CapturesBefore tracker has an overly restrictive dominates check when
the `BeforeHere` and the capture point are in different basic blocks.
All we need to check is that there is no path from the capture point
to `BeforeHere` (which is less stricter than the dominates check).
See added testcase in one of the users of CapturesBefore.

Reviewed-By: jdoerfert
Differential Revision: https://reviews.llvm.org/D90688
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
Commit 6ba2c2bf90f23381c1d052acb010cee364bebe8e by mgorny
[lldb] [test/Shell] Simplify -pthread condition

Pass -pthread on all systems except for Darwin and Windows.
Suggested by Pavel Labath.
The file was modifiedlldb/test/Shell/helper/toolchain.py
Commit 2c2eb5e6702bf3bbb8fb8f09790b1ab7b139e879 by mgorny
[lldb] Enable FreeBSDRemote plugin by default and update test status

The new FreeBSDRemote plugin has reached feature parity on i386
and amd64 targets.  Use it by default on these architectures, while
allowing the use of the legacy plugin via FREEBSD_LEGACY_PLUGIN envvar.

Revisit the method of switching plugins.  Apparently, the return value
of PlatformFreeBSD::CanDebugProcess() is what really decides whether
the legacy or the new plugin is used.

Update the test status.  Reenable the tests that were previously
disabled on FreeBSD and do not cause hangs or are irrelevant to FreeBSD.
Mark all tests that fail reliably as expectedFailure.  For now, tests
that are flaky (i.e. produce unstable results) are left enabled
and cause unpredictable test failures.

Differential Revision: https://reviews.llvm.org/D90757
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py
The file was modifiedlldb/test/API/commands/register/register/register_command/TestRegisters.py
The file was modifiedlldb/test/Shell/lit.cfg.py
The file was modifiedlldb/test/API/functionalities/inferior-crashing/TestInferiorCrashingStep.py
The file was modifiedlldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
The file was modifiedlldb/test/API/lit.cfg.py
The file was modifiedlldb/test/API/functionalities/data-formatter/varscript_formatting/TestDataFormatterVarScriptFormatting.py
The file was modifiedlldb/test/Shell/Recognizer/assert.test
The file was modifiedlldb/test/API/functionalities/thread/state/TestThreadStates.py
The file was modifiedlldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
The file was modifiedlldb/test/API/commands/expression/formatters/TestFormatters.py
The file was modifiedlldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
The file was modifiedlldb/test/API/functionalities/exec/TestExec.py
The file was modifiedlldb/test/API/functionalities/load_using_paths/TestLoadUsingPaths.py
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py
The file was modifiedlldb/test/API/functionalities/signal/raise/TestRaise.py
The file was modifiedlldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
The file was modifiedlldb/test/API/tools/lldb-server/thread-name/TestGdbRemoteThreadName.py
The file was modifiedlldb/test/API/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py
The file was modifiedlldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
The file was modifiedlldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
The file was modifiedlldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
The file was modifiedlldb/test/API/functionalities/longjmp/TestLongjmp.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestProcessConnect.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/test/API/python_api/event/TestEvents.py
The file was modifiedlldb/test/API/functionalities/thread/exit_during_step/TestExitDuringStep.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-synthtype/TestDataFormatterSynthType.py
The file was modifiedlldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py
The file was modifiedlldb/test/API/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
The file was modifiedlldb/test/Shell/ExecControl/StopHook/stop-hook-threads.test
The file was modifiedlldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
The file was modifiedlldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py
The file was modifiedlldb/test/API/lang/c/modules/TestCModules.py
The file was modifiedlldb/test/API/commands/expression/no-deadlock/TestExprDoesntBlock.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-synthval/TestDataFormatterSynthVal.py
The file was modifiedlldb/test/API/functionalities/load_unload/TestLoadUnload.py
The file was modifiedlldb/test/API/functionalities/signal/TestSendSignal.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
The file was modifiedlldb/test/API/tools/lldb-server/commandline/TestStubSetSID.py
Commit 7eb70158e4d03d2c1fe430ce62aa76982a483d1b by sjoerd.meijer
[IndVarSimplify][SimplifyIndVar] Move WidenIV to Utils/SimplifyIndVar. NFCI.

This moves WidenIV from IndVarSimplify to Utils/SimplifyIndVar so that we have
createWideIV available as a generic helper utility. I.e., this is not only
useful in IndVarSimplify, but could be useful for loop transformations. For
example, motivation for this refactoring is the loop flatten transformation: if
induction variables in a loop nest can be widened, we can avoid having to
perform certain overflow checks, enabling this transformation.

Differential Revision: https://reviews.llvm.org/D90421
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyIndVar.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyIndVar.h
Commit d413f4bc62e56a6db64b021e132691d330d1e1c8 by pifon
[mlir]  Fix missing namespaces in OpBuildGen.cpp

Differential Revision: https://reviews.llvm.org/D90858
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/tools/mlir-reduce/mlir-reduce.cpp
Commit 7fe7c6d3be888e4c504f62e3412c7e89358dfc28 by llvm-dev
[GlobalISel] Don't use Register type for getNumOperands(). NFCI.

Copy+Paste typo - we were storing getNumOperands() opcounts in a Register type instead of just an unsigned.
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit bf04e34383b06f1b71819de7f34a1a1de2cdb6a4 by llvm-dev
[DAG] computeKnownBits - Replace ISD::SREM handling with KnownBits::srem to reduce code duplication
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 5e34877480dfcb8c3cd6f95ac0a46aca417b19bc by jonathan.l.peyton
[OpenMP] Add ident_t flags for compiler OpenMP version

This patch adds the mask and ident_t function to get the
openmp version. It also adds logic to force monotonic:dynamic
behavior when OpenMP version less than 5.0.

The OpenMP version is stored in the format:
major*10+minor e.g., OpenMP 5.0 = 50

Differential Revision: https://reviews.llvm.org/D90632
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
Commit ee7b629df27113c2752814efdec960042f799b03 by peter
scudo: Don't memset previously released cached pages in the secondary allocator.

There is no need to memset released pages because they are already
zero. On db845c, before:

BM_stdlib_malloc_free_default/131072      34562 ns        34547 ns        20258 bytes_per_second=3.53345G/s

after:

BM_stdlib_malloc_free_default/131072      29618 ns        29589 ns        23485 bytes_per_second=4.12548G/s

Differential Revision: https://reviews.llvm.org/D90814
The file was modifiedcompiler-rt/lib/scudo/standalone/secondary.h
Commit afe92642cc73db48ea46a1dc1a534492249040a7 by anna
Revert "[CaptureTracking] Avoid overly restrictive dominates check"

This reverts commit 15694fd6ad955c6a16b446a6324364111a49ae8b.
Need to investigate and fix a failing clang test: synchronized.m.
Might need a test update.
The file was modifiedllvm/test/Transforms/MemCpyOpt/callslot.ll
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
Commit 2eadbc86142bab5b46dfeb55d8bd6724234278bb by Louis Dionne
[libc++] Rework the whole availability markup implementation

Currently, vendor-specific availability markup is enabled by default.
This means that even when building against trunk libc++, the headers
will by default prevent you from using some features that were not
released in the dylib on your target platform. This is a source of
frustration since people building libc++ from sources are usually not
trying to use some vendor's released dylib.

For that reason, I've been thinking for a long time that availability
annotations should be off by default, which is the primary change that
this commit enables.

In addition, it reworks the implementation to make it easier for new
vendors to add availability annotations for their platform, and it
refreshes the documentation to reflect the current state of the codebase.

Finally, a CMake configuration option is added to control whether
availability annotations should be turned on for the flavor of libc++
being created. The intent is for vendors like Apple to turn it on, and
for the upstream libc++ to leave it off (the default).

Differential Revision: https://reviews.llvm.org/D90843
The file was addedlibcxx/include/__availability
The file was modifiedlibcxx/utils/libcxx/test/features.py
The file was modifiedlibcxx/include/charconv
The file was modifiedlibcxx/include/__config_site.in
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/include/optional
The file was modifiedlibcxx/include/barrier
The file was modifiedlibcxx/include/variant
The file was modifiedlibcxx/include/__locale
The file was modifiedlibcxx/include/atomic
The file was modifiedlibcxx/include/fstream
The file was removedlibcxx/docs/DesignDocs/AvailabilityMarkup.rst
The file was modifiedlibcxx/include/shared_mutex
The file was modifiedlibcxx/include/typeinfo
The file was modifiedlibcxx/include/any
The file was modifiedlibcxx/include/exception
The file was modifiedlibcxx/include/latch
The file was modifiedlibcxx/include/future
The file was modifiedlibcxx/cmake/caches/Apple.cmake
The file was modifiedlibcxx/src/optional.cpp
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/__threading_support
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/include/semaphore
The file was modifiedlibcxx/include/filesystem
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/include/chrono
Commit c623584b6ffacbac6aa012515dab57423cb9f851 by craig.topper
[RISCV] Add isel patterns for fshl with immediate to select FSRI/FSRIW

There is no FSLI instruction, but we can emulate it using FSRI by swapping operands and subtracting the immediate from the bitwidth.

Differential Revision: https://reviews.llvm.org/D90826
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbb.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbt.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv32Zbbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64Zbt.ll
Commit ce1270fc7e3d71f5769d4f9d151b275c6733c89d by craig.topper
[RISCV] Remove shadow register list passed to AllocateReg when allocating FP registers for calling convention

The _F and _D registers are already sub/super registers. When one gets allocated all its aliases are already marked as allocated. We don't need to explicitly shadow it too.

I believe shadow is for calling conventions like 64-bit Windows on X86 where have rules like this

CCIfType<[i32], CCAssignToRegWithShadow<[ECX , EDX , R8D , R9D ],
                                         [XMM0, XMM1, XMM2, XMM3]>>

For that calling convention the argument number determines which register is used regardless of how many scalars or vectors came before it.

Removing this removes a question I had in D90738.

Differential Revision: https://reviews.llvm.org/D90801
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit f253823398dd2894ee5d9333c541c534b7a407fb by usx
[clangd] Trivial: Log missing completion signals.

Differential Revision: https://reviews.llvm.org/D90828
The file was modifiedclang-tools-extra/clangd/Quality.cpp
Commit c6a384df1f8ab85815160297543ab329e02560ef by i
[Sema] Special case -Werror-implicit-function-declaration and reject other -Werror-

This is the only -Werror- form warning option GCC supports (gcc/c-family/c.opt).
Fortunately no other form is used anywhere.
The file was modifiedclang/test/Frontend/warning-options.cpp
The file was modifiedclang/lib/Basic/Warnings.cpp
The file was modifiedclang/test/CodeGen/vecshift.c
The file was modifiedclang/test/Sema/vecshift.c
The file was modifiedclang/test/Modules/diagnose-missing-import.m
The file was modifiedclang/test/Preprocessor/if_warning.c
Commit 93c94139e61467a01697dd3b53ac5bd8e989a49d by andrzej.warzynski
[flang][f18] Remove unimplemented options (NFC)

These options are in practice passes to the external tool (defined with
F18_FC), i.e. fall into "unrecognised" category. No need to keep them
among other options that are actually parsed.
The file was modifiedflang/tools/f18/f18.cpp
Commit 71b0ee72bbe505af9409d26c6120fddd92883bf0 by leonardchan
[NFC] Add InitializePlatformCommonFlags for Fuchsia

https://reviews.llvm.org/D90811 is breaking our CI builders because
InitializePlatformCommonFlags is not defined. This just adds an empty definition.

This would've been caught on our upstream buildbot, but it's red at the moment
and most likely won't be sending out alert emails for recent failures.

Differential Revision: https://reviews.llvm.org/D90864
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Commit f738aee0bbf39d11b9f0104e094c7893ffca040c by Stanislav.Mekhanoshin
[AMDGPU] Add default 1 glc operand to rtn atomics

This change adds a real glc operand to the return atomic
instead of just string " glc" in the middle of the asm
string.

Improves asm parser diagnostics.

Differential Revision: https://reviews.llvm.org/D90730
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-atomic-cmpxchg-flat.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-atomicrmw-add-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/memory_clause.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
The file was modifiedllvm/test/MC/AMDGPU/flat-gfx10.s
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgpu-atomic-cmpxchg-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_new.s
The file was modifiedllvm/test/MC/AMDGPU/flat-gfx9.s
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-loop-irreducible.mir
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-atomicrmw-add-flat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.add.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fp-atomic-to-s_denormmode.mir
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/test/CodeGen/AMDGPU/vmem-to-salu-hazard.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/break-vmem-soft-clauses.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.add.ll

Summary

  1. [benchmark] [PowerPC] Rename mftbl to mftb (details)
Commit 4af296ef47a0a9314a9c3ca65bf3c5d4c7020451 by wanyu9511
[benchmark] [PowerPC] Rename mftbl to mftb

`mftb` and `mftbl` are equivalent, yet `mftbl` is not recognized on AIX. Therefore, rename `mftbl` to only have `mftb`.

This mirrors https://reviews.llvm.org/D89506 in LLVM monorepo.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D90779
The file was modifiedMicroBenchmarks/libs/benchmark-1.3.0/README.llvm (diff)
The file was modifiedMicroBenchmarks/libs/benchmark-1.3.0/src/cycleclock.h (diff)
The file was modifiedMicroBenchmarks/libs/benchmark-1.3.0/CONTRIBUTORS (diff)