Changes

Summary

  1. Remove Cmake compiler arguments. (details)
  2. [lldb] Mark cmake build as unstable when one or more tests fail (details)
  3. Revert "[lldb] Mark cmake build as unstable when one or more tests fail" (details)
  4. [lldb] Remove LLDB_CAPTURE_REPRODUCER export (details)
Commit c74a2d16fa65b57006654705414510371c982e51 by stevan.radakovic
Remove Cmake compiler arguments.

This way cmake will pick /usr/local/bin/cc or c++, which we
point to the appropriate compiler.

Reviewed By: maxim-kuvyrkov

Differential Revision: https://reviews.llvm.org/D99573
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 557b1768a04da0d7977cb861fc4c57198d468a78 by Jonas Devlieghere
[lldb] Mark cmake build as unstable when one or more tests fail
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)
Commit fd65067b443a26fe276a1989ec2f0f380503c2fb by Jonas Devlieghere
Revert "[lldb] Mark cmake build as unstable when one or more tests fail"

This reverts commit 557b1768a04da0d7977cb861fc4c57198d468a78.
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)
Commit 1ed3617b6af7315f41de28e1f207c269ecd17ffc by Jonas Devlieghere
[lldb] Remove LLDB_CAPTURE_REPRODUCER export
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)

Summary

  1. fix comment typo to cycle bots (details)
  2. Fix broken build for commit 9b0517035faee275ce1feabb03d0c7606ea7f819 (details)
  3. Revert "[CMake] Use write_basic_package_version_file for LLVM" (details)
  4. [lsan] realloc: don't deallocate if requested size is too large (details)
  5. [NFC] clang-formatting zos-alignment.c (details)
  6. [X86][FastISel] Fix with.overflow eflags clobber (PR49587) (details)
  7. [lldb] Print stack trace when lldb-vscode crashes (details)
  8. [AArch64] Remove custom zext/sext legalization code. (details)
  9. [Passes] Add relative lookup table converter pass (details)
  10. [gn build] Port 5178ffc7cf92 (details)
  11. Fix .debug_aranges parsing issues. (details)
  12. [lldb] Prints error using WithColor::error in lldb-platform (details)
  13. [dsymutil] Relocate DW_TAG_label (details)
  14. [AArch64][GlobalISel] NFC: Replace IR regbankselect test with MIR test (details)
  15. [IPO][SampleContextTracker] Use SmallVector to track context profiles to prevent non-determinism. (details)
  16. [dsymutil] s/dwarfdump/llvm-dwarfdump/ in test (details)
  17. [WebAssembly] Fix i8x16.popcnt opcode (details)
  18. Add missing dependency to fix building the jit tests (details)
  19. [llvm][utils] Fix handling of llvm::None (details)
  20. Add debug support for set types (details)
  21. [RISCV] Move scheduling resources for B into a separate file (NFC) (details)
  22. [RISCV] Add inline asm constraint 'vr' and 'vm' in Clang for RISC-V 'V'. (details)
  23. [libc++] Re-enable macOS back-deployment testing (details)
  24. Revert "[COFF] Only consider associated EH sections during ICF" (details)
  25. [AArch64][SVEIntrinsicOpts] Optimize tbl+dup into dup+extractelement (details)
  26. [AArch64][SVE] Codegen dup_lane for dup(vector_extract) (details)
  27. [NFC][SVE] Remove redundant pattern (details)
  28. Revert "Add missing dependency to fix building the jit tests" (details)
  29. [Propeller] Do not generate the BB address map for empty functions. (details)
  30. [DebugInfo] Upgrade DISubragne::count to accept DIExpression also (details)
  31. [NFC][scudo] Add memtag.h into CMake file (details)
  32. [NFC][scudo] Sort sources in CMake file (details)
  33. [sanitizer] Improve accuracy of GetTls on x86/s390 (details)
  34. [Test] Add a test demonstrating a missing opportunity to PRE a load (details)
  35. [OpenMP][NFC] Move the `noinline` to the parallel entry point (details)
  36. [loop-idiom] Hoist loop memcpys to loop preheader (details)
  37. [DebugInfo][unittest] Fix heap-use-after-free after D76115 (details)
  38. Revert "[loop-idiom] Hoist loop memcpys to loop preheader" (details)
  39. [loop-idiom] Hoist loop memcpys to loop preheader (details)
  40. [lldb/DWARF] Simplify DIE extraction code slightly (details)
  41. [lldb] Add a dwarf unit test for null unit dies (details)
  42. [lldb] Remove ScriptInterpreterLuaTest.Plugin unittest (details)
  43. [llvm-profdata] Make sure to consume Error on the error path of setIsIRLevelProfile (details)
  44. [NFC][scudo] Produce debug info (details)
  45. [lli] Add option -lljit-platform=Inactive to disable platform support explicitly (details)
  46. [AMDGPU] Update AMDGPU PAL usage documentation (details)
  47. Revert "[lldb/DWARF] Simplify DIE extraction code slightly" (details)
  48. [X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation (details)
  49. [InstructionCost] Don't conflate Invalid costs with Unknown costs. (details)
  50. Revert "[X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation" (details)
  51. [docs] remove references to checking out svn repos (details)
  52. [ObjC][CodeGen] Fix missing debug info in situations where an instance and class property have the same identifier (details)
  53. [lldb] Add a test for Obj-C properties with conflicting names (details)
  54. [clangd] Perform merging for stale symbols in MergeIndex (details)
  55. [AArch64][SVE] Lower fixed length EXTRACT_VECTOR_ELT (details)
  56. [AArch64][SVE] Lower fixed length INSERT_VECTOR_ELT (details)
  57. [lldb] Change CreateHostNativeRegisterContextLinux argument type (details)
  58. Revert "[loop-idiom] Hoist loop memcpys to loop preheader" (details)
  59. [ASTImporter] Import member specialization/instantiation of enum decls (details)
  60. Re-apply "[lli] Make -jit-kind=orc the default JIT engine" (details)
  61. [LoopVectorize] Add support for scalable vectorization of induction variables (details)
  62. [RegAlloc] Add a test with use in statepoint expected to be on stack. (details)
  63. [ARM] Handle Splats in MVE lane interleaving (details)
  64. [lli] Leaving two EH frame tests with MCJIT only after PowerPC failure (details)
  65. Fix cleanup error in TestVSCode_disconnect.test_launch (details)
  66. [gn build] (semi-manually) port 51fa9e0fd984 (details)
  67. NFC: Migrate PartialInlining to work on InstructionCost (details)
  68. [LoopUnswitch] Simplify branch condition if it is select with constant operands (details)
  69. Fix path in test added in e0577b3130a646b0ee090c04a40400483031c7a9 to work with both Linux/Windows paths. (details)
  70. [x86] enhance matching of pmaddwd (details)
  71. [clang] [PR49736] [C++2b] Correctly reject lambdas with requires clause and no parameter list (details)
  72. [lldb] [Process/gdb-remote] Fix TID reading to use U64 (details)
  73. Move test to X86 directory (details)
  74. Revert "[Passes] Add relative lookup table converter pass" (details)
  75. [gn build] Port c51e91e04681 (details)
  76. clang-format: [JS] do not collapse - - to --. (details)
  77. [OPENMP]Fix PR48740: OpenMP declare reduction in C does not require an initializer (details)
  78. [Analyzer] Track RValue expressions (details)
  79. [analyzer] Support allocClassWithName in OSObjectCStyleCast checker (details)
  80. [libc++] Add a CI job to test the Runtimes build (details)
  81. [analyzer] Fix crash when reasoning about C11 atomics (PR49422) (details)
  82. [lldb] [server] Support for multiprocess extension (details)
  83. [AMDGPU] Remove outdated TODOs. NFC (details)
  84. [lldb] Remove linux/mips debugging support (details)
  85. [test, HardwareLoops] Fix use of var defined in CHECK-NOT (details)
  86. Added static verification for Linalg Ops. (details)
  87. [test, LoopVectorize] Fix use of var defined in CHECK-NOT (details)
  88. [OPENMP]Fix test checks for 32bit targets, NFC. (details)
  89. [lldb/test] Deflake TestGdbRemote_vContThreads even more (details)
  90. [OpenCL] Fix parsing of opencl-c.h in CL 3.0 (details)
  91. [clang-format] Fix east const pointer alignment of operators (details)
  92. [Docs] Update googletest docs link. (details)
  93. [test, ARM] Fix use of var defined in CHECK-NOT (details)
  94. [libc] Fix msan/asan memcpy reentrancy (details)
  95. [lldb] Fix TestStopOnSharedlibraryEvents.py on linux (details)
  96. [lldb] Add missing include in TestGdbRemote_vContThreads test (details)
  97. [lldb] More missing includes in TestGdbRemote_vContThreads (details)
  98. [RISCV] Remove floating point condition code legalization from lowerFixedLengthVectorSetccToRVV. (details)
  99. [RISCV] Don't set the SplatOperand flag on intrinsics that take a shift amount. (details)
  100. Remove dead CHECK-ERR line. (details)
  101. [NFC][CodeGen] Tidy up TargetRegisterInfo stack realignment functions (details)
  102. [GlobalISel] Implement lowering for G_ROTR and G_ROTL. (details)
  103. [RISCV] Pass 'half' in the lower 16 bits of an f32 value when F extension is enabled, but Zfh is not. (details)
  104. [lldb] [test] Mark more lldb-server tests xfail on Windows (details)
  105. Add -disable-verify flag to llvm-link. (details)
  106. Add a "register_runtime" method to the mlir.execution_engine and show calling back from MLIR into Python (details)
  107. [lldb] Remove reproducer from previous test run (details)
  108. [GlobalISel][AArch64] Combine G_SEXT_INREG + right shift -> G_SBFX (details)
  109. [clang][cli] Fix round-trip of OPT_plugin_arg (details)
  110. [CSSPGO] Top-down processing order based on full profile. (details)
  111. [SamplePGO] Keeping prof metadata for IndirectBrInst (details)
  112. [mlir] Linalg: add tile interchange flag to test-linalg-codegen-strategy pass (details)
  113. [DebugInfo] Support for signed constants inside DIExpression (details)
  114. [AArch64][GlobalISel] Combine funnel shifts to rotates. (details)
  115. [AArch64][GlobalISel] Define some legalization rules for G_ROTR and G_ROTL. (details)
  116. [GlobalISel] Implement fewerElements legalization for vector reductions. (details)
  117. [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism. (details)
  118. [InstCombine] add test for abs() demanded bits; NFC (details)
  119. [InstCombine] add fold for demand of low bit of abs() (details)
  120. [GlobalISel] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after D99463 (details)
  121. [clang] Use decltype((E)) for compound requirement type constraint (details)
  122. Conditionalize the JIT test dependency (details)
  123. [Sanitizer][RISCV][AArch64][Android] Adjust allocator tests (details)
  124. [OPENMP]Fix PR48607: Crash during clang openmp codegen for firstprivate() of `float _Complex`. (details)
  125. [ARM] Add FeatureHasNoBranchPredictor for Thumb1 cores (details)
  126. [libc++] Include <__config_site> from <__config> (details)
  127. [OPENMP51]Initial support for the dispatch directive. (details)
  128. [docs] Fix up dead clang-format links after monorepo move. NFC (details)
  129. [ThinLTO] During module importing, close one source module before open (details)
  130. [lld-macho][NFC] Drop unnecessary macho:: namespace prefix on unambiguous references to Symbol (details)
  131. Fix deletion of operations through the rewriter in a pattern matching a consumer operation (details)
  132. [www] Color Clang 11 and Clang 12 features as green and not yellow, and (details)
  133. [lld-link] Enable addrsig table in COFF lto (details)
  134. Fix pluralization error in diagnostic, and move C++ testcase to proper (details)
  135. [www] Fix build of attribute documentation. (details)
  136. Delete checked-in generated copy of diagnostic reference. (details)
  137. [WebAssembly] Encode numbers in ULEB128 in event section (details)
  138. [LLDB] Add support for Arm64/Linux dynamic register sets (details)
  139. [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers (details)
  140. [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset (details)
  141. [www] List both the regular and expanded form of %diff in the (details)
  142. [trace][intel-pt] Implement trace start and trace stop (details)
  143. Reland "[gn build] port 48e4b0f (__config_site)" (details)
  144. [StructLayout] Use TrailingObjects to allocate space for MemberOffsets. (details)
  145. Fix test expectations for %diff documentation. (details)
  146. [JITLink] Add a setProtectionFlags method to jitlink::Section. (details)
  147. Fix errors in 0b69756110db444282c40ea16929186b2910c3b1 (details)
  148. [clang][Sema] Don't try to initialize implicit variable of invalid anonymous union/struct (details)
  149. [LoopUnswitch] Assert that branch condition is either and/or but not both (details)
  150. [RISCV] Remove some unused ImmLeafs. NFC (details)
  151. [GlobalISel] Fix Wint-in-bool-context warning (NFC) (details)
  152. [RISCV] simm12_plus1 should not inherit from Operand. NFC (details)
  153. [SimpleLoopUnswitch] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after 431a40e1e28f181e87dd247b91a5e6872dd64ab4 (details)
  154. [Utils][Emacs] Improve syntax highlight (details)
  155. [Coroutine] [Debug] Insert dbg.declare to entry.resume to print alloca in the coroutine frame under O2 (details)
  156. [JITLink] Switch from StringRef to ArrayRef<char>, add some generic x86-64 utils (details)
  157. libc: Default LIBC_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX} (details)
  158. [mlir] Add C and python API for is_registered_operation. (details)
  159. [JITLink] Delete copy and move constructors for jitlink::Section. (details)
  160. [RISCV] Refine pre-define macro tests (details)
  161. [libcxx] [test] Fix tests of <cuchar> that unexpectedly succeed on windows (details)
  162. [libcxx] [test] Don't add dirs from the LIB env var to PATH (details)
  163. [X86] Regenerate test to add missing @PLT (details)
  164. [X86] Add test cases for PR48768 and D94856. NFC (details)
  165. Revert "Revert "[mlir] Introduce CloneOp and adapt test cases in BufferDeallocation."" (details)
  166. [mlir][Linalg][Python] Create the body of builtin named Linalg ops (details)
  167. [WebAssembly] Fix incorrect DW_TAG_pointer_type size in test (details)
  168. [asan] Remove FreeBSD XFAIL from asan-sigbus.cpp test (details)
  169. [TableGen] Emit more helpful error messages on empty type set (details)
  170. [OpenCL] Limit popcount to OpenCL 1.2 and above (details)
  171. [mlir] Change vector.transfer_read/write "masked" attribute to "in_bounds". (details)
  172. [clang][Checkers] Extend PthreadLockChecker state dump (NFC). (details)
  173. NFC: Change getUserCost to return InstructionCost (details)
  174. [AArch64] Avoid SCALAR_TO_VECTOR for single FP constant vector. (details)
  175. [ASTImporter][NFC] Improve test coverage (details)
  176. [AMDGPU][GlobalISel] Add support for global atomicrmw fadd (details)
  177. Revert "[LLDB] Skip TestVSCode_disconnect.test_launch arm/linux" (details)
  178. [RISCV] Add support for the stepvector intrinsic (details)
  179. [ASTImporter][NFC] Fix duplicated symbols in "Improve test coverage" (details)
  180. [X86] AMD Zen 3 has macro fusion (details)
  181. [InlineCost] Remove TODO comment that consider other forms of savings in the cost-benefit analysis (details)
  182. Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset" (details)
  183. Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers" (details)
  184. [Test] Auto-update test checks (details)
  185. NFC: Change getTypeBasedIntrinsicCost to return InstructionCost (details)
  186. NFC: Change getIntrinsicInstrCost to return InstructionCost (details)
  187. Revert "[clang][Checkers] Extend PthreadLockChecker state dump (NFC)." (details)
  188. [libc++] Avoid <climits> dependency in <thread> (details)
  189. [C++2b] Support size_t literals (details)
  190. [CostModel] Align the cost model for intrinsics for scalable/fixed-width vectors. (details)
  191. [SVE] Fix LoopVectorizer test scalalable-call.ll (details)
  192. [RISCV] Add XFAIL riscv32 for known issue with the old pass manager (details)
  193. [libc++] Mark convert_copy.pass.cpp as UNSUPPORTED on clang-13 (i.e. trunk). (details)
  194. [clang][parser] Allow GNU-style attributes in explicit template... (details)
  195. [AArch64][SVE] Add tests for UREM/SREM using fixed SVE types (details)
  196. [InstCombine] add tests for srem+abs; NFC (details)
  197. [InstCombine] fold abs(srem X, 2) (details)
  198. [WebAssembly] Raname a test and fix comments (details)
  199. [llvm-jitlink] Fix -Wunused-function on Windows (details)
  200. [RISCV] Add isel patterns to select vsub_vx intrinsic to vadd.vi if it uses a small enough immediate (details)
  201. [AMDGPU] Use a common check prefix for some image tests. NFC. (details)
  202. [AMDGPU] Add some image tests with enable-prt-strict-null disabled. NFC. (details)
  203. [RISCV] Add RISCVISD opcodes for CLZW and CTZW. (details)
  204. [LTO][Legacy] Decouple option parsing from LTOCodeGenerator (details)
  205. [X86] Improve optimizeCompareInstr for signed comparisons after BMI/TBM instructions (details)
  206. [PowerPC] [MLICM] Enable hoisting of caller preserved registers on AIX (details)
  207. [X86] Improve SMULO/UMULO codegen for vXi8 vectors. (details)
  208. [SCEV] Handle unreachable binop when matching shift recurrence (details)
  209. [ValueTracking] Add with.overflow intrinsics to poison analysis functions (details)
  210. [WebAssembly] Implement i64x2 comparisons (details)
  211. [Driver] Move detectLibcxxIncludePath to ToolChain (details)
  212. Move non-spec TOSA operators into TosaUtilOps.td (details)
  213. [LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism. (details)
  214. [flang] Refine checks for pointer initialization targets (details)
  215. [SLP]Add a test for the bug in `getVectorElementSize()`, NFC. (details)
  216. [ConstantFolding] Fixing addo/subo with undef (details)
  217. [mlir][cse] do not replace operands in previously simplified operations (details)
  218. [SelectionDAG] Remove unneeded vector resize from the end of FoldConstantArithmetic. NFC (details)
  219. [SLP]Update test checks, NFC (details)
  220. [lld-macho][nfc] Test that -ObjC will import bitcode with category sections (details)
  221. [lld-macho] Parallelize UUID hash computation (details)
  222. [tests] Exercise cases where SCEV can use trip counts to refine ashr/lshr recurrences (details)
  223. [OPENMP]Fix PR48658: [OpenMP 5.0] Compiler crash when OpenMP atomic sync hints used. (details)
  224. [OPENMP]Fix PR48885: Crash in passing firstprivate args to tasks on Apple M1. (details)
  225. Make TableGenGlobalISel an object library (details)
  226. Revert "Make TableGenGlobalISel an object library" (details)
  227. [NFC][LoopRotation] Count the number of instructions hoisted/cloned into preheader (details)
  228. [test, InferFunctionAttrs] Fix use of var defined in CHECK-NOT (details)
  229. [dfsan] Set sigemptyset's return label to be 0 (details)
  230. [mlir][tosa] Add tosa.reciprocal and tosa.sigmoid lowerings (details)
  231. [X86] add dwarf annotation for inline stack probe (details)
  232. [RISCV] Add UnsupportedSchedZfh multiclass to reduce duplicate lines from RISCVSchedRocket.td and RISCVSchedSiFive7.td. NFC (details)
  233. Support {S,U}REMEqFold before legalization (details)
  234. Add debug printers for KnownBits [nfc] (details)
  235. Add support to -Wa,--version in clang (details)
  236. [tests] Add tests for ashr/lshr recurrences in isKnownNonZero (details)
  237. [ValueTracking] Handle non-zero ashr/lshr recurrences (details)
  238. [lld][MachO] Refactor handling of subsections (details)
  239. Revert "Add support to -Wa,--version in clang" (details)
  240. [GVN][NFC] Refactor analyzeLoadFromClobberingWrite (details)
  241. [GVN][NFC] Pre-commit test for D93503 (details)
  242. [GVN] Propagate llvm.access.group metadata of loads (details)
  243. [clang][APINotes] Fix -Wunused-function warning (NFC) (details)
  244. [lldb] Remove LLDB_CAPTURE_REPRODUCER override (details)
  245. [debug-info] support new tuning debugger type DBX for XCOFF DWARF (details)
  246. [lldb-vscode] Consistently use return EXIT_SUCCESS and EXIT_FAILURE (NFC) (details)
  247. [lldb-vscode] Use LLVM's ScopeExit to ensure we always terminate the debugger (details)
  248. [lldb] Remove references to LLDB_CAPTURE_REPRODUCER (details)
  249. [NFC] Disambiguate LI in GVN (details)
  250. [NFC] Undo some erroneous renamings (details)
  251. [libc++] Build and test with -Wundef warning. NFC. (details)
  252. [lldb] Fix compilation with gcc-6.5 (details)
  253. [lldb] Fix build errors from 3bea7306e8 (details)
  254. [mlir][Python][Linalg] Add missing attributes to linalg ops (details)
  255. [WebAssembly] Invert branch condition on xor input (details)
  256. [Driver] Fix architecture triplets and search paths for Linux x32 (details)
  257. [LoopFlatten] Do not report CFG analyses as up-to-date (details)
  258. Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers"" (details)
  259. Revert "Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset"" (details)
  260. [LLDB] Fix sync issue in TestVSCode_launch.test_progress_events (details)
  261. [MLIR][Affine] Add utility to check if the slice is valid (details)
  262. [NFC] Add tests for scalable vectorization of loops with large stride acesses (details)
  263. [clang][Checkers] Extend PthreadLockChecker state dump (NFC). (details)
  264. [SLP] Add test cases for missing SLP vectorization on AArch64. (details)
  265. [AMDGPU][MC] Added flag to identify VOP instructions which have a single variant (details)
  266. [X86][SSE] Add isHorizOp helper function. NFCI. (details)
  267. [X86][SSE] Enable (F)HADD/SUB handling to SimplifyMultipleUseDemandedVectorElts (details)
  268. [X86][SSE] Fold HOP(HOP(X,X),HOP(Y,Y)) -> HOP(PERMUTE(HOP(X,Y)),PERMUTE(HOP(X,Y)) (details)
  269. [AMDGPU][MC][GFX10][GFX90A] Corrected _e32/_e64 suffices (details)
  270. [lldb] [test] Mark lldb-server multiprocess tests as LLGS cat (details)
  271. [lldb] Rewrite TestAutoInstallMainExecutable logic (details)
  272. [SLP]Remove `else` after `return`, NFC.` (details)
  273. [lldb] Make TestLoadUsingLazyBind work on linux (details)
  274. [OpenCL][Docs] Added a label for C++ libs section and example link (details)
  275. [flang] Move .f77 to the list of fixed-form file extensions (details)
  276. [DAG] MergeInnerShuffle with BinOps - sometimes accept undef mask elements (details)
  277. [SLP]Improve and fix getVectorElementSize. (details)
  278. [AMDGPU] Enable output modifiers for double precision instructions (details)
  279. [AArch64][SVE] SVE functions should use the SVE calling convention for fast calls (details)
  280. [AArch64][SVE] Improve codegen for select nodes with fixed types (details)
  281. [AsmParser][SystemZ][z/OS] Add in support to accept "#" as part of an Identifier token (details)
  282. [clang][parser] Set source ranges for GNU-style attributes (details)
  283. Revert "[clang][parser] Set source ranges for GNU-style attributes" (details)
  284. [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration (details)
  285. [deref-at-point] restrict inference of dereferenceability based on allocsize attribute (details)
  286. [AMDGPU] Small cleanup to constructRetValue and its caller. NFC. (details)
  287. [lldb] Un-XFAIL TestAutoInstallMainExecutable on Windows (details)
  288. [LoopVectorize] auto-generate complete checks; NFC (details)
  289. [OpenMP51][DOCS] Mark "add present modifier in defaultmap clause" as (details)
  290. [tests] Cover the most basic cases of nosync inference (details)
  291. [RISCV] Improve 64-bit integer materialization for some cases. (details)
  292. [HIP] remove overloaded abs in header (details)
  293. [OpenMP][NFC] Fix typo in libomptarget error message (details)
  294. [lldb] Update test.rst with a paragraph about pdb (details)
  295. [llvm-reduce] Move tests to tools folder (details)
  296. [PPC] Regenerate PR27078 test checks (details)
  297. [CMake] Remove {LIBCXX,LIBCXXABI,LIBUNWIND}_INSTALL_PREFIX (details)
  298. [AMDGPU][SDag] Add IMG init in AdjustInstrPostInstrSelection (details)
  299. [AMDGPU][GlobalISel] Add IMG init in selectImageIntrinsic (details)
  300. [AMDGPU] Remove SIAddIMGInit pass which is now unused (details)
  301. [lldb/test] Respect --apple-sdk path when querying SDK info (details)
  302. [RISCV] Add MULHU and MULHS tests with a constant operand. (details)
  303. [RISCV] Add custom type legalization to form MULHSU when possible. (details)
  304. [gn build] Port fdc4f19e2f80 (details)
  305. [MC][ARM] add .w suffixes for ORN/ORNS T1 (details)
  306. [RISCV] Fix handling of nxvXi64 vmsgt(u).vx intrinsics on RV32. (details)
  307. Mark unordered memset/memmove/memcpy as nosync (details)
  308. [libc++] Fix codesigning in run.py (details)
  309. Avoid calling ParseCommandLineOptions in BackendUtil if possible (details)
  310. [CMake] Include dependency on cxx-headers in compiler-rt tests (details)
  311. [libc++] Print the CMake version before generating CMake (details)
  312. [MC][ARM] add .w suffixes for RSB/RSBS T1 (details)
  313. [libc++] NFC: Add a simple test to make sure we destroy elements in std::list (details)
  314. Add a pattern to combine composed subview ops (details)
  315. [SLP]Test for min/max reductions bug, NFC. (details)
  316. Add support for fetching signed values from tagged pointers. (details)
  317. [lldb] Prevent that LLDB randomly crashes in CommandLineParser::addOption by initializing LLVM's command line parser (details)
  318. [flang] Implement reductions in the runtime (details)
  319. Extract isVolatile helper on Instruction [NFCI] (details)
  320. [libcxx] [test] Remove XFAIL LIBCXX-WINDOWS-FIXME from time.clock.file/now.pass.cpp (details)
  321. [ARM] Remove an unused parameter in ARMWinCOFFObjectWriter. NFC. (details)
  322. Infer dereferenceability from malloc and friends (details)
  323. Fix "image lookup --address" Summary results for inline functions. (details)
  324. [funcattrs] Infer nosync from readnone and non-convergent (details)
  325. [libcxx] [test] Make the condvar wait_for tests less brittle (details)
  326. [Attributor] Cleanup intrinsic handling in nosync inference [mostly NFC] (details)
  327. [Attributor] Cleanup detection of non-relaxed atomics in nosync inference (details)
  328. Update a test missed in 6ef4505 (details)
  329. [OpenCL][Docs] Update links to the C++ for OpenCL documentation (details)
  330. [RISCV] Use softPromoteHalf legalization for fp16 without Zfh rather than PromoteFloat. (details)
  331. [OpenMP] Pass mapping names to add components in a user defined mapper (details)
  332. [flang] Fix arm clang build (details)
  333. [NFC][scudo] Simplify UseQuarantine initialization (details)
  334. [ARM] Allow v6m runtime loop unrolling (details)
  335. [Scudo] Fix SizeClassAllocatorLocalCache::drain (details)
  336. [scudo][NFC] Make tests runs with --gtest_repeat=2 (details)
  337. [libc++][NFC] Increase readability of typeinfo comparison of ARM64 (details)
  338. Reland "Add support to -Wa,--version in clang"" (details)
  339. [tests] Add tests for forthcoming funcattrs nosync inference improvement (details)
  340. [RISCV] Add isel patterns to handle vrsub intrinsic with 2 vector operands. (details)
  341. [Driver] -nostdinc -nostdinc++: don't warn for -Wunused-command-line-argument (details)
  342. [funcattrs] Respect nofree attribute on callsites (not just callee) (details)
  343. llvm-shlib: Create object libraries for each component and link against them (details)
  344. [flang] Implement numeric intrinsic functions in runtime (details)
  345. [OpenMP51] Accept `primary` as proc bind affinity policy in Clang (details)
  346. [flang] Fix unit test failure on POWER (details)
  347. Setup OpBuilder to support detached block in loopUnrollByFactor (NFC) (details)
  348. [OpenMP, test] Fix uses of undef S*VAR FileCheck var (details)
  349. [OpenMP, test] Fix use of undef DECL FileCheck var (details)
  350. [OpenMP, test] Fix use of undef VAR_PRIV FileCheck var (details)
  351. [globalisel][unittests] Rename setUp() to avoid potential mix up with SetUp() from gtest (details)
  352. Revert "[globalisel][unittests] Rename setUp() to avoid potential mix up with SetUp() from gtest" (details)
  353. [MIPS, test] Fix use of undef FileCheck var (details)
  354. [flang] Disable some new unit tests (non-portable results) (details)
  355. [RISCV] Add nxvXi64 test cases to the RV32 Zvamo intrinsic test files. NFC (details)
  356. [builtins] Build for arm64_32 for watchOS (Darwin) (details)
  357. [TextAPI] Add support for arm64_32 (details)
  358. [NFC][scudo] Use TYPED_TEST to split large test (details)
  359. [lld][MachO] Make emitEndFunStab independent from .subsections_via_symbols (details)
  360. [indvars[ Fix pr49802 by checking for SCEVCouldNotCompute (details)
  361. [NFC][AMDGPU] Add product names for gfx908 and gfx10 processors (details)
  362. [mlir][sparse] support for very narrow index and pointer types (details)
  363. [debug-info][XCOFF] set `-gno-column-info` by default for DBX (details)
  364. [NFC][scudo] Move globals into related test (details)
  365. [X86] Fix -Wunused-function warning (NFC) (details)
  366. Handle all standalone combinations of LC_NOTEs w/ & w/o addr & uuid (details)
  367. [lldb] Account for objc_debug_class_getNameRaw returning NULL (details)
  368. [lld] Add missing header guard (NFC) (details)
  369. [NFC][scudo] Move some shared stuff into ScudoCombinedTest (details)
  370. [CMake] Use append instead of set with the list (details)
  371. [AssumeBundles] offset should be added to correctly calculate align (details)
  372. [lld][MachO] Fix -Wsign-compare warning (NFC) (details)
  373. [RISCV] Add more nxvi64 vector intrinsic tests for RV32. NFC (details)
  374. [llvm-reduce] Add header guards and fix clang-tidy warnings (details)
  375. [RISCV] Add missing nxvXf64 intrinsics tests cases for floating-point compare for RV32. (details)
  376. [CSSPGO] Skip dangling probe value when computing profile summary (details)
  377. [libcxx] adds concepts `std::totally_ordered` and `std::totally_ordered_with` (details)
  378. Tweak SimpleFastHash (details)
  379. [clang-cl] [Sema] Do not prefer integral conversion over floating-to-integral for MS compatibility 19.28 and higher. (details)
  380. [mlir] add memref dialect as dependent of lower-affine pass (details)
  381. [clang][ItaniumMangle] Check SizeExpr for DependentSizedArrayType (details)
  382. [libcxx] [test] Make the condvar wait_for tests a bit more understandable. NFC. (details)
  383. [libcxx] [test] Fix invocable tests on Windows (details)
  384. [NFC][scudo] Convert ScudoPrimaryTest into TYPED_TEST (details)
  385. [NFC][scudo] Inline some functions into ScudoPrimaryTest (details)
  386. [PassManager] Run additional LICM before LoopRotate (details)
  387. [NARY-REASSOCIATE] Support reassociation of min/max (details)
  388. [libc++] Fix build on macOS older than 10.15. (details)
  389. [RISCV] Add some tests showing vsetvli cleanup opportunities (details)
  390. [RISCV] Optimize more redundant VSETVLIs (details)
  391. [SLP] Better estimate cost of no-op extracts on target vectors. (details)
  392. Always emit error for wrong interfaces to scalable vectors, unless cmdline flag is passed. (details)
  393. [gn build] Port 0f7bbbc481e2 (details)
  394. [X86][SSE] isHorizontalBinOp - use getTargetShuffleInputs helper (details)
  395. [LLDB] Skip TestLoadUsingLazyBind.py on arm/linux (details)
  396. [RISCV] Test llvm.experimental.vector.insert intrinsics on RV32 (details)
  397. [InstCombine] Fix out-of-bounds ashr(shl) optimization (details)
  398. [mlir][spirv] Add utilities for push constant value (details)
  399. [NFC][SVE] Use SVE_4_Op_Imm_Pat for sve_intx_dot_by_indexed_elem (details)
  400. [AArch64][SVE] Lowering sve.dot to DOT node (details)
  401. [NFC][SVE] update sve-intrinsics-int-arith.ll under update_llc_test_checks.py (details)
  402. Restore 8954fd436c7 after c06a8f9caa51c (details)
  403. [TableGen] [Docs] Add lldb-tblgen to command guide; add 4 guide stubs (details)
  404. Revert "[X86][SSE] isHorizontalBinOp - use getTargetShuffleInputs helper" (details)
  405. [SLP]Fix a bug in min/max reduction, number of condition uses. (details)
  406. [SLP]Added a test for min/max reductions with the key store inside, NFC. (details)
  407. [CVP] Add test for !range on intrinsic (NFC) (details)
  408. [LVI] Use range metadata on intrinsics (details)
  409. [GlobalISel] Allow different types for G_SBFX and G_UBFX operands (details)
  410. [flang] Fix MSVC build breakage (details)
  411. Remove attribute handling code for simple attributes; NFC (details)
  412. [rs4gc] add tests for existing code stripping attributes from function signatures (details)
  413. [rs4gc] Strip nofree and nosync attributes when lowering from abstract model (details)
  414. [lld-macho][NFC] Remove redundant member from class Defined (details)
  415. [rs4gc] Use loops instead of straightline code for attribute stripping [nfc] (details)
  416. [LV] Hoist mapping of IR operands to VPValues (NFC). (details)
  417. [gn build] add build file for tsan runtime (details)
  418. [SCCP] Avoid modifying AdditionalUsers while iterating over it (details)
  419. [GVNSink] auto-generate test checks; NFC (details)
  420. [InstCombine] add tests for not+or+neg; NFC (details)
  421. [InstCombine] fold not+or+neg (details)
  422. [RISCV] Add missing CHECK-EXPAND line to one case in rv64i-aliases-valid.s. (details)
  423. [RISCV] Improve 64-bit integer constant materialization for more cases. (details)
  424. [flang] TRANSFER() intrinsic function (details)
  425. [Hexagon, test] Fix use of undef FileCheck var (details)
  426. [RISCV] Add IR intrinsic for Zbr extension (details)
  427. [ms] [llvm-ml] Fix case-sensitivity for variables and textmacros (details)
  428. [SLPVectorizer] Fix divide-by-zero after D99719 (details)
  429. [RISCV] Add IR intrinsic for Zbb extension (details)
  430. [TextAPI] run clang-format on violating sections, NFC (details)
  431. Revert "[RISCV] Add IR intrinsic for Zbb extension" (details)
  432. Recommit "[RISCV] Add IR intrinsic for Zbb extension" (details)
  433. [mlir] Rename linalg.pooling operations to have a FOp postfix for floating point (details)
  434. [RISCV] Add IR intrinsics for Zbc extension (details)
  435. [ms] [llvm-ml] Accept /WX to signal that warnings should be fatal. (details)
  436. [Sema] Fix Windows build after b001d574d7d9 (details)
  437. [RISCV] Try using toupper instead of std::toupper to make the build bots happy. (details)
  438. Revert "[RISCV] Try using toupper instead of std::toupper to make the build bots happy." (details)
  439. [OPENMP][DOCS]Update status of the supported constructs, NFC. (details)
  440. [nfc] [llvm] Make DWARFListTableBase::findList const (details)
  441. [mlir] Emit errors when creating unregistered attributes/types when not allowed (details)
  442. [OPENMP5.1]Initial support for novariants clause. (details)
  443. [NFC][scudo] Split ScudoCombinedTest.BasicCombined (details)
  444. Use tablegen to diagnose mutually exclusive attributes (details)
  445. [mlir] Add optional TypeConverter for materializations. (details)
  446. [KnownBits] Add KnownBits::haveNoCommonBitsSet helper. NFCI. (details)
  447. Fix build bot problem with missing OMPC_novariants in switch. (details)
  448. [mlir][tosa] Add tosa.reduce_any and tosa.reduce_all linalg lowering (details)
  449. [NFC][scudo] Add test header int CMake file (details)
  450. [NFC][scudo] Move macro into a shared header (details)
  451. [flang] Address more MSVC build issues with reductions (details)
  452. [LLDB] Sleep for 5 second TestVSCode_launch test_progress_events (details)
  453. [CSSPGO][Test] XFAIL profile-context-tracker-debug.ll on AIX (details)
  454. Revert "[sanitizer] Simplify GetTls with dl_iterate_phdr" (details)
  455. [gn build] (manually) port 4c58f333f141 (details)
  456. [lld-macho][nfc] Refactor in preparation for 32-bit support (details)
  457. [gn build] hook up tsan on macOS too (details)
  458. [RISCV] Add signext attribute to i32 orc.b test for RV64 to match other Zbb tests. (details)
  459. [lld-macho] Fix -Wsuggest-override after D99633. NFC (details)
  460. [clang] NFC: remove trailing white spaces from some tests (details)
  461. Add missing override to clang tblgen AttrEmitter (details)
  462. [RISCV] Refactor conversion of B extensions to IR intrinsics a little to reduce clang binary size. (details)
  463. [PGO, test] Fix typo in FileCheck var (details)
  464. [BasicAA] Don't pass through AA metadata (NFCI) (details)
  465. [BasicAA] Don't store AATags in cache key (NFC) (details)
  466. [Loads] Forward constant vector store to load of first element (details)
  467. Fix build rules for LLVM_WITH_Z3 after D95727 (details)
  468. [X86][SSE] isHorizontalBinOp - use getTargetShuffleInputs helper (REAPPLIED) (details)
  469. [X86] Add PR47603 test case (details)
  470. [X86] Fold xor(truncate(xor(x,c1)),c2) -> xor(truncate(x),xor(truncate(c1),c2)) (details)
  471. [InstCombine] Add load/store forwarding test with odd size (NFC) (details)
  472. Silence `-Wunused-private-field` warning on isIsolatedFromAbove. (details)
  473. [FastISel] Remove kill tracking (details)
  474. Revert "[lld-link] Enable addrsig table in COFF lto" (details)
  475. [lld-macho] Fix build on 32-bit systems (details)
  476. [lld-macho] Another attempt at fixing 32-bit builds (details)
  477. Speculative attempt to stablize a test (details)
  478. [TableGen] Use StringRef instead of std::string to split up a string that's being parsed. NFCI (details)
  479. [NFC][X86] Split VPMOV* AVX2 instructions into their own sched class (details)
  480. [mlgo] fix build rules (details)
  481. Opaque pointers: Migrate examples to use load with explicit type (details)
  482. Add workaround for false positive in -Wfree-nonheap-object (details)
  483. Add void cast to suppress -Wunused-member-variable on assert-only member (details)
  484. Preprocessor conditionalize some assert-only functions to suppress -Wunused-function (details)
  485. [C++20, test] Fix use of undef FileCheck variable (details)
  486. [InstCombine] Reapply update_test_checks.py to unsigned-multiply-overflow-check.ll (NFC) (details)
  487. [InstCombine] precommit pr49688.ll (NFC) (details)
  488. [InstSimplify] Add a test for folding comparison with a undef vector (NFC) (details)
  489. [InstCombine] Conditionally fold select i1 into and/or (details)
  490. [clang][parser] Set source ranges for GNU-style attributes (details)
  491. [RISCV] Don't convert fshr/fshl to target specific FSL/FSR node if shift amount is a constant. (details)
  492. [NFC][scudo] Restore !UseQuarantine check in tests (details)
  493. Revert "Add support for fetching signed values from tagged pointers." (details)
  494. [CVP] Add test for and of min (NFC) (details)
  495. [LVI] Don't bail on overdefined value in select (details)
  496. [mlir][NFC] Fully spell mlir types names in LoopLikeOpInterface, so it can be used in ops defined outside mlir namespace (details)
  497. Don't check that std::pair is trivially copyable on FreeBSD (details)
  498. [llvm-exegesis] Don't erroneously refuse to measure POPCNT instruction (details)
  499. [CVP] Add more tests for select with overdefined operand (NFC) (details)
  500. [llvm-exegesis] SnippetFile: do create source manager in MCContext (details)
  501. Speculative fix for failing build bot. (details)
  502. [SimplifyCFG] Make test more robust (NFC) (details)
  503. [SimplifyCFG] Add switch-to-select test with two equal cases (NFC) (details)
  504. [SimplifyCFG] Handle two equal cases in switch to select (details)
  505. [InstCombine] add tests for ctpop of power-of-2; NFC (details)
  506. [InstCombine] fold popcount of exactly one bit to shift (details)
  507. [libcxx] [test] Link against msvcprt as C++ ABI library in tests (details)
  508. [Driver] Detect libstdc++ include paths for native gcc (-m32 and -m64) on Debian i386 (details)
  509. [libc++] Improve generate_feature_test_macro_components.py. (details)
  510. [HIP-Clang, test] Fix use of undef FileCheck var (details)
  511. [HIP, test] Fix use of undef FileCheck var (details)
  512. [RISCV] Lower orc.b intrinsic to RISCVISD::GORCI. (details)
  513. [NFC][InstCombine] Add test for PR49778 (details)
  514. [NFC][InstCombine] Extract canTryToConstantAddTwoShiftAmounts() as helper (details)
  515. [InstCombine] dropRedundantMaskingOfLeftShiftInput(): check that adding shift amounts doesn't overflow (PR49778) (details)
  516. [libc++] Fix the header guard from _LIBCPP_STEAMBUF to _LIBCPP_STREAMBUF. (details)
  517. [libc++] Fix test_macros.h in the same way as commit 49e5a896 fixed __config. (details)
  518. [sanitizer] Simplify GetTls with dl_iterate_phdr on Linux (details)
  519. [RISCV] Use gorciw for i32 orc.b intrinsic when Zbp is enabled. (details)
  520. [lldb] Import ObjectiveC module instead of Foundation in test (details)
  521. [lldb] Replace unneeded use of Foundation with ObjectiveC in tests (NFC) (details)
  522. [CUDA][HIP] rename -fcuda-flush-denormals-to-zero (details)
  523. [Test] Add tests for various scenarios of PRE of a loop load (details)
  524. [Test] Split out new and old PM tests (details)
  525. [Test] Auto-update checks in a test (details)
  526. ignore -flto= options recognized by GCC (details)
  527. [OCaml] Fix unsafe uses of Store_field (details)
  528. [OCaml] Minor optimizations by avoiding double initialization (details)
  529. [OCaml] Code simplification using option allocation functions (details)
  530. [OCaml] Code simplification using string allocation functions (details)
  531. [OCaml] Omit unnecessary GC root registrations (details)
  532. [NFC][OCaml] Remove vestigial CAMLprim declarations (details)
  533. [NFC][OCaml] Reformat to clean up following CAMLprim removal (details)
  534. [DebugInfo, CallSites, test] Fix use of undef FileCheck var (details)
  535. [X86] Add second PR47603 test case (details)
  536. [X86] Fold xor(zext(xor(x,c1)),c2) -> xor(zext(x),xor(zext(c1),c2)) (details)
  537. [RISCV] Add a test showing incorrect codegen (details)
  538. * NFC. Refactored DIPrinter for better support of new print styles. (details)
  539. [TableGen] [docs] Correct a couple of mistakes; use 'true' and 'false' in examples (details)
  540. [SLP]Improve vectorization of the CmpInst instructions. (details)
  541. [OpenMP] Fix incorrect KMP_STRLEN() macro (details)
  542. [PowerPC] Fix issue where binary uses a .got but is missing a .TOC. (details)
  543. [SemaObjC] Fix a -Wbridge-cast false-positive (details)
  544. [RISCV] Expand scalable-vector truncstores and extloads (details)
  545. [M68k] Mark public functions with the LLVM_EXTERNAL_VISIBILITY macro (details)
  546. [InstCombine] add test for miscompile from select value equivalence; NFC (details)
  547. [InstCombine] fix potential miscompile in select value equivalence (details)
  548. [RISCV] Add support for bitcasts between scalars and fixed-length vectors (details)
Commit f53dc06ed37a52eae252435f9c34629e2b5eea1f by thakis
fix comment typo to cycle bots
The file was modifiedllvm/include/llvm/BinaryFormat/COFF.h (diff)
Commit c4d5b956170dd85941c1c2787abaa2e01575234c by ravishankarm
Fix broken build for commit 9b0517035faee275ce1feabb03d0c7606ea7f819

Differential Revision: https://reviews.llvm.org/D99533
The file was modifiedmlir/lib/Dialect/MemRef/IR/CMakeLists.txt (diff)
Commit 188592ff08ad552427083124cad12eb0ddd798ba by phosek
Revert "[CMake] Use write_basic_package_version_file for LLVM"

This reverts commit 3001d080c813da20b329303bf8f45451480e5905 which
seems to have introduced a race condition that's failing the build
in some cases.
The file was addedllvm/cmake/modules/LLVMConfigVersion.cmake.in
The file was modifiedllvm/cmake/modules/CMakeLists.txt (diff)
Commit 1daa48f005bd477ba8711ecdf91a1f1515f01383 by i
[lsan] realloc: don't deallocate if requested size is too large

This is the behavior required by the standards.

Differential Revision: https://reviews.llvm.org/D99480
The file was addedcompiler-rt/test/lsan/TestCases/realloc_too_big.c
The file was modifiedcompiler-rt/lib/lsan/lsan_allocator.cpp (diff)
Commit bd8dd580ffd221dd38e28c609b30d9b6361efac7 by fanbo.meng
[NFC] clang-formatting zos-alignment.c

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D99514
The file was modifiedclang/test/CodeGen/SystemZ/zos-alignment.c (diff)
Commit 7669455df49e6fc8ae7d9f4bd4ee95bb20e7eb6e by nikita.ppv
[X86][FastISel] Fix with.overflow eflags clobber (PR49587)

If the successor block has a phi node, then additional moves may
be inserted into predecessors, which may clobber eflags. Don't try
to fold the with.overflow result into the branch in that case.

This is done by explicitly checking for any phis in successor
blocks, not sure if there's some more principled way to address
this. Other fused compare and branch patterns avoid the issue by
emitting the comparison when handling the branch, so that no
instructions may be inserted in between. In this case, the
with.overflow call is emitted separately (and I don't think this
is avoidable, as it will generally have at least two users).

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

Differential Revision: https://reviews.llvm.org/D98600
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/pr49587.ll (diff)
Commit 047cbfe2bbf22a9da1bd27cafcee4eb1453965dc by Jonas Devlieghere
[lldb] Print stack trace when lldb-vscode crashes

Print LLVM's pretty stack trace when lldb-vscode crashes. Also removes
the unnecessary call to PrintStackTraceOnErrorSignal in lldb-server as
it's already part of InitLLVM.

Differential revision: https://reviews.llvm.org/D99535
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp (diff)
The file was modifiedlldb/tools/lldb-server/lldb-server.cpp (diff)
Commit 482283042f795ecc27838a3b2f76b5494991401c by flo
[AArch64] Remove custom zext/sext legalization code.

Currently performExtendCombine assumes that the src-element bitwidth * 2
is a valid MVT. But this is not the case for i1 and it causes a crash on
the v64i1 test cases added in this patch.

It turns out that this code appears to not be needed; the same patterns are
handled by other code and we end up with the same results, even without the
custom lowering. I also added additional test cases in a50037aaa6d5df.

Let's just remove the unneeded code.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D99437
The file was modifiedllvm/test/CodeGen/AArch64/arm64-subvector-extend.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
Commit 5178ffc7cf92527557ae16e86d0fa90d538c2a19 by gulfem
[Passes] Add relative lookup table converter pass

Lookup tables generate non PIC-friendly code, which requires dynamic relocation as described in:
https://bugs.llvm.org/show_bug.cgi?id=45244

This patch adds a new pass that converts lookup tables to relative lookup tables to make them PIC-friendly.

Differential Revision: https://reviews.llvm.org/D94355
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll (diff)
The file was modifiedllvm/test/Other/new-pm-defaults.ll (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/test/Other/pass-pipelines.ll (diff)
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h (diff)
The file was modifiedllvm/lib/Passes/PassRegistry.def (diff)
The file was addedllvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
The file was addedllvm/test/Transforms/RelLookupTableConverter/X86/no_relative_lookup_table.ll
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp (diff)
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll (diff)
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
The file was addedllvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll (diff)
The file was modifiedllvm/docs/Passes.rst (diff)
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll (diff)
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp (diff)
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll (diff)
The file was addedllvm/include/llvm/Transforms/Utils/RelLookupTableConverter.h
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll (diff)
Commit b75018e305ff9c72516c253d3eb79b29d2e22956 by llvmgnsyncbot
[gn build] Port 5178ffc7cf92
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn (diff)
Commit eee309068e6e02b6544b2c1809b3f672fa35b979 by gclayton
Fix .debug_aranges parsing issues.

When LLVM error handling was introduced to the parsing of the .debug_aranges it would cause major issues if any DWARFDebugArangeSet::extract() calls returned any errors. The code in DWARFDebugInfo::GetCompileUnitAranges() would end up calling DWARFDebugAranges::extract() which would return an error if _any_ DWARFDebugArangeSet had any errors, but it default constructed a DWARFDebugAranges object into DWARFDebugInfo::m_cu_aranges_up and populated it partially, and returned an error prior to finishing much needed functionality in the DWARFDebugInfo::GetCompileUnitAranges() function. Subsequent callers to this function would see that the DWARFDebugInfo::m_cu_aranges_up was actually valid and return this partially populated DWARFDebugAranges reference _and_ it would not be sorted or minimized.

This above bugs would cause an incomplete .debug_aranges parsing, it would skip manually parsing any compile units for ranges, and would not sort the DWARFDebugAranges in m_cu_aranges_up.

This bug would also cause breakpoints set by file and line to fail to set correctly if a symbol context for an address could not be resolved properly, which the incomplete and unsorted DWARFDebugAranges object that DWARFDebugInfo::GetCompileUnitAranges() returned would cause symbol context lookups resolved by address (breakpoint address) to fail to find any DWARF debug info for a given address.

This patch fixes all of the issues that I found:
- DWARFDebugInfo::GetCompileUnitAranges() no longer returns a "llvm::Expected<DWARFDebugAranges &>", but just returns a "const DWARFDebugAranges &". Why? Because this code contained a fallback that would parse all of the valid DWARFDebugArangeSet objects, and would check which compile units had valid .debug_aranges set entries, and manually build an address ranges table using DWARFUnit::BuildAddressRangeTable(). If we return an error because any DWARFDebugArangeSet has any errors, then we don't do any of this code. Now we parse all DWARFDebugArangeSet objects that have no errors, if any calls to DWARFDebugArangeSet::extract() return errors, we skip that DWARFDebugArangeSet so that we can use the fallback call to DWARFUnit::BuildAddressRangeTable(). Since DWARFDebugInfo::GetCompileUnitAranges() needs to parse what it can from the .debug_aranges and build address ranges tables for any compile units that don't have any .debug_aranges sets, everything now works as expected.
- Fix an issue where a DWARFDebugArangeSet contains multiple terminator entries. The LLVM parser and llvm-dwarfdump properly warn about this because it happens with linux compilers and linkers and was the original cause of the bug I am fixing here. We now correctly warn about this issue if "log enable dwarf info" is enabled, but we continue to parse the DWARFDebugArangeSet correctly so we don't lose data that is contained in the .debug_aranges section.
- DWARFDebugAranges::extract() no longer returns a llvm::Error because we need to be able to parse all of the valid DWARFDebugArangeSet objects. It also will correctly skip a DWARFDebugArangeSet object that has errors in the middle of the stream by setting the start offsets of each DWARFDebugArangeSet to be calculated by the previous DWARFDebugArangeSet::extract() calculated offset that uses the header which contains the length of the DWARFDebugArangeSet. This means if do we run into real errors while parsing individual DWARFDebugArangeSet objects, we can continue to parse the rest of the validly encoded DWARFDebugArangeSet objects in the .debug_aranges section. This will allow LLDB to parse DWARF that contains a possibly newer .debug_aranges set format than LLDB currently supports because we will error out for the parsing of the DWARFDebugArangeSet, but be able to skip to the next DWARFDebugArangeSet object using the "DWARFDebugArangeSet.m_header.length" field to calculate the next starting offset.

Tests were added to cover all new functionality.

Differential Revision: https://reviews.llvm.org/D99401
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h (diff)
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h (diff)
The file was modifiedlldb/unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp (diff)
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp (diff)
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp (diff)
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp (diff)
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h (diff)
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (diff)
Commit 984e2f440aa4c9c3603840e4f8f09073a54e4849 by Jonas Devlieghere
[lldb] Prints error using WithColor::error in lldb-platform
The file was modifiedlldb/tools/lldb-server/lldb-platform.cpp (diff)
Commit e0577b3130a646b0ee090c04a40400483031c7a9 by Jonas Devlieghere
[dsymutil] Relocate DW_TAG_label

dsymutil is not relocating the DW_AT_low_pc for a DW_TAG_label. This
patch fixes that and adds a test.

Differential revision: https://reviews.llvm.org/D99534
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp (diff)
The file was addedllvm/test/tools/dsymutil/Inputs/private/tmp/label/label.o
The file was addedllvm/test/tools/dsymutil/X86/label2.test
The file was addedllvm/test/tools/dsymutil/Inputs/private/tmp/label/label.out
Commit 247ff26a89673886c20a3199c4aa0614b1b5c45d by Jessica Paquette
[AArch64][GlobalISel] NFC: Replace IR regbankselect test with MIR test

regbank-ceil.ll -> regbank-ceil.mir

The IR test was intended to only check register banks. This makes it brittle,
especially as we improve load/store combines in GlobalISel.

Rewriting this as a MIR test also makes it more consistent with the rest of
the testcases in GlobalISel.
The file was removedllvm/test/CodeGen/AArch64/GlobalISel/regbank-ceil.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/regbank-ceil.mir
Commit ca721042f1c9876eb350da22d1fda44626d2783b by huihuiz
[IPO][SampleContextTracker] Use SmallVector to track context profiles to prevent non-determinism.

Use SmallVector instead of SmallSet to track the context profiles mapped. Doing this
can help avoid non-determinism caused by iterating over unordered containers.

This bug was found with reverse iteration turning on,
--extra-llvm-cmake-variables="-DLLVM_REVERSE_ITERATION=ON".
Failing LLVM test profile-context-tracker-debug.ll .

Reviewed By: MaskRay, wenlei

Differential Revision: https://reviews.llvm.org/D99547
The file was modifiedllvm/include/llvm/Transforms/IPO/SampleContextTracker.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp (diff)
Commit b19a9efbc9245c10c5db1ed6945f7519e5ff2aed by Jonas Devlieghere
[dsymutil] s/dwarfdump/llvm-dwarfdump/ in test
The file was modifiedllvm/test/tools/dsymutil/X86/label2.test (diff)
Commit a1b8b0739a343da61b29c408f5cbbc90a6c8659c by tlively
[WebAssembly] Fix i8x16.popcnt opcode

When I updated the SIMD opcodes in f5764a8654e3, I accidentally missed updating
i8x16.popcnt. This patch fixes the omission.

Differential Revision: https://reviews.llvm.org/D99536
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)
Commit bd56e91fdbc65053dd08cca1f2c9e15087c062eb by dblaikie
Add missing dependency to fix building the jit tests
The file was modifiedllvm/test/CMakeLists.txt (diff)
Commit 50a6aa6c0f6d73c7354d2f7f44f56a79022ee658 by davelee.com
[llvm][utils] Fix handling of llvm::None
The file was modifiedllvm/utils/lldbDataFormatters.py (diff)
Commit 8573c28a514f5d06bd5a8854093e461fa6e467a4 by Adrian Prantl
Add debug support for set types

This commit adds debugging support for set types defined in languages
such as Pascal and Modula-2.

Patch by Peter McKinna!

Differential Revision: https://reviews.llvm.org/D76115
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def (diff)
The file was addedllvm/test/Verifier/set1.ll
The file was addedllvm/test/DebugInfo/Generic/set.ll
The file was modifiedllvm/unittests/IR/DebugInfoTest.cpp (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was modifiedllvm/lib/IR/DIBuilder.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DIBuilder.h (diff)
Commit fd94cfeeb5d29340f46a46862720e53bd9106c1f by evandro.menezes
[RISCV] Move scheduling resources for B into a separate file (NFC)

Differential Revision: https://reviews.llvm.org/D99557
The file was addedllvm/lib/Target/RISCV/RISCVScheduleB.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedule.td (diff)
Commit 5821a58d8e4c5510a4ab30fa758a9d22f41c346a by kai.wang
[RISCV] Add inline asm constraint 'vr' and 'vm' in Clang for RISC-V 'V'.

Add asm constraint 'vr' for vector registers.
Add asm constraint 'vm' for vector mask registers.

Differential Revision: https://reviews.llvm.org/D98616
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp (diff)
The file was modifiedclang/lib/Basic/Targets/RISCV.h (diff)
The file was addedclang/test/CodeGen/RISCV/riscv-inline-asm-rvv.c
Commit 478d1eded229c648f2c559666d2ba19455d948cb by Louis Dionne
[libc++] Re-enable macOS back-deployment testing

Download older roots from Dropbox instead of Green Dragon, which is too
unreliable. Also XFAIL tests that were broken for back-deployment
configurations by D98097.

Differential Revision: https://reviews.llvm.org/D99359
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp (diff)
The file was modifiedlibcxx/utils/ci/run-buildbot (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp (diff)
Commit 5127da029194bbe32421c336b6f249241b658a2b by akhuang
Revert "[COFF] Only consider associated EH sections during ICF"

This change causes an asan error for ODR violation.

This reverts commit 7ce9a3e9a91bb0c71cd3560079ff4c31d5dade1b.
The file was removedlld/test/COFF/icf-xdata-last.s
The file was removedlld/test/COFF/icf-assoc-order.s
The file was modifiedlld/COFF/ICF.cpp (diff)
The file was modifiedlld/COFF/Chunks.h (diff)
Commit b0db2dbc291f1fdc48b7e03c78a1dfdf26864c14 by JunMa
[AArch64][SVEIntrinsicOpts] Optimize tbl+dup into dup+extractelement

Differential Revision: https://reviews.llvm.org/D99412
The file was modifiedllvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/sve-tbl-dupx.ll
Commit 1af373c673691b7b0640fcbccdfa4a1874116956 by JunMa
[AArch64][SVE] Codegen dup_lane for dup(vector_extract)

Differential Revision: https://reviews.llvm.org/D99324
The file was modifiedllvm/test/CodeGen/AArch64/sve-ld-post-inc.ll (diff)
The file was addedllvm/test/CodeGen/AArch64/aarch64-dup-extract-scalable.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td (diff)
Commit 65462a08bfb94cafad41d5b95e6ec6274eeb9ae3 by JunMa
[NFC][SVE] Remove redundant pattern
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)
Commit 54ab62e8ea0bca0799a1203bc79e72f194f9f196 by stilis
Revert "Add missing dependency to fix building the jit tests"

This breaks the windows bots because the dependency does not exist on Windows.
Per the cmake file:

if(CMAKE_HOST_UNIX)
  add_subdirectory(LLJITWithRemoteDebugging)
endif()

This reverts commit bd56e91fdbc65053dd08cca1f2c9e15087c062eb.
The file was modifiedllvm/test/CMakeLists.txt (diff)
Commit 90c401cab63459334785f61076d4f05e4e487c1f by rahmanl
[Propeller] Do not generate the BB address map for empty functions.

Empty functions (functions with no real code) are irrelevant for propeller optimizations and their addresses sometimes conflict with other functions which obfuscates the analysis.
This simple change skips the BB address map emission for such functions.

Reviewed By: tmsriram

Differential Revision: https://reviews.llvm.org/D99395
The file was addedllvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (diff)
Commit 9fb0025f7084db14d16fe5cbe1d799f4ee0020af by AlokKumar.Sharma
[DebugInfo] Upgrade DISubragne::count to accept DIExpression also

This is needed for Fortran assumed shape arrays whose dimensions are
defined as,
  - 'count' is taken from array descriptor passed as parameter by
    caller, access from descriptor is defined by type DIExpression.
  - 'lowerBound' is defined by callee.
The current alternate way represents using upperBound in place of
count, where upperBound is calculated in callee in a temp variable
using lowerBound and count

Representation with count (DIExpression) is not only clearer as
compared to upperBound (DIVariable) but it has another advantage that
variable count is accessed by being parameter has better chance of
survival at higher optimization level than upperBound being local
variable.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D99335
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
The file was addedllvm/test/DebugInfo/fortranSubrangeCountExpr.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was modifiedllvm/test/Verifier/invalid-disubrange-count-node.ll (diff)
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp (diff)
The file was modifiedllvm/lib/AsmParser/LLParser.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
Commit 51fa9e0fd9846eb4bb65d2bee13de51fd6b2cea4 by Vitaly Buka
[NFC][scudo] Add memtag.h into CMake file
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt (diff)
Commit 749e609ec969d2802407851f3c4c0e62c3946610 by Vitaly Buka
[NFC][scudo] Sort sources in CMake file
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt (diff)
Commit 58c62fd9768594ec8dd57e8320ba2396bf8b87e5 by i
[sanitizer] Improve accuracy of GetTls on x86/s390

The previous code may underestimate the static TLS surplus part, which may cause
false positives to LeakSanitizer if a dynamically loaded module uses the surplus
and there is an allocation only referenced by a thread's TLS.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp (diff)
Commit 18b3415e615b7f7b9a2113ff6f25facab02a40b7 by mkazantsev
[Test] Add a test demonstrating a missing opportunity to PRE a load
The file was addedllvm/test/Transforms/GVN/PRE/pre-aliasning-path.ll
Commit 03cc8a1ba050f3138c30e7771e29a32fab22e957 by johannes
[OpenMP][NFC] Move the `noinline` to the parallel entry point

The `noinline` for non-SPMD parallel functions is probably not necessary
but as long as we use it we should put it on the outermost parallel
function, which is the wrapper, not the actual outlined function.

Resolves PR49752

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D99506
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp (diff)
Commit deb5095833a834e0ef5f784138da53e66febff05 by zhuhan7737
[loop-idiom] Hoist loop memcpys to loop preheader

Summary:

Test Plan:

Reviewers:

Subscribers:

Tasks:

Tags:

Blame Revision:

Differential Revision: https://phabricator.intern.facebook.com/D26380397
The file was addedllvm/test/Transforms/LoopIdiom/memcpy-intrinsic.ll
The file was modifiedllvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll (diff)
The file was modifiedllvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp (diff)
Commit cef167f8d467201ec40a7817397c18fc264d0b54 by i
[DebugInfo][unittest] Fix heap-use-after-free after D76115
The file was modifiedllvm/unittests/IR/DebugInfoTest.cpp (diff)
Commit 2bd4049ceb82b116cc4d78c650c6a5af70e37ed0 by zhuhan7737
Revert "[loop-idiom] Hoist loop memcpys to loop preheader"

This reverts commit deb5095833a834e0ef5f784138da53e66febff05.

Bad commit message.
The file was modifiedllvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll (diff)
The file was modifiedllvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp (diff)
The file was removedllvm/test/Transforms/LoopIdiom/memcpy-intrinsic.ll
Commit 92ddd3c1b6cd8f01f39dfd716cf3e976de126e66 by zhuhan7737
[loop-idiom] Hoist loop memcpys to loop preheader

For a simple loop like:
```
struct S {
  int x;
  int y;
  char b;
};

unsigned foo(S* __restrict__ a, S* b, int n) {
  for (int i = 0; i < n; i++)
    a[i] = b[i];

  return sizeof(a[0]);
}
```
We could eliminate the loop and convert it to a large memcpy of 12*n bytes. Currently this is not handled. Output of `opt -loop-idiom -S < memcpy_before.ll`
```
%struct.S = type { i32, i32, i8 }

define dso_local i32 @_Z3fooP1SS0_i(%struct.S* noalias nocapture %a, %struct.S* nocapture readonly %b, i32 %n) local_unnamed_addr {
entry:
  %cmp7 = icmp sgt i32 %n, 0
  br i1 %cmp7, label %for.body.preheader, label %for.cond.cleanup

for.body.preheader:                               ; preds = %entry
  br label %for.body

for.cond.cleanup.loopexit:                        ; preds = %for.body
  br label %for.cond.cleanup

for.cond.cleanup:                                 ; preds = %for.cond.cleanup.loopexit, %entry
  ret i32 12

for.body:                                         ; preds = %for.body, %for.body.preheader
  %i.08 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
  %idxprom = zext i32 %i.08 to i64
  %arrayidx = getelementptr inbounds %struct.S, %struct.S* %b, i64 %idxprom
  %arrayidx2 = getelementptr inbounds %struct.S, %struct.S* %a, i64 %idxprom
  %0 = bitcast %struct.S* %arrayidx2 to i8*
  %1 = bitcast %struct.S* %arrayidx to i8*
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 4 dereferenceable(12) %0, i8* nonnull align 4 dereferenceable(12) %1, i64 12, i1 false)
  %inc = add nuw nsw i32 %i.08, 1
  %cmp = icmp slt i32 %inc, %n
  br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit
}

; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #0

attributes #0 = { argmemonly nofree nosync nounwind willreturn }

```
The loop idiom pass currently only handles load and store instructions. Since struct S is too big to fit in a register, the loop body contains a memcpy intrinsic.

With this change, re-run `opt -loop-idiom -S < memcpy_before.ll`. The loop memcpy is promoted to loop preheader. For this trivial case, the loop is dead and will be removed by another pass.
```
%struct.S = type { i32, i32, i8 }

define dso_local i32 @_Z3fooP1SS0_i(%struct.S* noalias nocapture %a, %struct.S* nocapture readonly %b, i32 %n) local_unnamed_addr {
entry:
  %a1 = bitcast %struct.S* %a to i8*
  %b2 = bitcast %struct.S* %b to i8*
  %cmp7 = icmp sgt i32 %n, 0
  br i1 %cmp7, label %for.body.preheader, label %for.cond.cleanup

for.body.preheader:                               ; preds = %entry
  %0 = zext i32 %n to i64
  %1 = mul nuw nsw i64 %0, 12
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %a1, i8* align 4 %b2, i64 %1, i1 false)
  br label %for.body

for.cond.cleanup.loopexit:                        ; preds = %for.body
  br label %for.cond.cleanup

for.cond.cleanup:                                 ; preds = %for.cond.cleanup.loopexit, %entry
  ret i32 12

for.body:                                         ; preds = %for.body, %for.body.preheader
  %i.08 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
  %idxprom = zext i32 %i.08 to i64
  %arrayidx = getelementptr inbounds %struct.S, %struct.S* %b, i64 %idxprom
  %arrayidx2 = getelementptr inbounds %struct.S, %struct.S* %a, i64 %idxprom
  %2 = bitcast %struct.S* %arrayidx2 to i8*
  %3 = bitcast %struct.S* %arrayidx to i8*
  %inc = add nuw nsw i32 %i.08, 1
  %cmp = icmp slt i32 %inc, %n
  br i1 %cmp, label %for.body, label %for.cond.cleanup.loopexit
}

; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #0

attributes #0 = { argmemonly nofree nosync nounwind willreturn }
```

Reviewed By: zino

Differential Revision: https://reviews.llvm.org/D97667
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp (diff)
The file was addedllvm/test/Transforms/LoopIdiom/memcpy-intrinsic.ll
The file was modifiedllvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll (diff)
The file was modifiedllvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll (diff)
Commit 1b96e133cf5215cb9ebfe7f14630f479c1611f22 by pavel
[lldb/DWARF] Simplify DIE extraction code slightly

Remove the "depth" variable, as the same information can be obtained
through die_index_stack.size().

Also add a test case for a one tricky case I noticed -- a unit
containing only a null unit die.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp (diff)
Commit 5978912da00acc610e4e1379bde815b28252944c by pavel
[lldb] Add a dwarf unit test for null unit dies

This is the test I mentioned in the previous commit (1b96e133), but
forgot to add.
The file was modifiedlldb/unittests/SymbolFile/DWARF/CMakeLists.txt (diff)
The file was addedlldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp
Commit ea08d4ba37362506ebd30957a9473467df6f00b9 by pavel
[lldb] Remove ScriptInterpreterLuaTest.Plugin unittest

This test is not useful as the functions it's testing are just returning
a constant. It also fails in unoptimized builds as it's comparing
character strings by address.
The file was modifiedlldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp (diff)
Commit 142d522dedbb06fdc5fdaa7650b322c479ddda45 by markus.boeck02
[llvm-profdata] Make sure to consume Error on the error path of setIsIRLevelProfile

Encountered a crash while running a debug build, where this code path would be taken due to a mismatch in profile coverage data versions. Without consuming the error, an assert would be triggered inside the destructor of Error.

Differential Revision: https://reviews.llvm.org/D99457
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp (diff)
The file was addedllvm/test/tools/llvm-profdata/merge-incompatible.test
The file was addedllvm/test/tools/llvm-profdata/Inputs/ir-basic.proftext
The file was addedllvm/test/tools/llvm-profdata/Inputs/fe-basic.proftext
Commit 7c2e58f250d583a005c766f453018fd24ce98eac by Vitaly Buka
[NFC][scudo] Produce debug info
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt (diff)
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/CMakeLists.txt (diff)
Commit c352a2b8290b0a088ac3442aca89380248f02381 by Stefan Gränitz
[lli] Add option -lljit-platform=Inactive to disable platform support explicitly

This option tells LLJIT to disable platform support explicitly: JITDylibs aren't scanned for special init/deinit symbols and no runtime API interposes are injected.
It's useful in two cases: for platforms that don't have such requirements and platforms for which we have no explicit support yet and that don't work well with the generic IR platform.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D99416
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)
The file was modifiedllvm/tools/lli/lli.cpp (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LLJIT.h (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll (diff)
Commit 083b0f1b40fbb2f73eded4783654ff003b9c6603 by tim.renouf
[AMDGPU] Update AMDGPU PAL usage documentation

Change-Id: I65f3edcfe5063551cad5aab0da1374c3a6ccd3a2
The file was modifiedllvm/docs/AMDGPUUsage.rst (diff)
Commit 1a2d25fcdd732fc3326c1e9a9729b3b2b08b5d17 by pavel
Revert "[lldb/DWARF] Simplify DIE extraction code slightly"

This reverts commit 1b96e133cf5215cb9ebfe7f14630f479c1611f22 due to
failures on windows.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp (diff)
Commit 275df61f043ccf86a9c17957379bff9434da1489 by bing1.yu
[X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D99244
The file was modifiedllvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll (diff)
Commit 4ca860742d5e0dd8ba77e0cbda9653ba46aaf738 by sander.desmalen
[InstructionCost] Don't conflate Invalid costs with Unknown costs.

We previously made a change to getUserCost to return a Invalid cost
when one of the TTI costs returned '-1' (meaning 'unknown' or
'infinitely expensive'). It makes no sense to say that:

  shufflevector <2 x i8> %x, <2 x i8> %y, <4 x i32> <i32 0, i32 1, i32 2, i32 3>

has an invalid cost. Perhaps the cost is not known, but the IR is valid
and can be code-generated. Invalid should only be used for IR that
cannot possibly be code-generated and where a cost is nonsensical.

With more passes now asserting that the cost must be valid, it is possible
that those assertions will fail for perfectly valid IR. An incomplete
cost-model probably shouldn't be a reason for the compiler to break.

It's better to consider these costs as 'very expensive' and ignore them
for other reasons. At some point, we should consider replacing -1 with
some other mechanism.

Reviewed By: paulwalker-arm, dmgreen

Differential Revision: https://reviews.llvm.org/D99502
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/br.ll (diff)
The file was modifiedllvm/lib/Analysis/CostModel.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/ARM/shuffle.ll (diff)
Commit 0c63b862c4d9e0ba9dc79ed19d17364b8d673650 by bing1.yu
Revert "[X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation"

This reverts commit 275df61f043ccf86a9c17957379bff9434da1489.
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp (diff)
Commit ad613b149733873df262e72901f5fc2b78e8a7a8 by nunoplopes
[docs] remove references to checking out svn repos
The file was modifiedllvm/docs/GettingStarted.rst (diff)
Commit 1cbba533ec93864caab8ad2f3fd4293a56723307 by Raphael Isemann
[ObjC][CodeGen] Fix missing debug info in situations where an instance and class property have the same identifier

Since the introduction of class properties in Objective-C it is possible to declare a class and an instance
property with the same identifier in an interface/protocol.

Right now Clang just generates debug information for whatever property comes first in the source file.
The second property is ignored as it's filtered out by the set of already emitted properties (which is just
using the identifier of the property to check for equivalence).  I don't think generating debug info in this case
was never supported as the identifier filter is in place since 7123bca7fb6e1dde51be8329cfb523d2bb9ffadf
(which precedes the introduction of class properties).

This patch expands the filter to take in account identifier + whether the property is class/instance. This
ensures that both properties are emitted in this special situation.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D99512
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was addedclang/test/CodeGenObjC/debug-info-property-class-instance-same-name.m
Commit 6919c58262b0bab682ab48903e714d70a489418b by Raphael Isemann
[lldb] Add a test for Obj-C properties with conflicting names

This is apparently allowed in Objective-C so we should test this in LLDB.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D99513
The file was modifiedlldb/test/API/lang/objc/objc-property/TestObjCProperty.py (diff)
The file was modifiedlldb/test/API/lang/objc/objc-property/main.m (diff)
Commit 6d2fb3cefba618be0326bb3da85d7568a72fefc4 by kadircet
[clangd] Perform merging for stale symbols in MergeIndex

Clangd drops symbols from static index whenever the dynamic index is
authoritative for the file. This results in regressions when static and
dynamic index contains different set of information, e.g.
IncludeHeaders.

After this patch, we'll choose to merge symbols from static index with
dynamic one rather than just dropping. This implies correctness problems
when the definition/documentation of the symbol is deleted. But seems
like it is worth having in more cases.

We still drop symbols if dynamic index owns the file and didn't report
the symbol, which means symbol is deleted.

Differential Revision: https://reviews.llvm.org/D98538
The file was modifiedclang-tools-extra/clangd/index/Merge.cpp (diff)
The file was modifiedclang-tools-extra/clangd/index/Index.h (diff)
The file was modifiedclang-tools-extra/clangd/unittests/IndexTests.cpp (diff)
Commit c4d39f64d0883ea65c5c5f9ae3aa7f8d98c88cdb by joe.ellis
[AArch64][SVE] Lower fixed length EXTRACT_VECTOR_ELT

Differential Revision: https://reviews.llvm.org/D98625
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-converts.ll (diff)
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
Commit a7dde4c5f7aaa89522d1e91d56dfc6ad3cd4ae79 by joe.ellis
[AArch64][SVE] Lower fixed length INSERT_VECTOR_ELT

Differential Revision: https://reviews.llvm.org/D98496
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h (diff)
Commit d1486e65a1645ca00c3e3109e4e4bb72df1082c3 by pavel
[lldb] Change CreateHostNativeRegisterContextLinux argument type

to NativeThreadLinux. This avoid casts down the line.
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_ppc64le.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp (diff)
Commit 8e7df996e3054cc174b91bc103057747c8349c06 by krasimir
Revert "[loop-idiom] Hoist loop memcpys to loop preheader"

This reverts commit 92ddd3c1b6cd8f01f39dfd716cf3e976de126e66.

Causes multistage clang crashes, e.g.:
https://lab.llvm.org/buildbot/#/builders/36/builds/6678
The file was modifiedllvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp (diff)
The file was modifiedllvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll (diff)
The file was removedllvm/test/Transforms/LoopIdiom/memcpy-intrinsic.ll
Commit 98f6cbd68eba04764f318d467abb10feca713776 by gabor.marton
[ASTImporter] Import member specialization/instantiation of enum decls

We do the import of the member enum specialization similarly to as we do
with member CXXRecordDecl specialization.

Differential Revision: https://reviews.llvm.org/D99421
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
The file was modifiedclang/lib/AST/ASTImporter.cpp (diff)
Commit c42c67ad60449fe19949f2664c2a5878b3f72b7e by Stefan Gränitz
Re-apply "[lli] Make -jit-kind=orc the default JIT engine"

MCJIT served well as the default JIT engine in lli for a long time, but the code is getting old and maintenance efforts don't seem to be in sight. In the meantime Orc became mature enough to fill that gap. The newly added greddy mode is very similar to the execution model of MCJIT. It should work as a drop-in replacement for common JIT tasks.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D98931
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-call-no-external-funcs.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/multi-module-eh-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll (diff)
The file was modifiedllvm/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/Interpreter/alias.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/weak-function.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/load-object-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-setcond-fp.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-06-04-bzip2-bug.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-01-09-SARTest.ll (diff)
The file was modifiedllvm/test/Integer/2007-01-19-TruncSext.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-arith.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-setcond-int.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-loop.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-insertextractvalue.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/fpbitcast.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-shift.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-data-align.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-01-04-PhiTest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/simpletest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/hello2.ll (diff)
The file was modifiedllvm/test/CodeGen/Generic/bswap.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-01-04-ArgumentBug.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-logical.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-phi.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-call.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-08-15-AllocaAssertion.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-ret.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-local.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-05-06-LivenessClobber.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/fma3-jit.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-global.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2002-12-16-ArgTest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-cast.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll (diff)
The file was modifiedllvm/tools/lli/lli.cpp (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-06-05-PHIBug.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-common-symbols-alignment.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-fp.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-branch.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2008-06-05-APInt-OverAShr.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-loadstore.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2013-04-04-RelocAddend.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-logical.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-fp-no-external-funcs.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/multi-module-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/Interpreter/call-no-args.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-05-07-ArgumentTest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-arithm_int.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/eh.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/frem.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-loadstore.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-08-21-EnvironmentTest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-01-04-LoopTest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/non-extern-addend.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-common-symbols.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/2010-01-15-UndefValue.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-shuffle.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/eh.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-return.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-select.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2007-12-10-APIntLoadStore.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/Interpreter/intrinsics.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-08-23-RegisterAllocatePhysReg.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/cross-module-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/stubs.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-01-15-AlignmentTest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/eh-lg-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2005-12-02-TailCallBug.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/pr13727.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/hello.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-ptr-reloc.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-setcond-int.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-setcond-fp.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/simplesttest.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-shift.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-01-10-FUCOM.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-05-11-PHIRegAllocBug.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-global-ctors.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-insertelement.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/test-constantexpr.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/mov64zext32.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/test-interp-vec-cast.ll (diff)
Commit a08c7736a771d1be6e3168ff94aa8d7ff4479ef4 by david.sherwood
[LoopVectorize] Add support for scalable vectorization of induction variables

This patch adds support for the vectorization of induction variables when
using scalable vectors, which required the following changes:

1. Removed assert from InnerLoopVectorizer::getStepVector.
2. Modified InnerLoopVectorizer::createVectorIntOrFpInductionPHI to use
   a runtime determined value for VF and removed an assert.
3. Modified InnerLoopVectorizer::buildScalarSteps to work for scalable
   vectors. I did this by calculating the full vector value for each Part
   of the unroll factor (UF) and caching this in the VP state. This means
   that we are always able to extract an arbitrary element from the vector
   if necessary. In addition to this, I also permitted the caching of the
   individual lane values themselves for the known minimum number of elements
   in the same way we do for fixed width vectors. This is a further
   optimisation that improves the code quality since it avoids unnecessary
   extractelement operations when extracting the first lane.
4. Added an assert to InnerLoopVectorizer::widenPHIInstruction, since while
   testing some code paths I noticed this is currently broken for scalable
   vectors.

Various tests to support different cases have been added here:

  Transforms/LoopVectorize/AArch64/sve-inductions.ll

Differential Revision: https://reviews.llvm.org/D98715
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
Commit 2aba2f18890926431c9eb4bdb08b2f092861c25d by serguei.katkov
[RegAlloc] Add a test with use in statepoint expected to be on stack.

The test shows that RA computes the spill weight independent on the
fact that statepoint instruction for var operands is ok to accept
this operand on stack. As a result the corresponding virtual register
evicts the other register which requires register for use.
It causes redundant fill operation.
The file was addedllvm/test/CodeGen/X86/statepoint-ra-no-ls.ll
Commit d4b3380dfe62be6e2f1994e821d4d777e84e4294 by david.green
[ARM] Handle Splats in MVE lane interleaving

As another addition to MVE lane interleaving, this handles Splat shuffle
vectors, as the shuffle of a splat is a splat.

Differential Revision: https://reviews.llvm.org/D97291
The file was modifiedllvm/lib/Target/ARM/MVELaneInterleavingPass.cpp (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll (diff)
Commit 243fe0da9980c92e06701318d3bbdd5f5597a83a by Stefan Gränitz
[lli] Leaving two EH frame tests with MCJIT only after PowerPC failure

Will investigate these in isolation once the rest of D98931 successfully landed.
The file was modifiedllvm/test/ExecutionEngine/MCJIT/multi-module-eh-a.ll (diff)
The file was modifiedllvm/test/ExecutionEngine/MCJIT/eh.ll (diff)
Commit 42c3b5e5b6ffd39041c3d34f01e7162573eefd6e by omair.javaid
Fix cleanup error in TestVSCode_disconnect.test_launch

TestVSCode_disconnect.test_launch fails with clean up error because
disconnect gets called twice once from the test case and once from
the tear down hook.

This patch disables disconnect after its been called from test_launch

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D99491
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py (diff)
The file was modifiedlldb/test/API/tools/lldb-vscode/disconnect/TestVSCode_disconnect.py (diff)
Commit 8315890bdc82858424d6a2bf69d44a1c8a4afad8 by thakis
[gn build] (semi-manually) port 51fa9e0fd984
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn (diff)
Commit f71ed5dfe280851e30b4c3fb4be559cd17570167 by sander.desmalen
NFC: Migrate PartialInlining to work on InstructionCost

This patch migrates cost values and arithmetic to work on InstructionCost.
When the interfaces to TargetTransformInfo are changed, any InstructionCost
state will propagate naturally.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D97382
The file was modifiedllvm/include/llvm/Support/InstructionCost.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp (diff)
Commit 6b4b1dc6ec6f0bf0a1bb414fbe751ccab99d41a0 by aqjune
[LoopUnswitch] Simplify branch condition if it is select with constant operands

This fixes the miscompilation reported in https://reviews.llvm.org/rG5bb38e84d3d0#986154 .

`select _, true, false` matches both m_LogicalAnd and m_LogicalOr, making later
transformations confused.
Simplify the branch condition to not have the form.
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp (diff)
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll (diff)
Commit c5109d3c7936d9c78216e0cc722c1ce0ea9246ec by douglas.yung
Fix path in test added in e0577b3130a646b0ee090c04a40400483031c7a9 to work with both Linux/Windows paths.

Patch by Ying Yi!
The file was modifiedllvm/test/tools/dsymutil/X86/label2.test (diff)
Commit e694e19a793140b989364e5807630b635420533e by spatel
[x86] enhance matching of pmaddwd

This was crashing with the example from:
https://llvm.org/PR49716
...and that was avoided with a283d7258360 ,
but as we can see from the SSE vs. AVX test code diff,
we can try harder to match the pattern.

This matcher code was adapted from another pmadd pattern
match in D49636, but it needs different ops to deal with
size mismatches.

Differential Revision: https://reviews.llvm.org/D99531
The file was modifiedllvm/test/CodeGen/X86/madd.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit a99b8ae3909106d831d880c1647dabe92f470290 by marek.kurdej+llvm.org
[clang] [PR49736] [C++2b] Correctly reject lambdas with requires clause and no parameter list

This fixes http://llvm.org/PR49736 caused by implementing http://wg21.link/P1102 (https://reviews.llvm.org/rG0620e6f4b76a9725dbd82454d58c5a68a7e47074), by correctly allowing requires-clause only:
1) directly after template-parameter-list
2) after lambda-specifiers iff parameter-declaration-clause is present (2nd kind of lambda-declarator)

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D99489
The file was modifiedclang/test/Parser/cxx-concepts-requires-clause.cpp (diff)
The file was modifiedclang/test/Parser/cxx2b-lambdas.cpp (diff)
The file was modifiedclang/test/Parser/cxx2a-template-lambdas.cpp (diff)
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp (diff)
Commit 64bb9cf7bf8df85cbe75f0848840156d3c316207 by mgorny
[lldb] [Process/gdb-remote] Fix TID reading to use U64

Fix multiple instances of reading thread-id to use U64 type instead
of U32.  This is consistent with lldb::tid_t being a 64-bit type.
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (diff)
Commit 6b3fb471436523dcfeea8a3f29d63aa42a46dbce by oliver.stannard
Move test to X86 directory

This test uses the X86 backend, so shouldn't be run if that isn't built.
The file was removedllvm/test/DebugInfo/Generic/set.ll
The file was addedllvm/test/DebugInfo/X86/set.ll
Commit c51e91e04681587e7ddd2b20f4e06272c040aa48 by krasimir
Revert "[Passes] Add relative lookup table converter pass"

This reverts commit 5178ffc7cf92527557ae16e86d0fa90d538c2a19.

Compiling `llvm-profdata` with a compiler build from this produces a
crashing binary.
The file was modifiedllvm/lib/Passes/PassRegistry.def (diff)
The file was modifiedllvm/include/llvm/InitializePasses.h (diff)
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Scalar.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp (diff)
The file was removedllvm/test/Transforms/RelLookupTableConverter/X86/no_relative_lookup_table.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/test/Other/new-pm-defaults.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll (diff)
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll (diff)
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
The file was modifiedllvm/test/Other/pass-pipelines.ll (diff)
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll (diff)
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt (diff)
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll (diff)
The file was modifiedllvm/docs/Passes.rst (diff)
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp (diff)
The file was removedllvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll (diff)
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp (diff)
The file was removedllvm/include/llvm/Transforms/Utils/RelLookupTableConverter.h
The file was removedllvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
Commit 69473d68b5017b1ca32e9b55317044cbe001356d by llvmgnsyncbot
[gn build] Port c51e91e04681
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn (diff)
Commit 2b30bd2be0a898d0e7cb9eb3f2cf0e0efeaa83e9 by martin
clang-format: [JS] do not collapse - - to --.

In JavaScript, `- -1;` is legal syntax, the language allows unary minus.
However the two tokens must not collapse together: `--1` is prefix
decrement, i.e. different syntax.

Before:

    - -1; ==> --1;

After:

    - -1; ==> - -1;

This change makes no attempt to format this "nicely", given by all
likelihood this represents a programming mistake by the user, or odd
generated code.

The check is not guarded by language: this appears to be a problem in
Java as well, and will also be beneficial when formatting syntactically
incorrect C++ (e.g. during editing).

Differential Revision: https://reviews.llvm.org/D99495
The file was modifiedclang/unittests/Format/FormatTestJS.cpp (diff)
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
Commit 1696b8ae96b2d8bcbf90894bd344a8a090f43c84 by a.bataev
[OPENMP]Fix PR48740: OpenMP declare reduction in C does not require an initializer

If no initializer-clause is specified, the private variables will be
initialized following the rules for initialization of objects with static
storage duration.

Need to adjust the implementation to the current version of the
standard.

Differential Revision: https://reviews.llvm.org/D99539
The file was modifiedclang/test/OpenMP/declare_reduction_codegen.c (diff)
The file was modifiedclang/test/OpenMP/declare_reduction_ast_print.c (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/test/OpenMP/declare_reduction_messages.c (diff)
Commit efa7df1682c2859dabe3646ee7dc01e68629417f by gabor.marton
[Analyzer] Track RValue expressions

It makes sense to track rvalue expressions in the case of special
concrete integer values. The most notable special value is zero (later
we may find other values). By tracking the origin of 0, we can provide a
better explanation for users e.g. in case of division by 0 warnings.
When the divisor is a product of a multiplication then now we can show
which operand (or both) was (were) zero and why.

Differential Revision: https://reviews.llvm.org/D99344
The file was addedclang/test/Analysis/division-by-zero-track-zero.c
The file was modifiedclang/test/Analysis/nullptr.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp (diff)
The file was addedclang/test/Analysis/division-by-zero-track-zero.cpp
Commit 90377308de6cac8239bc1a1dcd32b57b9ec91444 by vsavchenko
[analyzer] Support allocClassWithName in OSObjectCStyleCast checker

`allocClassWithName` allocates an object with the given type.
The type is actually provided as a string argument (type's name).
This creates a possibility for not particularly useful warnings
from the analyzer.

In order to combat with those, this patch checks for casts of the
`allocClassWithName` results to types mentioned directly as its
argument.  All other uses of this method should be reasoned about
as before.

rdar://72165694

Differential Revision: https://reviews.llvm.org/D99500
The file was modifiedclang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp (diff)
The file was modifiedclang/test/Analysis/osobjectcstylecastchecker_test.cpp (diff)
The file was modifiedclang/test/Analysis/os_object_base.h (diff)
Commit 180e9e5eab49cf36e47985667fe4feca5f8183e5 by Louis Dionne
[libc++] Add a CI job to test the Runtimes build

Differential Revision: https://reviews.llvm.org/D97888
The file was modifiedlibcxx/utils/ci/run-buildbot (diff)
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml (diff)
Commit af7e1f07ac03074647897498358aaec165c1aaea by vsavchenko
[analyzer] Fix crash when reasoning about C11 atomics (PR49422)

rdar://75020762

Differential Revision: https://reviews.llvm.org/D99274
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h (diff)
The file was modifiedclang/test/Analysis/atomics.c (diff)
Commit 6c1a8039de4646f6efbb3ba404d5bee5d631be67 by mgorny
[lldb] [server] Support for multiprocess extension

Add a minimal support for the multiprocess extension in lldb-server.
The server indicates support for it via qSupported, and accepts
thread-ids containing a PID.  However, it still does not support
debugging more than one inferior, so any other PID value results
in an error.

Differential Revision: https://reviews.llvm.org/D98482
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemote_vContThreads.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (diff)
The file was addedlldb/unittests/Utility/StringExtractorGDBRemoteTest.cpp
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h (diff)
The file was modifiedlldb/unittests/Utility/CMakeLists.txt (diff)
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp (diff)
Commit 1c3b74f0ab6d12c8f4052e69301c433b5b647102 by sebastian.neubauer
[AMDGPU] Remove outdated TODOs. NFC

spillSGPRToVGPR is already respected in these places since D95768.

Differential Revision: https://reviews.llvm.org/D99570
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp (diff)
Commit ce03a862372a6f36d2fcf80dc80052aa155fcae8 by pavel
[lldb] Remove linux/mips debugging support

As discussed on lldb-dev
<https://lists.llvm.org/pipermail/lldb-dev/2021-March/016777.html> the
mips code is unmaintained and untested. It also carries a lot of
technical debt which is not limited to mips-specific code.

Generic mips support remains (and is going to be used by the upcoming
freebsd code). Resurrecting mips support should be a matter of re-adding
the relevant register context files (while avoiding reintroducing the
debt).
The file was removedlldb/source/Plugins/Process/Utility/lldb-mips-linux-register-enums.h
The file was removedlldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.h
The file was removedlldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp
The file was removedlldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.out
The file was removedlldb/test/API/functionalities/postmortem/elf-core/linux-mipsel-gnuabio32.out
The file was removedlldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp (diff)
The file was removedlldb/test/API/functionalities/postmortem/elf-core/linux-mipsel-gnuabio32.core
The file was removedlldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabin32.core
The file was removedlldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.h
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h (diff)
The file was removedlldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.core
The file was modifiedlldb/source/Plugins/Process/Utility/CMakeLists.txt (diff)
The file was removedlldb/test/API/functionalities/postmortem/elf-core/linux-mips64el-gnuabin32.out
The file was removedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.h
The file was removedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/CMakeLists.txt (diff)
The file was modifiedlldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py (diff)
Commit 80fb7434e9e7bea65a49d2234092b48419e5dc52 by thomasp
[test, HardwareLoops] Fix use of var defined in CHECK-NOT

LLVM test Transforms/HardwareLoops/ARM/structure.ll tries to check for
the absence of a sequence of instructions with several CHECK-NOT with
one of those directives using a variable defined in another. However
CHECK-NOT are checked independently so that is using a variable defined
in a pattern that should not occur in the input.

This commit only checks for the absence of llvm.loop.decrement.i32 which
rules out the presence of the whole sequence and does not involve an
undefined variable.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D99591
The file was modifiedllvm/test/Transforms/HardwareLoops/ARM/structure.ll (diff)
Commit f58463345415508b1fb5e3d35330ed288f1a0357 by hanchung
Added static verification for Linalg Ops.

This verification is to check if the indices for static shaped operands
on linalgOps access out of bound memory or not. For dynamic shaped
operands, we would be able to check it on runtime stage.

Found several invalid Linalg ops testcases, and fixed them.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D98390
The file was modifiedmlir/test/Dialect/Linalg/fusion-2-level.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/sparse_nd.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-ops.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/named-ops.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/reshape_linearization_fusion.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile-indexed-generic.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir (diff)
Commit 8b5b03c279be111bfcac79200d8cba5007d59c58 by thomasp
[test, LoopVectorize] Fix use of var defined in CHECK-NOT

LLVM test Transforms/LoopVectorize/X86/x86-pr39099.ll tries to check for
the absence of a sequence of instructions with several CHECK-NOT with
one of those directives using a variable defined in another. However
CHECK-NOT are checked independently so that is using a variable defined
in a pattern that should not occur in the input.

This commit only checks for the absence of a widened load which rules
out the presence of the whole sequence and does not involve an undefined
variable.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D99583
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/x86-pr39099.ll (diff)
Commit bd334c790f2e43e72270b8044f08303e1c2f283b by a.bataev
[OPENMP]Fix test checks for 32bit targets, NFC.
The file was modifiedclang/test/OpenMP/declare_reduction_codegen.c (diff)
Commit 04b766dab0d9d786ab5695336348b0c01646cf99 by pavel
[lldb/test] Deflake TestGdbRemote_vContThreads even more

This patch fixes an issue, where if the thread has a signal blocked when
we try to inject it into the process (via vCont), then instead of
executing straight away, the injected signal will trigger another stop
when the thread unblocks the signal.

As (linux) threads start their life with SIGUSR1 (among others)
disabled, and only enable it during initialization, injecting the signal
during this window did not behave as expected. The fix is to change the
test to ensure the signal gets injected with the signal unblocked.

The simplest way to do this was to write a dedicated inferior for this
test. I also created a new header to factor out the function retrieving
the (os-specific) thread id.
The file was removedlldb/test/API/tools/lldb-server/TestGdbRemote_vContThreads.py
The file was addedlldb/test/API/tools/lldb-server/vCont-threads/Makefile
The file was addedlldb/test/API/tools/lldb-server/vCont-threads/main.cpp
The file was addedlldb/packages/Python/lldbsuite/test/make/thread.h
The file was addedlldb/test/API/tools/lldb-server/vCont-threads/TestGdbRemote_vContThreads.py
The file was modifiedlldb/test/API/tools/lldb-server/main.cpp (diff)
Commit 9d25ce743a95a9ad03c0a4b3a705f85c2de52398 by kevin.petit
[OpenCL] Fix parsing of opencl-c.h in CL 3.0

Ensure that the cl_khr_3d_image_writes pragma is enabled by making
cl_khr_3d_image_writes an optional core feature in CL 3.0 in addition
to being an available extension in 1.0 onwards and a core feature in
CL 2.0.

https://reviews.llvm.org/D99425

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
The file was modifiedclang/test/Headers/opencl-c-header.cl (diff)
The file was modifiedclang/include/clang/Basic/OpenCLExtensions.def (diff)
The file was modifiedclang/test/SemaOpenCL/extension-version.cl (diff)
Commit bc4b0fc53e47e08a244df6ee3de52226e49ce37e by marek.kurdej+llvm.org
[clang-format] Fix east const pointer alignment of operators

This patch fixes left pointer alignment after pointer qualifiers of
operators. Currently "operator void const*()" is formatted with a space between
const and pointer despite setting PointerAlignment to Left.

AFAICS this has been broken since clang-format 10.

Reviewed By: MyDeveloperDay, curdeius

Differential Revision: https://reviews.llvm.org/D99458
The file was modifiedclang/lib/Format/TokenAnnotator.cpp (diff)
The file was modifiedclang/unittests/Format/FormatTest.cpp (diff)
Commit 1363fb8ca6ce432ad6d057aaa0e144616917999a by ty1208chiang
[Docs] Update googletest docs link.

The documentation link of Google Test on GitHub have been moved to the
top-level docs directory.
Thus, the original link is invalid now.

Reviewed By: Pavel Labath

Differential Revision: https://reviews.llvm.org/D99559
The file was modifiedllvm/docs/TestingGuide.rst (diff)
Commit a6950c33e8604552eb2d933138a576758633343e by thomasp
[test, ARM] Fix use of var defined in CHECK-NOT

tries to check for the
    absence of a sequence of instructions with several CHECK-NOT with
one of
    those directives using a variable defined in another.

LLVM test CodeGenPrepare/ARM/sink-add-mul-shufflevector.ll tries to
check for the absence of a sequence of instructions with several
CHECK-NOT with one of those directives using a variable defined in
another. However, CHECK-NOT are checked independently so that is using
a variable defined in a pattern that should not occur in the input. The
bug was then copied over in
Transforms/CodeGenPrepare/ARM/sink-add-mul-shufflevector-inseltpoison.ll

This commit removes the definition and uses of variable to check each
line independently, making the check stronger than the current one.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D99597
The file was modifiedllvm/test/Transforms/CodeGenPrepare/ARM/sink-add-mul-shufflevector.ll (diff)
The file was modifiedllvm/test/Transforms/CodeGenPrepare/ARM/sink-add-mul-shufflevector-inseltpoison.ll (diff)
Commit 77d81c2270c6221a430aac17c2c0aa73b39cc0d2 by gchatelet
[libc] Fix msan/asan memcpy reentrancy

This is needed to prevent asan/msan instrumentation to redirect CopyBlock to `__asan_memcpy` (resp. `__msan_memcpy`).
These functions would then differ operation to `memcpy` which leads to reentrancy issues.

With this patch, `memcpy` is fully instrumented and covered by asan/msan.

If this turns out to be too expensive, instrumentation can be selectively or fully disabled through the use of the `__attribute__((no_sanitize(address, memory)))` annotation.

Differential Revision: https://reviews.llvm.org/D99598
The file was modifiedlibc/utils/FPUtil/x86_64/FEnv.h (diff)
The file was modifiedlibc/src/string/memory_utils/memcpy_utils.h (diff)
The file was addedlibc/src/__support/sanitizer.h
The file was modifiedlibc/src/__support/CMakeLists.txt (diff)
The file was removedlibc/src/__support/sanitizer_annotations.h
Commit bbae06652e076a35b94acf84e67602ffbdc5c071 by pavel
[lldb] Fix TestStopOnSharedlibraryEvents.py on linux

and hopefully other ELF OSes. The problem was a missing "extra_images"
startup argument (which ensures LD_LIBRARY_PATH is set properly).
The file was modifiedlldb/test/API/functionalities/stop-on-sharedlibrary-load/TestStopOnSharedlibraryEvents.py (diff)
Commit 9709186681a73489ecb76ea56cb4e1770f8da99a by pavel
[lldb] Add missing include in TestGdbRemote_vContThreads test

should fix the arm builtbots.
The file was modifiedlldb/test/API/tools/lldb-server/vCont-threads/main.cpp (diff)
Commit 0bbe2a3c8aae29445b73423bd54baa72e515484d by pavel
[lldb] More missing includes in TestGdbRemote_vContThreads
The file was modifiedlldb/test/API/tools/lldb-server/vCont-threads/main.cpp (diff)
Commit f069000b433c3d08157a57b554a3a17c46cba04d by craig.topper
[RISCV] Remove floating point condition code legalization from lowerFixedLengthVectorSetccToRVV.

After D98939, this is done by LegalizeVectorOps making this code dead.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D99519
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit 292816d2b613fdf5efbd4287b656bb793ad18e12 by craig.topper
[RISCV] Don't set the SplatOperand flag on intrinsics that take a shift amount.

The shift amount should always be a vector or an XLen scalar.
The SplatOperand flag is used to indicate we need to legalize
non-XLen scalars including special handling for i64 on RV32.
This will prevent us from silently adjusting these operands if
the intrinsics are misused.

I'll probably adjust the name of the SplatOperand flag slightly
in a follow up patch.

Reviewed By: khchen, frasercrmck

Differential Revision: https://reviews.llvm.org/D99545
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td (diff)
Commit 9ca0b01eb4fdf08199dbf9235a8d63f79a753a4f by nicholas
Remove dead CHECK-ERR line.
The file was modifiedllvm/test/LTO/X86/strip-debug-info.ll (diff)
Commit a9968c0a339ab47f5d6da1c513b2754f1e98a596 by tomas.matheson
[NFC][CodeGen] Tidy up TargetRegisterInfo stack realignment functions

Currently needsStackRealignment returns false if canRealignStack returns false.
This means that the behavior of needsStackRealignment does not correspond to
it's name and description; a function might need stack realignment, but if it
is not possible then this function returns false. Furthermore,
needsStackRealignment is not virtual and therefore some backends have made use
of canRealignStack to indicate whether a function needs stack realignment.

This patch attempts to clarify the situation by separating them and introducing
new names:

- shouldRealignStack - true if there is any reason the stack should be
   realigned

- canRealignStack - true if we are still able to realign the stack (e.g. we
   can still reserve/have reserved a frame pointer)

- hasStackRealignment = shouldRealignStack && canRealignStack (not target
   customisable)

Targets can now override shouldRealignStack to indicate that stack realignment
is required.

This change will make it easier in a future change to handle the case where we
need to realign the stack but can't do so (for example when the register
allocator creates an aligned spill after the frame pointer has been
eliminated).

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

Change-Id: Ib9a4d21728bf9d08a545b4365418d3ffe1af4d87
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/Mips/MipsRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (diff)
The file was modifiedllvm/lib/CodeGen/PrologEpilogInserter.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/M68k/M68kFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/M68k/M68kISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/Mips/MipsSERegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Lanai/LanaiRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/ARC/ARCFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/TargetRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MachineFrameInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Lanai/LanaiFrameLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/GCRootLowering.cpp (diff)
The file was modifiedllvm/lib/CodeGen/StackMaps.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/M68k/M68kRegisterInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Sparc/SparcFrameLowering.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Mips/MipsFrameLowering.cpp (diff)
Commit f5e9be6fdbdbe2a11f0227963fd4c15e3c319a44 by Amara Emerson
[GlobalISel] Implement lowering for G_ROTR and G_ROTL.

This is a straightforward port.

Differential Revision: https://reviews.llvm.org/D99449
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
Commit a33fcafaf0493fe30106be099070a96d10882e9d by craig.topper
[RISCV] Pass 'half' in the lower 16 bits of an f32 value when F extension is enabled, but Zfh is not.

Without Zfh the half type isn't legal, but it could still be
used as an argument/return in IR. Clang will not generate this today.

Previously we promoted the half value to float for arguments and
returns if the F extension is enabled but Zfh isn't. Then depending on
which ABI is enabled we would pass it in either an FPR or a GPR in
float format.

If the F extension isn't enabled, it would get passed in the lower
16 bits of a GPR in half format.

With this patch the value will always in half format and will be
in the lower bits of a GPR or FPR. This should be consistent
with where the bits are located when Zfh is enabled.

I've based this implementation off of how this is done on ARM.

I've manually nan-boxed the value to 32 bits using integer ops.
It looks like flw, fsw, fmv.s, fmv.w.x, fmf.x.w won't
canonicalize nans so should leave the value alone. I think those
are the instructions that could get used on this value.

Reviewed By: kito-cheng

Differential Revision: https://reviews.llvm.org/D98670
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/calling-conv-half.ll
The file was modifiedllvm/test/CodeGen/RISCV/copysign-casts.ll (diff)
Commit c62ef12079bcc7ce72040dddaae13408b120d995 by mgorny
[lldb] [test] Mark more lldb-server tests xfail on Windows
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py (diff)
Commit c8e56f394af0b9e32c413d62a0e7aebbba3e6b70 by nicholas
Add -disable-verify flag to llvm-link.

This flag allows the developer to see the result of linking even if it fails the verifier, as a step in debugging cases where the linked module fails the verifier.

Differential Revision: https://reviews.llvm.org/D99382
The file was modifiedllvm/tools/llvm-link/llvm-link.cpp (diff)
Commit 7a4d630764829ad40738ae4e5944a411529728ef by joker.eph
Add a "register_runtime" method to the mlir.execution_engine and show calling back from MLIR into Python

This exposes the ability to register Python functions with the JIT and
exposes them to the MLIR jitted code. The provided test case illustrates
the mechanism.

Differential Revision: https://reviews.llvm.org/D99562
The file was modifiedmlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp (diff)
The file was modifiedmlir/include/mlir-c/ExecutionEngine.h (diff)
The file was modifiedmlir/test/Bindings/Python/execution_engine.py (diff)
The file was modifiedmlir/lib/Bindings/Python/mlir/execution_engine.py (diff)
The file was modifiedmlir/lib/Bindings/Python/ExecutionEngine.cpp (diff)
Commit e3d3327edbf133da6ed50767eed4560a541a751d by Jonas Devlieghere
[lldb] Remove reproducer from previous test run
The file was modifiedlldb/test/Shell/Reproducer/Functionalities/TestImageList.test (diff)
Commit 700431128e212d5ef53afb6d20da098ca264cadd by Jessica Paquette
[GlobalISel][AArch64] Combine G_SEXT_INREG + right shift -> G_SBFX

Basically a port of isBitfieldExtractOpFromSExtInReg in AArch64ISelDAGToDAG.

This is only done post-legalization for now. Once the legalizer knows how to
decompose these back into shifts, this requirement can probably be removed.

Differential Revision: https://reviews.llvm.org/D99230
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-sextinreg.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td (diff)
Commit eae3b2a715d7fd1aea0ce1c78ac7a04957b72728 by john.brawn
[clang][cli] Fix round-trip of OPT_plugin_arg

The test Frontend/plugin-delayed-template.cpp is failing when asserts
are enabled because it hits an assertion in denormalizeStringImpl when
trying to round-trip OPT_plugin_arg. Fix this by adjusting how the
option is handled, as the first part is joined to -plugin-arg and the
second is separate.

Differential Revision: https://reviews.llvm.org/D99606
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
Commit 3e3fc431dfe4c0f118f8e3d78bb3e7e96a7d4c35 by hoy
[CSSPGO] Top-down processing order based on full profile.

Use profiled call edges to augment the top-down order. There are cases that the top-down order computed based on the static call graph doesn't reflect real execution order. For example:

1. Incomplete static call graph due to unknown indirect call targets. Adjusting the order by considering indirect call edges from the profile can enable the inlining of indirect call targets by allowing the caller processed before them.

2. Mutual call edges in an SCC. The static processing order computed for an SCC may not reflect the call contexts in the context-sensitive profile, thus may cause potential inlining to be overlooked. The function order in one SCC is being adjusted to a top-down order based on the profile to favor more inlining.

3. Transitive indirect call edges due to inlining. When a callee function is inlined into into a caller function in LTO prelink, every call edge originated from the callee will be transferred to the caller. If any of the transferred edges is indirect, the original profiled indirect edge, even if considered, would not enforce a top-down order from the caller to the potential indirect call target in LTO postlink since the inlined callee is gone from the static call graph.

4. #3 can happen even for direct call targets, due to functions defined in header files. Header functions, when included into source files, are defined multiple times but only one definition survives due to ODR. Therefore, the LTO prelink inlining done on those dropped definitions can be useless based on a local file scope. More importantly, the inlinee, once fully inlined to a to-be-dropped inliner, will have no profile to consume when its outlined version is compiled. This can lead to a profile-less prelink compilation for the outlined version of the inlinee function which may be called from external modules. while this isn't easy to fix, we rely on the postlink AutoFDO pipeline to optimize the inlinee. Since the survived copy of the inliner (defined in headers) can be inlined in its local scope in prelink, it may not exist in the merged IR in postlink, and we'll need the profiled call edges to enforce a top-down order for the rest of the functions.

Considering those cases, a profiled call graph completely independent of the static call graph is constructed based on profile data, where function objects are not even needed to handle case #3 and case 4.

I'm seeing an average 0.4% perf win out of SPEC2017. For certain benchmark such as Xalanbmk and GCC, the win is bigger, above 2%.

The change is an enhancement to https://reviews.llvm.org/D95988.

Reviewed By: wmi, wenlei

Differential Revision: https://reviews.llvm.org/D99351
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-tracker-debug.ll (diff)
The file was modifiedllvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/ctxsplit.ll (diff)
The file was modifiedllvm/tools/llvm-profgen/CSPreInliner.cpp (diff)
The file was modifiedllvm/include/llvm/Transforms/IPO/SampleContextTracker.h (diff)
The file was modifiedllvm/lib/Transforms/IPO/SampleContextTracker.cpp (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/profile-topdown-order.ll (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/inline-mergeprof.ll (diff)
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-order.ll (diff)
Commit 22998738e8f78b447b04a7fd23efa4deaeda306b by aktoon
[SamplePGO] Keeping prof metadata for IndirectBrInst

Currently prof metadata with branch counts is added only for BranchInst and SwitchInst, but not for IndirectBrInst. As a result, BPI/BFI make incorrect inferences for indirect branches, which can be very hot.
This diff adds metadata for IndirectBrInst, in addition to BranchInst and SwitchInst.

Reviewed By: wmi, wenlei

Differential Revision: https://reviews.llvm.org/D99550
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp (diff)
The file was addedllvm/test/Transforms/SampleProfile/pseudo-probe-profile-metadata.ll
The file was modifiedllvm/lib/IR/Metadata.cpp (diff)
The file was addedllvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-profile-metadata.prof
Commit 6c9fbcf5b1cb6d2e0fb4a518f8c61a5eebfe6021 by ezhulenev
[mlir] Linalg: add tile interchange flag to test-linalg-codegen-strategy pass

Interchange options was missing in the pass flags.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D99397
The file was modifiedmlir/test/lib/Transforms/TestLinalgCodegenStrategy.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir (diff)
Commit f13f0505515dcb1d256673c5224cc3ca55569122 by SourabhSingh.Tomar
[DebugInfo] Support for signed constants inside DIExpression

Negative numbers are represented using DW_OP_consts along with signed representation
of the number as the argument.

Test case IR is generated using Fortran front-end.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D99273
The file was modifiedllvm/test/DebugInfo/X86/stack-value-dwarf4.ll (diff)
The file was addedllvm/test/DebugInfo/X86/global-constants.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was modifiedllvm/test/Transforms/StripSymbols/strip-dead-debug-info.ll (diff)
The file was addedllvm/test/DebugInfo/X86/invalid-global-constants.ll
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp (diff)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (diff)
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h (diff)
The file was modifiedllvm/lib/IR/AsmWriter.cpp (diff)
Commit 91887cd4ecc7e71715677e7a256ba243d54c781f by Amara Emerson
[AArch64][GlobalISel] Combine funnel shifts to rotates.

Differential Revision: https://reviews.llvm.org/D99388
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-funnel-shifts-to-rotates.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
Commit 1bc90847ee3ef027f194ed740bb0bb72b8d7579a by Amara Emerson
[AArch64][GlobalISel] Define some legalization rules for G_ROTR and G_ROTL.

For imported pattern purposes, we have a custom rule that promotes the rotate
amount to 64b as well.

Differential Revision: https://reviews.llvm.org/D99463
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h (diff)
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-rotr-rotl.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir (diff)
Commit a35c2c7942e4c66aedf6b9133ad6398b602c0198 by Amara Emerson
[GlobalISel] Implement fewerElements legalization for vector reductions.

This patch adds 3 methods, one for power-of-2 vectors which use tree
reductions using vector ops, before a final reduction op. For non-pow-2
types it generates multiple narrow reductions and combines the values with
scalar ops.

Differential Revision: https://reviews.llvm.org/D97163
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-fadd.mir (diff)
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h (diff)
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir (diff)
Commit d857a81437cbd9066b29dffceec500e3ea1edc0e by huihuiz
[VPlan] Use SetVector for VPExternalDefs to prevent non-determinism.

Use SetVector instead of SmallPtrSet for external definitions created for VPlan.
Doing this can help avoid non-determinism caused by iterating over unordered containers.

This bug was found with reverse iteration turning on,
--extra-llvm-cmake-variables="-DLLVM_REVERSE_ITERATION=ON".
Failing LLVM-Unit test VPRecipeTest.dump.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D99544
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h (diff)
Commit 79ae41991c6bfe7e68e8c43d520297cf95853dc3 by spatel
[InstCombine] add test for abs() demanded bits; NFC
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit c2ebad8d55bd90ac921b1219b25c1d1a864655ff by spatel
[InstCombine] add fold for demand of low bit of abs()

This is one problem shown in https://llvm.org/PR49763

https://alive2.llvm.org/ce/z/cV6-4K
https://alive2.llvm.org/ce/z/9_3g-L
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit 73adc05cedb2da5c0f4b83a26478203937e3f501 by i
[GlobalISel] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after D99463
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp (diff)
Commit 3ad6dd5d8f0a70756f665e8179ad7c5210022c11 by mizvekov
[clang] Use decltype((E)) for compound requirement type constraint

See PR45088.

Compound requirement type constraints were using decltype(E) instead of
decltype((E)), as per `[expr.prim.req]p1.3.3`.

Since neither instantiation nor type dependence should matter for
the constraints, this uses an approach where a `decltype` type is not built,
and just the canonical type of the expression after template instantiation
is used on the requirement.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D98160
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Sema/SemaType.cpp (diff)
The file was modifiedclang/lib/Sema/SemaConcept.cpp (diff)
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp (diff)
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp (diff)
Commit ae217bf1f3277b8c14590a130ee5e63cc1664443 by dblaikie
Conditionalize the JIT test dependency
The file was modifiedllvm/test/CMakeLists.txt (diff)
Commit eb4967c8bd341b1623453bcbb67379e223a7cad7 by luismarques
[Sanitizer][RISCV][AArch64][Android] Adjust allocator tests

On 64-bit systems with small VMAs (e.g. 39-bit) we can't use
SizeClassAllocator64 parameterized with size class maps containing a large
number of classes, as that will make the allocator region size too small
(< 2^32). Several tests were already disabled for Android because of this.

This patch provides the correct allocator configuration for RISC-V
(riscv64), generalizes the gating condition for tests that can't be enabled
for small VMA systems, and tweaks the tests that can be made compatible with
those systems to enable them.

I think the previous gating on Android should instead be AArch64+Android, so
the patch reflects that.

Differential Revision: https://reviews.llvm.org/D97234
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cpp (diff)
Commit e2c7bf08cc8e9c2461dd18b283b76ed2b3c59630 by a.bataev
[OPENMP]Fix PR48607: Crash during clang openmp codegen for firstprivate() of `float _Complex`.

Need to cast the argument for the debug wrapper function call to the
corresponding parameter type to avoid crash.

Differential Revision: https://reviews.llvm.org/D99617
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was addedclang/test/OpenMP/debug-info-complex-byval.cpp
Commit 3a6365a439ede4b7c65076bb42b1b7dbf72216b5 by david.green
[ARM] Add FeatureHasNoBranchPredictor for Thumb1 cores

Mark v6m/v8m-baseline cores as having no branch predictors. This should
not alter very much on its own, but is more correct as the cores do not
have branch predictors and can help in the future.
The file was modifiedllvm/lib/Target/ARM/ARM.td (diff)
Commit c06a8f9caa51c7ea71dac716e0a35f5e343e4546 by phosek
[libc++] Include <__config_site> from <__config>

Prior to this patch, we would generate a fancy <__config> header by
concatenating <__config_site> and <__config>. This complexifies the
build system and also increases the difference between what's tested
and what's actually installed.

This patch removes that complexity and instead simply installs <__config_site>
alongside the libc++ headers. <__config_site> is then included by <__config>,
which is much simpler. Doing this also opens the door to having different
<__config_site> headers depending on the target, which was impossible before.

It does change the workflow for testing header-only changes to libc++.
Previously, we would run `lit` against the headers in libcxx/include.
After this patch, we run it against a fake installation root of the
headers (containing a proper <__config_site> header). This makes use
closer to testing what we actually install, which is good, however it
does mean that we have to update that root before testing header changes.
Thus, we now need to run `ninja check-cxx-deps` before running `lit` by
hand.

Differential Revision: https://reviews.llvm.org/D97572
The file was modifiedlibcxx/include/__config (diff)
The file was modifiedlibcxx/utils/ci/run-buildbot (diff)
The file was modifiedlibcxx/benchmarks/CMakeLists.txt (diff)
The file was modifiedlibcxx/include/CMakeLists.txt (diff)
The file was modifiedlibcxx/cmake/Modules/HandleLibCXXABI.cmake (diff)
The file was modifiedlibcxx/test/configs/legacy.cfg.in (diff)
The file was modifiedlibunwind/test/libunwind/test/config.py (diff)
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py (diff)
The file was modifiedlibcxx/CMakeLists.txt (diff)
The file was modifiedlibcxx/utils/libcxx/test/config.py (diff)
The file was modifiedlibcxx/docs/TestingLibcxx.rst (diff)
Commit b7899ba0e8b7a7b8fbab06a8b3f2d70f16d7a250 by michael.p.rice
[OPENMP51]Initial support for the dispatch directive.

Added basic parsing/sema/serialization support for dispatch directive.

Differential Revision: https://reviews.llvm.org/D99537
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/include/clang-c/Index.h (diff)
The file was addedclang/test/OpenMP/dispatch_messages.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h (diff)
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp (diff)
The file was addedclang/test/OpenMP/dispatch_ast_print.cpp
The file was modifiedclang/include/clang/AST/StmtOpenMP.h (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedclang/lib/AST/StmtOpenMP.cpp (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmt.cpp (diff)
The file was modifiedclang/tools/libclang/CXCursor.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was modifiedclang/lib/AST/StmtPrinter.cpp (diff)
Commit 58cbb222ebba687d1f710de56649f1e201f646dc by Jon Roelofs
[docs] Fix up dead clang-format links after monorepo move. NFC
The file was modifiedllvm/docs/Contributing.rst (diff)
Commit d535a05ca1a6b959399762d5e14efde1fcfe6af8 by wmi
[ThinLTO] During module importing, close one source module before open
another one for distributed mode.

Currently during module importing, ThinLTO opens all the source modules,
collect functions to be imported and append them to the destination module,
then leave all the modules open through out the lto backend pipeline. This
patch refactors it in the way that one source module will be closed before
another source module is opened. All the source modules will be closed after
importing phase is done. It will save some amount of memory when there are
many source modules to be imported.

Note that this patch only changes the distributed thinlto mode. For in
process thinlto mode, one source module is shared acorss different thinlto
backend threads so it is not changed in this patch.

Differential Revision: https://reviews.llvm.org/D99554
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp (diff)
The file was modifiedllvm/lib/LTO/LTO.cpp (diff)
The file was modifiedclang/test/CodeGen/thinlto_backend.ll (diff)
The file was modifiedllvm/include/llvm/LTO/LTOBackend.h (diff)
The file was modifiedllvm/lib/LTO/LTOBackend.cpp (diff)
Commit 427d3597219ec16c1bc92a0f4c9e39015e80c923 by gkm
[lld-macho][NFC] Drop unnecessary macho:: namespace prefix on unambiguous references to Symbol

Within `lld/macho/`, only `InputFiles.cpp` and `Symbols.h` require the `macho::` namespace qualifier to disambiguate references to `class Symbol`.

Add braces to outer `for` of a 5-level single-line `if`/`for` nest.

Differential Revision: https://reviews.llvm.org/D99555
The file was modifiedlld/MachO/UnwindInfoSection.cpp (diff)
The file was modifiedlld/MachO/Arch/ARM64.cpp (diff)
The file was modifiedlld/MachO/InputSection.cpp (diff)
The file was modifiedlld/MachO/Driver.cpp (diff)
The file was modifiedlld/MachO/Writer.cpp (diff)
The file was modifiedlld/MachO/Arch/X86_64.cpp (diff)
The file was modifiedlld/MachO/MapFile.cpp (diff)
Commit a360a9786f5f82f4beff6fdcec12b40ee392db7a by joker.eph
Fix deletion of operations through the rewriter in a pattern matching a consumer operation

This allows for the conversion to match `A(B()) -> C()` with a pattern matching
`A` and marking `B` for deletion.

Also add better assertions when an operation is erased while still having uses.

Differential Revision: https://reviews.llvm.org/D99442
The file was modifiedmlir/lib/IR/Operation.cpp (diff)
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp (diff)
The file was modifiedmlir/test/Transforms/test-legalizer.mlir (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td (diff)
Commit ee176d2e6e9d58af2dd1856f3c1f54ae85f2b89b by richard
[www] Color Clang 11 and Clang 12 features as green and not yellow, and
Clang 13 features as yellow not green.
The file was modifiedclang/www/cxx_status.html (diff)
Commit eabd55b1b2c5e322c3b36cb44348f178692890c8 by zequanwu
[lld-link] Enable addrsig table in COFF lto

This allow safe-icf mode to work when linking with LTO.

Differential Revision: https://reviews.llvm.org/D99613
The file was modifiedlld/COFF/LTO.cpp (diff)
Commit 1705136590cd88176729efec8d291e98249713cb by richard
Fix pluralization error in diagnostic, and move C++ testcase to proper
directory.
The file was addedclang/test/SemaCXX/warn-cast-function-type.cpp
The file was modifiedclang/test/Sema/warn-cast-function-type.c (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was removedclang/test/Sema/warn-cast-function-type.cpp
Commit d87384f7dfa1158150d9759654d5f19a929b81b7 by richard
[www] Fix build of attribute documentation.
The file was modifiedclang/include/clang/Basic/AttrDocs.td (diff)
Commit c5f174905b73620cf8690dbe68ea05b29d09f4a1 by richard
Delete checked-in generated copy of diagnostic reference.

The documentation build rule will generate an up-to-date version of this
if it's not checked in.
The file was removedclang/docs/DiagnosticsReference.rst
Commit 144ec1c38ef1d3a6d37dadf7240ef5f04c10daae by aheejin
[WebAssembly] Encode numbers in ULEB128 in event section

The number of events and the type index should be encoded in ULEB128,
but they were incorrctly encoded in LEB128. The smallest number with
which its LEB128 and ULEB128 encodings are different is 64.
There's no way we can generate 64 events in the C++ toolchain
implementation so we can't test that, but the attached test tests when
the type index is 64.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D99627
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp (diff)
The file was addedllvm/test/MC/WebAssembly/event-section-encoding.ll
Commit d6d3d21cd1cb1567eaf7ff8c0867b07227a19d99 by omair.javaid
[LLDB] Add support for Arm64/Linux dynamic register sets

This is patch adds support for adding dynamic register sets for
AArch64 dynamic features in LLDB. AArch64 has optional features like
SVE, Pointer Authentication and MTE which means LLDB needs to decide
at run time which registers it needs to pull in for the current
executable based on underlying support for a certain feature.

This patch makes necessary adjustments to make way for dynamic
register infos and dynamic register sets.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D96458
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h (diff)
Commit 1164b4e2957290e814c3dd781a68e504dd39148e by omair.javaid
[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers

This patch adds two new dynamic register sets for AArch64 MTE and
Pointer Authentication features. These register sets are dynamic and
will only be available if underlying hardware support either of these
features. LLDB will pull in Aux vector information and create register
infos based on that information.

A follow up patch will add a test case to test these feature registers.

Reviewed By: labath, DavidSpickett

Differential Revision: https://reviews.llvm.org/D96460
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp (diff)
Commit 9ab677180091a690cd99d4ac55d5fb9e1149b1ec by omair.javaid
[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset

This patch adds a test case to test AArch64 dynamic register sets.
This tests for the availability of certain register sets and query
their registers accordingly.

Reviewed By: labath, DavidSpickett

Differential Revision: https://reviews.llvm.org/D96463
The file was addedlldb/test/API/commands/register/register/aarch64_dynamic_regset/main.c
The file was addedlldb/test/API/commands/register/register/aarch64_dynamic_regset/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py (diff)
The file was addedlldb/test/API/commands/register/register/aarch64_dynamic_regset/TestArm64DynamicRegsets.py
Commit c23ee7718ea4f9292622af3d80efe2491eb2a506 by richard
[www] List both the regular and expanded form of %diff in the
diagnostics reference.

In passing, properly validate and diagnose errors in %diff format
specifiers.
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp (diff)
Commit 0b69756110db444282c40ea16929186b2910c3b1 by a20012251
[trace][intel-pt] Implement trace start and trace stop

This implements the interactive trace start and stop methods.

This diff ended up being much larger than I anticipated because, by doing it, I found that I had implemented in the beginning many things in a non optimal way. In any case, the code is much better now.

There's a lot of boilerplate code due to the gdb-remote protocol, but the main changes are:

- New tracing packets: jLLDBTraceStop, jLLDBTraceStart, jLLDBTraceGetBinaryData. The gdb-remote packet definitions are quite comprehensive.
- Implementation of the "process trace start|stop" and "thread trace start|stop" commands.
- Implementaiton of an API in Trace.h to interact with live traces.
- Created an IntelPTDecoder for live threads, that use the debugger's stop id as checkpoint for its internal cache.
- Added a functionality to stop the process in case "process tracing" is enabled and a new thread can't traced.
- Added tests

I have some ideas to unify the code paths for post mortem and live threads, but I'll do that in another diff.

Differential Revision: https://reviews.llvm.org/D91679
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_bad2.json (diff)
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/CMakeLists.txt (diff)
The file was modifiedlldb/include/lldb/Target/Target.h (diff)
The file was modifiedlldb/source/Target/Trace.cpp (diff)
The file was modifiedlldb/source/Target/Thread.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectThreadUtil.cpp (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/IntelPTDecoder.cpp (diff)
The file was modifiedlldb/source/Target/Process.cpp (diff)
The file was modifiedlldb/source/Target/ProcessTrace.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp (diff)
The file was modifiedlldb/source/Target/CMakeLists.txt (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp (diff)
The file was addedlldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
The file was addedlldb/source/Plugins/Process/Linux/IntelPTManager.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp (diff)
The file was modifiedlldb/source/Target/Target.cpp (diff)
The file was modifiedlldb/include/lldb/Target/ProcessTrace.h (diff)
The file was addedlldb/unittests/Process/Linux/IntelPTManagerTests.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h (diff)
The file was addedlldb/test/API/commands/trace/multiple-threads/Makefile
The file was modifiedlldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp (diff)
The file was modifiedlldb/test/API/commands/trace/TestTraceLoad.py (diff)
The file was removedlldb/source/Plugins/Process/Linux/ProcessorTrace.cpp
The file was addedlldb/source/Plugins/Trace/intel-pt/forward-declarations.h
The file was modifiedlldb/include/lldb/Target/Trace.h (diff)
The file was removedlldb/source/Utility/TraceOptions.cpp
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_bad3.json (diff)
The file was addedlldb/include/lldb/Utility/TraceGDBRemotePackets.h
The file was addedlldb/source/Utility/TraceIntelPTGDBRemotePackets.cpp
The file was modifiedlldb/source/Commands/CommandObjectTrace.cpp (diff)
The file was addedlldb/source/Target/ThreadPostMortemTrace.cpp
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace.json (diff)
The file was modifiedlldb/tools/lldb-vscode/LLDBUtils.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp (diff)
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp (diff)
The file was modifiedlldb/docs/lldb-gdb-remote.txt (diff)
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp (diff)
The file was modifiedlldb/include/lldb/lldb-forward.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp (diff)
The file was modifiedlldb/source/Target/StopInfo.cpp (diff)
The file was modifiedlldb/test/API/commands/trace/TestTraceStartStop.py (diff)
The file was modifiedlldb/test/API/commands/trace/intelpt-trace-multi-file/multi-file-no-ld.json (diff)
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h (diff)
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_bad.json (diff)
The file was modifiedlldb/source/Core/PluginManager.cpp (diff)
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp (diff)
The file was removedlldb/source/Plugins/Process/Linux/ProcessorTrace.h
The file was modifiedlldb/include/lldb/Utility/TraceOptions.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h (diff)
The file was modifiedlldb/include/lldb/Target/Process.h (diff)
The file was modifiedlldb/unittests/Process/Linux/CMakeLists.txt (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp (diff)
The file was removedlldb/unittests/Process/Linux/ProcessorTraceTest.cpp
The file was modifiedlldb/include/lldb/lldb-enumerations.h (diff)
The file was removedlldb/include/lldb/Target/ThreadTrace.h
The file was addedlldb/include/lldb/Utility/TraceIntelPTGDBRemotePackets.h
The file was modifiedlldb/test/API/commands/trace/TestTraceSchema.py (diff)
The file was addedlldb/source/Utility/TraceGDBRemotePackets.cpp
The file was modifiedlldb/include/lldb/Target/StopInfo.h (diff)
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_bad_image.json (diff)
The file was modifiedlldb/source/API/SBTrace.cpp (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/IntelPTDecoder.h (diff)
The file was modifiedlldb/include/lldb/Target/TraceSessionFileParser.h (diff)
The file was modifiedlldb/source/Commands/CommandObjectTrace.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h (diff)
The file was modifiedlldb/include/lldb/lldb-private-interfaces.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (diff)
The file was addedlldb/test/API/commands/trace/multiple-threads/main.cpp
The file was addedlldb/source/Plugins/Process/Linux/IntelPTManager.h
The file was removedlldb/source/Target/ThreadTrace.cpp
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_2threads.json (diff)
The file was addedlldb/include/lldb/Target/ThreadPostMortemTrace.h
The file was modifiedlldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.h (diff)
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_bad4.json (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.cpp (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSessionFileParser.h (diff)
The file was modifiedlldb/include/lldb/Core/PluginManager.h (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTOptions.td (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (diff)
The file was modifiedlldb/source/Utility/CMakeLists.txt (diff)
The file was modifiedlldb/source/API/SBThread.cpp (diff)
The file was modifiedlldb/source/Target/TraceSessionFileParser.cpp (diff)
The file was modifiedlldb/source/Plugins/Trace/intel-pt/DecodedThread.h (diff)
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h (diff)
The file was modifiedlldb/source/Commands/CommandObjectThreadUtil.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp (diff)
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_bad5.json (diff)
The file was modifiedlldb/test/API/commands/trace/intelpt-trace/trace_wrong_cpu.json (diff)
Commit fb0b19c3de3b49bd6c343d6c02293cbcc77520fb by thakis
Reland "[gn build] port 48e4b0f (__config_site)"

This reverts commit 13aff21f0da7007c42d407b4ec5c1f6b24cb6831,
since the CMake part relanded in c06a8f9caa51c7ea7.

The GN part is a bit simpler than last time due to the
prior simplifications in acea470c167fc40.
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/clang/tools/driver/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/libcxxabi/src/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn (diff)
Commit f59ba0849f7a148265dcc89d36a11717d365f368 by craig.topper
[StructLayout] Use TrailingObjects to allocate space for MemberOffsets.

MemberOffsets are stored at the end of StructLayout. The class
contains a single entry array to mark the start of the member
offsets. getStructLayout calculates the additional space needed
for additional elements before allocating memory.

This patch converts this to use TrailingObjects. This simplifies
the size computation in getStructLayout and gets rid of the
single entry array.

This is prep work, but to use TypeSize instead of uint64_t for
D98169. The single entry array doesn't work with TypeSize because
TypeSize doesn't have a default constructor. We thought this
change was an improvement by itself so we've separated it out.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D99608
The file was modifiedllvm/include/llvm/IR/DataLayout.h (diff)
The file was modifiedllvm/lib/IR/DataLayout.cpp (diff)
Commit 9eef0fae2b840cef0b44cf94517f70a41cd84d42 by richard
Fix test expectations for %diff documentation.
The file was modifiedclang/test/TableGen/emit-diag-docs.td (diff)
Commit 3a83b8b2d29e020b8ccde42d0949db45c7eb356a by Lang Hames
[JITLink] Add a setProtectionFlags method to jitlink::Section.

This allows clients to modify the memory protection settings on sections via
jitlink passes. This can be used to, for example, override the default settings
on text pages and make them Read/Write/Executable under the JIT.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)
Commit a4ee79c8ae5ca1bbfa8d78a2782918d1f23f15b2 by a20012251
Fix errors in 0b69756110db444282c40ea16929186b2910c3b1

Errors found in
https://lab.llvm.org/buildbot/#/builders/68/builds/9681/steps/6/logs/stdio
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp (diff)
The file was modifiedlldb/source/Target/Target.cpp (diff)
Commit 99fd0662278470f5405b8abd79b681b96cac7856 by tu.da.wei
[clang][Sema] Don't try to initialize implicit variable of invalid anonymous union/struct

This fixes https://bugs.llvm.org/show_bug.cgi?id=49534, where the call to the constructor
of the anonymous union is checked and triggers assertion failure when trying to retrieve
the alignment of the `this` argument (which is a union with virtual function).

The extra check for alignment was introduced in D97187.

Reviewed By: tmatheson

Differential Revision: https://reviews.llvm.org/D98548
The file was addedclang/test/SemaCXX/PR49534.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp (diff)
Commit 431a40e1e28f181e87dd247b91a5e6872dd64ab4 by aqjune
[LoopUnswitch] Assert that branch condition is either and/or but not both

as suggested at https://reviews.llvm.org/rG5bb38e84d3d0#986321
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp (diff)
Commit 05998701b93e7db18e6327293e6f634bd31bc4d8 by craig.topper
[RISCV] Remove some unused ImmLeafs. NFC

These got left behind when we switched RV32 to use selectImm to
match RV64.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td (diff)
Commit 0d7fd9f0d09812c6344a7df6498ce504c8d646d1 by nullptr.cpp
[GlobalISel] Fix Wint-in-bool-context warning (NFC)

GCC warning:
```
/llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp: In member function ‘bool llvm::CombinerHelper::matchFunnelShiftToRotate(llvm::MachineInstr&)’:
/llvm-project/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:3882:35: warning: ?: using integer constants in boolean context, the expression will always evaluate to ‘true’ [-Wint-in-bool-context]
3882 |       Opc == TargetOpcode::G_FSHL ? TargetOpcode::G_ROTL : TargetOpcode::G_ROTR;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
Commit 5db19cc01017ed67ec443dd7b0e7b54d991a67da by craig.topper
[RISCV] simm12_plus1 should not inherit from Operand. NFC

We only use this in Pat patterns, so it just needs to be an
ImmLeaf. If we did need it as an instruction operand, the
ParserMatchClass, EncoderMethod, and DecoderMethod were probably wrong.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td (diff)
Commit 3e5ee194c00dc0303593340daaba3bacbf1caa68 by i
[SimpleLoopUnswitch] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after 431a40e1e28f181e87dd247b91a5e6872dd64ab4
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp (diff)
Commit d332bbee45b5dcd01b3fb7c83c7b3a15292953d7 by i
[Utils][Emacs] Improve syntax highlight

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D99404
The file was modifiedllvm/utils/emacs/llvm-mode.el (diff)
Commit eb51dd719f34be09d21b1ef485edc4209fcf811b by yedeng.yd
[Coroutine] [Debug] Insert dbg.declare to entry.resume to print alloca in the coroutine frame under O2

Summary: Try to insert dbg.declare to entry.resume basic block in resume
function. In this way, we could print alloca such as __promise in
gdb/lldb under O2, which would be beneficial to debug coroutine program.

Test Plan: check-llvm

Reviewed by: aprantl

Differential Revision: https://reviews.llvm.org/D96938
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp (diff)
The file was modifiedllvm/lib/Transforms/Coroutines/CoroInternal.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Coroutines/CoroSplit.h (diff)
The file was modifiedllvm/include/llvm/Transforms/Coroutines.h (diff)
The file was addedllvm/test/Transforms/Coroutines/coro-debug-O2.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp (diff)
Commit 0269a407f3afb7301594d9977093cb428d059935 by Lang Hames
[JITLink] Switch from StringRef to ArrayRef<char>, add some generic x86-64 utils

Adds utilities for creating anonymous pointers and jump stubs to x86_64.h. These
are used by the GOT and Stubs builder, but may also be used by pass writers who
want to create pointer stubs for indirection.

This patch also switches the underlying type for LinkGraph content from
StringRef to ArrayRef<char>. This avoids any confusion when working with buffers
that contain null bytes in the middle like, for example, a newly added null
pointer content array. ;)
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp (diff)
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/x86_64.h (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h (diff)
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp (diff)
The file was modifiedllvm/tools/llvm-rtdyld/llvm-rtdyld.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp (diff)
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLink.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp (diff)
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/x86_64.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp (diff)
Commit 4e0045cc9b00ed18a7b8981d468a9d01eb4f6780 by nathan
libc: Default LIBC_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX}

b22f448c21e718a3b6 added a rule to install libllvmlibc.a to
${LIBC_INSTALL_PREFIX}/${LIBC_INSTALL_LIBRARY_DIR}, which will be /lib
by default, which is disruptive to builds that stay within a user's
/home holder:

  $ ninja install
  ...
  -- Installing: /lib/libllvmlibc.a
  CMake Error at projects/libc/lib/cmake_install.cmake:54 (file):
    file INSTALL cannot copy file
   "/home/nathan/cbl/github/tc-build/build/llvm/stage1/projects/libc/lib/libllvmlibc.a"
    to "/lib/libllvmlibc.a": Permission denied.
  Call Stack (most recent call first):
    projects/libc/cmake_install.cmake:51 (include)
    projects/cmake_install.cmake:47 (include)
    cmake_install.cmake:76 (include)
  ...

Change LIBC_INSTALL_PREFIX's default value to ${CMAKE_INSTALL_PREFIX} so
that 'ninja install' does not attempt to install anything outside of the
user's requested installation location.

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

Reviewed By: sivachandra

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
The file was modifiedlibc/CMakeLists.txt (diff)
Commit 9a9214fa2562b397764193517fa540a3dcbfd5a1 by stellaraccident
[mlir] Add C and python API for is_registered_operation.

* Suggested to be broken out of D99578

Differential Revision: https://reviews.llvm.org/D99638
The file was modifiedmlir/test/Bindings/Python/dialects.py (diff)
The file was modifiedmlir/lib/CAPI/IR/IR.cpp (diff)
The file was modifiedmlir/include/mlir-c/IR.h (diff)
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp (diff)
The file was modifiedmlir/test/CAPI/ir.c (diff)
Commit ec235dd3556d9879b0ec58ebd6009904d0ef0d24 by Lang Hames
[JITLink] Delete copy and move constructors for jitlink::Section.

Sections are not movable or copyable.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h (diff)
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp (diff)
Commit 32ca5a037ab9191d570bf9b5e0f13e28c3db27d9 by tclin914
[RISCV] Refine pre-define macro tests

1. Undefined macro test for rv32i and rv64i.
  a. Reorder it with canonical order.
  b. Add missing  undefined macro check.
  c. Append defined value to `__riscv_a`, `__riscv_f` and `__riscv_c` to distinguish with
      `__riscv_arch_test`, `__riscv_cmodel_medlow` and `__riscv_float_abi_soft`. They have the same prefix.
2. Move abi macro test below f and d.
3. Unify coding style for newline.

Reviewed By: HsiangKai

Differential Revision: https://reviews.llvm.org/D99631
The file was modifiedclang/test/Preprocessor/riscv-target-features.c (diff)
Commit 4a0a85becc9e19d288b5adcf713cb9e135c7f022 by martin
[libcxx] [test] Fix tests of <cuchar> that unexpectedly succeed on windows

The tests expect that the <cuchar> include should fail. When libc++
is built on top of the MSVC runtime, the header does exist provided
by MSVC. Therefore, just mark the test as unsupported on windows,
to avoid tests that unexpectedly succeed.

Differential Revision: https://reviews.llvm.org/D99096
The file was modifiedlibcxx/test/std/strings/c.strings/cuchar.pass.cpp (diff)
The file was modifiedlibcxx/test/libcxx/strings/c.strings/version_cuchar.pass.cpp (diff)
Commit 7acfd85756736b2e240cc3a4ffd56f26d73ace9e by martin
[libcxx] [test] Don't add dirs from the LIB env var to PATH

The directories in LIB normally only contain import libraries or
static libraries, no runtime DLLs that would need to be found
while running tests.

This code stems from 1cd196e7b46e49d170a4b4013879a577dee59cb2,
which (among other things) tried to do this:

> * [Test] Fix handling of library runtime search paths by correctly adding them
>   to the PATH variable when running the tests.

It's unclear to me exactly what this fixed (or tried to) at the time,
as the LIB var doesn't normally point to runtime libs.

Differential Revision: https://reviews.llvm.org/D99241
The file was modifiedlibcxx/utils/libcxx/test/config.py (diff)
Commit 7588ed3a49f1198dcf779067665f959fa6135ac9 by craig.topper
[X86] Regenerate test to add missing @PLT
The file was modifiedllvm/test/CodeGen/X86/tbm_patterns.ll (diff)
Commit afed50a14b34eb619624aed5c85f4f610f360650 by craig.topper
[X86] Add test cases for PR48768 and D94856. NFC

This covers the BMI and TBM instructions. More tests will be
needed for other instructions.
The file was modifiedllvm/test/CodeGen/X86/tbm_patterns.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/bmi.ll (diff)
Commit 465b9a4a3303727df1584ca52bdced964a34efe9 by pifon
Revert "Revert "[mlir] Introduce CloneOp and adapt test cases in BufferDeallocation.""

This reverts commit 883912abe669ef246ada0adc9cf1c9748b742400.
The file was modifiedmlir/lib/Dialect/MemRef/CMakeLists.txt (diff)
The file was removedmlir/lib/Transforms/CopyRemoval.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.td (diff)
The file was removedmlir/test/Transforms/copy-removal.mlir
The file was addedmlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
The file was modifiedmlir/include/mlir/Transforms/Passes.h (diff)
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp (diff)
The file was modifiedmlir/include/mlir/Transforms/BufferUtils.h (diff)
The file was addedmlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
The file was modifiedmlir/test/Transforms/buffer-deallocation.mlir (diff)
The file was modifiedmlir/lib/Transforms/CMakeLists.txt (diff)
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td (diff)
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRef.h (diff)
The file was modifiedmlir/docs/BufferDeallocationInternals.md (diff)
The file was modifiedmlir/lib/Transforms/BufferDeallocation.cpp (diff)
The file was modifiedmlir/lib/Transforms/BufferUtils.cpp (diff)
The file was modifiedmlir/test/Transforms/canonicalize.mlir (diff)
Commit 43b9fa3ce0ddfa673158af1596c3aac613b258b3 by nicolas.vasilache
[mlir][Linalg][Python] Create the body of builtin named Linalg ops

This revision adds support to properly add the body of registered
builtin named linalg ops.
At this time, indexing_map and iterator_type support is still
missing so the op is not executable yet.

Differential Revision: https://reviews.llvm.org/D99578
The file was addedmlir/lib/Bindings/Python/DialectLinalg.h
The file was modifiedmlir/lib/Bindings/Python/CMakeLists.txt (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td (diff)
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/dsl.py (diff)
The file was modifiedmlir/lib/CAPI/Dialect/Linalg.cpp (diff)
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/emitter.py (diff)
The file was addedmlir/lib/Bindings/Python/DialectLinalg.cpp
The file was modifiedmlir/lib/Bindings/Python/MainModule.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h (diff)
The file was modifiedmlir/test/Bindings/Python/dialects/linalg/ops.py (diff)
The file was modifiedmlir/include/mlir-c/Dialect/Linalg.h (diff)
Commit 8fa570c96908a459d3b067a815b7c307f4555556 by Alexander.Richardson
[WebAssembly] Fix incorrect DW_TAG_pointer_type size in test

It should be 64 bits not 32 for wasm64-unknown-unknown. I noticed this
because this test was failing in our CHERI fork of LLVM due to a larger
.debug_abbrev section size. It turns out this happens because we add
DW_AT_byte_size for non-default pointer sizes to allow debugging our
hybrid compilation mode where we can have two different kinds of pointers.

Reviewed By: aardappel

Differential Revision: https://reviews.llvm.org/D99410
The file was modifiedllvm/test/MC/WebAssembly/debug-info64.ll (diff)
Commit ce193ea9e8430f15d19dd60d73f13a66e4f374ac by Alexander.Richardson
[asan] Remove FreeBSD XFAIL from asan-sigbus.cpp test

This test passes for me on FreeBSD 12.2 and was probably fixed by
https://svnweb.freebsd.org/base?view=revision&revision=352807.

Reviewed By: emaste

Differential Revision: https://reviews.llvm.org/D98281
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/asan-sigbus.cpp (diff)
Commit 44ce487bfe8badc3e3718e7cc81c289540e6725d by Alexander.Richardson
[TableGen] Emit more helpful error messages on empty type set

I have seen this error quite frequently in our out-of-tree CHERI backends
and the lack of location information sometimes makes it quite difficult
to track down the actual source of the error.
This patch changes the llvm_unreachable() to a PrintFatalError() so that
tablegen prints a stack of source locations.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D99468
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp (diff)
Commit b5995fced41de0885a5ef8f1b8a25ef45d8be711 by sven.vanhaastregt
[OpenCL] Limit popcount to OpenCL 1.2 and above

s6.15.3 of the OpenCL C Specification v3.0.6 states that OpenCL 1.2 or
newer is required.
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td (diff)
The file was modifiedclang/lib/Headers/opencl-c.h (diff)
Commit 95f813504386aab17b16759602a37b0686115a1e by springerm
[mlir] Change vector.transfer_read/write "masked" attribute to "in_bounds".

This is in preparation for adding a new "mask" operand. The existing "masked" attribute was used to specify dimensions that may be out-of-bounds. Such transfers can be lowered to masked load/stores. The new "in_bounds" attribute is used to specify dimensions that are guaranteed to be within bounds. (Semantics is inverted.)

Differential Revision: https://reviews.llvm.org/D99639
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-read.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir (diff)
The file was modifiedmlir/test/Conversion/StandardToSPIRV/legalization.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h (diff)
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp (diff)
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h (diff)
The file was modifiedmlir/test/Dialect/Vector/ops.mlir (diff)
The file was modifiedmlir/test/Conversion/LinalgToVector/linalg-to-vector.mlir (diff)
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-transfer-write.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-lowering.mlir (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir (diff)
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir (diff)
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp (diff)
The file was modifiedmlir/lib/Dialect/Vector/VectorTransferOpTransforms.cpp (diff)
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir (diff)
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir (diff)
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp (diff)
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir (diff)
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-transferop-opt.mlir (diff)
The file was modifiedmlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp (diff)
The file was modifiedmlir/include/mlir/Interfaces/VectorInterfaces.td (diff)
The file was modifiedmlir/test/Dialect/Linalg/forward-vector-transfers.mlir (diff)
Commit 49c0ab6d7611050ae902f6369fc878e17da453ad by 1.int32
[clang][Checkers] Extend PthreadLockChecker state dump (NFC).

Add printing of map 'DestroyRetVal'.

Reviewed By: steakhal

Differential Revision: https://reviews.llvm.org/D98502
The file was addedclang/test/Analysis/pthreadlock_state.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp (diff)
Commit 3ccbd4f3c7d164f7cb655ea15ab048176f7ba5b8 by sander.desmalen
NFC: Change getUserCost to return InstructionCost

This patch migrates the TTI cost interfaces to return an InstructionCost.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Depends on D97382

Reviewed By: ctetreau, paulwalker-arm

Differential Revision: https://reviews.llvm.org/D97466
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Analysis/InlineCost.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
Commit 52e015081a7768e1ba00a811a8e1a456f8aeecb4 by flo
[AArch64] Avoid SCALAR_TO_VECTOR for single FP constant vector.

Currently the code only checks for integer constants (ConstantSDNode)
and triggers an infinite cycle for single-element floating point
vector constants. We need to check for both FP and integer constants.

Reviewed By: t.p.northover

Differential Revision: https://reviews.llvm.org/D99384
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/arm64-build-vector.ll (diff)
Commit 936d1e97a32d05471f845d69496abcbf54687e72 by balazsbenics
[ASTImporter][NFC] Improve test coverage

All three cases were imported correctly.
For BlockDecls, correctly means that we don't support importing them, thus an
error is the expected behaviour.

- BlockDecls were not yet covered. I know that they are not imported but the
   test at least documents it.
- Default values for ParmVarDecls were also uncovered.
- Importing bitfield FieldDecls were imported correctly.

Reviewed By: martong, shafik

Differential Revision: https://reviews.llvm.org/D99576
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
Commit 5d0e9ddfa512ea3b2dd500e7abe93af30c1d9e11 by jay.foad
[AMDGPU][GlobalISel] Add support for global atomicrmw fadd

This includes gfx908 which only has a no-return version of the
global_atomic_add_f32 instruction, using the same hack that was
previously implemented for selecting from the
llvm.amdgcn.global.atomic.fadd intrinsic.

Differential Revision: https://reviews.llvm.org/D97767
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-atomicrmw-fadd.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-atomicrmw-fadd-global.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-atomicrmw-fadd-local.mir
Commit 98d070396d2b80b8abcad1c24c5875b33495ada0 by omair.javaid
Revert "[LLDB] Skip TestVSCode_disconnect.test_launch arm/linux"

This reverts commit 73cf85e527f69c495daece7c74743b9073d4717c.
The file was modifiedlldb/test/API/tools/lldb-vscode/disconnect/TestVSCode_disconnect.py (diff)
Commit 10fc6e4358115258685cdf9c269a7eec30f97451 by fraser
[RISCV] Add support for the stepvector intrinsic

This adds almost everything required for supporting the new stepvector
intrinsic on RVV. It is lowered to the existing VID_VL SDNode.

The only exception is a limitation that RV32 cannot yet lower the
intrinsic on i64 vectors. This is because the step operand is
(currently) required to be at least as large as the vector element type.
I will look into patching that out and loosening the requirement to only
an integer pointer type.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D99594
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector-rv64.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/stepvector-rv64.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/RISCV/rvv/stepvector-rv32.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
Commit 9d474be11d71b5ae13490d3d8bd66150765560e3 by balazsbenics
[ASTImporter][NFC] Fix duplicated symbols in "Improve test coverage"

D99576 introduced a duplicate symbol, now im removing it.

Differential Revision: https://reviews.llvm.org/D99576
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
Commit ce548aa236962f95ccaf59f8692ed0861f3769dd by lebedev.ri
[X86] AMD Zen 3 has macro fusion

This is an improvement over Zen 2, where only branch fusion is supported,
as per Agner, 21.4 Instruction fusion.
AMD SOG 17h has no mention of fusion.

AMD SOG 19h, 2.9.3 Branch Fusion
The following flag writing instructions support branch fusion
with their reg/reg, reg/imm and reg/mem forms
* CMP
* TEST
* SUB
* ADD
* INC (no fusion with branches dependent on CF)
* DEC (no fusion with branches dependent on CF)
* OR
* AND
* XOR

Agner, 22.4 Instruction fusion
<...> This applies to CMP, TEST, ADD, SUB, AND, OR, XOR, INC, DEC and
all conditional jumps, except if the arithmetic or logic instruction has a rip-relative address or
both an address displacement and an immediate operand.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h (diff)
The file was modifiedllvm/lib/Target/X86/X86.td (diff)
Commit d2d6720a93a2469fb3a752bd59674bd2cf97d91f by taolq
[InlineCost] Remove TODO comment that consider other forms of savings in the cost-benefit analysis

Attempts to compute savings more accurately cannot impact the set of critically important call sites.

Reviewed By: kazu

Differential Revision: https://reviews.llvm.org/D98577
The file was modifiedllvm/lib/Analysis/InlineCost.cpp (diff)
Commit feb6f2c78fa9474e7329c4a809f175b1675d0975 by omair.javaid
Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset"

This reverts commit 9ab677180091a690cd99d4ac55d5fb9e1149b1ec.

Reason: LLDB AArch64/Linux buildbot failure.
The file was removedlldb/test/API/commands/register/register/aarch64_dynamic_regset/Makefile
The file was removedlldb/test/API/commands/register/register/aarch64_dynamic_regset/TestArm64DynamicRegsets.py
The file was removedlldb/test/API/commands/register/register/aarch64_dynamic_regset/main.c
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py (diff)
Commit 71b648f7158c7a0b4918eaa3e94d307e4bbfce97 by omair.javaid
Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers"

This reverts commit 1164b4e2957290e814c3dd781a68e504dd39148e.

Reason: LLDB AArch64 Linux buildbot failure
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp (diff)
Commit 8396aeb07cddd8ab9a6a154a4ab7ac56fc24bda5 by mkazantsev
[Test] Auto-update test checks
The file was modifiedllvm/test/Transforms/GVN/condprop.ll (diff)
Commit 2f56e1c6b1370f48877acbd774638e451685f6db by sander.desmalen
NFC: Change getTypeBasedIntrinsicCost to return InstructionCost

This patch migrates the TTI cost interfaces to return an InstructionCost.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Depends on D97466

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D97468
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h (diff)
Commit 2f6f249a49e6f21f601d89597253fe71c07dc5c0 by sander.desmalen
NFC: Change getIntrinsicInstrCost to return InstructionCost

This patch migrates the TTI cost interfaces to return an InstructionCost.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Depends on D97468

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D97469
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h (diff)
Commit ffcb4b43b799f518891088076ef083ca8f13c537 by 1.int32
Revert "[clang][Checkers] Extend PthreadLockChecker state dump (NFC)."

This reverts commit 49c0ab6d7611050ae902f6369fc878e17da453ad.

Test failures showed up because non-deterministic output.
The file was removedclang/test/Analysis/pthreadlock_state.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp (diff)
Commit 9f4022ffeb20eff91c7461828592dc812ee5a28e by joerg
[libc++] Avoid <climits> dependency in <thread>

The standard guarantees sleep durations of 2^63-1 nanoseconds to work.
Instead of depending on INT64_MAX or ULONGLONG_MAX to exist via the
header pollution, fold the constant directly. That has the additional
positive side effect that it avoids long double arithmetic bugs in GCC.

Differential Revision: https://reviews.llvm.org/D99516
The file was modifiedlibcxx/include/thread (diff)
Commit dc7ebd2cb0cf4a83bb6cd1bfc8853b0a30054777 by bikineev
[C++2b] Support size_t literals

This adds support for C++2b's z/uz suffixes for size_t literals (P0330).
The file was modifiedclang/include/clang/Lex/LiteralSupport.h (diff)
The file was modifiedclang/lib/Sema/SemaExpr.cpp (diff)
The file was modifiedclang/lib/Lex/PPExpressions.cpp (diff)
The file was modifiedclang/test/Lexer/cxx-features.cpp (diff)
The file was addedclang/test/Lexer/size_t-literal.cpp
The file was modifiedclang/lib/Lex/LiteralSupport.cpp (diff)
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp (diff)
The file was modifiedclang/www/cxx_status.html (diff)
The file was modifiedclang/test/SemaCXX/cxx1y-user-defined-literals.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td (diff)
The file was addedclang/test/SemaCXX/size_t-literal.cpp
Commit b6d05297803d8e6bae6a1159b66e85a07995d6fb by sander.desmalen
[CostModel] Align the cost model for intrinsics for scalable/fixed-width vectors.

Let getIntrinsicInstrCost call getTypeBasedIntrinsicInstrCost for scalable vectors,
similar to how this is done for fixed-width vectors, instead of falling back
on BaseT::getIntrinsicInstrCost().

If the intrinsic cannot be costed (or is not overloaded by the target),
it will return InstructionCost::getInvalid() instead.

Depends on D97469

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D97470
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h (diff)
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-math.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll (diff)
Commit 7108b2dec17d895aec874477f62ccc6c663c2307 by sander.desmalen
[SVE] Fix LoopVectorizer test scalalable-call.ll

This marks FSIN and other operations to EXPAND for scalable
vectors, so that they are not assumed to be legal by the cost-model.

Depends on D97470

Reviewed By: dmgreen, paulwalker-arm

Differential Revision: https://reviews.llvm.org/D97471
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
Commit a8cf32baf57de151bb6a8341957e101b04a6e816 by luismarques
[RISCV] Add XFAIL riscv32 for known issue with the old pass manager

See D80668, rG7b4832648a63 and https://bugs.llvm.org/show_bug.cgi?id=46117
for details of the issue.

Differential Revision: https://reviews.llvm.org/D99108
The file was modifiedclang/test/CodeGen/sanitize-coverage-old-pm.c (diff)
Commit 3bdd674fbf767d719dc67e10bc079cb183dd3a3f by arthur.j.odwyer
[libc++] Mark convert_copy.pass.cpp as UNSUPPORTED on clang-13 (i.e. trunk).

Because the constexpr-time codepath triggers a Clang bug. It seems
that Clang compiles it okay in release mode, but when Clang itself
is compiled in debug mode (with assertions turned on), this input
triggers an assertion failure in Clang itself. See comments on D96385
and Clang bug report https://bugs.llvm.org/show_bug.cgi?id=45879

This commit should get the debug-mode buildbots back to green.
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp (diff)
Commit 5018e15fdfda855f130cdb78acb88540046853af by tbaeder
[clang][parser] Allow GNU-style attributes in explicit template...

... instantiations

They are currently not being diagnosed because ProhibitAttributes() does
not handle attribute lists with an invalid source range. But once it
does, we need to allow GNU attributes in this place.

Additionally, start optionally diagnosing empty attr lists in
ProhibitCXX11Attributes(), since ProhibitAttribute() does it.

Differential Revision: https://reviews.llvm.org/D97362
The file was modifiedclang/lib/Parse/ParseDecl.cpp (diff)
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp (diff)
The file was modifiedclang/test/Parser/cxx0x-attributes.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
Commit 4e52daa2540473286429862883a643869def8fe1 by bradley.smith
[AArch64][SVE] Add tests for UREM/SREM using fixed SVE types

Differential Revision: https://reviews.llvm.org/D99265
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
Commit 07a6d07c482706268caa9c4f9e3a13d71f9c7fb9 by spatel
[InstCombine] add tests for srem+abs; NFC
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit 1462bdf1b985256fb52ddccdbbe8fbf5a9ad48b5 by spatel
[InstCombine] fold abs(srem X, 2)

This is a missing optimization based on an example in:
https://llvm.org/PR49763

As noted there and the test here, we could add a more
general fold if that is shown useful.

https://alive2.llvm.org/ce/z/xEHdTv
https://alive2.llvm.org/ce/z/97dcY5
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit f38a9d63402d8a6b524e5397845a6435faedb10a by aheejin
[WebAssembly] Raname a test and fix comments

D99627 fixed a decoding bug, not an encoding bug. This renames the test
to correct it and fix comments.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D99644
The file was removedllvm/test/MC/WebAssembly/event-section-encoding.ll
The file was addedllvm/test/MC/WebAssembly/event-section-decoding.ll
Commit 09b2419360e1bf35037fc7b4299074150e8e68a5 by aeubanks
[llvm-jitlink] Fix -Wunused-function on Windows

Reviewed By: sgraenitz

Differential Revision: https://reviews.llvm.org/D99604
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp (diff)
Commit 04f10ab367b5c547f5de3285890e74146a5949b0 by craig.topper
[RISCV] Add isel patterns to select vsub_vx intrinsic to vadd.vi if it uses a small enough immediate

Also modify the simm5_plus1 check because Imm-1 is UB if Imm happens
to be INT64_MIN. I don't think the compiler would optimize based on that in this
usage, but it could fail UBSan or -ftrapv.

Reviewed By: HsiangKai, frasercrmck

Differential Revision: https://reviews.llvm.org/D99637
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoV.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsub-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsub-rv64.ll (diff)
Commit a991ee330b6f008b7c68816ace9ec44561ce69de by jay.foad
[AMDGPU] Use a common check prefix for some image tests. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll (diff)
Commit b138cf115efaea69326b5852c3abbef1c1d03e79 by jay.foad
[AMDGPU] Add some image tests with enable-prt-strict-null disabled. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.1d.ll (diff)
Commit 2a8b7cab6a3b52ab27acc44ba50a1528c8aa2d44 by craig.topper
[RISCV] Add RISCVISD opcodes for CLZW and CTZW.

Our CLZW isel pattern is quite easily broken by surrounding code
preventing it from matching sometimes. This usually results in
failing to remove the and X, 0xffffffff inserted by type
legalization. The add with -32 that type legalization also inserts
will often gets combined into other add/sub nodes. That doesn't
usually result in extra code when we don't use clzw.

CTTZ seems to be less fragile, but I wanted to keep it consistent
with CTLZ.

Reviewed By: asb, HsiangKai

Differential Revision: https://reviews.llvm.org/D99317
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbb.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp (diff)
Commit 563cdeaafd5812cb90656380a8f9d6b85d2abf08 by Jinsong Ji
[LTO][Legacy] Decouple option parsing from LTOCodeGenerator

in this patch we add a new libLTO API to specify debug options independent of an lto_code_gen_t.
This allows clients to pass codegen flags (through libLTO) which otherwise today are ignored.

Reviewed By: steven_wu

Differential Revision: https://reviews.llvm.org/D92611
The file was modifiedllvm/include/llvm-c/lto.h (diff)
The file was modifiedllvm/tools/lto/lto.exports (diff)
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp (diff)
The file was modifiedllvm/tools/lto/lto.cpp (diff)
The file was modifiedllvm/include/llvm/LTO/legacy/LTOCodeGenerator.h (diff)
Commit 50b8634a99b6f2f36a3fdbea7aa7892c9b881d64 by craig.topper
[X86] Improve optimizeCompareInstr for signed comparisons after BMI/TBM instructions

We previously couldn't optimize out a TEST if the branch/setcc/cmov
used the overflow flag. This patches allows the TEST to be removed
if the flag producing instruction is known to clear the OF flag.
Thats what the TEST instruction would have done so that should be
equivalent.

Need to add test cases. I'll try to get back to this if I have bandwidth.

Fixes PR48768.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D94856
The file was modifiedllvm/test/CodeGen/X86/tbm_patterns.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/bmi.ll (diff)
Commit 00c0c8c87d300406d8121bcdf02ae75b9b1af9c3 by scui
[PowerPC] [MLICM] Enable hoisting of caller preserved registers on AIX

On ppc64 linux , MachineLICM will hoist caller preserved registers, including TOC loads of the global variable address, out of loops. This is to enable this on AIX for both ppc64 and ppc32.

Differential Revision: https://reviews.llvm.org/D99076
The file was modifiedllvm/test/CodeGen/PowerPC/licm-tocReg.ll (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp (diff)
Commit 437958d9fdb63779c10499befd7fb6ef67418a5f by craig.topper
[X86] Improve SMULO/UMULO codegen for vXi8 vectors.

The default expansion creates a MUL and either a MULHS/MULHU. Each
of those separately expand to sequences that use one or more
PMULLW instructions as well as additional instructions to
extend the types to vXi16. The MULHS/MULHU expansion computes the
whole 16-bit product, but only keeps the high part.

We can improve the lowering of SMULO/UMULO for some cases by using the MULHS/MULHU
expansion, but keep both the high and low parts. And we can use
those parts to calculate the overflow.

For AVX512 we might have vXi1 overflow outputs. We can improve those by using
vpcmpeqw to produce a k register if AVX512BW is enabled. This is a little better
than truncating the high result to use vpcmpeqb. If we don't have avx512bw we
can extend up to v16i32 to use vpcmpeqd to produce a k register.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D97624
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/prefer-avx256-mulo.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit ae7b1e8823a51068cfa64875fc5222e5b1d16760 by listmail
[SCEV] Handle unreachable binop when matching shift recurrence

This fixes an issue introduced with my change d4648e, and reported in pr49768.

The root problem is that dominance collapses in unreachable code, and that LoopInfo explicitly only models reachable code.  Since the recurrence matcher doesn't filter by reachability (and can't easily because not all consumers have domtree), we need to bailout before assuming that finding a recurrence implies we found a loop.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
The file was modifiedllvm/test/Analysis/ScalarEvolution/shift-recurrences.ll (diff)
Commit df0b97dab08abb8605533974f6b977c183f6be37 by aqjune
[ValueTracking] Add with.overflow intrinsics to poison analysis functions

This is a patch teaching ValueTracking that `s/u*.with.overflow` intrinsics do not
create undef/poison and they propagate poison.
I couldn't write a nice example like the one with ctpop; ValueTrackingTest.cpp were simply updated
to check these instead.
This patch helps reducing regression while fixing https://llvm.org/pr49688 .

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D99671
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp (diff)
Commit 45783d0e8a3632b7c1f5b0cdd258bfba1f8583e7 by tlively
[WebAssembly] Implement i64x2 comparisons

Removes the prototype builtin and intrinsic for i64x2.eq and implements that
instruction as well as the other i64x2 comparison instructions in the final SIMD
spec. Unsigned comparisons were not included in the final spec, so they still
need to be scalarized via a custom lowering.

Differential Revision: https://reviews.llvm.org/D99623
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll (diff)
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (diff)
The file was modifiedclang/test/CodeGen/builtins-wasm.c (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-comparisons.ll (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s (diff)
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-select.ll (diff)
Commit fcf6800506862586e2d409aaa03a1cff818edfcc by phosek
[Driver] Move detectLibcxxIncludePath to ToolChain

This helper method is useful even outside of Gnu toolchains, so move
it to ToolChain so it can be reused in other toolchains such as Fuchsia.

Differential Revision: https://reviews.llvm.org/D88452
The file was modifiedclang/lib/Driver/ToolChain.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)
The file was modifiedclang/include/clang/Driver/ToolChain.h (diff)
The file was addedclang/test/Driver/Inputs/basic_fuchsia_tree/include/c++/v1/.keep
Commit 888c5067b4dce403774536a08f79d59865db3d12 by rob.suderman
Move non-spec TOSA operators into TosaUtilOps.td

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D99628
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td (diff)
The file was addedmlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
Commit fe5c4a06a49c697399323cc55e2135a5452ed616 by huihuiz
[LoopVectorize] Use SetVector to track uniform uses to prevent non-determinism.

Use SetVector instead of SmallPtrSet to track values with uniform use. Doing this
can help avoid non-determinism caused by iterating over unordered containers.

This bug was found with reverse iteration turning on,
--extra-llvm-cmake-variables="-DLLVM_REVERSE_ITERATION=ON".
Failing LLVM test consecutive-ptr-uniforms.ll .

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D99549
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
Commit 7f8da0791c33a9c87b357859ad84346fe3ccb5f2 by pklausler
[flang] Refine checks for pointer initialization targets

f18 was emitting a bogus error message about the lack of a TARGET
attribute when a pointer was initialized with a component of a
variable that was a legitimate TARGET.

Differential Revision: https://reviews.llvm.org/D99665
The file was modifiedflang/include/flang/Evaluate/traverse.h (diff)
The file was modifiedflang/lib/Evaluate/check-expression.cpp (diff)
The file was modifiedflang/lib/Semantics/check-data.cpp (diff)
The file was modifiedflang/include/flang/Evaluate/tools.h (diff)
The file was modifiedflang/test/Semantics/init01.f90 (diff)
Commit 10847f6217b159e01b72a34eb366a543ca612aa6 by a.bataev
[SLP]Add a test for the bug in `getVectorElementSize()`, NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll
Commit 807b019ca292e53cc40cc76c1f0efd8a7b2efe62 by georgemitenk0v
[ConstantFolding] Fixing addo/subo with undef

When folding addo/subo with undef, the current
convention is to use { -1, false } for addo and
{ 0, false } for subo. This was fixed for InstSimplify in
https://reviews.llvm.org/rGf094d65beaa492e845b03561eddd75b5be653a01,
but not in ConstantFolding.

Reviewed By: nikic, lebedev.ri

Differential Revision: https://reviews.llvm.org/D99564
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/overflow-ops.ll (diff)
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp (diff)
Commit 9c61c76b127d53a5d14033cdb6abb4b3daaa0f67 by youngar17
[mlir][cse] do not replace operands in previously simplified operations

If an operation has been inserted as a key in to the known values
hashtable, then it can not be modified in a way which changes its hash.
This change avoids modifying the operands of any previously recorded
operation, which prevents their hash from changing.

In an SSACFG region, it is impossible to visit an operation before
visiting its operands, so this is not a problem. This situation can only
happen in regions without strict dominance, such as graph regions.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D99486
The file was modifiedmlir/test/Transforms/cse.mlir (diff)
The file was modifiedmlir/lib/Transforms/CSE.cpp (diff)
Commit 9e00b6660d2b6ffa83a7fb8c82fc6862d6b80c05 by craig.topper
[SelectionDAG] Remove unneeded vector resize from the end of FoldConstantArithmetic. NFC

There's an assert right before that makes sure the size already matches.
Earlier in this function's life, scalars and vectors shared more
code.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
Commit 4ced958dc205de0de935e6d2f27767ebcec6c29f by a.bataev
[SLP]Update test checks, NFC
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll (diff)
Commit 09aed384ba19ff8b74763bdc42467232c9c012b3 by jezng
[lld-macho][nfc] Test that -ObjC will import bitcode with category sections

The functionality was originally added in {D95265}, but the test in that
diff only checked if `-ObjC` would cause bitcode containing ObjC class
symbols to be loaded. It neglected to test for bitcode containing
categories but no class symbols.

This diff also changes the lto-archive.ll test to use `-why_load`
instead of inspecting the output binary's symbol table. This is
motivated by the stacked diff {D99105}, which will hide irrelevant
bitcode symbols.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D99215
The file was modifiedlld/test/MachO/lto-archive.ll (diff)
Commit 9b6dde8af8f0880690792e3faa7987a8529232f6 by jezng
[lld-macho] Parallelize UUID hash computation

This reuses the approach (and some code) from LLD-ELF.

It's a decent win when linking chromium_framework on a Mac Pro (3.2 GHz 16-Core Intel Xeon W):

      N           Min           Max        Median           Avg        Stddev
  x  20          4.58          4.83          4.66        4.6685   0.066591844
  +  20          4.42          4.61           4.5         4.505    0.04751731
  Difference at 95.0% confidence
          -0.1635 +/- 0.0370242
          -3.5022% +/- 0.793064%
          (Student's t, pooled s = 0.0578462)

The output binary is 381MB.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D99279
The file was modifiedlld/ELF/Writer.cpp (diff)
The file was modifiedlld/MachO/Writer.cpp (diff)
The file was addedlld/include/lld/Common/Arrays.h
Commit 98f08e7d8132daba7f9723e7977f0f073b0302ad by listmail
[tests] Exercise cases where SCEV can use trip counts to refine ashr/lshr recurrences
The file was modifiedllvm/test/Analysis/ScalarEvolution/shift-recurrences.ll (diff)
Commit 66da4f6fc9c1cd2a63f089b9888729292f0709f8 by a.bataev
[OPENMP]Fix PR48658: [OpenMP 5.0] Compiler crash when OpenMP atomic sync hints used.

No need to consider hint clause kind as the main atomic clause kind at the
codegen.

Differential Revision: https://reviews.llvm.org/D99611
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/atomic_codegen.cpp (diff)
Commit a28e835e9494af058bcbad667906271eec5da83b by a.bataev
[OPENMP]Fix PR48885: Crash in passing firstprivate args to tasks on Apple M1.

Need to bitcast the function pointer passed as a parameter to the real
type to avoid possible problem with calling conventions.

Differential Revision: https://reviews.llvm.org/D99521
The file was modifiedclang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/task_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/nvptx_param_translate.c (diff)
The file was modifiedclang/test/OpenMP/target_exit_data_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_enter_data_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_with_atomic_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/task_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/task_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_taskloop_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_exit_data_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_update_depend_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_in_reduction_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/task_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/taskloop_firstprivate_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/target_enter_data_codegen.cpp (diff)
Commit 2c3cf62d4a26de85aab180bb43a579c913b17f3e by aaronpuchert
Make TableGenGlobalISel an object library

That's how it was originally intended but that wasn't possible because
we still needed to support older CMake versions.

The problem here is that the sources in TableGenGlobalISel are meant to
be linked into both llvm-tblgen and TableGenTests (a unit test), but not
be part of LLVM proper. So they shouldn't be an ordinary LLVM component.
Because they are used in llvm-tblgen, they can't draw in the LLVM dylib
dependency, but then we'd have to do the same thing in TableGenTests to
make sure we don't link both a static Support library and another copy
through the LLVM dylib.

With an object library we're just reusing the object files and don't
have to care about dependencies at all.

Reviewed By: beanz

Differential Revision: https://reviews.llvm.org/D74588
The file was modifiedllvm/utils/TableGen/CMakeLists.txt (diff)
The file was modifiedllvm/utils/TableGen/GlobalISel/CMakeLists.txt (diff)
The file was modifiedllvm/unittests/TableGen/CMakeLists.txt (diff)
Commit e8d8754c063c2bd3861bf0570012c827ee58e747 by listmail
Revert "Make TableGenGlobalISel an object library"

This reverts commit 2c3cf62d4a26de85aab180bb43a579c913b17f3e.

Causes build failures on x86_64, will respond to commit thread with link errors.
The file was modifiedllvm/utils/TableGen/GlobalISel/CMakeLists.txt (diff)
The file was modifiedllvm/utils/TableGen/CMakeLists.txt (diff)
The file was modifiedllvm/unittests/TableGen/CMakeLists.txt (diff)
Commit 43ded90094f761a4763497773e722c196c69d17e by lebedev.ri
[NFC][LoopRotation] Count the number of instructions hoisted/cloned into preheader
The file was modifiedllvm/lib/Transforms/Utils/LoopRotationUtils.cpp (diff)
Commit e927053a0d6a3afcae1dc33ebac2fdabbf459e76 by thomasp
[test, InferFunctionAttrs] Fix use of var defined in CHECK-NOT

LLVM test Transforms/InferFunctionAttrs/annotate contains two RUN
invokation (UNKNOWN and NVPTX lines) which involve a CHECK-NOT directive
with a variable not defined by the enabled CHECK prefixes. This commit
fixes that by:

- enabling CHECK prefix for unknown target with specialisation when it
  differs from other targets
- checking for absence of bcmp with any attribute for NVPTX

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D99589
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll (diff)
Commit e4701471d69fc3b9f5fcbe3b4fc06343a453c11f by jianzhouzh
 [dfsan] Set sigemptyset's return label to be 0

This was not set from when the wrapper was introduced.

Reviewed By: gbalats

Differential Revision: https://reviews.llvm.org/D99678
The file was modifiedcompiler-rt/lib/dfsan/dfsan_custom.cpp (diff)
Commit a879a1b034943318f2a8fa52c12bd142df5ebd51 by rob.suderman
[mlir][tosa] Add tosa.reciprocal and tosa.sigmoid lowerings

Lowering reciprocal and sigmoid elementwise operations to linalg dialect.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D99676
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir (diff)
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp (diff)
Commit 1c268a8ff4e90a85d0e634350b1104080614cf2b by git
[X86] add dwarf annotation for inline stack probe

While probing stack, the stack register is moved without dwarf
information, which could cause panic if unwind the backtrace.
This commit only add annotation for the inline stack probe case.
Dwarf information for the loop case should be done in another
patch and need further discussion.

Reviewed By: nagisa

Differential Revision: https://reviews.llvm.org/D99579
The file was modifiedllvm/test/CodeGen/X86/stack-clash-medium-natural-probes-mutliple-objects.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h (diff)
The file was modifiedllvm/test/CodeGen/X86/stack-clash-unknown-call.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/stack-clash-medium.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/stack-clash-medium-natural-probes.ll (diff)
Commit c88ee1a094a9043da146dda0ffe4accbb81e7dd8 by craig.topper
[RISCV] Add UnsupportedSchedZfh multiclass to reduce duplicate lines from RISCVSchedRocket.td and RISCVSchedSiFive7.td. NFC
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedRocket.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedSiFive7.td (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedule.td (diff)
Commit 777a58e05b22973d902e78091a2e06b99c71b65c by git
Support {S,U}REMEqFold before legalization

This allows these optimisations to apply to e.g. `urem i16` directly
before `urem` is promoted to i32 on architectures where i16 operations
are not intrinsically legal (such as on Aarch64). The legalization then
later can happen more directly and generated code gets a chance to avoid
wasting time on computing results in types wider than necessary, in the end.

Seems like mostly an improvement in terms of results at least as far as x86_64 and aarch64 are concerned, with a few regressions here and there. It also helps in preventing regressions in changes like {D87976}.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D88785
The file was modifiedllvm/test/CodeGen/Thumb2/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-vec-nonsplat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-splat.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-nonzero.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmulh-sdnode-rv32.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-splat.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-splat.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-vec-splat.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-nonzero.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-nonzero.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-vec-nonsplat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-illegal-types.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq-illegal-types.ll (diff)
Commit 115a42ad1e1c25fee6d10d5faab999b1b5c8b52c by listmail
Add debug printers for KnownBits [nfc]
The file was modifiedllvm/include/llvm/Support/KnownBits.h (diff)
The file was modifiedllvm/lib/Support/KnownBits.cpp (diff)
Commit 3cc3c0f8352ec33ca2f2636f94cb1d85fc57ac16 by jiancai
Add support to -Wa,--version in clang

Clang currently only supports -Wa,--version when -no-integrated-as is
used. This adds support to -Wa,--version with -integrated-as.

Link:
https://github.com/ClangBuiltLinux/linux/issues/1320

Reviewed By: nickdesaulniers, MaskRay

Differential Revision: https://reviews.llvm.org/D99556
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was addedclang/test/Driver/as-version.s
Commit 0f70a17d0ad971eaa4368be76f3439471b2ab13e by listmail
[tests] Add tests for ashr/lshr recurrences in isKnownNonZero
The file was modifiedllvm/test/Analysis/ValueTracking/monotonic-phi.ll (diff)
Commit 4af4828a6ef5778609c6738f674a35bc28eaf829 by listmail
[ValueTracking] Handle non-zero ashr/lshr recurrences

If we know we don't shift out bits (e.g. exact), all we need to know is that input is non-zero.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/test/Analysis/ValueTracking/monotonic-phi.ll (diff)
Commit f1e4e2fb204d24a62cc7eff912bcda08c4030977 by alexshap
[lld][MachO] Refactor handling of subsections

This diff is a preparation for fixing FunStabs (incorrect size calculation).
std::map<uint32_t, InputSection*> (SubsectionMap) is replaced with
a sorted vector + binary search. If .subsections_via_symbols is set
this vector will contain the list of subsections, otherwise,
the offsets will be used for calculating the symbols sizes.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D98837
The file was modifiedlld/MachO/InputFiles.h (diff)
The file was modifiedlld/MachO/InputFiles.cpp (diff)
The file was modifiedlld/MachO/Driver.cpp (diff)
The file was modifiedlld/MachO/Relocations.h (diff)
Commit bf2479c347c8ca88fefdb144d8bae0a7a4231e2a by ndesaulniers
Revert "Add support to -Wa,--version in clang"

This reverts commit 3cc3c0f8352ec33ca2f2636f94cb1d85fc57ac16.

Breaks non-linux platforms.

https://reviews.llvm.org/D99556#2662706
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was removedclang/test/Driver/as-version.s
Commit 62b74f75645f53610c1d3c5387072fc4fff98bb9 by qixingxue
[GVN][NFC] Refactor analyzeLoadFromClobberingWrite

This commit adjusts the order of two swappable if statements to
make code cleaner.

Reviewed By: lattner, nikic
Differential Revision: https://reviews.llvm.org/D99648
The file was modifiedllvm/lib/Transforms/Utils/VNCoercion.cpp (diff)
Commit 565b28f57b55a88de96b5d58a92bce904f4a9afc by t-kawashima
[GVN][NFC] Pre-commit test for D93503
The file was addedllvm/test/Transforms/GVN/PRE/load-pre-metadata-accsess-group.ll
Commit 5fac7c60467c58d567779c3568dcfeb8d164af21 by t-kawashima
[GVN] Propagate llvm.access.group metadata of loads

Before this change, the `llvm.access.group` metadata was dropped
when moving a load instruction in GVN. This prevents vectorizing
a C/C++ loop with `#pragma clang loop vectorize(assume_safety)`.
This change propagates the metadata as well as other metadata if
it is safe (the move-destination basic block and source basic
block belong to the same loop).

Differential Revision: https://reviews.llvm.org/D93503
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp (diff)
The file was modifiedllvm/test/Transforms/GVN/PRE/load-pre-metadata-accsess-group.ll (diff)
Commit a8219991d0245db8f31a923ba7f24e6beda345b0 by nullptr.cpp
[clang][APINotes] Fix -Wunused-function warning (NFC)

GCC warning:
```
/llvm-project/clang/lib/APINotes/APINotesYAMLCompiler.cpp:574:23: warning: ‘void {anonymous}::Module::dump()’ defined but not used [-Wunused-function]
  574 | LLVM_DUMP_METHOD void Module::dump() {
      |                       ^~~~~~
```
The file was modifiedclang/lib/APINotes/APINotesYAMLCompiler.cpp (diff)
Commit dfc8da19c5d7ed48f62a4cc588b641f2deee8789 by Jonas Devlieghere
[lldb] Remove LLDB_CAPTURE_REPRODUCER override

Remove the LLDB_CAPTURE_REPRODUCER as it is inherently dangerous. The
reproducers require careful initialization which cannot be guaranteed by
overwriting the reproducer mode at this level.

If we want to provide this functionality, we should do it in the driver
instead. It was originally added to enable capture in CI, but we now
have a dedicated CI job that captures and replays the test suite.
The file was modifiedlldb/source/Utility/Reproducer.cpp (diff)
Commit bfcd21876adc3498065e4da92799f613e730d475 by czhengsz
[debug-info] support new tuning debugger type DBX for XCOFF DWARF

Based on this debugger type, for now, we plan to:
1: use inline string by default for XCOFF DWARF
2: generate no column info for debug line table.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D99400
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp (diff)
The file was modifiedllvm/include/llvm/Target/TargetOptions.h (diff)
The file was modifiedclang/test/Driver/debug-options.c (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def (diff)
The file was modifiedclang/lib/Driver/ToolChains/AIX.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/docs/UsersManual.rst (diff)
Commit 54c3c2e82874d8ee65b32f1f79bfd494b0551986 by Jonas Devlieghere
[lldb-vscode] Consistently use return EXIT_SUCCESS and EXIT_FAILURE (NFC)

Consistently use return with EXIT_SUCCESS or EXIT_FAILURE instead of
mix-and-matching return, exit 0, 1 etc.

Differential revision: https://reviews.llvm.org/D99701
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp (diff)
Commit b7e2c2acb8eea471d0960f01d4c75d45156bd9ae by Jonas Devlieghere
[lldb-vscode] Use LLVM's ScopeExit to ensure we always terminate the debugger

Make sure we always terminate the debugger by using a RAII object.

Differential revision: https://reviews.llvm.org/D99702
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp (diff)
Commit d1828937ed8d79a772ec60a8f3c7f4a873f581d4 by Jonas Devlieghere
[lldb] Remove references to LLDB_CAPTURE_REPRODUCER

Remove the remaining references to LLDB_CAPTURE_REPRODUCER. I removed
the functionality in an earlier commit but forgot that there was a
corresponding test and logic to unset it in our test suite.
The file was modifiedlldb/test/Shell/Reproducer/lit.local.cfg (diff)
The file was modifiedlldb/docs/design/reproducers.rst (diff)
The file was removedlldb/test/Shell/Reproducer/TestCaptureEnvOverride.test
The file was modifiedlldb/test/API/lit.cfg.py (diff)
The file was modifiedlldb/test/Shell/lit.cfg.py (diff)
Commit 630818a850f754af852247c775280de6fde8560e by mkazantsev
[NFC] Disambiguate LI in GVN

Name GVN uses name 'LI' for two different unrelated things:
LoadInst and LoopInfo. This patch relates the variables with
former meaning into 'Load' to disambiguate the code.
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h (diff)
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp (diff)
Commit a1d83776bfa186422ec2e1b19eb9d12c96c33348 by mkazantsev
[NFC] Undo some erroneous renamings

Some vars renamed by mistake during auto-replacements. Undoing them.
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp (diff)
Commit 5c703f0fd81960386cc02b9ca618e866c9d5e29a by marek.kurdej+llvm.org
[libc++] Build and test with -Wundef warning. NFC.

This will avoid typos like `_LIBCPP_STD_VERS` (<future>) or using `#if TEST_STD_VER > 17` without including "test_macros.h".

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D99515
The file was modifiedlibcxx/include/future (diff)
The file was modifiedlibcxx/include/experimental/simd (diff)
The file was modifiedlibcxx/include/ext/hash_map (diff)
The file was modifiedlibcxx/include/ext/hash_set (diff)
The file was modifiedlibcxx/utils/libcxx/test/params.py (diff)
The file was modifiedlibcxx/include/type_traits (diff)
The file was modifiedlibcxx/test/std/atomics/types.pass.cpp (diff)
The file was modifiedlibcxx/test/support/test_macros.h (diff)
The file was modifiedlibcxx/CMakeLists.txt (diff)
The file was modifiedlibcxx/include/__config (diff)
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp (diff)
The file was modifiedlibcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq_all_zero.pass.cpp (diff)
Commit 3bea7306e8669f94bacafae68748a9139cfc0b98 by pavel
[lldb] Fix compilation with gcc-6.5

This fixes (works around) two errors with gcc-6.5.
- in the RegisterContext_x86 files, gcc is unable to synthesize a
  default constructor -- it thinks it needs to initialize the virtual
  base class, even though said classes are abstract. I fix that by
  providing a dummy constructor.
- In ReproducerInstrumentationTest, it is not able to deduce that the
  TestingRegistry class is movable (it contains a map of unique
  pointers). I change the type from Optional<TestingRegistry> to
  unique_ptr<TestingRegistry), so that moving is not required
  (copying/moving a polymorphic type is not a very good idea in any
  case).
The file was modifiedlldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h (diff)
The file was modifiedlldb/unittests/Utility/ReproducerInstrumentationTest.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp (diff)
Commit e1d4fb1ebfffffc612d65331f72bb0827d7206d4 by pavel
[lldb] Fix build errors from 3bea7306e8

The addition of the dummy constructors requires matching changes in os-
and arch-specific files, which I forgot about.
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_ppc64le.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
Commit 335d2df5335f95d49c864ecdba4fd5731c7c3e89 by nicolas.vasilache
[mlir][Python][Linalg] Add missing attributes to linalg ops

This revision tightens up the handling of attributes for both named
and generic linalg ops.
To demonstrate the IR validity, a working e2e Linalg example is added.

Differential Revision: https://reviews.llvm.org/D99430
The file was modifiedmlir/test/Bindings/Python/dialects/linalg/ops.py (diff)
The file was modifiedmlir/lib/IR/AffineMap.cpp (diff)
The file was modifiedmlir/lib/Bindings/Python/IRAffine.cpp (diff)
The file was modifiedmlir/lib/CAPI/IR/AffineMap.cpp (diff)
The file was addedmlir/test/Bindings/Python/dialects/linalg/opsrun.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/emitter.py (diff)
The file was modifiedmlir/include/mlir-c/AffineMap.h (diff)
The file was modifiedmlir/include/mlir/IR/AffineMap.h (diff)
The file was modifiedmlir/test/Bindings/Python/dialects/linalg/opdsl/emit_structured_generic.py (diff)
Commit 92e7771483597935bce523a6f2a1b6109efe7af0 by sam.parker
[WebAssembly] Invert branch condition on xor input

A frequent pattern for floating point conditional branches use an xor
to invert the input for the branch. Instead we can fold away the xor
by swapping the branch target instead.

Differential Revision: https://reviews.llvm.org/D99171
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/comparisons-f32.ll (diff)
The file was modifiedllvm/test/CodeGen/WebAssembly/comparisons-f64.ll (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td (diff)
Commit 1d463c2a386099597a8e2d26b9b964bc8fda8042 by harald
[Driver] Fix architecture triplets and search paths for Linux x32

Currently, support for the x32 ABI is handled as a multilib to the
x86_64 target only. However, full self-hosting x32 systems treating it
as a separate architecture with its own architecture triplets as well as
search paths exist as well, in Debian's x32 port and elsewhere.

This adds the missing architecture triplets and search paths so that
clang can work as a native compiler on x32, and updates the tests so
that they pass when using an x32 libdir suffix.

Additionally, we would previously also assume that objects from any
x86_64-linux-gnu GCC installation could be used to target x32. This
changes the logic so that only GCC installations that include x32
support are used when targetting x32, meaning x86_64-linux-gnux32 GCC
installations, and x86_64-linux-gnu and i686-linux-gnu GCC installations
that include x32 multilib support.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D52050
The file was removedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/4.6.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/crtfastmath.o
The file was addedclang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/libx32/gcc/x86_64-unknown-gnu/10.2.0/32/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i686-unknown-linux/10.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtfastmath.o
The file was addedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/libx32/gcc/x86_64-unknown-gnu/10.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/crtfastmath.o
The file was modifiedclang/test/Driver/cross-linux.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbeginT.o
The file was modifiedclang/test/Driver/env.c (diff)
The file was removedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/libx32/gcc/x86_64-unknown-gnu/4.6.0/32/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/4.6.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/10.2.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32/crtbegin.o
The file was modifiedclang/test/Driver/baremetal.cpp (diff)
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbeginT.o
The file was removedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/crtfastmath.o
The file was removedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/libx32/gcc/x86_64-unknown-gnu/4.6.0/x32/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/libx32/gcc/x86_64-unknown-gnu/4.6.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbegin.o
The file was removedclang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/64/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/crtbeginT.o
The file was modifiedclang/test/Driver/cl-options.c (diff)
The file was modifiedclang/test/Preprocessor/iwithprefix.c (diff)
The file was addedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/crtbeginT.o
The file was removedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/10.2.0/64/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/32/crtbegin.o
The file was addedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/10.2.0/x32/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtfastmath.o
The file was addedclang/test/Driver/Inputs/multilib_64bit_linux_tree/usr/libx32/gcc/x86_64-unknown-gnu/10.2.0/x32/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/crtbegin.o
The file was removedclang/test/Driver/Inputs/basic_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/crtbeginT.o
The file was modifiedclang/test/Driver/linux-ld.c (diff)
Commit 1ed53d44d8e9d709fcd96cc6cfc579d71ba4c894 by yrouban
[LoopFlatten] Do not report CFG analyses as up-to-date

Removes CFGAnalyses from the preserved analyses set
returned by LoopFlattenPass::run().

Reviewed By: Dave Green, Ta-Wei Tu

Differential Revision: https://reviews.llvm.org/D99700
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp (diff)
Commit 88a5b35d63f927db69ec953ff487a7ba2504a610 by omair.javaid
Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers""

This reverts commit 71b648f7158c7a0b4918eaa3e94d307e4bbfce97.

There was a typo in the last commit which was causing LLDB AArch64 Linux
buildbot testsuite failures. Now fixed in current version.
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h (diff)
Commit dd2a63e1ee53c1178d8e17a3763edc26d23f00a2 by omair.javaid
Revert "Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset""

This reverts commit feb6f2c78fa9474e7329c4a809f175b1675d0975.
The file was addedlldb/test/API/commands/register/register/aarch64_dynamic_regset/main.c
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py (diff)
The file was addedlldb/test/API/commands/register/register/aarch64_dynamic_regset/Makefile
The file was addedlldb/test/API/commands/register/register/aarch64_dynamic_regset/TestArm64DynamicRegsets.py
Commit b468f0e165ed67c5b1046b295b65e446afee62aa by omair.javaid
[LLDB] Fix sync issue in TestVSCode_launch.test_progress_events

This fixes flakiness in TestVSCode_launch.test_progress_events
vscode.progress_events some times failed to populate in time for
follow up iterations.

Adding a minor delay before the the for the loop fixes the issue.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D99497
The file was modifiedlldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py (diff)
Commit dc537158d5372894b539b7cf90ace3cfe911a520 by uday
[MLIR][Affine] Add utility to check if the slice is valid

Fixes a bug in affine fusion pipeline where an incorrect slice is computed.
After the slice computation is done, original domain of the the source is
compared with the new domain that will result if the fusion succeeds. If the
new domain must be a subset of the original domain for the slice to be
valid. If the slice computed is incorrect, fusion based on such a slice is
avoided.

Relevant test cases are added/edited.

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

Differential Revision: https://reviews.llvm.org/D98239
The file was modifiedmlir/test/lib/Transforms/TestLoopFusion.cpp (diff)
The file was modifiedmlir/include/mlir/Analysis/Utils.h (diff)
The file was modifiedmlir/lib/Transforms/Utils/LoopFusionUtils.cpp (diff)
The file was modifiedmlir/test/Transforms/loop-fusion-slice-computation.mlir (diff)
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp (diff)
The file was modifiedmlir/lib/Analysis/Utils.cpp (diff)
The file was modifiedmlir/include/mlir/Transforms/LoopFusionUtils.h (diff)
The file was modifiedmlir/test/Transforms/loop-fusion.mlir (diff)
Commit e3a13304fc036f25eacee9c084294d3b80f7c5bb by david.sherwood
[NFC] Add tests for scalable vectorization of loops with large stride acesses

This patch just adds tests that we can vectorize loop such as these:

  for (i = 0; i < n; i++)
    dst[i * 7] += 1;

and

  for (i = 0; i < n; i++)
    if (cond[i])
      dst[i * 7] += 1;

using scalable vectors, where we expect to use gathers and scatters in the
vectorized loop. The vector of pointers used for the gather is identical
to those used for the scatter so there should be no memory dependences.

Tests are added here:

  Transforms/LoopVectorize/AArch64/sve-large-strides.ll

Differential Revision: https://reviews.llvm.org/D99192
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
Commit df4fa53fddb61c2514e7e09fb7cdde53edced958 by 1.int32
[clang][Checkers] Extend PthreadLockChecker state dump (NFC).

Add printing of map 'DestroyRetVal'.

Reviewed By: steakhal

Differential Revision: https://reviews.llvm.org/D98502
The file was addedclang/test/Analysis/pthreadlock_state.c
The file was addedclang/test/Analysis/pthreadlock_state_nottracked.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp (diff)
Commit 6be8662c52424db366f0b33f3203de6ba36f5d61 by flo
[SLP] Add test cases for missing SLP vectorization on AArch64.
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
Commit 0f5ebbcc7fc38f587ffd0b84da4693a8625c1ccb by dmitry.preobrazhensky
[AMDGPU][MC] Added flag to identify VOP instructions which have a single variant

By convention, VOP1/2/C instructions which can be promoted to VOP3 have _e32 suffix while promoted instructions have _e64 suffix. Instructions which have a single variant should have no _e32/_e64 suffix. Unfortunately there was no simple way to identify single variant instructions - it was implemented by a hack. See bug https://bugs.llvm.org/show_bug.cgi?id=39086.

This fix simplifies handling of single VOP instructions by adding a dedicated flag.

Differential Revision: https://reviews.llvm.org/D99408
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP3PInstructions.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOPInstructions.td (diff)
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td (diff)
Commit f7aeaced658c507c5d5ac6e589f4844588267eef by llvm-dev
[X86][SSE] Add isHorizOp helper function. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit 301319840e112c090b6c424a9ade475b7504b34a by llvm-dev
[X86][SSE] Enable (F)HADD/SUB handling to SimplifyMultipleUseDemandedVectorElts

Attempt to bypass unused horiz-op operands.

This is very similar to the PACKSS/PACKUS handling - we should try to merge these.
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit abbe80fa52c5286ec929116df6a58d793d6f0d0e by llvm-dev
[X86][SSE] Fold HOP(HOP(X,X),HOP(Y,Y)) -> HOP(PERMUTE(HOP(X,Y)),PERMUTE(HOP(X,Y))

For slow-hop targets, attempt to merge HADD/SUB pairs used in chains.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll (diff)
Commit cd953434f2a406a19e8ea4daeb603e07071a0c32 by dmitry.preobrazhensky
[AMDGPU][MC][GFX10][GFX90A] Corrected _e32/_e64 suffices

Fixed bugs https://bugs.llvm.org//show_bug.cgi?id=49643, https://bugs.llvm.org//show_bug.cgi?id=49644, https://bugs.llvm.org//show_bug.cgi?id=49645.

Differential Revision: https://reviews.llvm.org/D99413
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.mulo.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/wave32.txt (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/ssubsat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.pow-gfx9.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/offset-split-global.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll (diff)
The file was modifiedllvm/test/MC/AMDGPU/literalv216.s (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/imm16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.fmul.legacy.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/carryout-selection.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4u.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-load.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/saddo.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/usubsat.ll (diff)
The file was modifiedllvm/test/MC/AMDGPU/wave32.s (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/saddsat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.large.ll (diff)
The file was modifiedllvm/test/MC/AMDGPU/gfx90a_asm_features.s (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4s.ll (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/vop3-literal.txt (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-short-clamp.ll (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx90a_dasm_features.txt (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/sdwa-peephole.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.atomic.inc.ll (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/literalv216_gfx10.txt (diff)
The file was modifiedllvm/test/MC/AMDGPU/wave_any.s (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/offset-split-flat.ll (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/min.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/idot2.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/preserve-hi16.ll (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop3-literal.s (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/idiv-licm.ll (diff)
Commit fcea4181bbfbc15a27ad4d3c06a09b706b1d6c47 by mgorny
[lldb] [test] Mark lldb-server multiprocess tests as LLGS cat
The file was modifiedlldb/test/API/tools/lldb-server/vCont-threads/TestGdbRemote_vContThreads.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py (diff)
Commit 48e3da13519dea3bd91ab7de656c7d46105c2c01 by pavel
[lldb] Rewrite TestAutoInstallMainExecutable logic

The test uses debug info from one binary to debug a different one. This
does not work on macos, and its pure luck that it works elsewhere (the
variable that it inspects happens to have the same address in both).

The purpose of this test is to verify that lldb has not overwritten the
target executable. That can be more easily achieved by checking the exit
code of the binary, so change the test to do that.

Also remove the llgs_test decorator, as it's preventing the test from
running on macos. All the test needs is the platform functionality of
lldb-server, which is available everywhere.
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/Makefile (diff)
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py (diff)
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/main.cpp (diff)
Commit ce98a0556aa2d0144af7fca83ff06061a137179d by a.bataev
[SLP]Remove `else` after `return`, NFC.`
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit bad5ee15ea2e5a5aaaed9c9a5d9982e23cedba55 by pavel
[lldb] Make TestLoadUsingLazyBind work on linux

and probably other posix oses. Use extra_images to ensure
LD_LIBRARY_PATH is set correctly.

Also take the opportunity to remove hand-rolled library extension
management code in favor of the existing one.
The file was modifiedlldb/test/API/functionalities/load_lazy/TestLoadUsingLazyBind.py (diff)
Commit 7c541a195f651aa8d6aa270db83932a6ac7fac78 by anastasia.stulova
[OpenCL][Docs] Added a label for C++ libs section and example link
The file was modifiedclang/docs/OpenCLSupport.rst (diff)
Commit dc14e89a1fab6a840c5d8bc3f2bd29f1d1b190be by andrzej.warzynski
[flang] Move .f77 to the list of fixed-form file extensions

The free form was introduced in Fortran 90, so treating .f77 as
free-form was a bug.

Differential Revision: https://reviews.llvm.org/D99494
The file was modifiedflang/lib/Frontend/FrontendOptions.cpp (diff)
Commit 77d625f8d8aa08cd162d20af51c41776a5034705 by llvm-dev
[DAG] MergeInnerShuffle with BinOps - sometimes accept undef mask elements

If the inner shuffle already contains undef elements, then accept them in the merged shuffle as well.

This helps some X86 HADD/SUB patterns where slow targets were ending up with HADD/SUB because the (un)merged shuffles were stuck either side of the ADD/SUB - meaning we ended up with a total cost much higher than the "2*shuffle+add" that a slow target usually expands a HADD/SUB to.
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/phaddsub.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit c03696da5e13d355775dd4382957b3dcd3c3ad7c by a.bataev
[SLP]Improve and fix getVectorElementSize.

1. Need to cleanup InstrElementSize map for each new tree, otherwise might
use sizes from the previous run of the vectorization attempt.
2. No need to include into analysis the instructions from the different basic
   blocks to save compile time.

Differential Revision: https://reviews.llvm.org/D99677
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll (diff)
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 65c8bfb5094e73f15a826d37146e4bb7c74a5a7e by brendon.cahoon
[AMDGPU] Enable output modifiers for double precision instructions

Update SIFoldOperands pass to recognize v_add_f64 and v_mul_f64
instructions for folding output modifiers.

Differential Revision: https://reviews.llvm.org/D99505
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/omod.ll (diff)
Commit 0934fa4f5d5b07856a73b5dddd395f70c8a3fa84 by bradley.smith
[AArch64][SVE] SVE functions should use the SVE calling convention for fast calls

When an SVE function calls another SVE function using the C calling
convention we use the more efficient SVE VectorCall PCS.  However,
for the Fast calling convention we're incorrectly falling back to
the generic AArch64 PCS.

This patch adds the same "can use SVE vector calling convention"
detection used by CallingConv::C to CallingConv::Fast.

Co-authored-by: Paul Walker <paul.walker@arm.com>

Differential Revision: https://reviews.llvm.org/D99657
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-tailcall.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-calling-convention.ll (diff)
Commit 2f45e632c0029d6efa0f8df210c2f5a3f3affc17 by bradley.smith
[AArch64][SVE] Improve codegen for select nodes with fixed types

Additionally, move the existing fixed vselect tests to *-vselect.ll.

Differential Revision: https://reviews.llvm.org/D99418
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll (diff)
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll (diff)
Commit 7b921a674756dacebbe0431211ce43edb3493230 by anirudh_prasad
[AsmParser][SystemZ][z/OS] Add in support to accept "#" as part of an Identifier token

- This patch adds in support to accept the "#" character as part of an Identifier.
- This support is needed especially for the HLASM dialect since "#" is treated as part of the valid "Alphabet" range
- The way this is done is by making use of the previous precedent set by the `AllowAtInIdentifier` field in `MCAsmLexer.h`. A new field called `AllowHashInIdentifier` is introduced.
- The static function `IsIdentifierChar` is also updated to accept the `#` character if the `AllowHashInIdentifier` field is set to true.
Note: The field introduced in `MCAsmLexer.h` could very well be moved to `MCAsmInfo.h`. I'm not opposed to it. I decided to put it in `MCAsmLexer` since there seems to be some sort of precedent already with `AllowAtInIdentifier`.

Reviewed By: abhina.sreeskantharajan, nickdesaulniers, MaskRay

Differential Revision: https://reviews.llvm.org/D99277
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmLexer.h (diff)
The file was modifiedllvm/lib/MC/MCParser/AsmLexer.cpp (diff)
The file was modifiedllvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp (diff)
Commit 1ea9fa8c507ec360cf43faf46d13b149e37c950d by tbaeder
[clang][parser] Set source ranges for GNU-style attributes

Set the source ranges for parsed GNU-style attributes in
ParseGNUAttributes(), the same way that ParseCXX11Attributes() does it.

Differential Revision: https://reviews.llvm.org/D75844
The file was modifiedclang/test/AST/sourceranges.cpp (diff)
The file was modifiedclang/lib/Parse/ParseDecl.cpp (diff)
The file was modifiedclang/test/SemaCXX/switch-implicit-fallthrough.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/include/clang/Sema/ParsedAttr.h (diff)
Commit 908a267b5a3b8dff1cd2af0f5971c05c30aaccb0 by tbaeder
Revert "[clang][parser] Set source ranges for GNU-style attributes"

This reverts commit 1ea9fa8c507ec360cf43faf46d13b149e37c950d.
The file was modifiedclang/lib/Parse/ParseDecl.cpp (diff)
The file was modifiedclang/test/AST/sourceranges.cpp (diff)
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/include/clang/Sema/ParsedAttr.h (diff)
The file was modifiedclang/test/SemaCXX/switch-implicit-fallthrough.cpp (diff)
Commit ce61def529e2d9ef46b79c9d1f489d69b45b95bf by mtrofin
[regalloc] Ensure Query::collectInterferringVregs is called before interval iteration

The main part of the patch is the change in RegAllocGreedy.cpp: Q.collectInterferringVregs()
needs to be called before iterating the interfering live ranges.

The rest of the patch offers support that is the case: instead of  clearing the query's
InterferingVRegs field, we invalidate it. The clearing happens when the live reg matrix
is invalidated (existing triggering mechanism).

Without the change in RegAllocGreedy.cpp, the compiler ices.

This patch should make it more easily discoverable by developers that
collectInterferringVregs needs to be called before iterating.

I will follow up with a subsequent patch to improve the usability and maintainability of Query.

Differential Revision: https://reviews.llvm.org/D98232
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervalUnion.h (diff)
The file was modifiedllvm/test/CodeGen/X86/i128-mul.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h (diff)
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h (diff)
The file was modifiedllvm/test/CodeGen/X86/greedy_regalloc_bad_eviction_sequence.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/optimize-max-0.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/mmx-arith.ll (diff)
The file was modifiedllvm/lib/CodeGen/LiveIntervalUnion.cpp (diff)
The file was modifiedllvm/lib/CodeGen/LiveRegMatrix.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/bug26810.ll (diff)
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp (diff)
Commit e2c6621e638e4dc30963293bff052784d3a3305a by listmail
[deref-at-point] restrict inference of dereferenceability based on allocsize attribute

Support deriving dereferenceability facts from allocation sites with known object sizes while correctly accounting for any possibly frees between allocation and use site. (At the moment, we're conservative and only allowing it in functions where we know we can't free.)

This is part of the work on deref-at-point semantics. I'm making the change unconditional as the miscompile in this case is way too easy to trip by accident, and the optimization was only recently added (by me).

There will be a follow up patch wiring through TLI since that should now be doable without introducing widespread miscompiles.

Differential Revision: https://reviews.llvm.org/D95815
The file was modifiedllvm/lib/IR/Value.cpp (diff)
The file was modifiedllvm/include/llvm/IR/Value.h (diff)
The file was modifiedllvm/test/Transforms/LICM/hoist-alloc.ll (diff)
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll (diff)
The file was modifiedllvm/lib/Analysis/Loads.cpp (diff)
Commit b1fbfd9e4c2c4d630eb25588061b3096704fe680 by jay.foad
[AMDGPU] Small cleanup to constructRetValue and its caller. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp (diff)
Commit 802c5ce364a21c54c1568c8791b1d5f36c11829e by stilis
[lldb] Un-XFAIL TestAutoInstallMainExecutable on Windows
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py (diff)
Commit 7a4abc07dd8f1d8217e482ebbf438197c1aea7f0 by spatel
[LoopVectorize] auto-generate complete checks; NFC

We can't see how much overhead/redundancy is being
created with the partial checks.

To make it smaller and easier to read, I reduced the
vectorization factor because that does not add new
information - it just duplicates things.
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll