Changes

Summary

  1. [mlgo] Add more workers (details)
Commit 12af08a169a07412044877cc8249826e9bff5bf3 by mtrofin
[mlgo] Add more workers
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [mlir][SCF] Further simplify affine maps during `for-loop-canonicalization` (details)
  2. [MLIR] Rename test/python/dialects/math.py -> math_dialect.py (details)
  3. [ELF] Remove unneeded DF_STATIC_TLS for EM_386 local-exec TLS (details)
  4. [ELF] Rename hasStaticTlsModel to hasTlsIe (details)
  5. [ELF] Emit DF_STATIC_TLS only for -shared (details)
  6. [lldb] Fix TestFileHandle.py (details)
  7. Revert "[clang][AST] Check context of record in structural equivalence." (details)
  8. [clang-format] [PR47936] AfterControlStatement: MultiLine breaks AllowShortFunctionsOnASingleLine (details)
  9. [mlir][interfaces] Add insideMutuallyExclusiveRegions helper (details)
  10. [mlir][spirv] Float atomics should not imply Shader (details)
  11. [clangd] Disable hicpp-invalid-access-moved inside clangd (details)
  12. [mlir][spirv] arith::RemSIOp OpenCL lowering (details)
  13. [clang][driver] Add -fplugin-arg- to pass arguments to plugins (details)
  14. Revert "[mlir][SCF] Further simplify affine maps during `for-loop-canonicalization`" (details)
  15. [mlir][linalg][bufferize][NFC] Move SCF interface impl to new build target (details)
  16. [SDAG] Allow Unknown sizes when refining MMO alignments. NFC (details)
  17. [clangd] Add ObjC method support to prepareCallHierarchy (details)
  18. [mlir][linalg] Add backward slice filtering in hoist padding. (details)
  19. [mlir][linalg] Limit hoist padding to constant paddings. (details)
  20. [mlir][linalg] Perform checks early in hoist padding. (details)
  21. [mlir][linalg] Cleanup hoisting test (NFC). (details)
  22. [mlir] Move memref.[tensor_load|buffer_cast|clone] to "bufferization" dialect. (details)
  23. [clang-format] [PR52595] clang-format does not recognize rvalue references to array (details)
  24. [clang-format]NFC improve the comment to match the code (details)
  25. [DAG] SimplifyDemandedBits - simplify rotl/rotr to shl/srl (REAPPLIED) (details)
  26. [lldb/gdb-remote] Remove initial pipe-draining workaround (details)
  27. [lldb/gdb-remote] Ignore spurious ACK packets (details)
  28. [clang-format] [C++20] [Module] clang-format couldn't recognize partitions (details)
  29. [clangd] Move IncludeCleaner tracer to the actual computation (details)
  30. [NFC][llvm] Inclusive language: reword uses of sanity test and check (details)
  31. [MLIR] [docs] Fix misguided examples in memref.subview operation. (details)
  32. Revert "[SLP]Improve analysis/emission of vector operands for alternate nodes." (details)
  33. [PowerPC/ Regenerate fp128-bitcast-after-operation test checks (details)
  34. Don't store nullptrs in mlir::FuncOp::getAll*Attrs' result (details)
  35. [clang][OpenMP][DebugInfo] Debug support for private variables inside an OpenMP task construct (details)
  36. [ARM] Add fptosi.sat variants of the fixed point vcvt tests. NFC (details)
  37. [DebugInfo][InstrRef] Track variable assignments in out-of-scope blocks (details)
  38. [llvm][ubsan] Inclusive language: replace use of blacklist HandleLLVMOptions.cmake but use old option name (details)
  39. [ARM] Convert fptoi.sat to fixed point multiply (details)
  40. tsan: enable -msse4 when compiling tests (details)
  41. tsan: add a test for vector memory accesses (details)
  42. tsan: add a benchmark for vector memory accesses (details)
  43. tsan: fix Java heap block begin in reports (details)
  44. tsan: fix another potential deadlock in fork (details)
  45. [libc++] Fix constraints for string_view's iterator/sentinel constructor (details)
  46. [libc++] Avoid overload resolution in path comparison operators (details)
  47. [llvm] Use range-based for loops (NFC) (details)
  48. [NFC][clang-tools-extra] Inclusive language: replace master with main (details)
  49. Revert "[ThreadPool] Support returning futures with results." (details)
  50. tsan: new runtime (v3) (details)
  51. [CMake] Add new cmake option to control adding comments in GenDAGISel (details)
  52. [libc++] Fix ssize test that made an assumption about ptrdiff_t being 'long' (details)
  53. [LLDB] Provide target specific directories to libclang (details)
  54. [NFC][llvm] Inclusive language: replace master with main in dbg-call-site-spilled-arg.mir (details)
  55. [PowerPC] Prevent the optimizer from producing wide vector types in IR. (details)
  56. [MLIR] NFC. Rename MLIR CAPI ExecutionEngine target for consistency (details)
  57. [NFC][compiler-rt] Inclusive language: replace master/slave with primary/secondary (details)
  58. [clang-format] NFC update LLVM overall clang-formatted status (details)
  59. [NFC][llvm] Inclusive language: replace master in llvm docs (details)
  60. [clang-format] Extend AllowShortBlocksOnASingleLine for else blocks (details)
  61. Recommit [ThreadPool] Support returning futures with results. (details)
  62. [AIX] Disable unsupported offloading gpu tests (details)
  63. [mlir][Vector] Support 0-D vectors in `VectorPrintOpConversion` (details)
  64. [ThreadPool] Use auto again for future with ENABLE_THREADS=Off. (details)
  65. [libunwind] Fix testing with sanitizers enabled (details)
  66. [DebugInfo][InstrRef] Avoid some quadratic behaviour in LiveDebugVariables (details)
  67. [NFC][flang] Inclusive language: remove instances of master (details)
  68. [NFC] Inclusive language: rename master flag to main flag (details)
  69. [clang][NFC] Inclusive terms: rename AccessDeclContextSanity to AccessDeclContextCheck (details)
  70. [DebugInfo][InstrRef] Add extra indirection for NRVO tests (details)
  71. [ELF] Simplify DynamicSection content computation. NFC (details)
  72. [ELF] Simplify GnuHashSection::write. NFC (details)
  73. [ELF] Remove redundant part.dynSymTab creation. NFC (details)
  74. Fix link to the other docs from the Bufferization dialect (details)
  75. [mlir][linalg][bufferize][NFC] Move Affine interface impl to new build target (details)
  76. [ELF] Rename OutputSection::sectionCommands to commands. NFC (details)
  77. [ELF] Make ExprValue smaller. NFC' (details)
  78. [mlir][linalg][bufferize][NFC] Extract func boundary bufferization (details)
  79. [mlir][linalg][bufferize][NFC] Allow returning arbitrary memrefs (details)
  80. [mlir][linalg][bufferize] Compose dialect-specific bufferization state (details)
  81. [mlir][linalg][bufferize][NFC] Pass BufferizationState to PostAnalysisStep (details)
  82. [NFC] Fix typo in 95875d246acb (details)
  83. [ELF] Rename BaseCommand to SectionCommand. NFC (details)
  84. [AMDGPU] Make vector superclasses allocatable (details)
  85. [llvm] Use range-based for loops (NFC) (details)
  86. tsan: check stack in atexit4.cpp test (details)
  87. tsan: add test for __cxa_atexit (details)
  88. tsan: add a test for on_exit (details)
  89. tsan: remember and print function that installed at_exit callbacks (details)
  90. [mlir][Vector] Minor formatting fixes in Vector.md (details)
  91. [clang][AST] Check context of record in structural equivalence. (details)
  92. [mlir][linalg] Simplify the hoist padding tests. (details)
  93. [CodeGen] Add scalable vector support for lowering of llvm.get.active.lane.mask (details)
  94. [clang] Change ordering of PreableCallbacks to make sure PP can be referenced in them (details)
  95. [ARM] Add some vctp from setcc tests. NFC (details)
  96. [clang] Fix crash on broken parameter declarators (details)
  97. [libcxx] Implement three-way comparison for std::reverse_iterator (details)
  98. [lldb] Fix 'memory write' to not allow specifying values when writing file contents (details)
  99. [DAG] SimplifyDemandedVectorElts - attempt to handle ADD(x,x) as single use (details)
  100. [ARM] Generate VCTP from SETCC (details)
  101. [AArch64][SVE] Generate ASRD instructions for power of 2 signed divides (details)
  102. [clang][deps] NFC: Remove else after early return (details)
  103. [clang][deps] NFC: Clean up wording (ignored vs minimized) (details)
  104. [LoopVectorize] When tail-folding, don't always predicate uniform loads (details)
  105. [GlobalISel] Fold or of shifts to funnel shift. (details)
  106. [AMDGPU] Add SIMemoryLegalizer comments to clarify bit usage (details)
  107. [libunwind][ARM] Handle end of stack during unwind (details)
  108. Defines new PDLInterp operations needed for multi-root matching in PDL. (details)
  109. [Docs] Removed /Zd flag still mentioned in documentation (details)
  110. [AArch64][SVEIntrinsicOpts] Fix: predicated SVE mul/fmul are not commutative (details)
  111. Introduced iterative bytecode execution. (details)
  112. Implementation of the root ordering algorithm (details)
  113. Multi-root PDL matching using upward traversals. (details)
  114. Added line numbers to the debug output of PDL bytecode. (details)
  115. [clang][deps] NFC: Extract function (details)
  116. [tsan] Relax atexit5.cpp a bit more so it's not as dependent on the standard library implementation (details)
  117. [PDL] fix unused variable warning in Release builds (details)
  118. Provide a definition for OperationPosition::kDown (details)
  119. [clangd] Record information about non self-contained headers in IncludeStructure (details)
  120. [mlir][linalg][bufferize][NFC] InsertSliceOp no-copy detection as PostAnalysis (details)
  121. [SCEV] Turn check in createSimpleAffineAddRec to assertion. (NFC) (details)
  122. [Bug 49018][lldb] Fix incorrect help text for 'memory write' command (details)
  123. [SLP][NFC]Add a test for gathered instructions in loop, NFC. (details)
  124. [mlir][OpenMP] Add support for SIMD modifier (details)
  125. [pstl] Fix incorrect usage of std::invoke_result (details)
  126. [SLP]Improve analysis/emission of vector operands for alternate nodes. (details)
  127. [clangd] IncludeCleaner: Attribute symbols from non self-contained headers to their parents (details)
  128. Revert "Reland "[lldb] Remove non address bits when looking up memory regions"" (details)
  129. [libc++] Add missing __format__ attributes (details)
  130. [libc++] Properly handle errors happening during Lit configuration (details)
  131. [LLVM][llvm-cov] Inclusive language: rename option -name-whitelist to -name-allowlist (details)
  132. [MLIR] Simplex::pivot: also update the redundant rows when pivoting (details)
  133. [Target] Use range-based for loops (NFC) (details)
  134. [libc] Make string entrypoints mutualy exclusive. (details)
  135. [llvm-cov][NFC] Add missing character to fix docs buildbot break. (details)
  136. [MLIR] Simplex: fix a bug when rolling back a Simplex with no solutions (details)
  137. [mlir][Standard] Support 0-D vectors in `SplatOp` (details)
  138. [mlir][Vector] Support 0-D vectors in `BroadcastOp` (details)
  139. [libc++] Trigger rebuild of the Docker image so we get a new nightly Clang (details)
  140. [MLIR] Allow `Idempotent` trait to be applied to binary ops. (details)
  141. [DAG] Pull out repeated isLittleEndian() calls. NFC. (details)
  142. [ELF] Rename fetch to extract (details)
  143. [MLIR] Prevent creation of buggy affine map after linearizing collapsed dimensions of source map (details)
  144. [MLIR] Avoid creation of buggy affine maps when incorrect values of number of dimensions and number of symbols are provided. (details)
  145. [ELF][PPC64] Make --power10-stubs/--no-power10-stubs proper aliases for --power10-stubs={auto,no} (details)
  146. [SCEV] Fix and validate ValueExprMap/ExprValueMap consistency (details)
  147. [DAG] Restore dropped condition (details)
  148. [mlir] Fix a warning (details)
  149. [flang] Fix reversed comparison in RESHAPE() runtime (details)
  150. [InstSimplify] baseline tests for icmp of lshr/udiv fold (NFC) (details)
  151. Revert "[SCEV] Fix and validate ValueExprMap/ExprValueMap consistency" (details)
  152. [compiler-rt][CMake] Support powerpc32 on Linux (details)
  153. [compiler-rt][CMake] Support powerpcspe build (details)
  154. [InstSimplify] Fold X {lshr,udiv} C <u X --> true for nonzero X, non-identity C (details)
  155. [sanitizer] Switch StackStore to 8 MiB blocks (details)
  156. [ELF] Simplify Symbol::extract. NFC (details)
  157. [libcxx][NFC] Add tests for associative containers key_comp and value_comp (details)
  158. [ELF][test] Test that .o definition does not inherit .so STV_PROTECTED (details)
  159. Fixed broken build under GCC 5.4. (details)
  160. [Target] Use range-based for loops (NFC) (details)
  161. [RISCV] Emit DWARF location expression for RVV stack objects. (details)
  162. [test] Use -passes syntax when specifying pipeline in some more tests (details)
  163. [test] Use -passes in lit tests for the UpdateTestChecks tool (details)
  164. [test] Use -passes syntax in Feature/OperandBundles lit tests (details)
  165. [ARM] implement support for ALU/LDR PC-relative group relocations (details)
  166. Reland [SCEV] Fix and validate ValueExprMap/ExprValueMap consistency (details)
  167. [NVPTX][AsmPrinter] Avoid removing globals before calling AsmPrinter::doFinalization() (details)
  168. [DSE] Optimize defining access of defs while walking upwards. (details)
  169. [ARM] Extra testing for v2i1 types. NFC (details)
  170. [SCEV] Simplify invalidation after BE count calculation (NFCI) (details)
  171. [SCEV] Simplify forgetSymbolicName() (NFCI) (details)
  172. [DwarfCompileUnit] Set parent DIE right after creating a local entity (details)
  173. [PowerPC] Regenerate ppc64-P9-vabsd.ll tests (details)
  174. [ARM] Fold away unnecessary CSET/CMPZ (details)
  175. [Target] Use range-based for loops (NFC) (details)
  176. [ARM] CSINC/CSINV patterns from CMOV (details)
  177. [mlir] Enable MLIRDialectUtilsTests (details)
  178. [sanitizer] Switch StackStore from pointers to 32bit IDs (details)
  179. NFC: Simplify sve-widen-phi.ll by unrolling once. (details)
  180. [LV] Fix incorrectly marking a pointer indvar as 'scalar'. (details)
  181. [sanitizer] Remove storeIds and use padding of StackDepotNode (details)
  182. [libc++][format] Adds formatting benchmarks. (details)
  183. [SCEV] Turn validity check in getExistingSCEV into assert (NFC). (details)
  184. [libc++] Remove support for Clang 9 and older. (details)
  185. [libc++] Add myself to the credits. (details)
  186. [InstCombine] reduce code duplication; NFC (details)
  187. [InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent (details)
  188. [ARM] Add testing for various fptosi.sat patterns. NFC (details)
  189. [clang] Fix -Wreturn-type false positive in @try statements (details)
  190. [llvm] Use range-based for loops (NFC) (details)
  191. [LV] Move code from widenGEP to VPWidenGEPRecipe (NFC). (details)
  192. [ELF] Simplify assignFileOffsets. NFC (details)
  193. [ELF] -z separate-*: Use max-page-size instead of common-page-size for text/non-SHF_ALLOC transition and writeTrapInstr (details)
  194. [DSE] Use MapVector for IOLs (details)
  195. [AArch64] Avoid crashing on invalid -Wa,-march= values (details)
  196. [mlir] NFC - Move invalid.mlir tests to the proper dialects (details)
  197. [ELF] Simplify assignFileOffsets (details)
  198. [ELF] Fix out-of-bounds write in memset(&Out::first, ...) (details)
  199. [ELF] Simplify OutputSection::sectionIndex assignment. NFC (details)
  200. [ELF] Replace one make_unique from r316378 with a stack object. NFC (details)
  201. [Driver] Support PowerPC SPE musl dynamic linker name ld-musl-powerpc-sf.so.1 (details)
  202. [ELF] Inline InputSection::getOffset into callers and remove it. NFC (details)
  203. [ELF] Remove unneeded getOutputSectionVA. NFC (details)
  204. Compilation Database: Point Bazel users to a solution (details)
  205. [ELF] Simplify/remove LinkerScript::output and advance. NFC (details)
  206. [mlir][python] Normalize asm-printing IR behavior. (details)
  207. [llvm] Use range-based for loops (NFC) (details)
  208. test: add a lit configuration for Windows subdirectory (details)
  209. [ELF][test] --oformat binary: Check that SIZEOF_HEADERS==0 (details)
  210. [ELF] Support --oformat= beside Separate --oformat (details)
  211. [AIX] Disable empty.ll test using unsupported split dwarf (details)
  212. [ELF] Simplify/remove LinkerScript::switchTo. NFC (details)
  213. [ELF] Simplify some ctx->outSec with sec. NFC (details)
  214. [ELF] Decrease InputSectionBase::entsize to uint32_t (details)
  215. [analyzer][doc] Add user documenation for taint analysis (details)
  216. [ELF] Speed up/simplify removeUnusedSyntheticSections. NFC (details)
  217. [ELF] Avoid std::stable_partition which may allocate memory. NFC (details)
  218. [flang] Return true in IsSymplyContiguous for allocatables (details)
  219. [CodeGen][SVE] Use whilelo instruction when lowering @llvm.get.active.lane.mask (details)
  220. Fix cppcoreguidelines-virtual-base-class-destructor in macros (details)
  221. [libtooling][clang-tidy] Fix crashing on rendering invalid SourceRanges (details)
  222. [clang-tidy] Fix crashing altera-struct-pack-align on invalid RecordDecls (details)
  223. [clang-tidy] Ignore narrowing conversions in case of bitfields (details)
  224. [fir] Add base for runtime builder unittests (details)
  225. [LV] Move code from widenInstruction to VPWidenRecipe. (NFC) (details)
  226. [fir] Add fir transformational intrinsic builder (details)
  227. [fir] Add assignment runtime API builder (details)
  228. [analyzer][NFC] Refactor AnalysisConsumer::getModeForDecl() (details)
  229. [fir] Add data flow optimization pass (details)
  230. [X86][Costmodel] Now that `getReplicationShuffleCost()` is good, update `getInterleavedMemoryOpCostAVX512()` (details)
  231. [AArch64][SVE] Mark fixed-type FP extending/truncating loads/stores as custom (details)
  232. Use a deterministic order when updating the DominatorTree (details)
  233. fix typos in comments (details)
  234. [NFC][X86][LV][Costmodel] Add most basic test for masked interleaved load (details)
  235. Don't consider 'LinkageSpec' when calculating DeclContext 'Encloses' (details)
  236. [CodeGen][AArch64] Bail out in performConcatVectorsCombine for scalable vectors (details)
  237. [clang-format] regressed default behavior for operator parentheses (details)
  238. Reapply 'Implement target_clones multiversioning' (details)
  239. [mlir][memref] Fix bug in verification of memref.collapse_shape (details)
  240. [X86] Add vector test coverage for or with no common bits tests (details)
  241. [AMDGPU] Fix "must generated" typo in docs (details)
  242. [AMDGPU] Fix list indentation in docs (details)
  243. [AMDGPU][GlobalISel] Transform (fadd (fmul x, y), z) -> (fma x, y, z) (details)
  244. [AMDGPU][GlobalISel] Transform (fadd (fpext (fmul x, y)), z) -> (fma (fpext x), (fpext y), z) (details)
  245. [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z)) (details)
  246. [AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fpext (fmul u, v))), z) -> (fma x, y, (fma (fpext u), (fpext v), z)) (details)
  247. [AMDGPU][GlobalISel] Transform (fsub (fmul x, y), z) -> (fma x, y, -z) (details)
  248. [AMDGPU][GlobalISel] Transform (fsub (fneg (fmul, x, y)), z) -> (fma (fneg x), y, (fneg z)) (details)
  249. [AMDGPU][GlobalISel] Transform (fsub (fpext (fmul x, y)), z) -> (fma (fpext x), (fpext y), (fneg z)) (details)
  250. [AMDGPU][GlobalISel] Transform (fsub (fpext (fneg (fmul x, y))), z) -> (fneg (fma (fpext x), (fpext y), z)) (details)
  251. [X86][Costmodel] `getInterleavedMemoryOpCostAVX512()`: masked load can not be folded into a shuffle (details)
  252. [fir] Get rid of the global option in FIRBuilder (details)
  253. [HWASan] Disable LTO test on aarch64. (details)
  254. [SCEV] Remove incorrect assert (details)
  255. [InstCombine] Fold (~A | B) ^ A --> ~(A & B) (details)
  256. [llvm] Use range-based for loops (NFC) (details)
  257. [mlir] Handle an edge case when folding reshapes with multiple trailing 1 dimensions (details)
  258. [LLDB][NativePDB] fix find-functions.cpp failure on windows bots (details)
  259. [NFC][AIX]Disable unsupported hip test on AIX (details)
  260. [libc++] Fix incorrect REQUIRES on a locale-dependent test (details)
  261. OpenMP: Start calling setTargetAttributes for generated kernels (details)
  262. [LLDB][NativePDB] fix find-functions.cpp failure on windows bots (2) (details)
  263. [HIP] Add atomic load, atomic store and atomic cmpxchng_weak builtin support in HIP-clang (details)
  264. [NFC][clang]Increase the number of driver diagnostics (details)
  265. [InstCombine] (~(a | b) & c) | ~(c | (a ^ b)) -> ~((a | b) & (c | (b ^ a))) (details)
  266. [InstCombine] add tests for or with mul operand; NFC (details)
  267. [LICM] Regenerate test checks (NFC) (details)
  268. [mlir][sparse] some leftover cleanup from migration to bufferization dialect (details)
  269. Revert "OpenMP: Start calling setTargetAttributes for generated kernels" (details)
  270. [DebugInfo][InstrRef][NFC] Test changes: DBG_VALUE to DBG_INSTR_REF (details)
  271. Update unit test API usage (NFC) (details)
  272. OpenMP: Correctly query location for amdgpu-arch (details)
  273. [DAG] Add tests for fpsti.sat for various architectures. NFC (details)
  274. [DebugInfo][InstrRef] Preserve properties of restored variables (details)
  275. [InstCombine] try to fold 'or' into 'mul' operand (details)
  276. [ELF] --cref: If -Map is specified, print to the map file (details)
  277. [unroll] Split full exact and full bound unroll costing [NFC] (details)
  278. [DebugInfo][InstrRef] Add indirection from dbg.declare in SelectionDAG (details)
  279. [unroll] Reduce scope of UnrollFactor variable in computeUnrollCount [NFC] (details)
  280. [unroll] Use early return in shouldPartialUnroll [nfc] (details)
  281. [DebugInfo][InstrRef][NFC] "Final" x86 test cleanup (details)
  282. [SCEVExpander] Drop poison generating flags when reusing instructions (details)
  283. [CVP] Remove ashr of -1 or 0 (details)
  284. [DebugInfo][InstrRef] Terminate overlapping variable fragments (details)
  285. [clang-tidy] Fix pr48613: "llvm-header-guard uses a reserved identifier" (details)
  286. [openmp][devicertl] Add a missing loader_uninitialized attribute (details)
  287. [lldb][NFC] Format lldb/include/lldb/Symbol/Type.h (details)
  288. [NFC][Regalloc] Split canEvictInterference into hint and general (details)
  289. [Demangle] Add support for D simple single qualified names (details)
  290. [Demangle] Add support for multiple identifiers in D qualified names (details)
  291. [Demangle] Add support for D anonymous symbols (details)
  292. Tests for D112754 (details)
  293. X86: Fold masked-merge when and-not is not available (details)
  294. [mlir][sparse] generalize sparse tensor output implementation (details)
  295. Add missing header (details)
  296. Revert "[lldb][NFC] Format lldb/include/lldb/Symbol/Type.h" (details)
  297. [sanitizer] Add Leb128 encoding/decoding (details)
  298. [NFC] Header comment in X86RegisterBanks.td referred to Aarch64 (details)
  299. [RISCV] Add a test case to show the bug in RISCVFrameLowering. (details)
  300. [RISCV] Fix a bug in RISCVFrameLowering. (details)
  301. [NFC][sanitizer] Track progress of populating the block (details)
  302. [RISCV] Promote f16 log/pow/exp/sin/cos/etc. to f32 libcalls. (details)
  303. [TwoAddressInstructionPass] Create register mapping for registers with multiple uses in the current MBB (details)
  304. [AMDGPU] Enable copy between VGPR and AGPR classes during regalloc (details)
  305. [DebugInfo] Do not replace existing nodes from DICompileUnit (details)
  306. [mlir][python] Add pyi stub files to enable auto completion. (details)
  307. [mlir][python] Implement more SymbolTable methods. (details)
  308. [mlir][python] Audit and fix a lot of the Python pyi stubs. (details)
  309. [X86][clang] Enable floating-point type for -mno-x87 option on 32-bits (details)
  310. [ELF] Move GOT/PLT relocation code closer. NFC (details)
  311. [clang-tidy] Warn on functional C-style casts (details)
  312. [ARM] create new pseudo t2LDRLIT_ga_pcrel for stack guards (details)
  313. [X86][LoopVectorize] "Fix" `X86TTIImpl::getAddressComputationCost()` (details)
  314. [llvm-profgen] Compute and show profile density (details)
  315. [PR52549][clang-cl] Predefine _MSVC_EXECUTION_CHARACTER_SET (details)
  316. [RISCV] Decode vtype with reserved fields to raw immediate (details)
  317. [ELF] Move ObjFile<ELFT>::{getLocalSymbols,getGlobalSymbols} to non-template ELFFileBase. NFC (details)
  318. [mlir][OpDSL] Fix OpDSL tests after https://reviews.llvm.org/D114680. (details)
  319. [mlir] Move bufferization-related passes to `bufferization` dialect. (details)
  320. [clangd] Make std symbol generation script python3 friendly (details)
  321. [mlir] Decompose Bufferization Clone operation into Memref Alloc and Copy. (details)
  322. [clang][ARM] PACBTI-M assembly support (details)
  323. [AMDGPU] Update docs for nontemporal store (details)
  324. [GlobalISel] Add matchers for constant splat. (details)
  325. [lldb] Remove 'extern "C"' from the lldb-swig-python interface (details)
  326. [Analyzer][solver] Do not remove the simplified symbol from the eq class (details)
  327. [Analyzer][Core] Make SValBuilder to better simplify svals with 3 symbols in the tree (details)
  328. [LV] Move code from widenSelectInstruction to VPWidenSelectRecipe. (NFC) (details)
  329. [DebugInfo][InstrRef] "final final" test cleanups for x86 tests (details)
  330. [libc] Add memmove benchmarks (details)
  331. [libc] Add a reasonably optimized version for bcmp (details)
  332. [libc++][ABI BREAK] Do not use the C++03 emulation for std::nullptr_t by default (details)
  333. [DAG] Create fptosi.sat from clamped fptosi (details)
  334. [DebugInfo][InstrRef] Avoid dropping fragment info during PHI elimination (details)
  335. [AMDGPU][NFC] Remove unused defvar in AMDGPUInstructions.td. (details)
  336. [DebugInfo][InstrRef][X86] Instrument expanded DYN_ALLOCAs (details)
  337. [mlir] Fix BufferizationToMemRef build. (details)
  338. [mlir] Add bazel build for BufferizationToMemRef. (details)
  339. [DebugInfo][InstrRef] Pre-land on-by-default-for-x86 changes (details)
  340. [fir] Add array value copy pass (details)
  341. [gn build] (semimanually) port 25a7e4b9f7c6 (details)
  342. [lldb] Inline Platform::LoadCachedExecutable into its (single) caller (details)
  343. [lldb] Introduce PlatformQemuUser (details)
  344. [X86] Add mulh test coverage for extension to illegal type (details)
  345. [DebugInfo] Turn instruction referencing on by default for x86 (details)
  346. [BuildLibCalls] Add memset_chk test. (details)
  347. [DSE] Add memset_chk tests. (details)
  348. Test commit (details)
  349. Revert "[DAG] Create fptosi.sat from clamped fptosi" (details)
  350. [clang][dataflow] Add base types for building dataflow analyses (details)
  351. [MC][ELF] Fix accepting abbreviated form with Type change (details)
  352. [fir] Add fir reduction builder (details)
  353. [lld-macho] Mark dylib symbols coming from -weak_framework as weak-ref. (details)
  354. [mlir][linalg] Run CSE after every CodegenStrategy transformation. (details)
  355. [OpenMP] Add RTL function to externalization RAII (details)
  356. [mlir][linalg] Fix windows build issue in hoist padding. (details)
  357. [DAG] Create fptosi.sat from clamped fptosi (details)
  358. [mlir][linalg] Use top down traversal for padding. (details)
  359. [clang][dataflow] Fix broken build in ClangStaticAnalyzer (details)
  360. [mlir][linalg] Support the empty anchor op string when padding. (details)
  361. [DSE] Use optimized access if available for redundant store elimination. (details)
  362. Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible. (details)
  363. [mlir][linalg] Adapt the decompose patterns to use a filter (NFC). (details)
  364. [mlir][linalg] Add decompose to CodegenStrategy. (details)
  365. [fir] Remove unused fct recordTypeCanBeMemCopied (details)
  366. Revert "[fir] Add fir reduction builder" (details)
  367. Code quality: Combine V_RSQ (details)
  368. Fix file extension of alignment-assumption-ignorelist.cppp test (details)
  369. [LV] Remove unneeded cast to Operator [NFC] (details)
  370. [clang][dataflow] Make header parse (details)
  371. [PS4][DWARF] Explicitly set default DWARF version to 4 (details)
  372. [CSSPGO] Sorting nodes in a cycle of profiled call graph. (details)
  373. [JITLink][ELF] Add support for reading extended table (details)
  374. [JITLink][ELF] Don't skip sections of size 0 (details)
  375. [SCEV] Track and invalidate ValuesAtScopes users (details)
  376. [RegionPass] Added check for -filter-print-funcs option to the region IR dumps. (details)
  377. Revert "Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible." (details)
  378. [SLP][NFC]Move static function to make it visible in member function, (details)
  379. [InstSimplify] add tests for 'or' logic folds; NFC (details)
  380. [InstSimplify] add tests for 'or' with logic ops; NFC (details)
  381. [InstSimplify] refactor 'or' logic folds; NFC (details)
  382. [InstSimplify] adjust tests for 'or' of logic ops; NFC (details)
  383. [InstSimplify] reduce code duplication for 'or' logic fold; NFC (details)
  384. [SLP]Improve isFixedVectorShuffle and its use. (details)
  385. Typo fix (details)
  386. [flang] Address TODO from previous changes to IsSaved() (details)
  387. [memprof] Extend llvm-profdata to display MemProf profile summaries. (details)
  388. [gn build] Port 7cca33b40f77 (details)
  389. [ELF] Change -z unknown from error to warning (details)
  390. [InstSimplify] make 'or' test names more descriptive; NFC (details)
  391. [InstSimplify] reduce code duplication for 'or' logic folds; NFC (details)
  392. [InstSimplify] add logic fold for 'or' (details)
  393. [lldb] Search PrivateFrameworks when using an internal SDK (details)
  394. [lldb] Fix indentation in builders/darwin.py (details)
  395. [ELF][PPC64] Remove unneeded PPC64PCRelLongBranchThunk (details)
  396. [memprof] Fix unit test build after refactoring shared header. (details)
  397. [libc][clang-tidy] fix namespace check for externals (details)
  398. fix inverted logic for HideUnrelatedOptions (details)
  399. [mlir][tosa] Add tosa.conv2d as fully_connected canonicalization (details)
  400. [memprof] Disable pedantic warnings, suppress variadic macro warning. (details)
  401. [NFC][Clang]Inclusive language: Replace uses of whitelist in clang/test (details)
  402. [clang][docs] Inclusive language: remove use of sanity check in option description (details)
  403. [SCEV] Verify integrity of ValuesAtScopes and users (NFC) (details)
  404. [memprof] Disallow memprof profile reader tests on non-x86 archs. (details)
  405. AArch64 GIsel: legalize lshr operands, even if it is poison (details)
  406. [mlir][MemRef] Fix SubViewOp canonicalization when a subset of unit-dims are dropped. (details)
  407. [mlir][tensor] InsertSliceOp verification. (details)
  408. [lldb] Mark TestTsanBasic and TestUbsanBasic as "no debug info" tests (details)
  409. [lldb] Fix TypeError: argument of type 'NoneType' is not iterable (details)
  410. [flang] Fix usage & catch errors for MAX/MIN with keyword= arguments (details)
  411. [lldb] Fix broken skipUnlessUndefinedBehaviorSanitizer decorator (details)
  412. [clang-repl][NFC] Fix calling convention mismatch in test (details)
  413. [flang] Re-fold bounds expressions in DATA implied DO loops (details)
  414. [mlir][sparse] refine simply dynamic sparse tensor outputs (details)
  415. [flang] Correct INQUIRE(POSITION= & PAD=) (details)
  416. [NFC] Refactor symbol table parsing. (details)
  417. [InstCombine] Allow fake vector insert folding to bit-logic only if the insert element is integer type (details)
  418. [NFC][sanitizer] Fail test quickly (details)
  419. [ADT] Remove 0-width Asserts in APInt.getZExtValue (details)
  420. [flang] Define & implement a lowering support API IsContiguous() in runtime (details)
  421. [OpenMP][libomp][doc] Add environment variables documentation (details)
  422. [TSan][Darwin] Avoid crashes due to interpreting non-zero shadow content as a pointer (details)
  423. Big-endian version of vpermxor (details)
  424. [NFC][regalloc] Factor accesses to ExtraRegInfo (details)
  425. [Clang] Add option to disable -mconstructor-aliases with -mno-constructor-aliases (details)
  426. Revert "[MLIR] Update Vector To LLVM conversion to be aware of assume_alignment" (details)
  427. [flang] Rearrange prototype & code placement of IsCoarray() (details)
  428. [mlir][sparse] fix typos in integration tests (details)
  429. [runtimes][openmp] Change to not treat ARCH-unknown-linux-gnu as errors (details)
  430. [FS-AFDO][llvm-profgen] Generate profile with FS-AFDO discriminator (details)
  431. [ObjectYAML/obj2yaml/yaml2obj][MachO] Support indirect symbol table (details)
  432. [llvm-profgen] Truncate the context with zero probe ID (details)
  433. [mlir][sparse] added sparse out element wise mult integration test (details)
  434. [NFC][sanitizer] Add entry point for compression (details)
  435. [test] Avoid dumping .o in source tree (expand-pseudos.ll) (details)
  436. Add toggling for -fnew-infallible/-fno-new-infallible (details)
  437. [libcxx][doc] Document recent spaceship projects progress (details)
  438. [RISCV] Teach RISCVTargetLowering::shouldSinkOperands to handle udiv/sdiv/urem/srem. (details)
  439. [sanitizer] Add compress_stack_depot flag (details)
  440. [mlir] Update accessors prefixed form (NFC) (details)
  441. [X86] Pre-commit tests to show the problem of SQRT when `RefinementSteps` = 0. NFC (details)
  442. [lldb] Temporarily skip TestTsanBasic on Darwin (details)
  443. [memprof] Align each rawprofile section to 8b. (details)
  444. [sanitizer] Add delta compression stack depot (details)
  445. [Legalizer] Avoid expansion to BR_CC if illegal (details)
  446. [clang-offload-bundler] Reuse original file extension for device archive member (details)
  447. [mlir] Make sure linearizeCollapsedDims doesn't drop input map dims (details)
  448. Revert "[mlir] Make sure linearizeCollapsedDims doesn't drop input map dims" (details)
  449. [mlir] Make sure linearizeCollapsedDims doesn't drop input map dims (details)
  450. [NPM] Fix LoopNestPasses in -print-pipeline-passes (details)
  451. [fir] Add fir reduction builder (details)
  452. [Coroutines] Make suspend_always in test noexcept (NFC) (details)
  453. [Flang] Replace notifyMatchFailure with TODO hard failures (details)
  454. [libc] Add _64 element to aarch64 (details)
  455. [DSE] Allow DSE to optimize MemorySSA by default. (details)
  456. [mlir] Add a helper for TiledLoopOp to get an operand tied to the bbArg. (details)
  457. Add 'LLVM_DEFAULT_TARGET_TRIPLE' to the documented list of CMake variables (details)
  458. [SCEV] Track backedge taken count users (NFCI) (details)
  459. [LoopUnrollRuntime] Remove unnecessary pointer BECount check (NFC) (details)
  460. [OpenMP][IRBuilder] Fix createSections (details)
  461. [mlir][linalg][bufferize] CallOps do not bufferize to memory writes (details)
  462. [Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation (details)
  463. [ARM] Fix some identing in ARMAsmPrinter::emitInstruction, NFC (details)
  464. [BuildLibCalls] Add argmemonly, writeonly, nounwind to memset_chk. (details)
  465. Revert "[Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation" (details)
  466. Fix clang-format bug when handling conflict markers. (details)
  467. [ARM] Teach getIntImmCostInst about the cost of saturating fp converts (details)
  468. [clang][ARM] PACBTI-M frontend support (details)
  469. [IR] Assert on getPointerElementType() on opaque pointer (NFC) (details)
  470. [clang][ARM] emit PACBTI-M feature defines (details)
  471. [ARM] add common parts for PACBTI-M support in the backend (details)
  472. [IR] Remove deprecated GetElementPtrInst constructors (details)
  473. [IRBuilder] Remove deprecated methods (details)
  474. Fix segfault in clang-format. (details)
  475. [ARM] emit PACBTI-M build attributes (details)
  476. [ARM] Strengthen fpclamptosat.ll triple to attempt to fix buildbot errors. NFC (details)
  477. [DAG] Apply clang-format to visitMSTORE + visitMLOAD. NFC. (details)
  478. [DAGCombiner] When combining REM ensure optimized div nodes are unique (details)
  479. [LICM] Support opaque pointers in scalar promotion (details)
  480. [X86] Add some basic fptosi/fptoui saturate vector tests (details)
  481. [clang][ARM] removing branch protection error cmdline test (details)
  482. Fixed a memory leak in the PDLToPDLInterp RootOrderingTest. (details)
  483. [LICM] Hoist LOAD without sinking the STORE (details)
  484. Revert "[LICM] Hoist LOAD without sinking the STORE" (details)
  485. [ARM] Implement BTI placement pass for PACBTI-M (details)
  486. [gn build] Port f5f28d5b0ce7 (details)
  487. [Dexter] Add DexDeclareAddress command and address function (details)
  488. [libcxx][test][NFC] Extend get_allocator() testing for containers (details)
  489. Fix a violated precondition in clang-format. (details)
  490. [gn build] (manually) port 94d5f2afbef0 (details)
  491. [clang-cl] Set _MSVC_LANG to 202002L with /std:c++20 (details)
  492. [VE] Make VE official (details)
  493. [Dexter] Fix address_printing test by requiring lldb (details)
  494. [BasicAA] Add strncpy libfunc tests. (details)
  495. [BasicAA] Add memset_chk libfunc tests. (details)
  496. [SLP][NFC]Add a test for inserting into constant undef vector, NFC. (details)
  497. Revert "[Flang] Replace notifyMatchFailure with TODO hard failures" (details)
  498. [LV] Move code from vectorizeMemoryInstruction to recipe's execute(). (details)
  499. Revert "[ARM] Teach getIntImmCostInst about the cost of saturating fp converts" (details)
  500. [mlir][linalg] Disable tensor-matmul test under asan (details)
  501. [Verifier] Make matrix intrinsic verification compatible with opaque pointers (details)
  502. [SLP]Improve vectorization of cmp instructions sequences. (details)
  503. [AArch64][SVE] Duplicate FP_EXTEND/FP_TRUNC -> LOAD/STORE dag combines (details)
  504. [SLP]Introduce isUndefVector function to check for undef vectors. (details)
  505. [PowerPC][AIX] Add toc-data support for 64-bit AIX small code model. (details)
  506. [libc++] Fix `uniform_int_distribution` for 128-bit result type (details)
  507. [SLP]Improve cost model for the shuffled extracts. (details)
  508. [VE][NFC] Use POSIX-compatible stream redirection (details)
  509. [VE] Remove switch with only default case statement to fix MSVC warning. NFC. (details)
  510. [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT (details)
  511. [OpenMP][FIX] SPMDzation guarding needs to account for all reaching kernels (details)
  512. [mlir][Vector] Thread 0-d vectors through vector.transfer ops (details)
  513. [libc++][format][1/6] Reduce binary size. (details)
  514. [llvm][stlextras] Add const methods to concat_range and enumerator (details)
  515. [mlir][ods] AttrOrTypeGen uses Class (details)
  516. Revert "tsan: new runtime (v3)" (details)
  517. [SelectionDAG] Add pattern to haveNoCommonBitsSet (details)
  518. [Clang][VE] Fix toolchain test when -DCLANG_DEFAULT_LINKER=lld in use (details)
  519. [AArch64] Fix unused variable warning with NDEBUG, NFC (details)
  520. [runtimes] Remove support for GCC-style 32 bit multilib builds (details)
  521. [runtimes] Move WARNING to FATAL_ERROR for folks using FOO_BUILD_32_BITS (details)
  522. [Clang] Fix nesting of discarded and immediate contexts. (details)
  523. [ASan] Fixed include order. (details)
  524. [VE][NFC] Fix use-after-free in VEInstrInfo (details)
  525. [mlir][ods][nfc] fix gcc-5 build (details)
  526. [NFC][Clang] Fix some comments in clang (details)
  527. Revert "[lldb] Temporarily skip TestTsanBasic on Darwin" (details)
  528. [Support] replace check with assert in known bits of mul calculation; NFC (details)
  529. Disable issues / pull requests via templates in preparation with migration (details)
  530. [Clang] Remove bogus "REQUIRES arm-registered-target" from SVE ACLE tests. (details)
  531. [mlir][ods][nfc] fixing test cases (details)
  532. Revert "[sanitizer] Add delta compression stack depot" (details)
  533. [flang] Adjust names in Semantics that imply too much (NFC) (details)
  534. [RISCV] Add inline expansion for vector ftrunc/fceil/ffloor. (details)
  535. [InstrProf][NFC] Refactor ProfileDataMap usage (details)
  536. [libcxx][NFC] Make sequence containers slightly more SFINAE-friendly during CTAD. (details)
  537. [libc++] [test] C++03-friendly MAKE_STRING macro. (details)
  538. [libc++] [test] C++14/17-friendly `TEST_IS_CONSTANT_EVALUATED` macro. (details)
  539. [libc++] [test] Refactor string_view comparison tests for comprehensiveness. (details)
  540. [GlobalOpt] Simplify CleanupConstantGlobalUsers() (details)
  541. Fix false positives in `fuchsia-trailing-return` check involving deduction guides (details)
  542. [DSE] Add libcall tests for functions only available on Darwin. (details)
  543. [TLI checker] Update for post-commit review comments (details)
  544. AMDGPU/GlobalISel: Fix constant bus restriction errors for med3 (details)
  545. [libcxx][modularisation] modularises <numeric> header (details)
  546. [gn build] Port a0efb1750065 (details)
  547. [TLI] Add memset_pattern4, memset_pattern8 lib functions. (details)
  548. [Analyzer][solver] Simplification: Do a fixpoint iteration before the eq class merge (details)
  549. [flang] Don't close stderr in runtime (fixes STOP output) (details)
  550. [mlir] Remove extractVectorTypeFromShapedValue (details)
  551. [NFC][sanitizer] constexpr in sanitizer_dense_map_info (details)
  552. [libc++] Make __wrap_iter constexpr (details)
  553. [sanitizer] Implement MprotectReadOnly and MprotectNoAccess (details)
  554. [libcxx][test][NFC] Various tests for std::vector (details)
  555. profi - a flow-based profile inference algorithm: Part I (out of 3) (details)
  556. [gn build] Port 7cc2493daaf5 (details)
  557. [Cloning] Clone metadata on function declarations (details)
  558. [llvm-reduce] Assert that the number of chunks does not change with reductions (details)
  559. [TSan][Darwin] Mark test unsupported (details)
  560. [llvm] [Support] Add HTTP Client Support library. (details)
  561. [gn build] Port 170783f991fa (details)
  562. [clang-tidy] Use `hasCanonicalType()` matcher in `bugprone-unused-raii` check (details)
  563. [lldb] Split TestCxxChar8_t (details)
  564. [TSan][Darwin] Prevent inlining of functions in tests (details)
  565. Revert "[sanitizer] Add compress_stack_depot flag" (details)
  566. [unroll] Fix a functional change in an NFC patch (details)
  567. Revert "[VE] Make VE official" (details)
  568. [mlir][linalg][bufferize] Bufferization of tensor.insert (details)
  569. [tests] Precommit tests for writeonly argument attribute inference (details)
  570. [lldb] Fix DYLD_INSERT_LIBRARIES on AS (details)
  571. [NFC][sanitizer] Fix "not used" warning in test (details)
  572. [libc++] Implement P1989R2: range constructor for string_view (details)
  573. [AMDGPU] Add a regclass flag for scalar registers (details)
  574. [mlir][drr] Simple heuristic to reduce chance of accidental nullptr dereference (details)
  575. [ELF] Prevent internalizing used comdat symbol (details)
  576. [lldb] Skip test_launch_scripted_process_stack_frames with ASan (details)
  577. [X86] Insert FMUL for estimated non reciprocal SQRT when `RefinementSteps` = 0 (details)
  578. [X86][FP16] Only generate approximate rsqrt when Reciprocal is true for half type (details)
  579. [AMDGPU][clang] Fix  __builtin_nontemporal_store() failure on AMDGPU (details)
  580. [AMDGPU] Set most sched model resource's BufferSize to one (details)
  581. [ORC] Hold ResourceTracker in MaterializationResponsibility. (details)
  582. [ORC] Only use JITDylib::GeneratorsMutex while running generators. (details)
  583. [ORC] Add support for removing JITDylibs. (details)
  584. [ARM] Teach getIntImmCostInst about the cost of saturating fp converts (details)
  585. [openmp][amdgpu] Disable three tests in preparation for new runtime (details)
  586. [NFC][sanitizer] Check &real_pthread_join (details)
  587. [clang-format] Add better support for co-routinues (details)
  588. [GlobalOpt] Add test for PR39751 (NFC) (details)
  589. [llvm-c] Make LLVMAddAlias opaque pointer compatible (details)
  590. [fir] Add fir numeric intrinsic runtime call builder (details)
  591. [clangd] IncludeClenaer: Don't mark forward declarations of a class if it's declared in the main file (details)
  592. [ORC] Fix ambiguous call to overloaded function. (details)
  593. [VE][NFC] Fix use-after-free in PVFMK expansion (details)
  594. [BuildLibCalls] Add additional attrs to memcpy_chk. (details)
  595. [ELF] Discard input .note.gnu.build-id even with default --build-id=none (details)
  596. [InferAttrs] Add memset_pattern{4,8} declarations to test. (details)
  597. Revert "Revert "[VE] Make VE official"" (details)
  598. [Flang] Replace notifyMatchFailure with TODO hard failures (details)
  599. [ARM] Add additional postinc distribute tests and regenerate tests. NFC (details)
  600. Use cc/c++ instead of gcc/g++ on FreeBSD. (details)
  601. [GlobalOpt] Fix assertion failure during instruction deletion (details)
  602. [BuildLibCalls] Add support for memset_pattern{4,8}. (details)
  603. [llvm-readobj] Add support for machine-independent NetBSD ELF core notes. (details)
  604. [ARM] Correct range in isLegalAddressImm (details)
  605. [LICM] Adding the test as a precommit for the D113289 (details)
  606. [DAG][PowerPC] Enable initial ISD::BITCAST SimplifyDemandedBits/SimplifyMultipleUseDemandedBits big-endian handling (details)
  607. [BasicAA] Add tests for memset_pattern{4,8,16}. (details)
  608. Reland "[LICM] Hoist LOAD without sinking the STORE" (details)
  609. [VE][Clang][NFC] Disable VE toolchain tests on Windows (details)
  610. [AArch64][SVE] Enable bf16 vector.insert (details)
  611. Expand testing of necessary features for print-changed=dot-cfg. (details)
  612. [fir] Declare test function inline (details)
  613. Add new clang-tidy check for string_view(nullptr) (details)
  614. Fix documentation for `forEachLambdaCapture` and `hasAnyCapture` (details)
  615. [HIPSPV] Add CUDA->SPIR-V address space mapping (details)
  616. [flang] GettingInvolved: update LLVM Alias Analysis Technical Call info (details)
  617. [gn build] Port 6a9487df73e9 (details)
  618. [MemoryLocation] Support memset_chk in getForArgument. (details)
  619. [PatternMatch] create and use matcher for 'not' that excludes undef elements (details)
  620. [libc] Fix a bug in MPFRUtils making ULP values off by 2^(-mantissaWidth). (details)
  621. [MemoryLocation] Support strncpy in getForArgument. (details)
  622. [VE][NFC] Cleanup redundant namespace wrapper (details)
  623. [AMDGPU] Test for in-order waitcnt insertion for bvh instructions (details)
  624. [AMDGPU] Add support for in-order bvh in waitcnt pass (details)
  625. [SLP][NFC]Add a test for extractelements with many uses vectorization, NFC. (details)
  626. [clang-tidy] Fix build broken by commit 6a9487df73e917c4faf5e060f2bb33c6ade3f967 (D113148) (details)
  627. [AnnotationRemarks] Support generating annotation remarks with -O0. (details)
  628. [Clang] Fix LTO pipeline test after 770a50b28c00211f9a. (details)
  629. [clangd] cleanup of header guard names (details)
  630. [InstCombine] add tests for icmp with mul op; NFC (details)
  631. [OpenMP] Make the new device runtime the default (details)
  632. [TLI checker] Add more tests (details)
  633. [clang] Do not duplicate "EnableSplitLTOUnit" module flag (details)
  634. Revert "[TLI checker] Add more tests" (details)
  635. [lld][WebAssembly] Fix for debug relocations against undefined function symbols (details)
  636. tsan: fix false positives in dynamic libs with static tls (details)
  637. [SLP]Improve registering and merging of compatible shuffles. (details)
  638. tsan: tolerate munmap with invalid arguments (details)
  639. Reapply "[TLI checker] Add more tests" (details)
  640. [clang-cl] Define _MSVC_LANG for -std=c++2b (details)
  641. [ARM] Introduce i8neg and i8pos addressing modes (details)
  642. [SLP]Outline and fix code for finding common insertelement vectors. (details)
  643. [llvm] Fix "unused variable" warnings (details)
  644. [llvm] Use range-based for loops (NFC) (details)
  645. [OpenMP] Remove the new runtime default for AMDGPU (details)
  646. [DSE] Read after strcpy test. (details)
  647. [BasicAA] Add tests for strcat/strncat/strcpy. (details)
  648. [bazel][mlgo] Remove the mlgo-related build excludes (details)
  649. [lldb] Skip two lldb tests on Windows because they are flaky (details)
  650. [sanitizer] DEFINE_REAL_PTHREAD_FUNCTIONS for hwasan, lsan, msan (details)
  651. [ELF] Fix driver.test after 8c3641d0 when cwd is readonly (details)
  652. [sanitizer] Add compress_stack_depot flag (details)
  653. [sanitizer] Add delta compression stack depot (details)
  654. [SLP]Fix reused extracts cost. (details)
  655. [mlir][bufferization] fixed typo in to_memref doc (details)
  656. profi - a flow-based profile inference algorithm: Part II (out of 3) (details)
  657. [lld-macho] Remove old macho darwin lld (details)
  658. [Bazel] Remove old MachO LLD from the Bazel build (details)
  659. Simplify the libcxx std::string_view gdb pretty printer (details)
  660. [asan] Remove confusing workaround (details)
  661. [Bazel] Remove old macho lld port (details)
  662. [sanitizer] Start background thread once (details)
  663. [compiler-rt] Fix incorrect variable names used (details)
  664. [NFC][sanitizer] Use more bytes of sanitizer_stack_store_test pointers (details)
  665. Reapply "OpenMP: Start calling setTargetAttributes for generated kernels" (details)
  666. [ELF] Hint -z nostart-stop-gc for __start_ undefined references (details)
  667. [gn build] (manually) port 9e3552523ebd (no more old mach-o lld) (details)
  668. profi - a flow-based profile inference algorithm: Part III (out of 3) (details)
  669. [libc++][NFC] Update namespace comments in include/ (details)
  670. xfail: reduction_implicit_map.cpp after reapply of Start calling setTargetAttributes (details)
  671. [ASan] Fixed asan_mapping.h format. (details)
  672. Revert "xfail: reduction_implicit_map.cpp after reapply of Start calling setTargetAttributes" (details)
  673. [llvm] [Support] Add CURL HTTP Client. (details)
  674. xfail: libomptarget reduction_implicit_map.cpp after reapply of Start calling setTargetAttributes (details)
  675. [gn build] (manually) port e0b259f22c003ffe9 (details)
  676. [NFC][sanitizer] Rename RssLimitExceeded -> IsRssLimitExceeded (details)
  677. Restric xfail on openmp/libomptarget/test/mapping/reduction_implicit_map.cpp to amdgcn-amd-amdhsa (details)
  678. [OPENMP]Fix error emission for dependent expressions in iterators for depend clauses. (details)
  679. [funcattrs] Infer writeonly argument attribute (details)
  680. [mlir][ods] fix defgen on empty files (details)
  681. [OPENMP]Fix PR51327: Range based for loop not working if range's type is a template. (details)
  682. [LTO] Specify triple to address unknown binary format assertion (details)
  683. Implement division merging (details)
  684. Update docs for mergeLocalIds (details)
  685. Update mergeLocalIds docs (details)
  686. Move division representation to a common function (details)
  687. Address arjun's comments (details)
  688. Update tests for mergeLocalIds (details)
  689. Update docs (details)
  690. Fix clang-format errors (details)
  691. Fix asserts as suggested by Arjun (details)
  692. Addressed more comments (details)
  693. Address more comments. (details)
  694. Fix doc comment for mergeLocalIds. (details)
  695. Addressed comments (details)
  696. Address bondhugula's comments (details)
  697. [PowerPC] Fix load/store selection infrastructure when load/store intrinsics are used on P10. (details)
  698. [OPENMP]Fix PR50733: unexpected final value of list-item in linear clause in loop construct. (details)
  699. Revert changes that should have been sent as a patch (details)
  700. [MLIR][FlatAffineConstraints] Remove duplicate divisions while merging local ids (details)
  701. [clang-tidy] Allow disabling support for NOLINTBEGIN/NOLINTEND blocks. (details)
  702. [TLI checker] Follow good practice with -COUNT directives (details)
  703. libcxx pretty printers: remove non-lazy_string fallback (details)
  704. [NFC][sanitizer] Reorder functions in cpp file (details)
  705. [NFC][sanitizer] Remove SetSoftRssLimitExceededCallback (details)
  706. [MLIR] Use a shared uniquer for affine maps and integer sets. (details)
  707. AMDGPU: Sanitized functions require implicit arguments (details)
  708. [ELF][PPC32] Make R_PPC32_PLTREL retain .got (details)
  709. [analyzer]Skip unstable CSA tests failing on several platforms (details)
  710. [clang-tidy][objc] Finds and fixes improper usages of XCTAssertEquals and XCTAssertNotEquals. (details)
  711. [mlir][ods] update attr/type def format docs (details)
  712. Include extra input contents on this test so we can see why lldb-arm-ubuntu buildbot is failing. (details)
  713. [CostModel][AMDGPU] Fix instructions costs estimation for vector types. (details)
  714. [Bazel] Add LLVM_ENABLE_CURL to Bazel llvm-config.h.cmake for e0b259f2 (details)
  715. Run update_test_checks.py on test cases. (details)
  716. [bazel] Update static analyzer unit test deps for clangTesting (details)
  717. [clang][Darwin] Remove old lld implementation handling (details)
  718. [Bazel] Set the right default for LLVM_WINDOWS_PREFER_FORWARD_SLASH on Windows (details)
  719. Using make_unique instead of `new` (NFC) (details)
  720. [CSSPGO] Turn on Profi by default (details)
  721. [libc++][ranges] Implement [special.mem.concepts]. (details)
  722. [gn build] (manually) port 9c4d194f44c4 (details)
  723. [lsan] Deflake fork_and_leak test (details)
  724. [gn build] (manually) port 9c4d194f44c4 better (details)
  725. Simplify logic to identify dyld_sim in Simulator debugging on macos (details)
  726. [gn build] Port 2d9efcfeec24 (details)
  727. [gn build] Port aba8f320cc13 (details)
  728. [llvm][Inline] Add FunctionSimplificationPipeline to module inliner pipeline (details)
  729. [ASan] Changed intrisic implemenation to use PLT safe registers. (details)
  730. [lldb] add fallback for LLDB_PYTHON_RELATIVE_PATH (details)
  731. [clangd] Show parameters for construct. (details)
  732. [Coroutines] Handle InvokeInst in SalvageDebugInfo (details)
  733. [NFC] move GNUELFDumper::printEnum() into a common header for reuse. (details)
  734. [AArch64][NFC] Fix ComplexPattern types conflicting with uses (details)
  735. [AMDGPU][NFC] Alter ComplexPattern types to be consistent with their uses (details)
  736. [AArch64][NFC] Alter ComplexPattern types to be consistent with their uses (details)
  737. [TableGen][SelectionDAG] Use ComplexPattern type for non-leaf nodes (details)
  738. [flang] Return arrays in Transfer runtime with SIZE argument (details)
  739. [mlir][linalg][bufferize] Op interface implementation for Bufferization dialect ops (details)
  740. tsan: disable munmap_invalid.cpp test on darwin (details)
  741. [clangd] IncludeCleaner: Do not require forward declarations of RecordDecls when definition is available (details)
  742. [MemoryLocation] strcat/strncat/strcpy read/write after their args. (details)
  743. [mlir][Vector] Add some missing tests for `broadcast` and `splat` (details)
  744. [mlir][Vector] Support 0-D vectors in `BitCastOp` (details)
  745. [SCEV] Fix ValuesAtScopesUsers consistency (details)
  746. [MemoryLocation] Move DSE's logic to new MemLoc::getForDest helper (NFC). (details)
  747. Fix typos in FPUtil README (details)
  748. [Clang] Mutate bulitin names under IEEE128 on PPC64 (details)
  749. [PowerPC] [Clang] Fix alignment adjustment of single-elemented float128 (details)
  750. [llvm-dwarfdump] Do not print preceding :: for local types (details)
  751. [fir] Add fircg.ext_embox conversion (details)
  752. [mlir][linalg][bufferize][NFC] Move BufferizationOptions to op interface (details)
  753. [fir] TargetRewrite: Rewrite fir.address_of(func) (details)
  754. [flang] Add missing LABEL in test. NFC (details)
  755. [RISCV][VP] Add RVV codegen for vp.select (details)
  756. [mlir][linalg][bufferize] Allow unbufferizable ops in input (details)
  757. [mlir][linalg][bufferize][NFC] Move FuncOp boundary bufferization to ModuleBufferization (details)
  758. [mlir] support recursive type conversion of named LLVM structs (details)
  759. AMDGPU/GlobalISel: Do not fcanonicalize const splat padded with undef (details)
  760. AMDGPU/GlobalISel: Add floating point med3 combine (details)
  761. AMDGPU/GlobalISel: Add clamp combine (details)
  762. [PowerPC] Add non-constant fcopysign f128 test coverage (details)
  763. [mlir][NFC] Use const reference for loop variables. (details)
  764. [libc][NFC] Fix typo in CMakeLists documentation (details)
  765. [MemoryLocation] Use None instead of {}. (NFC) (details)
  766. [SelectionDAG] Add newline to a debug message (details)
  767. [mlir][linalg][bufferize][NFC] Provide default implementation of getAliasingOpOperand (details)
  768. [AMDGPU] Add some more GFX10 GlobalISel test coverage (details)
  769. [fir] Add fir derived type runtime builder (details)
  770. [fir] Add fir character builder (details)
  771. [AMDGPU] Add some more GFX10 test coverage (details)
  772. [ARM] Make MVE v2i1 predicates legal (details)
  773. [mlir][linalg][bufferize][NFC] Map only tensors in BufferizationState (details)
  774. [InstSimplify] Add test case for logic 'or' fold; NFC (details)
  775. [OPENMP]Fix PR52117: Crash caused by target region inside of task construct. (details)
  776. [lldb-vscode] Report supportsModulesRequest=true (details)
  777. [TrivialDeadness] Introduce API separating two different usages (details)
  778. [PowerPC] Handle base load with reservation mnemonic (details)
  779. [libc] Fix bugs with negative and mixed normal/denormal inputs in hypot implementation. (details)
  780. [ARM] Use v2i1 for MVE and CDE intrinsics (details)
  781. [DebugInfo] Attempt to preserve more information during tail duplication (details)
  782. [clang-tidy][docs][NFC] Improve documentation of bugprone-unhandled-exception-at-new (details)
  783. [libc] Select FPUtils implementations via code instead of build (details)
  784. [MemoryLocation] Move DSE intrinsic handling to MemoryLocation. (NFC) (details)
  785. [gn build] Build with Fission on non-mac non-win when using lld (details)
  786. [libc] Fix invalid include for SqrtLongDouble.h (details)
  787. [ARM] Replace if's with a switch, NFC (details)
  788. [ARM] Separate ARM autoupgrade code into a separate function (details)
  789. [LLDB] XFAIL on Arm/Linux minidebuginfo-set-and-hit-breakpoint.test (details)
  790. [IR][AutoUpgrade] Merge x86 mask load intrinsic upgrades. NFC. (details)
  791. [funcattrs] Fix a bug in recently introduced writeonly argument inference (details)
  792. [DAG] PromoteIntRes_FunnelShift - rename shift Amount variable to Amt to prevent line overflow. NFC. (details)
  793. [AMDGPU] Kill def when folding immediate in two-addr pass (details)
  794. [AMDGPU] Fixed incomplete definitions in twoaddr-fma.mir. NFC. (details)
  795. [HWASan] Try 'google' prefixed apex directories in symbolizer. (details)
  796. [CFG] Handle calls with funclet bundle (details)
  797. [libunwind] Fix unwind_leaffunction test (details)
  798. [msan] Don't block SIGSYS in ScopedBlockSignals (details)
  799. CodeGen: Strip exception specifications from function types in CFI type names. (details)
  800. [Passes] Improve opt-pipeline-vector-passes.ll test. (details)
  801. [Passes] Adjust SLPVectorizer placement in test. (details)
  802. [Sanitizer] Use CreateDirectoryA for report dirs (details)
  803. [sanitizer] Support IsRssLimitExceeded in all sanitizers (details)
  804. [NFC][sanitizer] Iterator adaptors for Leb128 encoding (details)
  805. [sanitizer] Add Lempel–Ziv–Welch encoder/decoder (details)
  806. [test-release.sh] Do not run chrpath on AIX. (details)
  807. [DebugInfo] Check DIEnumerator bit width when comparing for equality (details)
  808. ThreadPool: grow the pool only as needed (details)
  809. [clang][ARM] relax -mtp=cp15 for non-thumb cases (details)
  810. Revert "[mlir][tosa] Add tosa.conv2d as fully_connected canonicalization" (details)
  811. [ELF][test] Fix typo in aarch64-cortex-a53-843419-recognize.s (details)
  812. [gn build] (semiautomatically) port 98bb198693ca (details)
  813. [NFC] const-ify some methods on CommandReturnObject (details)
  814. [mlir][sparse] Adding a stress test (details)
  815. [NFC][sanitizer] Add test for command line flag for enable-noundef-analysis. (details)
  816. Improve error message when declarativeAssembly contains invalid literals (details)
  817. [mlir][linalg][bufferize][NFC] Use same OpBuilder throughout bufferization (details)
  818. [LICM] Remove profile driven restriction on hoisting (details)
  819. [MLIR] NFC. Rename test cases in test/mlir-cpu-runner per convention (details)
  820. [MLIR] Improve error message on missing getArgument() override on pass (details)
  821. [mlir] Allow shape dimensions larger than 2^32 (details)
  822. [mlir][linalg][bufferize][NFC] Add inPlaceAnalysis overload (details)
  823. [MLIR] Fix affine.for unroll for multi-result upper bound maps (details)
  824. Fix build for ThreadPool when using -DLLVM_ENABLE_THREADS=OFF (details)
  825. [mlir][linalg][bufferize] Implement equivalence analysis (details)
  826. Split the locking of the queue and the threads vector in the ThreadPool implementation (details)
  827. Use LLVM_ATTRIBUTE_UNUSED to silent warning for static function used in assert only (NFC) (details)
  828. [mlir] Support collecting logs from notifyMatchFailure(). (details)
  829. [Sparc] Create an error when `__builtin_longjmp` is used (details)
  830. [CodeGen] Use range-based for loops (NFC) (details)
  831. [sanitizer] Hook up LZW into stack store (details)
  832. [Test][PhaseOrdering] Precommit test for PR52289 (details)
  833. [clang-tidy][NFC] Move CachedGlobList to GlobList.h (details)
  834. [PhaseOrdering] Add test for incorrect merge function scheduling (details)
  835. [AMDGPU] Generate checks for llvm.amdgcn.image.bvh.intersect.ray (details)
  836. [IR,TableGen] Add support for vec3 intrinsic arguments (details)
  837. [AMDGPU] Change llvm.amdgcn.image.bvh.intersect.ray to take vec3 args (details)
  838. [Passes] Move AggressiveInstCombine after InstCombine (details)
  839. tsan: disable dlopen_static_tls.cpp test on aarch64 (details)
  840. [DwarfDebug] Move emission of global vars, types and imports to endModule() (details)
  841. Apply the permutation map on each affine nest (details)
  842. [DwarfDebug] Support emitting function-local declaration for a lexical block (details)
  843. AMDGPU: Optimize out implicit kernarg argument allocation if unused (details)
  844. AMDGPU: Assume all amdhsa kernarg passed implicit arguments by default (details)
  845. [BasicAA] Add atomic mem intrinsic tests. (details)
  846. AMDGPU: Enable fixed function ABI by default (details)
  847. Revert "[DwarfDebug] Support emitting function-local declaration for a lexical block" (details)
  848. OpenMP: Un-xfail tests that pass now (details)
  849. Attributor: Fix typo in function name (details)
  850. [NewPM] Fix MergeFunctions scheduling (details)
  851. [NewPM] Test more options in pipeline test (NFC) (details)
  852. [CodeGen] Use range-based for loops (NFC) (details)
  853. [llvm-c] Avoid deprecated APIs in tests (details)
  854. [XRay] fix more -Wformat warnings (details)
  855. Windows: support `DoLoadImage` (details)
  856. [flang] Fix folding of EXPONENT() intrinsic function (details)
  857. [InstSimplify] Add logic 'or' fold to -1 (details)
  858. [clang-format][NFC] Prefer pass by reference (details)
  859. [clang-format][NFC] Rename variable so no shadowing happens (details)
  860. [clang-format][NFC] Merge two calls of isOneOf (details)
  861. [clang-format][NFC] Reorder conditions (details)
  862. [clang-format][NFC] Use range based for (details)
  863. [clang-format][NFC] Move static variable in scope (details)
  864. [clang-format][NFC] Early return when nothing to do (details)
  865. [clang-format][NFC] Use range based for for fake l parens (details)
  866. [clang-format][NFC] Use member directly (details)
  867. [mlir] Add InlinerInterface to bufferization dialect (details)
  868. [MemoryLocation] Support missing atomic intrinsics in getForArg. (details)
  869. [PowerPC] Drop stdlib paths in freestanding tests (details)
  870. [flang] OPEN(RECL=) handling for sequential formatted I/O (details)
  871. [lldb] Fix a warning (details)
  872. [Support] Use final filename for Caching buffer identifier (details)
  873. [gn build] port f1585a4b47cc (details)
  874. Fix `-Wunused-variable` warning. NFC. (details)
  875. [llvm-jitlink] Allow -entry option to find hidden symbols. (details)
  876. [JITLink][ELF][x86-64] Use the right edge-naming function for debugging output. (details)
  877. [DAG] Create fptoui.sat from clamped fptosi (details)
  878. [JITLink][ELF][x86-64] Adjust addends for R_X86_64_PLT32 relocations. (details)
  879. [MemoryLocation] Use getForArgument in getForSource/getForDest. (NFC) (details)
  880. [X86][FP16] Replace vXi16 to vXf16 instead of v8f16 (details)
  881. Reland [DwarfDebug] Move emission of global vars, types and imports to endModule() (details)
  882. Reland [DwarfDebug] Support emitting function-local declaration for a lexical block (details)
  883. [VPlan] Separate ctors for VPWidenIntOrFpInduction. (NFC) (details)
  884. [libc++][ci] Disable generating debug information. (details)
  885. Microsoft's floating-point to_chars powered by Ryu and Ryu Printf (details)
  886. [gn build] (semiautomaticallly) port a8025e06fc0f (libc++ ryu) (details)
  887. Remove duplicate comment (details)
  888. Follow-up for D113741: fix DebugInfo/Generic/lexical_block_static.ll on MachO (details)
  889. [InstCombine] add tests for icmp with mul op with known bits; NFC (details)
  890. [InstSimplify] add/adjust tests for 'or' logic fold; NFC (details)
  891. [InstSimplify] fix logic fold of 'or' for vectors (details)
  892. [llvm] Use range-based for loops (NFC) (details)
  893. [libc++][doc] Update format implementation status. (details)
  894. [gn build] port a8025e06fc0f more (details)
  895. [libc++] Fix an include-guard comment. NFC. (details)
  896. [libc++] Add missing `#pragma GCC system_header` in a few headers. NFCI. (details)
  897. [libc++] Adjust space-alignment in module.modulemap. NFC. (details)
  898. Fix `-Wunused-variable` warning. NFC. (details)
  899. Fix TOSA verifier to emit verbose errors (details)
  900. Test commit to check access. (details)
  901. [CMake] Installable find modules for terminfo and libffi (details)
  902. [lld-macho] Unreferenced weak dylib symbols shouldn't fetch archive symbols (details)
  903. [GlobalISel] Allow DBG_VALUE to use undefined vregs before LiveDebugValues. (details)
  904. [libc++] Remove space-alignment of trailing braces in module.modulemap. NFC. (details)
  905. [libc++][NFC] Disable clang-tidy checks (details)
  906. [PowerPC] Implement general back2back fusion (details)
  907. [Docs] Fix a link (details)
  908. [llvm] [Debuginfo] Debuginfod client library. (details)
  909. Revert "[llvm] [Debuginfo] Debuginfod client library." (details)
  910. [CSKY] Add compressed instruction mapping between 32-bit and 16-bit instruction (details)
  911. [clang-format] Adjust braced list detection (details)
  912. [mlir][linalg] Pad independent of application order (NFC). (details)
  913. [mlir][Vector] Support 0-D vectors in `ConstantMaskOp` (details)
  914. [llvm-c] Add header deprecations (details)
  915. [mlir][linalg][bufferize][NFC] Collect equivalent FuncOp BBArgs in PostAnalysisStep (details)
  916. [mlir] Add default implementations for methods in `TilingInterface`. (details)
  917. [WebAssembly] Implementation of intrinsic for ref.null and HeapType removal (details)
  918. [mlir][linalg][bufferize] Remove buffer equivalence from bufferize (details)
  919. [analyzer] Ignore flex generated files (details)
  920. [mlir][linalg][bufferize][NFC] Utilize isWritable for FuncOps (details)
  921. [clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block (details)
  922. [VE] Support multiple architectures installation (details)
  923. [NFC][LICM] Update the comment in the scalar-promote.ll (details)
  924. [ARM] Add a vrinta.f16.f16 alias (details)
  925. [VE] Change to use R_VE_SREL32 (details)
  926. [ARM] Implement setjmp BTI placement for PACBTI-M (details)
  927. [VE] Support VE specific data directives in MC (details)
  928. [clang][docs][dataflow] Added an introduction to dataflow analysis (details)
  929. [LV] Pass compare predicate to getCmpSelInstrCost. (details)
  930. tsan: disable dlopen_static_tls.cpp test on powerpc64 (details)
  931. [Clang] Ignore CLANG_DEFAULT_LINKER for custom-linker toolchains (details)
  932. [mlir] Avoid needlessly converting LLVM named structs with compatible elements (details)
  933. [DSE] Add additional memset_chk tests. (details)
  934. [openmp][amdgpu] Disable tests requiring USM on amdgcn (details)
  935. [lldb] [Process/elf-core] Disable for FreeBSD vmcores (details)
  936. [lldb] Remove extern "C" from lldb-swig-lua interface (details)
  937. [lldb/lua] Add a file that should have been a part of a52af6d3 (details)
  938. [lldb/qemu] Add support for pty redirection (details)
  939. [MC] Add emitXCOFFSymbolLinkageWithVisibility to MCNullStreamer (details)
  940. [fir] Add fircg.ext_array_coor conversion (details)
  941. [Coroutines] Handle CallBrInst in SalvageDebugInfo (details)
  942. Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible. (details)
  943. [llvm-c] Avoid use of deprecated APIs in unit tests (details)
  944. [ARM][clang] Add back branch protection tests (details)
  945. [openmp] Enable tests on new devicertl on amdgpu (details)
  946. Revert "[Clang] Ignore CLANG_DEFAULT_LINKER for custom-linker toolchains" (details)
  947. [libc++] Work around a Clang bug in transform_view, and regression-test. (details)
  948. [VP] getVPMemoryOpCost interface (details)
  949. [openmp] Run tests on both runtimes, independent of the default (details)
  950. [libomptarget] Add cmake variables to disable building the amdgpu or cuda plugins (details)
  951. [CodeGen] Use range-based for loops (NFC) (details)
  952. [AArch64][SVE] Fix ICE extracting fixedvec from scalable load (details)
  953. [openmp] Default to new rtl for amdgpu (details)
  954. ext-tsp basic block layout (details)
  955. [gn build] Port c68f71eb37c2 (details)
  956. Fix compilation of Google Test in C++20 mode (details)
  957. [OpenMP][FIX] Invalidate the SPMDCompatibilityTracker explicitly (details)
  958. [OpenMP] Make reduction functions SPMD compatible (details)
  959. [RISCV] Loosen some restrictions on lowering constant BUILD_VECTORs using vid.v. (details)
  960. Revert "[clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block" (details)
  961. Revert "Use VersionTuple for parsing versions in Triple, fixing issues that caused the original change to be reverted. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible." (details)
  962. [analyzer][solver] Fix assertion on (NonLoc, Op, Loc) expressions (details)
  963. Introduce _BitInt, deprecate _ExtInt (details)
  964. [llvm] [Debuginfo] Debuginfod client library. (details)
  965. clang-format: [JS] test case for numeric separators. (details)
  966. [SystemZ] Improve codegen for memset. (details)
  967. Update the status of N2412 in C (we do not implement large parts of it) (details)
  968. [gn build] (manually) port 4a16fe1369f3ab (debuginfod) (details)
  969. Speculatively fix the LLDB build bots from 6c75ab5f66b403f7ca67e86aeed3a58abe10570b (details)
  970. [LV] Check VPValue operand instead of Cost::isUniformAfterVec (NFC). (details)
  971. [libc++][NFC] Fix release note indentation (details)
  972. [SLP]Fix compiler crash when calculating extract cost for undefs. (details)
  973. [libc++] Fix the return value of max_size() (details)
  974. Fix a failing test case after 6c75ab5f66b403f7ca67e86aeed3a58abe10570b (details)
  975. [coro async] Disable lifetime.start sinking for ABI::Async and ABI::Retcon (details)
  976. Fixing this test which failed due to different warnings (details)
  977. Revert "[llvm] [Debuginfo] Debuginfod client library." (details)
  978. Revert "[gn build] (manually) port 4a16fe1369f3ab (debuginfod)" (details)
  979. [clang][ARM] only check -mtp=cp15 for non-asm sources (details)
  980. [clang][ASTImporter] Update lookup table correctly at deduction guides. (details)
  981. [X86] LowerRotate - fix assertion. NFC. (details)
  982. [coro async] Don't use lifetime.start based alloca localization for ABI.Async/ABI.Retcon (details)
  983. [mlir] Add CtPop to  MathOps with lowering to LLVM (details)
  984. [OpenMPIRBuilder] Implicitly defined control blocks. NFC. (details)
  985. Bazel: add new llvm-c/Deprecated.h header (details)
  986. [mlir] Improve async parallel for tests + fix typos (details)
  987. [formatters] Add a deque formatter for libstdcpp and fix the libcxx one (details)
  988. [formatters] Add a pointer and reference tests for a list and forward_list formatters for libstdcpp and libcxx (details)
  989. [HIP] Fix -fgpu-rdc for Windows (details)
  990. [ASan] Added asan_shadow_defines.h, which contatins shadow offset for various platforms. (details)
  991. [llvm] [Debuginfo] Debuginfod client library. (details)
  992. [mlir][sparse] Code cleanup for SparseTensorConversion (details)
  993. [llvm][Hexagon] Generalize VLIWResourceModel, VLIWMachineScheduler, and ConvergingVLIWScheduler (details)
  994. [CUDA][SPIRV] Use OpenCLKernel CC for CUDA -> SPIRV (details)
  995. Revert "[ASan] Added asan_shadow_defines.h, which contatins shadow offset for various platforms." (details)
  996. Reland "[gn build] (manually) port 4a16fe1369f3ab (debuginfod)" (details)
  997. [gn build] Port cc3bb8558018 (details)
  998. Enable pdbpagesize to allow support for PDB file sizes > 4GB (details)
  999. [lldb] Remove some trivial scoped timers (details)
  1000. [mlir][tosa] Resubmit add tosa.conv2d as tosa.fully_connected canonicalization (details)
  1001. Fix incorrect fallthrough in e4eb6216c2e (details)
  1002. Revert "ext-tsp basic block layout" (details)
  1003. [gn build] Port 3678326d2839 (details)
  1004. [lldb/plugins] Add arm64(e) support to ScriptedProcess (details)
  1005. [OpenMP][libomptarget] amdgpu plugin adds runpath for dependencies (details)
  1006. Tweak diagnostic text from e4eb6216c2e (details)
  1007. [tsan] Move tsan/rtl build rules into tsan/rtl/CMakeLists.txt (details)
  1008. [mlir][linalg][bufferize][NFC] Clean up BufferizationState (details)
  1009. [PowerPC][NFC] add cases for D114062 (details)
  1010. [RISCV] Add scheduling resources for Vector pseudo instructions. (details)
  1011. [NFC][MachineInstr] Rename some vars to conform to coding style (details)
  1012. [Support] [Debuginfod] Move HTTPClient to Debuginfod library. (details)
  1013. [mlir][tosa] Add tosa.depthwise_conv2d as tosa.mul canonicalization (details)
  1014. [Demangle] Add support for D special identifiers (details)
  1015. [Demangle] Add support for D function-local parent symbols (details)
  1016. [lldb/test] Fix InvalidScriptedThread windows test failure (details)
  1017. [MachineVerifier] Make TiedOpsRewritten computable in MIRParser (details)
  1018. [ELF] Do not report undefined weak references in shared libraries (details)
  1019. [ORC] Pad section start to account for alignment offset in MachO GDB JIT plugin. (details)
  1020. [NFC][MachineInstr] Pass-by-value DebugLoc in CreateMachineInstr (details)
  1021. [X86] Fix fentry handling in X86IndirectBranchTracking.cpp (details)
  1022. [mlir][sparse] Requiring emitCInterface parameter to be explicit (details)
  1023. [mlir][OpenMP] Added omp.atomic.read lowering (details)
  1024. [gn build] Port d9941f74549a (details)
Commit ee1bf186723abb933b2c337e589c5958167f3cbe by springerm
[mlir][SCF] Further simplify affine maps during `for-loop-canonicalization`

* Implement `FlatAffineConstraints::getConstantBound(EQ)`.
* Inject a simpler constraint for loops that have at most 1 iteration.
* Taking into account constant EQ bounds of FlatAffineConstraint dims/symbols during canonicalization of the resulting affine map in `canonicalizeMinMaxOp`.

Differential Revision: https://reviews.llvm.org/D114138
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
The file was modifiedmlir/test/Dialect/SCF/for-loop-canonicalization.mlir
Commit 25d173499effd978435e433196003f964293f8d9 by uday
[MLIR] Rename test/python/dialects/math.py -> math_dialect.py

Rename test/python/dialects/math.py -> math_dialect.py to avoid a
collision with a Python standard package of the same name. These test
scripts are run by path and are not part of a package. Python apparently
implicitly adds the containing directory to its PYTHONPATH. As such,
test scripts with common names run the risk of conflicting with global
names and resolution of an import for the latter happens to the former.

Differential Revision: https://reviews.llvm.org/D114568
The file was addedmlir/test/python/dialects/math_dialect.py
The file was removedmlir/test/python/dialects/math.py
Commit 371290dfd400c5c26843b9c127ae13968cafdf2e by i
[ELF] Remove unneeded DF_STATIC_TLS for EM_386 local-exec TLS

which is also untested.
The file was modifiedlld/ELF/Arch/X86.cpp
Commit 5922dd91f8db24c29d6ae3b1fd57d8b836e521bd by i
[ELF] Rename hasStaticTlsModel to hasTlsIe

and remove unneeded atomic.
The file was modifiedlld/ELF/Arch/Hexagon.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/Arch/X86.cpp
The file was modifiedlld/ELF/Arch/RISCV.cpp
The file was modifiedlld/ELF/Arch/X86_64.cpp
The file was modifiedlld/ELF/Config.h
Commit 6ca8fde226e907db13bc538e721af8724f0e92d0 by i
[ELF] Emit DF_STATIC_TLS only for -shared

This matches GNU ld and saves 2 words for executables.
The file was modifiedlld/test/ELF/x86-64-tls-ie.s
The file was modifiedlld/test/ELF/x86-64-static-tls-model.s
The file was modifiedlld/test/ELF/i386-tls-opt-iele-nopic.s
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit c0e3bb4d4ba3064c42fb8e1ee9f001235d9af04c by pavel
[lldb] Fix TestFileHandle.py

- remove the decorator which is no longer available in main
- remove dependence on revision number, which are not available in all
  builds
The file was modifiedlldb/test/API/python_api/file_handle/TestFileHandle.py
Commit 8804d08e9921b86eb96e993af5d753f63f3c8829 by 1.int32
Revert "[clang][AST] Check context of record in structural equivalence."

Revert commit 6b96b2a0bf65ff838d4dbf909a5120d4d1083e29 because Windows
test failure.
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
The file was modifiedclang/unittests/AST/StructuralEquivalenceTest.cpp
Commit 72e4f4a2a117f97118692857d91210fc62c066b0 by mydeveloperday
[clang-format] [PR47936] AfterControlStatement: MultiLine breaks AllowShortFunctionsOnASingleLine

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

Using the MultiLine setting for BraceWrapping.AfterControlStatement appears to disable AllowShortFunctionsOnASingleLine, even in cases without any control statements

Reviewed By: HazardyKnusperkeks, curdeius

Differential Revision: https://reviews.llvm.org/D114521
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/UnwrappedLineFormatter.cpp
Commit a5c2f7828796ce9c3e19e78fbd783fb0206b971d by springerm
[mlir][interfaces] Add insideMutuallyExclusiveRegions helper

Add a helper function to ControlFlowInterfaces for checking if two ops
are in mutually exclusive regions according to RegionBranchOpInterface.

Utilize this new helper in Linalg ComprehensiveBufferize. This makes the
analysis independent of the SCF dialect and generalizes it to other ops
that implement RegionBranchOpInterface.

Differential Revision: https://reviews.llvm.org/D114220
The file was addedmlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was modifiedmlir/lib/Interfaces/ControlFlowInterfaces.cpp
The file was modifiedmlir/unittests/Interfaces/CMakeLists.txt
Commit 467acf3b6ba27858801e8a7865a315455b92c0ee by ivan.butygin
[mlir][spirv] Float atomics should not imply Shader

Differential Revision: https://reviews.llvm.org/D114551
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
Commit cdd37e2e47f757d2130f741d8e720098bf920c40 by kadircet
[clangd] Disable hicpp-invalid-access-moved inside clangd
The file was modifiedclang-tools-extra/clangd/TidyProvider.cpp
Commit 8dae0b6b6c9a0256908820b9ef4bc04f0119666b by ivan.butygin
[mlir][spirv] arith::RemSIOp OpenCL lowering

Differential Revision: https://reviews.llvm.org/D114524
The file was modifiedmlir/test/Conversion/ArithmeticToSPIRV/arithmetic-to-spirv.mlir
The file was modifiedmlir/test/Conversion/MathToSPIRV/math-to-glsl-spirv.mlir
The file was modifiedmlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
The file was modifiedmlir/lib/Conversion/ArithmeticToSPIRV/ArithmeticToSPIRV.cpp
Commit 3e67cf21a19a0e8917bdbab6f0cecd4880f3fbe2 by tbaeder
[clang][driver] Add -fplugin-arg- to pass arguments to plugins

From GCC's manpage:
-fplugin-arg-name-key=value
   Define an argument called key with a value of value for the
   plugin called name.

Since we don't have a key-value pair similar to gcc's plugin_argument
struct, simply accept key=value here anyway and pass it along as-is to
plugins.

This translates to the already existing '-plugin-arg-pluginname arg'
that clang cc1 accepts.

There is an ambiguity here because in clang, both the plugin name
as well as the option name can contain dashes, so when e.g. passing

-fplugin-arg-foo-bar-foo

it is not clear whether the plugin is foo-bar and the option is foo,
or the plugin is foo and the option is bar-foo. GCC solves this by
interpreting all dashes as part of the option name. So dashes can't be
part of the plugin name in this case.

Differential Revision: https://reviews.llvm.org/D113250
The file was addedclang/test/Driver/plugin-driver-args.cpp
The file was modifiedclang/examples/CallSuperAttribute/CallSuperAttrInfo.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/docs/ClangPlugins.rst
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Frontend/plugin-call-super.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
Commit 3c228573bcb8833019ab443b6ef738514688c20a by pifon
Revert "[mlir][SCF] Further simplify affine maps during `for-loop-canonicalization`"

This reverts commit ee1bf186723abb933b2c337e589c5958167f3cbe.

It breaks IREE lowering. Reverting the commit for now while we
investigate what's going on.
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
The file was modifiedmlir/test/Dialect/SCF/for-loop-canonicalization.mlir
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
Commit 48107eaa07e26f9bc5b24af2d5351793cc64db46 by springerm
[mlir][linalg][bufferize][NFC] Move SCF interface impl to new build target

This makes ComprehensiveBufferize entirely independent of the SCF dialect.

Differential Revision: https://reviews.llvm.org/D114221
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.h
Commit 3a700cabdcbadb2a1a5961fd380a103cd7f867b3 by david.green
[SDAG] Allow Unknown sizes when refining MMO alignments. NFC

The changes in D113888 / 32b6c17b29079e7d altered the memory size of a
masked store, as it will store an unknown number of bytes not the full
vector size. We can have situations where the masked stores is legalized
and then turned to a normal store, as the mask is known to be all ones.
This creates a store with an unknown size MMO that was hitting this
assert.

The store created can be given a better size in a followup patch. This
currently adjusts the assert to handle unknown sizes.
The file was modifiedllvm/lib/CodeGen/MachineOperand.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_store.ll
Commit e2cad4df22a6a411e7f7fcbc9bff0bd789545136 by kadircet
[clangd] Add ObjC method support to prepareCallHierarchy

This fixes "textDocument/prepareCallHierarchy" in clangd for ObjC methods. Details at https://github.com/clangd/vscode-clangd/issues/247.

clangd uses Decl::isFunctionOrFunctionTemplate to check if the decl given in a prepareCallHierarchy request is eligible for prepareCallHierarchy. We change to use isFunctionOrMethod which includes functions and ObjC methods.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D114058
The file was modifiedclang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit ed7c1fb9b099193f0edafb58df2b2a91f561d6c2 by gysit
[mlir][linalg] Add backward slice filtering in hoist padding.

Adapt hoist padding to filter the backward slice before cloning the packing loop nest. The filtering removes all operations that are not used to index the hoisted pad tensor op and its extract slice op. The filtering is needed to support the more complex loop nests created after fusion. For example, fusing the producer of an output operand can added linalg ops and pad tensor ops to the backward slice. These operations have regions and currently prevent hoisting.

The following example demonstrates the effect of the newly introduced `dropNonIndexDependencies` method that filters the backward slice:
```
%source = linalg.fill(%cst, %arg0)
scf.for %i
  %unrelated = linalg.fill(%cst, %arg1)    // not used to index %source!
  scf.for %j (%arg2 = %unrelated)
    scf.for %k                             // not used to index %source!
      %ubi = affine.min #map(%i)
      %ubj = affine.min #map(%j)
      %slice = tensor.extract_slice %source [%i, %j] [%ubi, %ubj]
      %padded_slice = linalg.pad_tensor %slice
```
dropNonIndexDependencies(%padded_slice, %slice)
removes [scf.for %k, linalg.fill(%cst, %arg1)] from backwardSlice.

Depends On D114175

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114420
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
The file was modifiedmlir/test/Dialect/Linalg/pad-and-hoist.mlir
Commit fd723eaa9254c2cdad2afade2e3bf0c4064675c6 by gysit
[mlir][linalg] Limit hoist padding to constant paddings.

Limit hoist padding to pad tensor ops that depend only on a constant value. Supporting arbitrary padding values that depend on computations part of the backward slice to hoist require complex analysis to ensure the computation can be hoisted.

Depends On D114420

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114428
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
The file was modifiedmlir/test/Dialect/Linalg/pad-and-hoist.mlir
Commit 4b03906346a89b8c7e96b5ffe762183fb0fff7cd by gysit
[mlir][linalg] Perform checks early in hoist padding.

Instead of checking for unexpected operations (any operation with a region except for scf::For and `padTensorOp` or operations with a memory effect) while cloning the packing loop nest perform the checks early. Update `dropNonIndexDependencies` to check for unexpected operations. Additionally, check all of these operations have index type operands only.

Depends On D114428

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114438
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
The file was modifiedmlir/test/Dialect/Linalg/pad-and-hoist.mlir
Commit 43dc6d5d57d7e24d6d965ceac9fa9d292322d922 by gysit
[mlir][linalg] Cleanup hoisting test (NFC).

Rename the check prefixes to HOIST21 and HOIST32 to clarify the different flag configurations.

Depends On D114438

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114442
The file was modifiedmlir/test/Dialect/Linalg/pad-and-hoist.mlir
Commit 57470abc412520762ca35c6c34c235e548e7d0a6 by pifon
[mlir] Move memref.[tensor_load|buffer_cast|clone] to "bufferization" dialect.

https://llvm.discourse.group/t/rfc-dialect-for-bufferization-related-ops/4712

Differential Revision: https://reviews.llvm.org/D114552
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/PassDetail.h
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Vector/VectorTransferPermutationMapRewritePatterns.cpp
The file was modifiedmlir/lib/Dialect/SCF/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/PassDetail.h
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.td
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
The file was modifiedmlir/test/Transforms/finalizing-bufferize.mlir
The file was modifiedmlir/lib/Dialect/Shape/Transforms/PassDetail.h
The file was addedmlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/lib/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
The file was modifiedmlir/lib/Dialect/Arithmetic/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was addedmlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_1d.mlir
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRef.h
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp
The file was modifiedmlir/lib/Dialect/Shape/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Arithmetic/bufferize.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
The file was addedmlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_nd.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
The file was modifiedmlir/test/Dialect/Shape/bufferize.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_perm.mlir
The file was modifiedmlir/test/Dialect/Linalg/lower-pad-tensor.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_2d.mlir
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_affine.mlir
The file was modifiedmlir/test/Dialect/Standard/tensor-constant-bufferize.mlir
The file was addedmlir/test/Dialect/Bufferization/ops.mlir
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was modifiedmlir/lib/Transforms/BufferDeallocation.cpp
The file was modifiedmlir/docs/BufferDeallocationInternals.md
The file was modifiedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
The file was modifiedmlir/test/Dialect/Tensor/bufferize.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_kernels.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
The file was modifiedmlir/test/Dialect/MemRef/ops.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/dense.mlir
The file was addedmlir/test/Dialect/Bufferization/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/TensorConstantBufferize.cpp
The file was modifiedmlir/test/mlir-opt/commandline.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/conversion_sparse2dense.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp
The file was modifiedmlir/test/Dialect/Standard/bufferize.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.td
The file was addedmlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
The file was modifiedmlir/lib/Dialect/SCF/CMakeLists.txt
The file was modifiedmlir/test/Dialect/SCF/bufferize.mlir
The file was modifiedmlir/lib/Dialect/Arithmetic/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
The file was modifiedmlir/docs/Bufferization.md
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was addedmlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/test/Dialect/Standard/func-bufferize.mlir
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.td
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/AllocationOpInterface.h
The file was modifiedmlir/include/mlir/Dialect/Arithmetic/Transforms/Passes.td
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_3d.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_scalars.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
The file was modifiedmlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
The file was modifiedmlir/test/Transforms/buffer-deallocation.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit c94667a810e44c44fd355f9f014ffe161d75d761 by mydeveloperday
[clang-format] [PR52595] clang-format does not recognize rvalue references to array

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

missing space between `T(&&)` but not between `T (&` due to && being incorrectly thought of as `UnaryOperator`  rather than `PointerOrReference`

```
int operator()(T (&)[N]) { return 0; }
int operator()(T(&&)[N]) { return 1; }
```

Existing Unit tests are changed because actually I think they are originally incorrect, and are inconsistent with the (&) cases that are 4 or 5 lines above them.

Reviewed By: curdeius

Differential Revision: https://reviews.llvm.org/D114519
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit d44f2a6db2c71be04a588431a8ffb80d2d9e76f1 by mydeveloperday
[clang-format]NFC improve the comment to match the code

Missing from {D114519}
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 63b1e58f0738cc9977b47f947679ef5544808b73 by llvm-dev
[DAG] SimplifyDemandedBits - simplify rotl/rotr to shl/srl (REAPPLIED)

If we only demand bits from one half of a rotation pattern, see if we can simplify to a logical shift.

For the ARM/AArch64 rev16/32 patterns, I had to drop a fold to prevent srl(bswap()) -> rotr(bswap) -> srl(bswap) infinite loops. I've replaced this with an isel PatFrag which should do the same task.

Reapplied with fix for AArch64 rev patterns to matching the ARM fix.

https://alive2.llvm.org/ce/z/iroxki (rol -> shl by amt iff demanded bits has at least as many trailing zeros as the shift amount)
https://alive2.llvm.org/ce/z/4ez_U- (ror -> shl by revamt iff demanded bits has at least as many trailing zeros as the reverse shift amount)
https://alive2.llvm.org/ce/z/cD7dR- (ror -> lshr by amt iff demanded bits has at least as many leading zeros as the shift amount)
https://alive2.llvm.org/ce/z/_XGHtQ (rol -> lshr by revamt iff demanded bits has at least as many leading zeros as the reverse shift amount)

Differential Revision: https://reviews.llvm.org/D114354
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/X86/rotate_vec.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-256.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-512.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
Commit a6fedbf20c8f87061f333169120790e2c6f22806 by pavel
[lldb/gdb-remote] Remove initial pipe-draining workaround

This code, added in rL197579 (Dec 2013) is supposed to work around what
was presumably a qemu bug, where it would send unsolicited stop-reply
packets after the initial connection.

At present, qemu does not exhibit such behavior. Also, the 10ms delay
introduced by this code is sufficient to mask bugs in other stubs, but
it is not sufficient to *reliably* mask those bugs. This resulted in
flakyness in one of our stubs, which was (incorrectly) sending a +
packet at the start of the connection, resulting in a small-but-annoying
number of dropped connections.

Differential Revision: https://reviews.llvm.org/D114529
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
Commit 165545c7a431aa3682fd9468014771c1c5228226 by pavel
[lldb/gdb-remote] Ignore spurious ACK packets

Although I cannot find any mention of this in the specification, both
gdb and lldb agree on sending an initial + packet after establishing the
connection.

OTOH, gdbserver and lldb-server behavior is subtly different. While
lldb-server *expects* the initial ack, and drops the connection if it is
not received, gdbserver will just ignore a spurious ack at _any_ point
in the connection.

This patch changes lldb's behavior to match that of gdb. An ACK packet
is ignored at any point in the connection (except when expecting an ACK
packet, of course). This is inline with the "be strict in what you
generate, and lenient in what you accept" philosophy, and also enables
us to remove some special cases from the server code. I've extended the
same handling to NAK (-) packets, mainly because I don't see a reason to
treat them differently here.

(The background here is that we had a stub which was sending spurious
+ packets. This bug has since been fixed, but I think this change makes
sense nonetheless.)

Differential Revision: https://reviews.llvm.org/D114520
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteTestUtils.h
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationTest.cpp
The file was modifiedlldb/tools/lldb-server/lldb-platform.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h
Commit c2fe2b5a63bb7ec82d0a221bd144f6ce04661f90 by mydeveloperday
[clang-format] [C++20] [Module] clang-format couldn't recognize partitions

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

clang-format is butchering modules, this could easily become a barrier to entry for modules given clang-formats wide spread use.

Prevent the following from adding spaces around the  `:`  (cf was considering the ':' as an InheritanceColon)

Reviewed By: HazardyKnusperkeks, owenpan, ChuanqiXu

Differential Revision: https://reviews.llvm.org/D114151
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/lib/Format/UnwrappedLineParser.h
The file was modifiedclang/lib/Format/FormatToken.h
Commit 59e4a6708152b42a55653bd8a44a6e0781fd4caf by kbobyrev
[clangd] Move IncludeCleaner tracer to the actual computation

This way we won't get results with 0 ms for all the users with disabled
IncludeCleaner.
The file was modifiedclang-tools-extra/clangd/IncludeCleaner.cpp
Commit 7f7dac712694ed661b2e774573b9ee1f99208882 by zarko
[NFC][llvm] Inclusive language: reword uses of sanity test and check

Part of continuing work to use more inclusive language. Reworded uses
of sanity check and sanity test in llvm/test/
The file was modifiedllvm/test/CodeGen/RISCV/compress.ll
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/strip-sections.test
The file was modifiedllvm/test/Transforms/FunctionImport/funcimport_resolved.ll
The file was modifiedllvm/test/ThinLTO/X86/guid_collision.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest2.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32i-rv64i-float-double.ll
The file was modifiedllvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/shared-strtab-shstrtab.s
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/invalid-e_shoff.test
The file was modifiedllvm/test/MC/RISCV/rv32e-invalid.s
The file was modifiedllvm/test/CodeGen/RISCV/double-calling-conv.ll
The file was modifiedllvm/test/tools/llvm-symbolizer/relativenames.s
The file was modifiedllvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/single-function-call.ll
The file was modifiedllvm/test/Transforms/Inline/last-callsite.ll
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-symbols.test
The file was modifiedllvm/test/Transforms/DeadArgElim/returned.ll
The file was modifiedllvm/test/Transforms/SCCP/apfloat-basictest.ll
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/invalid-e_phoff.test
The file was modifiedllvm/test/CodeGen/X86/setuge.ll
The file was modifiedllvm/test/CodeGen/X86/mmx-arith.ll
The file was modifiedllvm/test/tools/llvm-readobj/COFF/arm64-win-error2.s
The file was modifiedllvm/test/Analysis/MemorySSA/function-mem-attrs.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hex-dump.test
The file was modifiedllvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/tail-merged-string-tables.test
The file was modifiedllvm/test/Transforms/IndVarSimplify/loop-predication.ll
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/minimal.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest.ll
The file was modifiedllvm/test/tools/llvm-ar/full-path-option.test
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest4.ll
The file was modifiedllvm/test/CodeGen/RISCV/compress-float.ll
The file was modifiedllvm/test/CodeGen/X86/cmov-into-branch.ll
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/phi.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest3.ll
The file was modifiedllvm/test/CodeGen/ARM/returned-ext.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/atomic.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32i-rv64i-half.ll
The file was modifiedllvm/test/MC/RISCV/rv32e-valid.s
The file was modifiedllvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
The file was modifiedllvm/test/tools/dsymutil/X86/reproducer.test
The file was modifiedllvm/test/CodeGen/X86/statepoint-stackmap-format.ll
The file was modifiedllvm/test/MC/X86/AlignedBundling/single-inst-bundling.s
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/strip-unneeded-all-symbols.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/no-strip-all.test
The file was modifiedllvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
The file was modifiedllvm/test/Transforms/Inline/cgscc-update.ll
The file was modifiedllvm/test/CodeGen/X86/codegen-prepare-replacephi.mir
The file was modifiedllvm/test/Bitcode/function-encoding-rel-operands.ll
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/basictest.ll
The file was modifiedllvm/test/tools/llvm-nm/format-bsd.test
The file was modifiedllvm/test/Transforms/InstCombine/gep-inbounds-null.ll
The file was modifiedllvm/test/ExecutionEngine/OrcLazy/minimal-throw-catch.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-non-integer.ll
The file was modifiedllvm/test/Transforms/SCCP/sccptest.ll
Commit 35c1e6ac1af0f3c61c756cb30a2c99d8775da4c6 by aqjune
[MLIR] [docs] Fix misguided examples in memref.subview operation.

The examples in `memref.subview` operation are misguided in that subview's strides operands mean "memref-rank number of strides that compose multiplicatively with the base memref strides in each dimension.".
So the below examples should be changed from `Strides: [64, 4, 1]` to `Strides: [1, 1, 1]`

Before changes
```
// Subview with constant offsets, sizes and strides.
%1 = memref.subview %0[0, 2, 0][4, 4, 4][64, 4, 1]
  : memref<8x16x4xf32, (d0, d1, d2) -> (d0 * 64 + d1 * 4 + d2)> to
    memref<4x4x4xf32, (d0, d1, d2) -> (d0 * 64 + d1 * 4 + d2 + 8)>
```

After changes
```
// Subview with constant offsets, sizes and strides.
%1 = memref.subview %0[0, 2, 0][4, 4, 4][1, 1, 1]
  : memref<8x16x4xf32, (d0, d1, d2) -> (d0 * 64 + d1 * 4 + d2)> to
    memref<4x4x4xf32, (d0, d1, d2) -> (d0 * 64 + d1 * 4 + d2 + 8)>
```

Also I fixed some syntax issues in docs related with memref layout map and added detailed explanation in subview rank reducing case.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D114500
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Commit 4675a1654cb3a3a528ceb4021d94c6cbe143b64a by a.bataev
Revert "[SLP]Improve analysis/emission of vector operands for alternate nodes."

This reverts commit 496254cf802a21e1967b61dec48017b8ec831574 to fix
compiler crashes reported in D114101#3152982.
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/remark_alternate.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
Commit a25e08dd3ca265c0150a7b49537fee26b269c446 by llvm-dev
[PowerPC/ Regenerate fp128-bitcast-after-operation test checks
The file was modifiedllvm/test/CodeGen/PowerPC/fp128-bitcast-after-operation.ll
Commit 6eca1957eeee0a0c12c4b7156f58b184630e2118 by tpopp
Don't store nullptrs in mlir::FuncOp::getAll*Attrs' result

These methods for results and arguments would create an ArrayRef full
of nullptrs when there were no argument attributes. This is problematic
because this result could not be passed to the FuncOp::build creator
without causing a segfault. Now the list will have empty attributes.

Differential Revision: https://reviews.llvm.org/D114358
The file was modifiedmlir/include/mlir/IR/FunctionSupport.h
Commit 36cb7477d1d43de1d97a4c2b4ba0eb5ae29cbafd by AlokKumar.Sharma
[clang][OpenMP][DebugInfo] Debug support for private variables inside an OpenMP task construct

Currently variables appearing inside private/firstprivate/lastprivate
clause of openmp task construct are not visible inside lldb debugger.
This is because compiler does not generate debug info for it.

Please consider the testcase debug_private.c attached with patch.

```
   28   #pragma omp task shared(res) private(priv1, priv2) firstprivate(fpriv)
   29       {
   30         priv1 = n;
   31         priv2 = n + 2;
   32         printf("Task n=%d,priv1=%d,priv2=%d,fpriv=%d\n",n,priv1,priv2,fpriv);
   33
-> 34         res = priv1 + priv2 + fpriv + foo(n - 1);
   35       }
   36   #pragma omp taskwait
   37       return res;
(lldb) p priv1
error: <user expression 0>:1:1: use of undeclared identifier 'priv1'
priv1
^
(lldb) p priv2
error: <user expression 1>:1:1: use of undeclared identifier 'priv2'
priv2
^
(lldb) p fpriv
error: <user expression 2>:1:1: use of undeclared identifier 'fpriv'
fpriv
^
```

After the current patch, lldb is able to show the variables

```
(lldb) p priv1
(int) $0 = 10
(lldb) p priv2
(int) $1 = 12
(lldb) p fpriv
(int) $2 = 14
```

Reviewed By: djtodoro

Differential Revision: https://reviews.llvm.org/D114504
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was addedclang/test/OpenMP/debug_private.c
Commit e6cca3125dec12fd4d2ac2cd8081a9b7654dbc93 by david.green
[ARM] Add fptosi.sat variants of the fixed point vcvt tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt-float-to-fixed.ll
Commit 102d2a8a99057b2f54ca97661f862e33d055171a by jeremy.morse
[DebugInfo][InstrRef] Track variable assignments in out-of-scope blocks

DBG_INSTR_REF's and  DBG_VALUE's can end up in blocks that aren't in the
lexical scope of their variable. It's arguable as to what we should do
about this, however VarLocBasedLDV permits such variable locations to be
propagated, so let's allow it in InstrRefBasedLDV.

It's necessary for the modified test to work.

Differential Revision: https://reviews.llvm.org/D114578
The file was modifiedllvm/test/DebugInfo/X86/stack-value-dwarf2.ll
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit 890e3c55b5d4900eadda98b7a20c74cdd0fa4507 by zarko
[llvm][ubsan] Inclusive language: replace use of blacklist HandleLLVMOptions.cmake but use old option name

Retry at https://reviews.llvm.org/D113689, this time with using the old option name
to support older versions of clang.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D114033
The file was addedllvm/utils/sanitizers/ubsan_ignorelist.txt
The file was removedllvm/utils/sanitizers/ubsan_blacklist.txt
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit fbb61adb70a36c95568dd9d6ebf464c432767eff by david.green
[ARM] Convert fptoi.sat to fixed point multiply

This is a very small addition to the existing MVE fixed point vcvt code
to also create them from FP_TO_SINT_SAT and FP_TO_UINT_SAT nodes, which
should be equally valid for native saturating converts under MVE.

Differential Revision: https://reviews.llvm.org/D114360
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt-float-to-fixed.ll
Commit d841086ae62118408e4211685c3e2f5fff0021b5 by dvyukov
tsan: enable -msse4 when compiling tests

Vector SSE accesses make compiler emit __tsan_[unaligned_]read/write16 callbacks.
Make it possible to test these.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114591
The file was modifiedcompiler-rt/test/tsan/CMakeLists.txt
Commit 5cac2b956bcf42495a2253443502fb73dbb43c3d by dvyukov
tsan: add a test for vector memory accesses

Add a basic test that checks races between vector/non-vector
read/write accesses of different sizes/offsets in different orders.
This gives coverage of __tsan_read/write16 callbacks.

Depends on D114591.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114592
The file was modifiedcompiler-rt/test/tsan/test.h
The file was addedcompiler-rt/test/tsan/vector_race.cpp
Commit debac0ef37d865d3a61d9abacdd096a676f1819d by dvyukov
tsan: add a benchmark for vector memory accesses

Depends on D114592.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114593
The file was modifiedcompiler-rt/test/tsan/bench_memory_access.cpp
Commit b584741d06ef01b7497d58776e225aa189528968 by dvyukov
tsan: fix Java heap block begin in reports

We currently use a wrong value for heap block
(only works for C++, but not for Java).
Use the correct value (we already computed it before, just forgot to use).

Depends on D114593.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114595
The file was modifiedcompiler-rt/test/tsan/java_symbolization.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
Commit 976bb4724c04ef7570d49a0639bba270128bd72c by dvyukov
tsan: fix another potential deadlock in fork

Linux/fork_deadlock.cpp currently hangs in debug mode in the following stack.
Disable memory access handling in OnUserAlloc/Free around fork.

1  0x000000000042c54b in __sanitizer::internal_sched_yield () at sanitizer_linux.cpp:452
2  0x000000000042da15 in __sanitizer::StaticSpinMutex::LockSlow (this=0x57ef02 <__sanitizer::internal_allocator_cache_mu>) at sanitizer_mutex.cpp:24
3  0x0000000000423927 in __sanitizer::StaticSpinMutex::Lock (this=0x57ef02 <__sanitizer::internal_allocator_cache_mu>) at sanitizer_mutex.h:32
4  0x000000000042354c in __sanitizer::GenericScopedLock<__sanitizer::StaticSpinMutex>::GenericScopedLock (this=this@entry=0x7ffcabfca0b8, mu=0x1) at sanitizer_mutex.h:367
5  0x0000000000423653 in __sanitizer::RawInternalAlloc (size=size@entry=72, cache=cache@entry=0x0, alignment=8, alignment@entry=0) at sanitizer_allocator.cpp:52
6  0x00000000004235e9 in __sanitizer::InternalAlloc (size=size@entry=72, cache=0x1, cache@entry=0x0, alignment=4, alignment@entry=0) at sanitizer_allocator.cpp:86
7  0x000000000043aa15 in __sanitizer::SymbolizedStack::New (addr=4802655) at sanitizer_symbolizer.cpp:45
8  0x000000000043b353 in __sanitizer::Symbolizer::SymbolizePC (this=0x7f578b77a028, addr=4802655) at sanitizer_symbolizer_libcdep.cpp:90
9  0x0000000000439dbe in __sanitizer::(anonymous namespace)::StackTraceTextPrinter::ProcessAddressFrames (this=this@entry=0x7ffcabfca208, pc=4802655) at sanitizer_stacktrace_libcdep.cpp:36
10 0x0000000000439c89 in __sanitizer::StackTrace::PrintTo (this=this@entry=0x7ffcabfca2a0, output=output@entry=0x7ffcabfca260) at sanitizer_stacktrace_libcdep.cpp:109
11 0x0000000000439fe0 in __sanitizer::StackTrace::Print (this=0x18) at sanitizer_stacktrace_libcdep.cpp:132
12 0x0000000000495359 in __sanitizer::PrintMutexPC (pc=4802656) at tsan_rtl.cpp:774
13 0x000000000042e0e4 in __sanitizer::InternalDeadlockDetector::Lock (this=0x7f578b1ca740, type=type@entry=2, pc=pc@entry=4371612) at sanitizer_mutex.cpp:177
14 0x000000000042df65 in __sanitizer::CheckedMutex::LockImpl (this=<optimized out>, pc=4) at sanitizer_mutex.cpp:218
15 0x000000000042bc95 in __sanitizer::CheckedMutex::Lock (this=0x600001000000) at sanitizer_mutex.h:127
16 __sanitizer::Mutex::Lock (this=0x600001000000) at sanitizer_mutex.h:165
17 0x000000000042b49c in __sanitizer::GenericScopedLock<__sanitizer::Mutex>::GenericScopedLock (this=this@entry=0x7ffcabfca370, mu=0x1) at sanitizer_mutex.h:367
18 0x000000000049504f in __tsan::TraceSwitch (thr=0x7f578b1ca980) at tsan_rtl.cpp:656
19 0x000000000049523e in __tsan_trace_switch () at tsan_rtl.cpp:683
20 0x0000000000499862 in __tsan::TraceAddEvent (thr=0x7f578b1ca980, fs=..., typ=__tsan::EventTypeMop, addr=4499472) at tsan_rtl.h:624
21 __tsan::MemoryAccessRange (thr=0x7f578b1ca980, pc=4499472, addr=135257110102784, size=size@entry=16, is_write=true) at tsan_rtl_access.cpp:563
22 0x000000000049853a in __tsan::MemoryRangeFreed (thr=thr@entry=0x7f578b1ca980, pc=pc@entry=4499472, addr=addr@entry=135257110102784, size=16) at tsan_rtl_access.cpp:487
23 0x000000000048f6bf in __tsan::OnUserFree (thr=thr@entry=0x7f578b1ca980, pc=pc@entry=4499472, p=p@entry=135257110102784, write=true) at tsan_mman.cpp:260
24 0x000000000048f61f in __tsan::user_free (thr=thr@entry=0x7f578b1ca980, pc=4499472, p=p@entry=0x7b0400004300, signal=true) at tsan_mman.cpp:213
25 0x000000000044a820 in __interceptor_free (p=0x7b0400004300) at tsan_interceptors_posix.cpp:708
26 0x00000000004ad599 in alloc_free_blocks () at fork_deadlock.cpp:25
27 __tsan_test_only_on_fork () at fork_deadlock.cpp:32
28 0x0000000000494870 in __tsan::ForkBefore (thr=0x7f578b1ca980, pc=pc@entry=4904437) at tsan_rtl.cpp:510
29 0x000000000046fcb4 in syscall_pre_fork (pc=1) at tsan_interceptors_posix.cpp:2577
30 0x000000000046fc9b in __sanitizer_syscall_pre_impl_fork () at sanitizer_common_syscalls.inc:3094
31 0x00000000004ad5f5 in myfork () at syscall.h:9
32 main () at fork_deadlock.cpp:46

Depends on D114595.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114597
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
Commit 68e7e76a9be022427e572101cde4e00203c9af46 by joeloser93
[libc++] Fix constraints for string_view's iterator/sentinel constructor

The `string_view` constructor taking an iterator/sentinel uses concepts
instead of type traits like the Standard states. Using `same_as` instead
of `is_same_v` should be harmless. Prefer `std::is_same_v` instead which is
cheaper to compile. Replace `convertible_to` with `is_convertible_v` as
well.

This observation came up while working on
https://reviews.llvm.org/D113161

Differential Revision: https://reviews.llvm.org/D114561
The file was modifiedlibcxx/include/string_view
Commit 3e7452a812fa06c5eaae7d089891489222417e92 by joeloser93
[libc++] Avoid overload resolution in path comparison operators

Rework `std::filesystem::path::operator==` and friends to avoid overload
resolution and atomic constraint caching issues shown from
https://reviews.llvm.org/D113161.

Always call `__compare(string_view)` from the comparison operators which avoids
overload resolution.

Differential Revision: https://reviews.llvm.org/D114570
The file was modifiedlibcxx/include/filesystem
Commit bfd5dd1568430a6c1500ed400c4de6028f6a2f3d by kazu
[llvm] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
The file was modifiedllvm/lib/CodeGen/DeadMachineInstructionElim.cpp
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
The file was modifiedllvm/lib/CodeGen/LiveRangeEdit.cpp
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/lib/CodeGen/LocalStackSlotAllocation.cpp
Commit c3dc6b081da6ba503e67d260033f81f61eb38ea3 by quinn.pham
[NFC][clang-tools-extra] Inclusive language: replace master with main

[NFC] As part of using inclusive language within the llvm project, this patch
replaces master with main in `SubModule2.h`.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D114100
The file was modifiedclang-tools-extra/test/modularize/SubModule2.h
Commit 71a7c55f0f021b04b9a7303d0cd391b9161cf303 by Daniel.McIntosh
Revert "[ThreadPool] Support returning futures with results."

This reverts commit 6149e57dc1313d32c85524f8009a1249e0b8f4d1.

The offending commit broke building with LLVM_ENABLE_THREADS=OFF.
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
The file was modifiedllvm/unittests/Support/ThreadPool.cpp
The file was modifiedllvm/lib/Support/ThreadPool.cpp
Commit 66d4ce7e26a5ab00f7e4946b6e1bac8f805010fa by dvyukov
tsan: new runtime (v3)

This change switches tsan to the new runtime which features:
- 2x smaller shadow memory (2x of app memory)
- faster fully vectorized race detection
- small fixed-size vector clocks (512b)
- fast vectorized vector clock operations
- unlimited number of alive threads/goroutimes

Depends on D112602.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D112603
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_flags_test.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_shadow.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
The file was modifiedcompiler-rt/test/tsan/free_race2.c
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_trace.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.h
The file was modifiedcompiler-rt/test/tsan/mutexset7.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.h
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/go/build.bat
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.inc
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
The file was modifiedcompiler-rt/lib/tsan/check_analyze.sh
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/test/tsan/memcpy_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/test/tsan/memcmp_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.cpp
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was removedcompiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp
The file was modifiedcompiler-rt/test/tsan/bench_threads.cpp
Commit 1db1cb028db5f8af3a5bd5c264991791ae55f5f8 by lei
[CMake] Add new cmake option to control adding comments in GenDAGISel

Add new cmake option `LLVM_OMIT_DAGISEL_COMMENTS` to control adding
of comments in GenDAGISel for none debug builds

Ref: https://reviews.llvm.org/D78884

Reviewed By: nemanjai, MaskRay, #powerpc

Differential Revision: https://reviews.llvm.org/D114122
The file was modifiedllvm/cmake/modules/TableGen.cmake
The file was modifiedllvm/CMakeLists.txt
Commit 151a7dafd31683c8db933a6a03e305184e1218f9 by Louis Dionne
[libc++] Fix ssize test that made an assumption about ptrdiff_t being 'long'

On some platforms like armv7m, the size() method of containers returns
unsigned long, while ptrdiff_t is just int. Hence, std::ssize_t ends up
being long, which is not the same as ptrdiff_t. This is usually not an
issue because std::ptrdiff_t is long, so everything works out, but it
breaks on some more exotic architectures.

Differential Revision: https://reviews.llvm.org/D114563
The file was modifiedlibcxx/test/std/iterators/iterator.container/ssize.pass.cpp
Commit 1aab5e653d2cf8b147748d014c5fb513a4670418 by kosov.pavel
[LLDB] Provide target specific directories to libclang

On Linux some C++ and C include files reside in target specific directories, like /usr/include/x86_64-linux-gnu.
Patch adds them to libclang, so LLDB jitter has more chances to compile expression.

OS Laboratory. Huawei Russian Research Institute. Saint-Petersburg

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D110827
The file was modifiedlldb/unittests/Expression/CppModuleConfigurationTest.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
Commit 34303d3db78fc62c74ff47557d07e4dac5c8c2d4 by quinn.pham
[NFC][llvm] Inclusive language: replace master with main in dbg-call-site-spilled-arg.mir

[NFC] As part of using inclusive language within the llvm project, this patch
replaces master with main in `dbg-call-site-spilled-arg.mir`.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D114097
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir
Commit 150681f2f3220ee6e00377cdcc0c97ee0abc63ba by amy.kwan1
[PowerPC] Prevent the optimizer from producing wide vector types in IR.

This patch prevents the optimizer from producing wide vectors in the IR,
specifically the MMA types (v256i1, v512i1). The idea is that on Power, we only
want to be producing these types only if the vector_pair and vector_quad types
are used specifically.

To prevent the optimizer from producing these types in the IR,
vectorCostAdjustmentFactor() is updated to return an instruction cost factor or
an invalid instruction cost if the current type is that of an MMA type. An
invalid instruction cost returned by this function signifies to other cost
computing functions to return the maximum instruction cost to inform the
optimizer that producing these types within the IR is expensive, and should not
be produced in the first place.

This issue was first seen in the test case included within this patch.

Differential Revision: https://reviews.llvm.org/D113900
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was addedllvm/test/Transforms/PGOProfile/ppc-prevent-mma-types.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
Commit c89fc1eec3fd3cc358c7e350feb2f69ecaf0e63c by uday
[MLIR] NFC. Rename MLIR CAPI ExecutionEngine target for consistency

Rename MLIR CAPI ExecutionEngine target for consistency:
MLIRCEXECUTIONENGINE -> MLIRCAPIExecutionEngine in line with other
targets.

Differential Revision: https://reviews.llvm.org/D114596
The file was modifiedmlir/python/CMakeLists.txt
The file was modifiedmlir/lib/CAPI/ExecutionEngine/CMakeLists.txt
The file was modifiedmlir/test/CAPI/CMakeLists.txt
Commit 5c162ec54520114afd9ff0a53bcc5876747d4e94 by quinn.pham
[NFC][compiler-rt] Inclusive language: replace master/slave with primary/secondary

[NFC] As part of using inclusive language within the llvm project, this patch
replaces master and slave with primary and secondary respectively in
`sanitizer_mac.cpp`.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D114255
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit 3c8666ef9a21e4646e428e4c8b5c6d4453042047 by mydeveloperday
[clang-format] NFC update LLVM overall clang-formatted status

Whilst the % clang-formatted remains the same, the number
of files added to the LLVM project has risen by almost by 259.

- 190 of them have been added clang-format clean.
- 69 files have been added unformatted. (lit tests should be excluded from this number)

- 291 files have been added to the list of files that are clang-format clean
- 101 files have either become unclean or have been removed

As this updates the clang-formatted-files there are now
8139 files that are clean which we can be used as a regression test when making changes to clang-format.

```
clang-format -verbose -n -files ./clang/docs/tools/clang-formatted-files.txt
```
The file was modifiedclang/docs/ClangFormattedStatus.rst
The file was modifiedclang/docs/tools/clang-formatted-files.txt
Commit a712b661eb94cd6f72abf024fe4b6d6e677cb1bd by quinn.pham
[NFC][llvm] Inclusive language: replace master in llvm docs

[NFC] As part of using inclusive language within the llvm project, this patch
removes instances of master in these files.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D114187
The file was modifiedllvm/docs/PDB/index.rst
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedllvm/docs/Projects.rst
Commit 813d486cbc99836ea4e75996e2667cb38f7113a8 by mydeveloperday
[clang-format] Extend AllowShortBlocksOnASingleLine for else blocks

Extend AllowShortBlocksOnASingleLine for else blocks. See https://bugs.llvm.org/show_bug.cgi?id=49722

Reviewed By: HazardyKnusperkeks, owenpan, MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D114320
The file was modifiedclang/lib/Format/UnwrappedLineFormatter.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 8cb1af73c6171be009bf06b4a0d569d3882923ad by flo
Recommit [ThreadPool] Support returning futures with results.

This reverts commit 71a7c55f0f021b04b9a7303d0cd391b9161cf303.

The revert broken building llvm-reduce and it is not clear it fixes an
issue with LLVM_ENABLE_THREADS=OFF.

See discussion in https://reviews.llvm.org/D114183 for more details.
The file was modifiedllvm/unittests/Support/ThreadPool.cpp
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
The file was modifiedllvm/lib/Support/ThreadPool.cpp
Commit 0796869e4e1e517a0f77f8e84d94e1e3525b1061 by Jake.Egan
[AIX] Disable unsupported offloading gpu tests

GPUs are not supported on AIX, so this patch sets these tests as unsupported.

Reviewed By: stevewan

Differential Revision: https://reviews.llvm.org/D114381
The file was modifiedclang/test/Driver/clang-offload-bundler.c
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/clang-offload-bundler-asserts-on.c
Commit cc311a155aa9e3d7ba67ec6d65948952a314c307 by nicolas.vasilache
[mlir][Vector] Support 0-D vectors in `VectorPrintOpConversion`

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114549
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-0-d-vectors.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Commit bc41653a1f289a63a1472b7364437515c9659f77 by flo
[ThreadPool] Use auto again for future with ENABLE_THREADS=Off.

This fixes a build failure with LLVM_ENABLE_THREADS=Off.
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
Commit ebfeeec4c4bcc4373e5d5dfaff7ee75959a7c931 by Louis Dionne
[libunwind] Fix testing with sanitizers enabled

When testing with sanitizers enabled, we need to link against a plethora
of system libraries. Using `-nodefaultlibs` like we used to breaks this,
and we would have to add all these system libraries manually, which is
not portable and error prone. Instead, stop using `-nodefaultlibs` so
that we get the libraries added by default by the compiler.

The only caveat with this approach is that we are now relying on the
fact that `-L <path-to-local-libunwind>` will cause the just built
libunwind to be selected before the system implementation (either of
libunwind or libgcc_s.so), which is somewhat fragile.

This patch also turns the 32 bit multilib build into a soft failure
since we are in the process of removing it anyway, see D114473 for
details. This patch is incompatible with the 32 bit multilib build
because Ubuntu does not provide a proper libstdc++ for 32 bits, and
that is required when running with sanitizers enabled.

Differential Revision: https://reviews.llvm.org/D114385
The file was modifiedlibunwind/test/signal_frame.pass.cpp
The file was modifiedlibunwind/test/configs/llvm-libunwind-shared.cfg.in
The file was modifiedlibunwind/test/libunwind_02.pass.cpp
The file was modifiedlibunwind/test/libunwind_01.pass.cpp
The file was modifiedlibunwind/test/unwind_leaffunction.pass.cpp
The file was modifiedlibunwind/test/unw_getcontext.pass.cpp
The file was modifiedlibunwind/test/forceunwind.pass.cpp
The file was modifiedlibunwind/test/configs/llvm-libunwind-static.cfg.in
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibunwind/test/remember_state_leak.pass.sh.s
The file was modifiedlibunwind/test/signal_unwind.pass.cpp
The file was modifiedlibunwind/test/frameheadercache_test.pass.cpp
Commit 3107081e941379bf62c02543c7396ad01349edc4 by jeremy.morse
[DebugInfo][InstrRef] Avoid some quadratic behaviour in LiveDebugVariables

This is a performance patch -- LiveDebugVariables can behave quadratically
if a lot of debug instructions are inserted back into the same place, and
we have to repeatedly step-over hte ones we've already inserted.

To get around it, whenever we insert a debug instruction at a slot index,
check whether there are more debug instructions to insert at this point,
and insert them too. That avoids the repeated lookup and stepping through.
It relies on the container for unlinked debug instructions being recorded
in-order, which is how LiveDebugVariables currently does it.

Differential Revision: https://reviews.llvm.org/D114587
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
Commit b90eef30048dfd1976b01dfdfec66af911721288 by quinn.pham
[NFC][flang] Inclusive language: remove instances of master

[NFC] As part of using inclusive language within the llvm project, this patch:
- replaces master with main in C++style.md to match the renaming of the master
branch,
- removes master from `FortranIR.md` where it is superfluous,
- renames a logical variable in `pre-fir-tree04.f90` containing master.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D113923
The file was modifiedflang/test/Lower/pre-fir-tree04.f90
The file was modifiedflang/docs/C++style.md
The file was modifiedflang/docs/FortranIR.md
Commit b11c66accfb1d78324278072ed0069d3bbe835cd by quinn.pham
[NFC] Inclusive language: rename master flag to main flag

[NFC] As part of using inclusive language within the llvm project, this patch
renames master flag to main flag in these comments.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D114090
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 5162b558d8c0b542e752b037e72a69d5fd51eb1e by zarko
[clang][NFC] Inclusive terms: rename AccessDeclContextSanity to AccessDeclContextCheck

Rename function to more inclusive name.

Reviewed By: quinnp

Differential Revision: https://reviews.llvm.org/D114029
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedclang/lib/AST/DeclBase.cpp
Commit 536b9eb31e9333bcee3d20d694f7cb12d1ff3d89 by jeremy.morse
[DebugInfo][InstrRef] Add extra indirection for NRVO tests

In some scenarios, usually involving NRVO, we can issue indirect DBG_VALUEs
after SelectionDAG, even in instruction referencing mode (if the variable
is an argument). If the corresponding argument value is spilt to the stack,
then we have:
* Indirection from it being on the stack,
* Indirection from it being a dbg.declare or a dbg.addr.

However InstrRefBasedLDV only emits one level of indirection. This patch
adds the second, by adding an extra DW_OP_deref if necessary. The two
tests modified fail otherwise -- they feature some NRVO, and require two
levels of indirection to be correct.

Differential Revision: https://reviews.llvm.org/D114364
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
The file was modifiedllvm/test/DebugInfo/X86/spill-nontrivial-param.ll
Commit 55c14d6dbfd8e7b86c15d2613fea3490078e2ae4 by i
[ELF] Simplify DynamicSection content computation. NFC

The new code computes the content twice, but avoides the tricky
std::function<uint64_t()>. Removed 13KiB code in a Release build.
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/SyntheticSections.h
Commit 5ca54c66862b8edee1bd300bb284b90306eef87b by i
[ELF] Simplify GnuHashSection::write. NFC
The file was modifiedlld/ELF/SyntheticSections.h
The file was modifiedlld/ELF/SyntheticSections.cpp
Commit ff0d9e6cfa7fbcfa4b6b4bccca146b5d66caf4d6 by i
[ELF] Remove redundant part.dynSymTab creation. NFC
The file was modifiedlld/ELF/Writer.cpp
Commit 850e8b450452f60c56b5ae89ed443649f49593a7 by joker.eph
Fix link to the other docs from the Bufferization dialect
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td
Commit f32c3d9528e4af6c27806b2f5fd50972b2aa27d5 by springerm
[mlir][linalg][bufferize][NFC] Move Affine interface impl to new build target

This makes ComprehensiveBufferize entirely independent of the Affine dialect.

Differential Revision: https://reviews.llvm.org/D114222
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/AffineInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was addedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/AffineInterfaceImpl.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
Commit 6188fd495744ffea76f481a960df9beacb8ce91b by i
[ELF] Rename OutputSection::sectionCommands to commands. NFC

This partially reverts r315409: the description applies to LinkerScript, but not
to OutputSection.

The name "sectionCommands" is used in both LinkerScript::sectionCommands and
OutputSection::sectionCommands, which may lead to confusion.
"commands" in OutputSection has no ambiguity because there are no other types
of commands.
The file was modifiedlld/ELF/AArch64ErrataFix.cpp
The file was modifiedlld/ELF/MapFile.cpp
The file was modifiedlld/ELF/OutputSections.h
The file was modifiedlld/ELF/OutputSections.cpp
The file was modifiedlld/ELF/ARMErrataFix.cpp
The file was modifiedlld/ELF/ICF.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/ScriptParser.cpp
The file was modifiedlld/ELF/Writer.cpp
Commit e40e17fcaf7ae28f16d4ece716f336b276ab8dce by i
[ELF] Make ExprValue smaller. NFC'
The file was modifiedlld/ELF/LinkerScript.h
Commit c637e3ea9e107e17d6c7f2a4a6072a8fab9a78bf by springerm
[mlir][linalg][bufferize][NFC] Extract func boundary bufferization

Bufferization of function boundaries is extracted from ComprehensiveBufferize into a separate file. This will become its own build target in the future.

Differential Revision: https://reviews.llvm.org/D114226
The file was addedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.h
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was addedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
Commit c94b80b4380ce851b5cf406a961eab472a43b3df by springerm
[mlir][linalg][bufferize][NFC] Allow returning arbitrary memrefs

If `allowReturnMemref` is set to true, arbitrary memrefs may be returned from FuncOps. Also remove allocation hoisting code, which is only partly implemented at the moment.

The purpose of this commit is to untangle `bufferize` from `aliasInfo`. (Even with this change, they are not fully untangled yet.)

Differential Revision: https://reviews.llvm.org/D114507
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
Commit d62b4b08af03a9fc25274ed0e380d9d052fe251b by springerm
[mlir][linalg][bufferize] Compose dialect-specific bufferization state

Use composition instead of inheritance for storing dialect-specific bufferization state. This is in preparation of adding "tensor dialect"-specific bufferization state.

Differential Revision: https://reviews.llvm.org/D114508
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
Commit 8e2214aa60bc836d263fd7cb61be8f595eb05a37 by springerm
[mlir][linalg][bufferize][NFC] Pass BufferizationState to PostAnalysisStep

Pass BufferizationStep instead of BufferizationAliasInfo. Note: BufferizationState contains BufferizationAliasInfo.

Differential Revision: https://reviews.llvm.org/D114512
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.cpp
Commit 2f07534263ca617420239c9d250dffd9ff527a7a by noreply
[NFC] Fix typo in 95875d246acb
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
Commit 7051aeef7a1ef609aaeea0bf87d90a2ec6340a37 by i
[ELF] Rename BaseCommand to SectionCommand. NFC

BaseCommand was picked when PHDRS/INSERT/etc were not implemented. Rename it to
SectionCommand to match `sectionCommands` and make it clear that the commands
are used in SECTIONS (except a special case for SymbolAssignment).

Also, improve naming of some BaseCommand variables (base -> cmd).
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/OutputSections.h
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/ARMErrataFix.cpp
The file was modifiedlld/ELF/LinkerScript.h
The file was modifiedlld/ELF/MapFile.cpp
The file was modifiedlld/ELF/OutputSections.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/ICF.cpp
The file was modifiedlld/ELF/AArch64ErrataFix.cpp
The file was modifiedlld/ELF/ScriptParser.cpp
Commit 654c89d85a5108f2f04a8a748c44162e16260c7c by Christudasan.Devadasan
[AMDGPU] Make vector superclasses allocatable

The combined vector register classes with both
VGPRs and AGPRs are currently unallocatable.
This patch turns them into allocatable as a
prerequisite to enable copy between VGPR and
AGPR registers during regalloc.

Also, added the missing AV register classes from
192b to 1024b.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D109300
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
The file was modifiedllvm/lib/Target/AMDGPU/GCNRegPressure.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
Commit 259cd6f89377fdc17aabd381204c5bfe2ce15209 by kazu
[llvm] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FloatingPoint.cpp
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
The file was modifiedllvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
The file was modifiedllvm/lib/Target/X86/X86DomainReassignment.cpp
Commit c2f0de06c9595f34afec7905bae41d08cb46f150 by dvyukov
tsan: check stack in atexit4.cpp test

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D114604
The file was modifiedcompiler-rt/test/tsan/atexit4.cpp
Commit 9ea3bd5a1ccec785563faf82e08f6d9d6cb1ec0b by dvyukov
tsan: add test for __cxa_atexit

Add a test for a common C++ bug when a global object is destroyed
while background threads still use it.

Depends on D114604.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D114605
The file was addedcompiler-rt/test/tsan/atexit5.cpp
Commit 3f87788de1105c8ec4fcebb692919750869d421a by dvyukov
tsan: add a test for on_exit

Depends on D114605.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D114606
The file was addedcompiler-rt/test/tsan/on_exit.cpp
Commit a1dc97e47231e737e1252d1aeb159764dbaed977 by dvyukov
tsan: remember and print function that installed at_exit callbacks

Sometimes stacks for at_exit callbacks don't include any of the user functions/files.
For example, a race with a global std container destructor will only contain
the container type name and our at_exit_wrapper function. No signs what global variable
this is.
Remember and include in reports the function that installed the at_exit callback.
This should give glues as to what variable is being destroyed.

Depends on D114606.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D114607
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/test/tsan/on_exit.cpp
The file was modifiedcompiler-rt/test/tsan/atexit5.cpp
The file was modifiedcompiler-rt/test/tsan/atexit4.cpp
Commit c47108c0414624811684afc8d84697d434219f8c by nicolas.vasilache
[mlir][Vector] Minor formatting fixes in Vector.md

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D113854
The file was modifiedmlir/docs/Dialects/Vector.md
Commit 8e8658b19c057a48264514483f188bf7b6c2db7d by 1.int32
[clang][AST] Check context of record in structural equivalence.

The AST structural equivalence check did not differentiate between
a struct and a struct with same name in different namespace. When
type of a member is checked it is possible to encounter such a case
and wrongly decide that the types are similar. This problem is fixed
by check for the namespaces of a record declaration.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D113118
The file was modifiedclang/unittests/AST/StructuralEquivalenceTest.cpp
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
Commit 8d07ba817c98374b74ff3ba11c2cb5181cf37031 by gysit
[mlir][linalg] Simplify the hoist padding tests.

Use primarily matvec instead of matmul to test hoist padding. Test the hoisting only starting from already padded IR. Use one-dimensional tiling only except for the tile_and_fuse test that exercises hoisting on a larger loop nest with fill and pad tensor operations in the backward slice.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114608
The file was removedmlir/test/Dialect/Linalg/pad-and-hoist.mlir
The file was addedmlir/test/Dialect/Linalg/hoist-padding.mlir
Commit 86137fb7229363fef9a4bbb732dc13f7cb1c5dfd by david.sherwood
[CodeGen] Add scalable vector support for lowering of llvm.get.active.lane.mask

Currently the generic lowering of llvm.get.active.lane.mask is done
in SelectionDAGBuilder::visitIntrinsicCall and currently assumes
only fixed-width vectors are used. This patch changes the code to be
more generic and support scalable vectors too. I have added tests
for SVE here:

  CodeGen/AArch64/active_lane_mask.ll

although the code quality leaves a lot to be desired. The code will
be improved significantly in a later patch that makes use of the
SVE whilelo instruction.

Differential Revision: https://reviews.llvm.org/D114541
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/AArch64/active_lane_mask.ll
Commit bad8977786382739256f4bd966fb4cdcfd50be2a by kbobyrev
[clang] Change ordering of PreableCallbacks to make sure PP can be referenced in them

Currently, BeforeExecute is called before BeginSourceFile which does not allow
using PP in the callbacks. Change the ordering to ensure it is possible.
This is a prerequisite for D114370.

Originated from a discussion with @kadircet.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D114525
The file was modifiedclang/lib/Frontend/PrecompiledPreamble.cpp
The file was modifiedclang/include/clang/Frontend/PrecompiledPreamble.h
Commit 40e7d4cd3b6f4931131731295d42022f6240531f by david.green
[ARM] Add some vctp from setcc tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vctp.ll
Commit d026f2f7c688b326eae429286a06bf4080c8b527 by kadircet
[clang] Fix crash on broken parameter declarators

Differential Revision: https://reviews.llvm.org/D114609
The file was modifiedclang/test/Parser/cxx-keyword-identifiers.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
Commit d8f3cdfed03fe73c152d7fbf509f34f4b502f384 by mikhail.maltsev
[libcxx] Implement three-way comparison for std::reverse_iterator

This patch implements operator<=> for std::reverse_iterator and
also adds a test that checks that three-way comparison of different
instantiations of std::reverse_iterator works as expected (related to
D113417).

Reviewed By: ldionne, Quuxplusone, #libc

Differential Revision: https://reviews.llvm.org/D113695
The file was addedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/three-way.pass.cpp
The file was modifiedlibcxx/include/__iterator/reverse_iterator.h
Commit 94038c570fbc991c03fe68793c576314c231d4ee by ramana.venkat83
[lldb] Fix 'memory write' to not allow specifying values when writing file contents

Currently the 'memory write' command allows specifying the values when
writing the file contents to memory but the values are actually ignored. This
patch fixes that by erroring out when values are specified in such cases.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D114544
The file was addedlldb/test/API/commands/memory/write/file.txt
The file was addedlldb/test/API/commands/memory/write/main.c
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
The file was addedlldb/test/API/commands/memory/write/Makefile
The file was addedlldb/test/API/commands/memory/write/TestMemoryWrite.py
Commit 2778f9a9f6d8a0f62854906fa203843e20e26d7d by llvm-dev
[DAG] SimplifyDemandedVectorElts - attempt to handle ADD(x,x) as single use

If the ADD node is the only user of the repeated operand, then treat this as single use - allows us to peek through shl(x,1) patterns.
The file was modifiedllvm/test/CodeGen/ARM/crash-on-pow2-shufflevector.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/rotate_vec.ll
Commit c76d6dd192648fbb1a55eb8378850a654b673832 by david.green
[ARM] Generate VCTP from SETCC

This converts a vector SETCC([0,1,2,..], splat(n), ult) to vctp n, which
can be fewer instructions and prevent the need for constant pool loads.

Differential Revision: https://reviews.llvm.org/D114177
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vctp.ll
Commit eafbaca97795a38c5017f6761a64a863cbc9343c by bradley.smith
[AArch64][SVE] Generate ASRD instructions for power of 2 signed divides

Differential Revision: https://reviews.llvm.org/D113281
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was addedllvm/test/CodeGen/AArch64/sve-sdiv-pow2.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit d8a35387881bf408c19deeba7b5e3648dbbf467c by Jan Svoboda
[clang][deps] NFC: Remove else after early return
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
Commit 12eafd944e0ffccae93402ddbe2855beb7a939ff by Jan Svoboda
[clang][deps] NFC: Clean up wording (ignored vs minimized)

The filesystem used during dependency scanning does two things: it caches file entries and minimizes source file contents. We use the term "ignored file" in a couple of places, but it's not clear what exactly that means. This commit clears up the semantics, explicitly spelling out this relates to minimization.
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
The file was modifiedclang/unittests/Tooling/DependencyScannerTest.cpp
Commit e20391fc5d6a72e712449142e803fb81b8a75153 by david.sherwood
[LoopVectorize] When tail-folding, don't always predicate uniform loads

In VPRecipeBuilder::handleReplication if we believe the instruction
is predicated we then proceed to create new VP region blocks even
when the load is uniform and only predicated due to tail-folding.

I have updated isPredicatedInst to avoid treating a uniform load as
predicated when tail-folding, which means we can do a single scalar
load and a vector splat of the value.

Tests added here:

  Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll

Differential Revision: https://reviews.llvm.org/D112552
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
Commit 4af45f10cccbaabc87758c4dc50b94bfd31fe848 by abinav.puthanpurayil
[GlobalISel] Fold or of shifts to funnel shift.

This change folds a basic funnel shift idiom:
- (or (shl x, amt), (lshr y, sub(bw, amt))) -> fshl(x, y, amt)
- (or (shl x, sub(bw, amt)), (lshr y, amt)) -> fshr(x, y, amt)

This also helps in folding to rotate shift if x and y are equal since we
already have a funnel shift to rotate combine.

Differential Revision: https://reviews.llvm.org/D114499
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fsh.mir
Commit 8967d044fc265acb332ab3d0169024e96b44c6ac by carl.ritson
[AMDGPU] Add SIMemoryLegalizer comments to clarify bit usage

Attempt to further document the intended cache policies requested
by different combinations of GLC, SLC and DLC bits.
GFX10 non-temporal stores are updated to set GLC.

Reviewed By: t-tye

Differential Revision: https://reviews.llvm.org/D114351
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
Commit 632acec73776c4d6f7073d6de04ed6b8bfd36e6d by daniel.kiss
[libunwind][ARM] Handle end of stack during unwind

When unwind step reaches the end of the stack that means the force unwind should notify the stop function.
This is not an error, it could mean just the thread is cleaned up completely.

Reviewed By: #libunwind, mstorsjo

Differential Revision: https://reviews.llvm.org/D109856
The file was modifiedlibunwind/src/Unwind-EHABI.cpp
The file was modifiedlibcxxabi/src/cxa_personality.cpp
The file was addedlibcxxabi/test/forced_unwind3.pass.cpp
Commit 842b6861c01cc6961f170d58332ecf0fb0232441 by uday
Defines new PDLInterp operations needed for multi-root matching in PDL.

This is commit 1 of 4 for the multi-root matching in PDL, discussed in https://llvm.discourse.group/t/rfc-multi-root-pdl-patterns-for-kernel-matching/4148 (topic flagged for review).

These operations are:
* pdl.get_accepting_ops: Returns a list of operations accepting the given value or a range of values at the specified position. Thus if there are two operations `%op1 = "foo"(%val)` and `%op2 = "bar"(%val)` accepting a value at position 0, `%ops = pdl_interp.get_accepting_ops of %val : !pdl.value at 0` will return both of them. This allows us to traverse upwards from a value to operations accepting the value.
* pdl.choose_op: Iteratively chooses one operation from a range of operations. Therefore, writing `%op = pdl_interp.choose_op from %ops` in the example above will select either `%op1`or `%op2`.

Testing: Added the corresponding test cases to mlir/test/Dialect/PDLInterp/ops.mlir.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D108543
The file was modifiedmlir/lib/Dialect/PDLInterp/IR/PDLInterp.cpp
The file was modifiedmlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
The file was modifiedmlir/test/Dialect/PDLInterp/ops.mlir
Commit a3b099b68c0c156aa8ed9ec81c5dfdf150c6329c by shivam98.tkg
[Docs] Removed /Zd flag still mentioned in documentation

https://reviews.llvm.org/D93458 removed the /Zd flag as MSVC doesn't support that syntax. Instead users should be using -gline-tables-only.
The /Zd flag is still mentioned at https://clang.llvm.org/docs/UsersManual.html#clang-cl :   /Zd                     Emit debug line number tables only.

Fix PR52571

Reviewed By: xgupta

Differential Revision: https://reviews.llvm.org/D114632
The file was modifiedclang/docs/UsersManual.rst
Commit 08d45e6f4da03836dc2380b7bae650ae80cfae35 by Igor.Kirillov
[AArch64][SVEIntrinsicOpts] Fix: predicated SVE mul/fmul are not commutative

We can not swap multiplicand and multiplier because the sve intrinsics
are predicated. Imagine lanes in vectors having the following values:
         pg = 0
         multiplicand = 1 (from dup)
         multiplier = 2
The resulting value should be 1, but if we swap multiplicand and multiplier it will become 2,
which is incorrect.

Differential Revision: https://reviews.llvm.org/D114577
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Commit 3eb1647af036dc0e8370ed5a8b1ecbb5701f850b by uday
Introduced iterative bytecode execution.

This is commit 2 of 4 for the multi-root matching in PDL, discussed in https://llvm.discourse.group/t/rfc-multi-root-pdl-patterns-for-kernel-matching/4148 (topic flagged for review).

This commit implements the features needed for the execution of the new operations pdl_interp.get_accepting_ops, pdl_interp.choose_op:
1. The implementation of the generation and execution of the two ops.
2. The addition of Stack of bytecode positions within the ByteCodeExecutor. This is needed because in pdl_interp.choose_op, we iterate over the values returned by pdl_interp.get_accepting_ops until we reach finalize. When we reach finalize, we need to return back to the position marked in the stack.
3. The functionality to extend the lifetime of values that cross the nondeterministic choice. The existing bytecode generator allocates the values to memory positions by representing the liveness of values as a collection of disjoint intervals over the matcher positions. This is akin to register allocation, and substantially reduces the footprint of the bytecode executor. However, because with iterative operation pdl_interp.choose_op, execution "returns" back, so any values whose original liveness cross the nondeterminstic choice must have their lifetime executed until finalize.

Testing: pdl-bytecode.mlir test

Reviewed By: rriddle, Mogball

Differential Revision: https://reviews.llvm.org/D108547
The file was modifiedmlir/lib/IR/PatternMatch.cpp
The file was modifiedmlir/include/mlir/IR/PatternMatch.h
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp
The file was modifiedmlir/lib/Rewrite/ByteCode.h
The file was modifiedmlir/test/Rewrite/pdl-bytecode.mlir
Commit 6df7cc7f47d280d550f41fc167bdd75fea726a06 by uday
Implementation of the root ordering algorithm

This is commit 3 of 4 for the multi-root matching in PDL, discussed in https://llvm.discourse.group/t/rfc-multi-root-pdl-patterns-for-kernel-matching/4148 (topic flagged for review).

We form a graph over the specified roots, provided in `pdl.rewrite`, where two roots are connected by a directed edge if the target root can be connected (via a chain of operations) in the underlying pattern to the source root. We place a restriction that the path connecting the two candidate roots must only contain the nodes in the subgraphs underneath these two roots. The cost of an edge is the smallest number of upward traversals (edges) required to go from the source to the target root, and the connector is a `Value` in the intersection of the two subtrees rooted at the source and target root that results in that smallest number of such upward traversals. Optimal root ordering is then formulated as the problem of finding a spanning arborescence (i.e., a directed spanning tree) of minimal weight.

In order to determine the spanning arborescence (directed spanning tree) of minimum weight, we use the [Edmonds' algorithm](https://en.wikipedia.org/wiki/Edmonds%27_algorithm). The worst-case computational complexity of this algorithm is O(_N_^3) for a single root, where _N_ is the number of specified roots. The `pdl`-to-`pdl_interp` lowering calls this algorithm as a subroutine _N_ times (once for each candidate root), so the overall complexity of root ordering is O(_N_^4). If needed, this complexity could be reduced to O(_N_^3) with a more efficient algorithm. However, note that the underlying implementation is very efficient, and _N_ in our instances tends to be very small (<10). Therefore, we believe that the proposed (asymptotically suboptimal) implementation will suffice for now.

Testing: a unit test of the algorithm

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D108549
The file was addedmlir/unittests/Conversion/PDLToPDLInterp/RootOrderingTest.cpp
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/CMakeLists.txt
The file was addedmlir/unittests/Conversion/CMakeLists.txt
The file was addedmlir/lib/Conversion/PDLToPDLInterp/RootOrdering.h
The file was addedmlir/lib/Conversion/PDLToPDLInterp/RootOrdering.cpp
The file was modifiedmlir/unittests/CMakeLists.txt
The file was addedmlir/unittests/Conversion/PDLToPDLInterp/CMakeLists.txt
Commit a76ee58f3cbcec6e31ff0d25e7d9a89b81a2ccc8 by uday
Multi-root PDL matching using upward traversals.

This is commit 4 of 4 for the multi-root matching in PDL, discussed in https://llvm.discourse.group/t/rfc-multi-root-pdl-patterns-for-kernel-matching/4148 (topic flagged for review).

This PR integrates the various components (root ordering algorithm, nondeterministic execution of PDL bytecode) to implement multi-root PDL matching. The main idea is for the pattern to specify mulitple candidate roots. The PDL-to-PDLInterp lowering selects one of these roots and "hangs" the pattern from this root, traversing the edges downwards (from operation to its operands) when possible and upwards (from values to its uses) when needed. The root is selected by invoking the optimal matching multiple times, once for each candidate root, and the connectors are determined form the optimal matching. The costs in the directed graph are equal to the number of upward edges that need to be traversed when connecting the given two candidate roots. It can be shown that, for this choice of the cost function, "hanging" the pattern an inner node is no better than from the optimal root.

The following three main additions were implemented as a part of this PR:
1. OperationPos predicate has been extended to allow tracing the operation accepting a value (the opposite of operation defining a value).
2. Predicate checking if two values are not equal - this is useful to ensure that we do not traverse the edge back downwards after we traversed it upwards.
3. Function for for building the cost graph among the candidate roots.
4. Updated buildPredicateList, building the predicates optimal branching has been determined.

Testing: unit tests (an integration test to follow once the stack of commits has landed)

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D108550
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
The file was modifiedmlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
The file was modifiedmlir/test/Dialect/PDL/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/Predicate.h
The file was modifiedmlir/test/Dialect/PDL/ops.mlir
The file was modifiedmlir/lib/Dialect/PDL/IR/PDL.cpp
Commit d35f1190949963f7b22bd687ed0e27e8636f505d by uday
Added line numbers to the debug output of PDL bytecode.

This is a small diff that splits out the debug output for PDL bytecode. When running bytecode with debug output on, it is useful to know the line numbers where the PDLIntepr operations are performed. Usually, these are in a single MLIR file, so it's sufficient to print out the line number rather than the entire location (which tends to be quite verbose). This debug output is gated by `LLVM_DEBUG` rather than `#ifndef NDEBUG` to make it easier to test.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D114061
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp
Commit 97e504cff956b7120da9bd932644b00a853ee68a by Jan Svoboda
[clang][deps] NFC: Extract function

This commits extracts a couple of nested conditions into a separate function with early returns, making the control flow easier to understand.
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
Commit 0e099a64be7071f5109befaeb8e8534392192888 by benny.kra
[tsan] Relax atexit5.cpp a bit more so it's not as dependent on the standard library implementation
The file was modifiedcompiler-rt/test/tsan/atexit5.cpp
Commit 1b0312d2809701dd766dd3705b460362653bffcf by benny.kra
[PDL] fix unused variable warning in Release builds
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
Commit 8521850f20dbd9f2926999da84d8a10b52bb2574 by benny.kra
Provide a definition for OperationPosition::kDown

This isn't necessary in C++17, but C++14 still requires it.
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/Predicate.cpp
Commit cd0ca5a0eaa1b75b445e82753ea093bbb8e7e85c by kbobyrev
[clangd] Record information about non self-contained headers in IncludeStructure

This will be useful for IncludeCleaner.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D114370
The file was modifiedclang-tools-extra/clangd/Headers.h
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang-tools-extra/clangd/unittests/PreambleTests.cpp
The file was modifiedclang-tools-extra/clangd/Headers.cpp
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/clangd/Preamble.cpp
The file was modifiedclang-tools-extra/clangd/SourceCode.cpp
The file was modifiedclang-tools-extra/clangd/SourceCode.h
The file was modifiedclang-tools-extra/clangd/index/SymbolCollector.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HeadersTests.cpp
Commit b62b21b98019b46af91365cb6415f8e740cab898 by springerm
[mlir][linalg][bufferize][NFC] InsertSliceOp no-copy detection as PostAnalysis

There is special logic for InsertSliceOp to check if a memcpy is needed. This change extracts that piece of code and makes it a PostAnalysisStep.

The purpose of this change is to untangle `bufferize` from BufferizationAliasInfo. (Not fully there yet.)

Differential Revision: https://reviews.llvm.org/D114513
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.h
Commit b927aa69bf2fd50ecf33e3f5ec853eb3c70312c5 by flo
[SCEV] Turn check in createSimpleAffineAddRec to assertion. (NFC)

Accum is guaranteed to be defined outside L (via Loop::isLoopInvariant
checks above). I think that should guarantee that the more powerful
ScalarEvolution::isLoopInvariant also determines that the value is loop
invariant.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D114634
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 7f05ff8be481f6db23615c028280fd92c2080f5f by VenkataRamanaiah.Nalamothu
[Bug 49018][lldb] Fix incorrect help text for 'memory write' command

Certain commands like 'memory write', 'register read' etc all use
the OptionGroupFormat options but the help usage text for those
options is not customized to those commands.

One such example is:

  (lldb) help memory read
           -s <byte-size> ( --size <byte-size> )
               The size in bytes to use when displaying with the selected format.
  (lldb) help memory write
   -s <byte-size> ( --size <byte-size> )
               The size in bytes to use when displaying with the selected format.

This patch allows such commands to overwrite the help text for the options
in the OptionGroupFormat group as needed and fixes help text of memory write.

llvm.org/pr49018.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D114448
The file was modifiedlldb/include/lldb/Interpreter/OptionGroupFormat.h
The file was modifiedlldb/source/Interpreter/OptionGroupFormat.cpp
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was modifiedlldb/test/API/commands/help/TestHelp.py
Commit 6263982172b8ad45f41e9b06cb005e1a8fd6deef by a.bataev
[SLP][NFC]Add a test for gathered instructions in loop, NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
Commit 30238c3676d306ad1c6533805ab72c16f4723ab5 by mats.petersson
[mlir][OpenMP] Add support for SIMD modifier

Add support for SIMD modifier in OpenMP worksharing loops.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D111051
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPConstants.h
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
The file was addedmlir/test/Target/LLVMIR/openmp-llvm-bad-schedule-modifier.mlir
The file was modifiedmlir/test/Target/LLVMIR/openmp-llvm.mlir
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
The file was modifiedmlir/test/Dialect/OpenMP/ops.mlir
Commit f824bb0e36fc7099923f583e4eea4aaa7d296957 by ruslan.arutyunyan
[pstl] Fix incorrect usage of std::invoke_result

std::invoke_result takes function object type and arguments separately
(unlike std::result_of) so, std::invoke_result_t<F()> usage is
incorrect.

On the other hand, we don't need std::invoke() semantics here at all. So
just simplifying the code without extra dependency and use trailing
return type as the fix.

Reviewed By: MikeDvorskiy

Differential Revision: https://reviews.llvm.org/D114624
The file was modifiedpstl/include/pstl/internal/utils.h
Commit fc0aacf324b172309ee10334e2213e1b3df8ea45 by a.bataev
[SLP]Improve analysis/emission of vector operands for alternate nodes.

Compiler has an analysis for perfect diamond matching but it does not
support nodes with main/alternate opcodes. The problem is that the
scalars themselves are different and might not match directly with other
nodes, but operands and main/alternate opcodes might match and compiler
might reuse some previously emitted vector instructions. Need to include
this analysis in the cost model and actual vector instructions emission
process.

Differential Revision: https://reviews.llvm.org/D114101
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/gather-move-out-of-loop.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/remark_alternate.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 34cc210aa8af2fd33598e5559d0f5b51f9423dd6 by kbobyrev
[clangd] IncludeCleaner: Attribute symbols from non self-contained headers to their parents

When a symbol comes from the non self-contained header, we recursively uplift
the file we consider used to the first includer that has a header guard. We
need to do this while we still have FileIDs because every time a non
self-contained header is included, it gets a new FileID but is later
deduplicated by HeaderID and it's not possible to understand where it was
included from.

Based on D114370.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D114623
The file was modifiedclang-tools-extra/clangd/IncludeCleaner.cpp
The file was modifiedclang-tools-extra/clangd/IncludeCleaner.h
The file was modifiedclang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
Commit 0df522969a7a0128052bd79182c8d58e00556e2f by david.spickett
Revert "Reland "[lldb] Remove non address bits when looking up memory regions""

This reverts commit fac3f20de55769d028bd92220e74f22fa57dd4b2.

I found this has broken how we detect the last memory region in
GetMemoryRegions/"memory region" command.

When you're debugging an AArch64 system with pointer authentication,
the ABI plugin will remove the top bit from the end address of the last
user mapped area.

(lldb)
[0x0000fffffffdf000-0x0001000000000000) rw- [stack]

ABI plugin removes anything above the 48th bit (48 bit virtual addresses
by default on AArch64, leaving an address of 0.

(lldb)
[0x0000000000000000-0x0000000000400000) ---

You get back a mapping for 0 and get into an infinite loop.
The file was removedlldb/test/API/linux/aarch64/tagged_memory_region/TestAArch64LinuxTaggedMemoryRegion.py
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.h
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.h
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedProcess.h
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.h
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was removedlldb/test/API/linux/aarch64/tagged_memory_region/Makefile
The file was removedlldb/test/API/linux/aarch64/tagged_memory_region/main.c
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Commit 7dc9a03cfd789e6a08ca96666e9fbb81431eb34f by Louis Dionne
[libc++] Add missing __format__ attributes

-Wformat-nonliteral was turned on in https://reviews.llvm.org/D112927,
however we forgot to apply some __format__ attributes in Linux specific
code paths, which led to warnings when building on Linux. This patch
addresses that oversight.

Differential Revision: https://reviews.llvm.org/D113876
The file was modifiedlibcxx/include/__bsd_locale_fallbacks.h
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/src/filesystem/filesystem_common.h
Commit f18f9ce3665e51e5f09a3d32f9e36fd24e3a79f7 by Louis Dionne
[libc++] Properly handle errors happening during Lit configuration

Instead of silently swallowing errors that happen during Lit configuration
(for example trying to obtain compiler macros but compiling fails), raise
an exception with some amount of helpful information.

This should avoid the possibility of silently configuring Lit in a bogus
way, and also provides more helpful information when things fail.

Note that this requires a bit more finesse around how we handle some
failing configuration checks that we would previously return None for.

Differential Revision: https://reviews.llvm.org/D114010
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
Commit e714394ab8f03783490fefe902dcec3585d3fe08 by zarko
[LLVM][llvm-cov] Inclusive language: rename option -name-whitelist to -name-allowlist

Renamed the option for llvm-cov and changed variable names to use more
inclusive terms. Also changed the binary for the test.

Reviewed By: alanphipps

Differential Revision: https://reviews.llvm.org/D112816
The file was addedllvm/test/tools/llvm-cov/Inputs/name_allowlist.covmapping
The file was addedllvm/test/tools/llvm-cov/Inputs/name_allowlist.cpp
The file was addedllvm/test/tools/llvm-cov/Inputs/allowlist2.txt
The file was modifiedllvm/tools/llvm-cov/CoverageFilters.h
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was addedllvm/test/tools/llvm-cov/Inputs/name_allowlist.proftext
The file was addedllvm/test/tools/llvm-cov/Inputs/allowlist1.txt
The file was modifiedllvm/docs/CommandGuide/llvm-cov.rst
The file was addedllvm/test/tools/llvm-cov/name_allowlist.test
The file was modifiedllvm/tools/llvm-cov/CoverageFilters.cpp
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
Commit f074bbb04a617f366093a860e5b0976d80129ff4 by arjunpitchanathan
[MLIR] Simplex::pivot: also update the redundant rows when pivoting

Previously, the pivot function would only update the non-redundant rows when
pivoting. This is incorrect because in some cases, when rolling back past a
`detectRedundant` call, the basis being used could be different from that which
was used at the time of returning from the `detectRedundant` call. Therefore,
it is important to update the redundant rows as well during pivots. This could
also be triggered by pivots that occur when testing successive constraints for
being redundant in `detectRedundant` after some initial constraints are marked redundant.

Reviewed By: Groverkss

Differential Revision: https://reviews.llvm.org/D114614
The file was modifiedmlir/lib/Analysis/Presburger/Simplex.cpp
The file was modifiedmlir/unittests/Analysis/Presburger/SimplexTest.cpp
Commit 562356d6e3b5aaceddb4fff34af5fbdcb6748570 by kazu
[Target] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/ARC/ARCMCInstLower.cpp
The file was modifiedllvm/lib/Target/Hexagon/BitTracker.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb2SizeReduction.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMCInstLower.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonGenInsert.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Commit 7b59fcb7de2223d7d3956b750d32357e30f9acbf by gchatelet
[libc] Make string entrypoints mutualy exclusive.

For example, strcpy does not pull memcpy now.

Reviewed By: gchatelet

Differential Revision: https://reviews.llvm.org/D114300
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/strcpy.cpp
The file was modifiedlibc/src/string/stpncpy.cpp
The file was modifiedlibc/src/string/memmove.cpp
The file was modifiedlibc/src/string/strdup.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/mempcpy.cpp
The file was modifiedlibc/src/string/strndup.cpp
Commit 715d2dc126ee4aaf0cb1df8826c3f1072c952e66 by zarko
[llvm-cov][NFC] Add missing character to fix docs buildbot break.
The file was modifiedllvm/docs/CommandGuide/llvm-cov.rst
Commit ad34ce94d5a0eb507de6b53e4fff296830d88c1a by arjunpitchanathan
[MLIR] Simplex: fix a bug when rolling back a Simplex with no solutions

Previously, when adding a constraint to a Simplex that is already marked
as having no solutions (marked empty), the Simplex would be marked empty again,
and a second UnmarkEmpty entry would be pushed to the undo log. When rolling
back, Simplex should be unmarked empty only after rolling back past the
creation of the first constraint that made it empty.

Reviewed By: Groverkss

Differential Revision: https://reviews.llvm.org/D114613
The file was modifiedmlir/unittests/Analysis/Presburger/SimplexTest.cpp
The file was modifiedmlir/lib/Analysis/Presburger/Simplex.cpp
Commit d0f927121ecef997d5df4a8879997cc8c9f8f0c9 by nicolas.vasilache
[mlir][Standard] Support 0-D vectors in `SplatOp`

This changes the op to produce `AnyVectorOfAnyRank` and implements this by just
inserting the element (skipping the shuffle that we do for the 1-D case).

Depends On D114549

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114598
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-0-d-vectors.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 7e65fc9a6009ba3297cbca7dc2bffdb0346d158e by nicolas.vasilache
[mlir][Vector] Support 0-D vectors in `BroadcastOp`

This changes the op to produce `AnyVectorOfAnyRank` following mostly the code for 1-D vectors.

Depends On D114598

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114550
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/test-0-d-vectors.mlir
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Commit 5c454033dd622bc48986dc8025f4936b5fa54975 by Louis Dionne
[libc++] Trigger rebuild of the Docker image so we get a new nightly Clang
The file was modifiedlibcxx/utils/ci/Dockerfile
Commit 344eee6f384caea3d64df28ef17f4204febc5e94 by joker.eph
[MLIR] Allow `Idempotent` trait to be applied to binary ops.

Add `Idempotent` trait to `arith.{andi,ori}`.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D114574
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.td
The file was modifiedmlir/test/mlir-tblgen/trait.mlir
The file was modifiedmlir/lib/Dialect/Arithmetic/IR/ArithmeticOps.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
Commit fcee33bd5a35786d905a40f42ed28d5a988d75eb by llvm-dev
[DAG] Pull out repeated isLittleEndian() calls. NFC.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 09401dfcf1dbec9d55ac62596d7520ba3a10eabb by i
[ELF] Rename fetch to extract

The canonical term is "extract" (GNU ld documentation, Solaris's `-z *extract`
options). Avoid inventing a term and match --why-extract. (ld64 prefers "load"
but the word is overloaded too much)

Mostly MFC, except for --help messages and the header row in
--print-archive-stats output.
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/ELF/Symbols.h
The file was modifiedlld/test/ELF/print-archive-stats.s
The file was modifiedlld/ELF/InputFiles.cpp
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/ELF/LTO.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/InputFiles.h
The file was modifiedlld/ELF/MapFile.cpp
Commit e4e4da86aff5606ef792d987a3ec85639219228c by uday
[MLIR] Prevent creation of buggy affine map after linearizing collapsed dimensions of source map

Initially we were passing wrong numSymbols argument while calling
AffineMap::get() for creaating affine map with linearized result
expressions. The main problems was the number of symbols of the newly
to be created map may be different from that of the source map, as
new symbolic identifiers may be introduced while creating strided layout
linearized expressions.

Reviewed By: nicolasvasilache, bondhugula

Differential Revision: https://reviews.llvm.org/D114240
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
Commit c2280b55173ca42f32e0bf22b10e73ba5b7fbda0 by uday
[MLIR] Avoid creation of buggy affine maps when incorrect values of number of dimensions and number of symbols are provided.

We check whether the maximum index of dimensional identifier present
in the result expressions is less than dimCount (number of dimensional
identifiers) argument passed in the AffineMap::get() and the maximum index
of symbolic identifier present in the result expressions is less than
symbolCount (number of symbolic identifiers) argument passed in AffineMap::get().

Reviewed By: nicolasvasilache, bondhugula

Differential Revision: https://reviews.llvm.org/D114238
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/lib/IR/AffineMap.cpp
Commit 3b4dd68de5b4aa5876366a3cab5ebf4f2ca047a2 by i
[ELF][PPC64] Make --power10-stubs/--no-power10-stubs proper aliases for --power10-stubs={auto,no}

This allows --power10-stubs= and --[no-]power10-stubs to override each other
(they are position dependent in GNU ld).

Also improve --help messages and the manpage.

Note: GNU ld's default "auto" mode uses heuristics to decide whether Power10
instructions are used. Arguably it is a design mistake of R_PPC64_REL24_NOTOC
(acked by the relevant folks on a libc-alpha discussion). We don't implement
"auto", so the default --power10-stubs is the same as "yes".
The file was modifiedlld/ELF/Thunks.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/ppc64-pcrel-call-to-toc.s
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/docs/ld.lld.1
Commit bee8dcda1f01831808885ea23f9ac1467ce660f5 by nikita.ppv
[SCEV] Fix and validate ValueExprMap/ExprValueMap consistency

Relative to the previous landing attempt, this makes
insertValueToMap() resilient against the value already being
present in the map -- previously I only checked this for the
createSimpleAffineAddRec() case, but the same issue can also
occur for the general createNodeForPHI(). In both cases, the
addrec may be constructed and added to the map in a recursive
query trying to create said addrec. In this case, this happens
due to the invalidation when the BE count is computed, which
ends up clearing out the symbolic name as well.

-----

This adds validation for consistency of ValueExprMap and
ExprValueMap, and fixes identified issues:

* Addrec construction directly wrote to ValueExprMap in a few places,
  without updating ExprValueMap. Add a helper to ensures they stay
  consistent. The adjustment in forgetSymbolicName() explicitly
  drops the old value from the map, so that we don't rely on it
  being overwritten.
* forgetMemoizedResultsImpl() was dropping the SCEV from
  ExprValueMap, but not dropping the corresponding entries from
  ValueExprMap.

Differential Revision: https://reviews.llvm.org/D113349
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was addedllvm/test/Transforms/LoopStrengthReduce/X86/nested-ptr-addrec.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
Commit bfa91f38a9989e1df5e722ae10c0a8c3eb9abe26 by nikita.ppv
[DAG] Restore dropped condition

This was dropped in fcee33bd5a35786d905a40f42ed28d5a988d75eb,
presumably accidentally.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 803cec0268000569051733e0d03b4c51d48ce5a6 by kazu
[mlir] Fix a warning

This patch fixes:

  mlir/lib/IR/MLIRContext.cpp:1020:3: error: use of the 'nodiscard'
  attribute is a C++17 extension [-Werror,-Wc++17-extensions]
The file was modifiedmlir/lib/IR/MLIRContext.cpp
Commit 45a8caf1cdf6a9cbe6dd183df62f22c57e3310ae by pklausler
[flang] Fix reversed comparison in RESHAPE() runtime

RESHAPE() fails inappropriately at runtime if the source array
is larger than the result -- which is perfectly valid -- because
of an obviously reversed comparison of their numbers of elements
is activating the runtime asserts meant for the opposite case
(source smaller than result).

Differential Revision: https://reviews.llvm.org/D114474
The file was modifiedflang/runtime/transformational.cpp
Commit a68af62b422d5a9717d7e883be17f49086197256 by spatel
[InstSimplify] baseline tests for icmp of lshr/udiv fold (NFC)

Precommits tests for https://reviews.llvm.org/D114279

Differential Revision: https://reviews.llvm.org/D114280
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit 719354a57191bff29f502b365ebf94c8b1c2a5d2 by nikita.ppv
Revert "[SCEV] Fix and validate ValueExprMap/ExprValueMap consistency"

This reverts commit bee8dcda1f01831808885ea23f9ac1467ce660f5.

Some sanitizer buildbots fail with:
> Attempt to use a SCEVCouldNotCompute object!

For example:
https://lab.llvm.org/buildbot/#/builders/85/builds/7020/steps/9/logs/stdio
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/X86/nested-ptr-addrec.ll
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit 30029e7407c8d7fa77dadbeeeb0769f1169e98f8 by i
[compiler-rt][CMake] Support powerpc32 on Linux

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D98831
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
Commit 06f1d63cb16c4d7ec66eac3cdb6ae1f53aee5450 by i
[compiler-rt][CMake] Support powerpcspe build

Reviewed By: jhibbits, MaskRay

Differential Revision: https://reviews.llvm.org/D98836
The file was modifiedcompiler-rt/cmake/builtin-config-ix.cmake
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Commit 53b00b821582a95c5186bd76e7e7d12d2697a630 by spatel
[InstSimplify] Fold X {lshr,udiv} C <u X --> true for nonzero X, non-identity C

This eliminates the bounds check in Rust code like

pub fn mid(data: &[i32]) -> i32 {
  if data.is_empty() { return 0; }
  return data[data.len()/2];
}

(from https://blog.sigplan.org/2021/11/18/undefined-behavior-deserves-a-better-reputation/)

Alive proofs:
lshr https://alive2.llvm.org/ce/z/nyTu8D
udiv https://alive2.llvm.org/ce/z/CNUZH7

Differential Revision: https://reviews.llvm.org/D114279
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 8ae815cb19a0ead6267651b555a008471494c55a by Vitaly Buka
[sanitizer] Switch StackStore to 8 MiB blocks

Larger blocks are more convenient for compressions.
Blocks are allocated with MmapNoReserveOrDie to save some memory.

Also it's 15% faster on StackDepotBenchmarkSuite

Depends on D114464.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D114488
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
The file was modifiedcompiler-rt/test/hwasan/TestCases/Linux/decorate-proc-maps.c
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
Commit f1ba48d50800e3d39027af9e5dff56f35ac21ce4 by i
[ELF] Simplify Symbol::extract. NFC
The file was modifiedlld/ELF/Symbols.cpp
Commit 56c8ad237aa4088e61be09ca30830ee704f10018 by ruslan.arutyunyan
[libcxx][NFC] Add tests for associative containers key_comp and value_comp

Add missing tests to improve associative containers code coverage:
- Tests for key_comp() and value_comp() observers
- Tests for std::map and std::multimap value_compare member class

Reviewed by: ldionne, rarutyun, #libc

Differential Revision: https://reviews.llvm.org/D113998
The file was addedlibcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
The file was addedlibcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
The file was addedlibcxx/test/std/containers/associative/set/set.observers/comp.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/set.cons/compare.pass.cpp
The file was addedlibcxx/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp
The file was addedlibcxx/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp
The file was addedlibcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
The file was addedlibcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
The file was addedlibcxx/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp
The file was addedlibcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
The file was addedlibcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
Commit 6fa8f7beb1928dfad291314c8baf16374a1cc145 by i
[ELF][test] Test that .o definition does not inherit .so STV_PROTECTED

Test %t2.so %t.o beside %t.o %t2.so
The file was modifiedlld/test/ELF/protected-shared.s
Commit a19e16352610000eae758f9aa930069540f4452f by uday
Fixed broken build under GCC 5.4.

This diff fixes broken build caused by D108550. Under GCC 5, auto lambdas that capture this require `this->` for member calls.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D114659
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
Commit 387927bbaf96310cfcbd4bc41c34b90739af8338 by kazu
[Target] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/StackSlotColoring.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Commit b0c742152489c55ca5976a8f25538e88e224a7d2 by kai.wang
[RISCV] Emit DWARF location expression for RVV stack objects.

VLENB is the length of a vector register in bytes. We use
<vscale x 64 bits> to represent one vector register. The dwarf offset is
VLENB * scalable_offset / 8.

For the mask vector, it occupies one vector register.

Differential Revision: https://reviews.llvm.org/D107432
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.td
The file was addedllvm/test/CodeGen/RISCV/rvv/debug-info-rvv-dbg-value.mir
The file was modifiedllvm/lib/Target/RISCV/RISCVSystemOperands.td
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.h
Commit 8ebb3eac02a926ffa4298c12834c57aefb2e8579 by bjorn.a.pettersson
[test] Use -passes syntax when specifying pipeline in some more tests

The legacy PM is deprecated, so update a bunch of lit tests running
opt to use the new PM syntax when specifying the pipeline.
In this patch focus has been put on test cases for ConstantMerge,
ConstraintElimination, CorrelatedValuePropagation, GlobalDCE,
GlobalOpt, SCCP, TailCallElim and PredicateInfo.

Differential Revision: https://reviews.llvm.org/D114516
The file was modifiedllvm/test/Transforms/GlobalOpt/undef-init.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/2002-09-23-CPR-Update.ll
The file was modifiedllvm/test/Transforms/SCCP/comdat-ipo.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/atexit.ll
The file was modifiedllvm/test/Transforms/SCCP/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/sub.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/profmd.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2002-09-12-Redeletion.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/dead-store-status.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-ranges-select.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/GSROA-section.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/deaddeclaration.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/non-null.ll
The file was modifiedllvm/test/Transforms/SCCP/preserve-analysis.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-phi.ll
The file was modifiedllvm/test/Transforms/TailCallElim/tre-noncapturing-alloca-calls.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest2.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest3.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2011-04-09-EmptyGlobalCtors.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-cycles.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/localize-constexpr.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2007-06-04-PackedStruct.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/evaluate-bitcast-3.ll
The file was modifiedllvm/test/Transforms/SCCP/2009-05-27-VectorOperandZero.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/and.ll
The file was modifiedllvm/test/Transforms/SCCP/switch.ll
The file was modifiedllvm/test/Transforms/TailCallElim/ackermann.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/heap-sra-2.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/minmaxabs.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll
The file was modifiedllvm/test/Transforms/SCCP/musttail-call.ll
The file was modifiedllvm/test/Transforms/TailCallElim/reorder_load.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/invariant-nodatalayout.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-ranges-casts.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/empty-constraint.ll
The file was modifiedllvm/test/Transforms/SCCP/2006-12-04-PackedType.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/call-with-ptrtoint.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-02-15-ResolveAlias.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.ll
The file was modifiedllvm/test/Transforms/TailCallElim/dup_tail.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/ctor-list-opt.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
The file was modifiedllvm/test/Transforms/SCCP/binaryops-range-special-cases.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/malloc-promote-4.ll
The file was modifiedllvm/test/Transforms/SCCP/clang-arc-rv.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/evaluate-bitcast-2.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/int_sideeffect.ll
The file was modifiedllvm/test/Transforms/SCCP/replace-dereferenceable-ptr-with-undereferenceable.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/large-int-crash.ll
The file was modifiedllvm/test/Transforms/SCCP/PR16052.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-derived-pointer-call.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops-bottom-tested-base.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/alias-used-section.ll
The file was modifiedllvm/test/Transforms/SCCP/naked-return.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/basic.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/constantfold-initializers.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/pointercast.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/MallocSROA-section-no-null-opt.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/add-nuw.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-ipsccp4.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/load-store-global-no-null-opt.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-addr-taken.ll
The file was modifiedllvm/test/Transforms/SCCP/metadata.ll
The file was modifiedllvm/test/Transforms/SCCP/deadarg.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-visibility-pre-lto.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sdiv.ll
The file was modifiedllvm/test/Transforms/SCCP/logical-nuke.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/wrapping-math.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/heap-sra-1-no-null-opt.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll
The file was modifiedllvm/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/ugt-ule.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/assume.ll
The file was modifiedllvm/test/Transforms/SCCP/widening.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/ctor-list-opt-constexpr.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/preserve-comdats.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/decompose-with-temporary-indices.ll
The file was modifiedllvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/zext.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/global-demotion.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/testandor.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-visibility-post-lto.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2009-01-05-DeadAliases.ll
The file was modifiedllvm/test/Transforms/TailCallElim/tre-byval-parameter-2.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/externally-initialized.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/pr35807.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/edge.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/shl.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/dont-merge.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-ssa-copy-nested-conds.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/udiv.ll
The file was modifiedllvm/test/Transforms/SCCP/vector-bitcast.ll
The file was modifiedllvm/test/Transforms/SCCP/switch-constantfold-crash.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-novfe.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/large-system-growth.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/select.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/merge-range-and-undef.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/2011-01-15-EitherOrder.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/guards.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2003-07-01-SelfReference.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-xor.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/pr33456.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/invariant.ll
The file was modifiedllvm/test/Transforms/SCCP/2006-12-19-UndefBug.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-03-05-dbg.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/compiler-used.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/metadata.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/new-promote.ll
The file was modifiedllvm/test/Other/debugcounter-predicateinfo.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2002-07-17-ConstantRef.ll
The file was modifiedllvm/test/Transforms/SCCP/constant-range-struct.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-bigint2.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/unreachable.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sub.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/static-const-bitcast.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/storepointer.ll
The file was modifiedllvm/test/Transforms/SCCP/dont-zap-return.ll
The file was modifiedllvm/test/Transforms/SCCP/switch-undef-constantfoldterminator.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2010-10-19-WeakOdr.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-ipsccp2.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-basic.ll
The file was modifiedllvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-clear-returned.ll
The file was modifiedllvm/test/Transforms/SCCP/pthreads.ll
The file was modifiedllvm/test/Transforms/TailCallElim/EraseBB.ll
The file was modifiedllvm/test/Transforms/SCCP/loadtest.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/basictest.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/globalsra-unknown-index.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/uge.ll
The file was modifiedllvm/test/Transforms/SCCP/indirectbr.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-base-pointer-call.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/SROA-section.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/heap-sra-phi.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/const-return-status-atomic.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/invariant.group.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/malloc-promote-1.ll
The file was modifiedllvm/test/Transforms/SCCP/binaryops-constexprs.ll
The file was modifiedllvm/test/Transforms/SCCP/user-with-multiple-uses.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/invoke.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/zeroinitializer-gep-load.ll
The file was modifiedllvm/test/Transforms/SCCP/atomic-load-store.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/null-check-global-value.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/2010-09-02-Trunc.ll
The file was modifiedllvm/test/Transforms/SCCP/select.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-iv.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/unnamed-addr.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/storepointer-no-null-opt.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops-header-tested-base.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-load.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-derived-call.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2012-05-11-blockaddress.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/mixed.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/urem.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/heap-sra-1.ll
The file was modifiedllvm/test/Transforms/SCCP/overdefined-ext.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps-inbounds-precondition.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/musttail_cc.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/crash.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/overflow_predicate.ll
The file was modifiedllvm/test/Transforms/TailCallElim/2010-06-26-MultipleReturnValues.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2009-02-17-AliasUsesAliasee.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/deadglobal-2.ll
The file was modifiedllvm/test/Transforms/SCCP/pr35357.ll
The file was modifiedllvm/test/Transforms/SCCP/intrinsics.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/iterate.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
The file was modifiedllvm/test/Transforms/TailCallElim/tre-multiple-exits.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/deadglobal-diarglist-use.ll
The file was modifiedllvm/test/Transforms/SCCP/constant-struct.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/externally-initialized-aggregate.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-range-crashes.ll
The file was modifiedllvm/test/Transforms/TailCallElim/tre-byval-parameter.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/eq.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/add.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/const-return-status.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/crash-2.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/unnamed-addr.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/conflict.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/naked_functions.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll
The file was modifiedllvm/test/Transforms/SCCP/switch-multiple-undef.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/evaluate-bitcast-4.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
The file was modifiedllvm/test/Transforms/SCCP/conditions-iter-order.ll
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges.ll
The file was modifiedllvm/test/Transforms/SCCP/float-nan-simplification.ll
The file was modifiedllvm/test/Transforms/SCCP/domtree-update.ll
The file was modifiedllvm/test/Transforms/SCCP/loadtest2.ll
The file was modifiedllvm/test/Transforms/SCCP/assume.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
The file was modifiedllvm/test/Transforms/SCCP/sccptest.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
The file was modifiedllvm/test/Transforms/SCCP/range-and.ll
The file was modifiedllvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/heap-sra-phi-no-null-opt.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-phi-one-pred-dead.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/coldcc_stress_test.ll
The file was modifiedllvm/test/Transforms/SCCP/pr52253.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/add.ll
The file was modifiedllvm/test/Transforms/TailCallElim/dont_reorder_load.ll
The file was modifiedllvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
The file was modifiedllvm/test/Transforms/SCCP/global-alias-constprop.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/shrink-address-to-bool.ll
The file was modifiedllvm/test/Transforms/SCCP/2007-05-16-InvokeCrash.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/alias-used.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/pr21191.ll
The file was modifiedllvm/test/Transforms/SCCP/return-argument.ll
The file was modifiedllvm/test/Transforms/SCCP/definite-initializer.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/assumes.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/array-elem-refs.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/malloc-promote-1-no-null-opt.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/storepointer-compare-no-null-opt.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/range.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2021-08-03-StoreOnceLoadMultiCasts.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/available_externally_global_ctors.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/heap-sra-2-no-null-opt.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/sub-nuw.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/null-check-is-use-pr35760.ll
The file was modifiedllvm/test/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll
The file was modifiedllvm/test/Transforms/SCCP/crash.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/trivialstore.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/globalsra-multigep.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/vector-compares.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/load-store-global.ll
The file was modifiedllvm/test/Transforms/TailCallElim/debugloc.ll
The file was modifiedllvm/test/Transforms/SCCP/thread_local_acs.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/diamond.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps-pointers-to-structs.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-bigint.ll
The file was modifiedllvm/test/Transforms/SCCP/2009-01-14-IPSCCP-Invoke.ll
The file was modifiedllvm/test/Transforms/TailCallElim/notail.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll
The file was modifiedllvm/test/Transforms/SCCP/ub-shift.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/tls.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-base-call.ll
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges-with-undef.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/i128.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/phi-common-val.ll
The file was modifiedllvm/test/Transforms/SCCP/apfloat-basictest.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/alloca.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-ranges-binaryops.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/memset-null.ll
The file was modifiedllvm/test/Transforms/SCCP/2008-01-27-UndefCorrelate.ll
The file was modifiedllvm/test/Transforms/SCCP/struct-arg-resolve-undefs.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/mul.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/phi-select.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/global-ifunc.ll
The file was modifiedllvm/test/Transforms/SCCP/resolvedundefsin-tracked-fn.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sext.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/globalsra.ll
The file was modifiedllvm/test/Transforms/TailCallElim/basic.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/srem.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps-pointers-to-arrays.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll
The file was modifiedllvm/test/Transforms/SCCP/range-and-ip.ll
The file was modifiedllvm/test/Transforms/SCCP/global.ll
The file was modifiedllvm/test/Transforms/SCCP/float-phis.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-03-06-Anonymous.ll
The file was modifiedllvm/test/Transforms/SCCP/2004-11-16-DeadInvoke.ll
The file was modifiedllvm/test/Transforms/SCCP/bitcast.ll
The file was modifiedllvm/test/Transforms/SCCP/2002-05-02-MissSecondInst.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/null-check-not-use-pr35760.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/comdats.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/memcpy.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-ranges-sext.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/atomic.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-predinfo-order.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/ne.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/mixed-signed-unsigned-predicates.ll
The file was modifiedllvm/test/Transforms/SCCP/2008-06-09-WeakProp.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll
The file was modifiedllvm/test/Transforms/SCCP/ubsan_overflow.ll
The file was modifiedllvm/test/Transforms/TailCallElim/accum_recursion.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/externally_available.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-constant-ranges.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/2003-10-28-MergeExternalConstants.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/sge.ll
The file was modifiedllvm/test/Transforms/SCCP/atomic.ll
The file was modifiedllvm/test/Transforms/SCCP/phis.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2005-09-27-Crash.ll
The file was modifiedllvm/test/Transforms/SCCP/return-constants.ll
The file was modifiedllvm/test/Transforms/SCCP/2003-08-26-InvokeHandling.ll
The file was modifiedllvm/test/Transforms/SCCP/pr49582-iterator-invalidation.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-ranges-phis.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/global_ctors.ll
The file was modifiedllvm/test/Transforms/SCCP/int-phis.ll
The file was modifiedllvm/test/Transforms/SCCP/ipscp-drop-argmemonly.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/pr33686.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/globalsra-align.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/deadglobal.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-branch-unresolved-undef.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-array.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-add-range-to-call.ll
The file was modifiedllvm/test/Transforms/SCCP/remove-call-inst.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2007-05-13-Crash.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-select.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/globalsra-partial.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2021-08-02-CastStoreOnceP2I.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/ule.ll
The file was modifiedllvm/test/Transforms/SCCP/2008-04-22-multiple-ret-sccp.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-01-03-Crash.ll
The file was modifiedllvm/test/Transforms/SCCP/PR43857.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/align.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/MallocSROA-section.ll
The file was modifiedllvm/test/Transforms/SCCP/ranges-sext.ll
The file was modifiedllvm/test/Transforms/SCCP/predicateinfo-cond.ll
The file was modifiedllvm/test/Transforms/SCCP/pr45185-range-predinfo.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/and.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/alias-resolve.ll
The file was modifiedllvm/test/Transforms/TailCallElim/inf-recursion.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-01-13-OutOfRangeSROA.ll
The file was modifiedllvm/test/Transforms/SCCP/undef-resolve.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/amdgcn-ctor-alloca.ll
The file was modifiedllvm/test/Transforms/SCCP/2002-08-30-GetElementPtrTest.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll
The file was modifiedllvm/test/Transforms/SCCP/PR26044.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/shrink-global-to-bool-check-debug.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/store-struct-element.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/deadfunction.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/overflows.ll
The file was modifiedllvm/test/Transforms/SCCP/2008-05-23-UndefCallFold.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-bigarray.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2003-10-09-PreserveWeakGlobals.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-04-26-SROA-Global-Align.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/fastcc.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/preallocated.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-basictest4.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/ordering.ll
The file was modifiedllvm/test/Transforms/TailCallElim/setjmp.ll
The file was modifiedllvm/test/Transforms/SCCP/phi-cycle.ll
The file was modifiedllvm/test/Transforms/SCCP/pr27712.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/or.ll
The file was modifiedllvm/test/Transforms/SCCP/overdefined-div.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/indirectbr.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/virtual-functions.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-ipsccp1.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/2002-07-17-CastRef.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/PowerPC/coldcc_coldsites.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-ipsccp3.ll
The file was modifiedllvm/test/Transforms/SCCP/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/SCCP/load-store-range.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/dom.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/abs.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/condprop.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/ctor-list-opt-inbounds.ll
The file was modifiedllvm/test/Transforms/TailCallElim/deopt-bundle.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/blockaddress.ll
The file was modifiedllvm/test/Transforms/GlobalDCE/vtable-rtti.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/pointer.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/alias-used-address-space.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/crash.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
The file was modifiedllvm/test/Transforms/SCCP/arg-type-mismatch.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/integer-bool-dwarf.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2007-04-05-Crash.ll
The file was modifiedllvm/test/Transforms/SCCP/latticeval-invalidate.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/pr33457.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
The file was modifiedllvm/test/Transforms/SCCP/retvalue-undef.ll
The file was modifiedllvm/test/Transforms/ConstantMerge/merge-dbg.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/deopt.ll
The file was modifiedllvm/test/Transforms/SCCP/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/memset.ll
The file was modifiedllvm/test/Transforms/GlobalOpt/storepointer-compare.ll
The file was modifiedllvm/test/Transforms/SCCP/return-zapped.ll
Commit 407600604b59ff9970894194eeec62580437a47a by bjorn.a.pettersson
[test] Use -passes in lit tests for the UpdateTestChecks tool

The UpdateTestChecks tool itself does not care about which pass
manager that is used in the opt invocation. So the lit tests that
are verifying the behavior of the UpdateTestChecks tool is updated
to use the new-PM syntax (-passes=) when specifying the pass pipeline
in the test cases that are used for verifying the UpdateTestChecks
tool.

Differential Revision: https://reviews.llvm.org/D114517
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll.funcattrs.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/function_name.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/pre-process.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.globals.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/function_name.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.generated.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/basic.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/basic.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll.plain.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/generated_funcs.ll.nogenerated.globals.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/basic.ll.funcsig.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/pre-process.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/sometimes_deleted_function.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/sometimes_deleted_function.ll
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/check_attrs.ll
Commit 00cf717f51d76ffa62b2525a4893e20e23750e21 by bjorn.a.pettersson
[test] Use -passes syntax in Feature/OperandBundles lit tests

Simply use the new PM syntax instead of the deprecated legacy PM
syntax when specifying the opt pipeline in some regression tests.

Differential Revision: https://reviews.llvm.org/D114518
The file was modifiedllvm/test/Feature/OperandBundles/dse.ll
The file was modifiedllvm/test/Feature/OperandBundles/adce.ll
The file was modifiedllvm/test/Feature/OperandBundles/basic-aa-argmemonly.ll
The file was modifiedllvm/test/Feature/OperandBundles/early-cse.ll
Commit da66263b6e505a4c605efbe8d68c3b09ad3606a4 by ardb
[ARM] implement support for ALU/LDR PC-relative group relocations

Currently, LLD does not support the complete set of ARM group relocations.
Given that I intend to start using these in the Linux kernel [0], let's add
support for these.

This implements the group processing as documented in the ELF psABI. Notably,
this means support is dropped for very far symbol references that also carry a
small component, where the immediate is rotated in such a way that only part of
it wraps to the other end of the 32-bit word. To me, it seems unlikely that
this is something anyone could be relying on, but of course I could be wrong.

[0] https://lore.kernel.org/r/20211122092816.2865873-8-ardb@kernel.org/

Reviewed By: peter.smith, MaskRay

Differential Revision: https://reviews.llvm.org/D114172
The file was modifiedlld/test/ELF/arm-adr-err.s
The file was addedlld/test/ELF/arm-adr-err-long.s
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was modifiedlld/test/ELF/arm-adr.s
The file was modifiedlld/test/ELF/arm-adr-long.s
Commit 2b160e95c89f28a30e2481e6131073659d866a8c by nikita.ppv
Reland [SCEV] Fix and validate ValueExprMap/ExprValueMap consistency

Relative to the previous landing attempt, this introduces an additional
flag on forgetMemoizedResults() to not remove SCEVUnknown phis from
the value map. The invalidation after BECount calculation wants to
leave these alone and skips them in its own use-def walk, but we can
still end up invalidating them via forgetMemoizedResults() if there
is another IR value with the same SCEV. This is intended as a temporary
workaround only, and the need for this should go away once the
getBackedgeTakenInfo() invalidation is refactored in the spirit of
D114263.

-----

This adds validation for consistency of ValueExprMap and
ExprValueMap, and fixes identified issues:

* Addrec construction directly wrote to ValueExprMap in a few places,
  without updating ExprValueMap. Add a helper to ensures they stay
  consistent. The adjustment in forgetSymbolicName() explicitly
  drops the old value from the map, so that we don't rely on it
  being overwritten.
* forgetMemoizedResultsImpl() was dropping the SCEV from
  ExprValueMap, but not dropping the corresponding entries from
  ValueExprMap.

Differential Revision: https://reviews.llvm.org/D113349
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
The file was modifiedllvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/X86/nested-ptr-addrec.ll
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit 9f374a74c2aabed998a731ac9f14bd8baa4208ba by kbessonova
[NVPTX][AsmPrinter] Avoid removing globals before calling AsmPrinter::doFinalization()

Instead of removing globals from a module, we, it seems, can just override
AsmPrinter::emitGlobalVariable() to do nothing as NVPTXAsmPrinter already
emitted globals by this time and we don't want to do it twice.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D113653
The file was modifiedllvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
Commit 25dad1064bf14b9a24c6e33ef4a9e7f8e951c1e3 by flo
[DSE] Optimize defining access of defs while walking upwards.

This patch extends the code that walks memory defs upwards to find
clobbering accesses to also try to optimize the clobbering defining
access.

We should be able to find set the optimized access of our starting def
(KillingDef), if the following holds:

1. It is the first call of getDomMemoryDef for KillingDef (so Current
    ==  KillingDef->getDefiningAccess().
2. No potentially aliasing defs are skipped.

Then if a (partly) aliasing def is encountered, it can be used as
optimized access for KillingDef. No further optimizations can be
applied to KillingDef.

I'd appreciate a careful look, as the existing documentation is not too
clear on what is expected for optimized accesses.

The motivation for this patch is to use the optimized accesses to cover
more cases of redundant stores as follow-up to D111727.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D112313
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit 1b2d58ba90cd72a8dfe1535b5fbecbefacc30016 by david.green
[ARM] Extra testing for v2i1 types. NFC

This adds extra tests for various operations from making the v2i1 type
legal.
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovimm.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpsel.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-spill.ll
Commit c2550e342732d029c3a8ae1eff764d68b1abfc59 by nikita.ppv
[SCEV] Simplify invalidation after BE count calculation (NFCI)

After backedge taken counts have been calculated, we want to
invalidate all addrecs and dependent expressions in the loop,
because we might compute better results with the newly available
backedge taken counts. Previously this was done with a forgetLoop()
style use-def walk. With recent improvements to SCEV invalidation,
we can instead directly invalidate any SCEVs using addrecs in this
loop. This requires a great deal less subtlety to avoid invalidating
more than necessary, and in particular gets rid of the hack from
D113349. The change is similar to D114263 in spirit.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit f492a414bad782ae4202d2af9d3408f8e727599d by nikita.ppv
[SCEV] Simplify forgetSymbolicName() (NFCI)

With the recently introduced tracking as well as D113349, we can
greatly simplify forgetSymbolicName(). In fact, we can simply
replace it with forgetMemoizedResults().

What forgetSymbolicName() used to do is to walk the IR use-def
chain to find all SCEVs that mention the SymbolicName. However,
thanks to use tracking, we can now determine the relevant SCEVs
in a more direct way. D113349 is needed to also clear out the
actual IR to SCEV mapping in ValueExprMap.

Differential Revision: https://reviews.llvm.org/D114263
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 904328932699cd5e0eefab2c81e4f51421fd3f33 by kbessonova
[DwarfCompileUnit] Set parent DIE right after creating a local entity

No functional changes intended.

Before this patch DwarfCompileUnit::createScopeChildrenDIE() and
DwarfCompileUnit::createAndAddScopeChildrenDIE() used to emit child subtrees
and then when all the children get created, attach them to a parent scope DIE.
However, when a DIE doesn't have a parent, all the requests for its unit DIE
fail.

Currently, this is not a big issue since it isn't usually needed to know unit DIE
for a local (function-scoped) entity. But once we introduce lexical blocks as
a valid scope for global variables (static locals) and type DIEs, any requests
for a unit DIE need to be guarded against local scope due to the potential
absence of the DIE's parent.

To avoid the aforementioned issue, this patch refactors a few DwarfCompileUnit
methods to support the idea of attaching a DIE to its parent as close to the
creation of this DIE as possible.

Reviewed By: ellis

Differential Revision: https://reviews.llvm.org/D114350
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Commit 7ba64ab05a174cc5cecacbc81dadc0ef48cc8ed1 by llvm-dev
[PowerPC] Regenerate ppc64-P9-vabsd.ll tests
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
Commit 7d5d063c7745672afaab9dc2e744d43093fa6062 by david.green
[ARM] Fold away unnecessary CSET/CMPZ

Codegen from expanded vector operations can end up with unnecessary
CMPZ/CSINC, of the form:
  CSXYZ A, B, C1 (CMPZ (CSINC 0, 0, C2, D), 0)

These can be converted to remove the CMPZ and CSINC, depending on the
condition.
  if C1==NE -> CSXYZ A, B, C2, D
  if C1==EQ -> CSXYZ A, B, NOT(C2), D

Differential Revision: https://reviews.llvm.org/D114013
The file was modifiedllvm/test/CodeGen/Thumb2/mve-cttz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-and.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-or.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-ctlz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-spill.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-xor.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpsel.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmas.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpf.ll
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmath.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-not.ll
Commit ff649e08021042a8e828f30ae72d062c9b25c661 by kazu
[Target] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/Mips/MipsAsmPrinter.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZElimCompare.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcMCInstLower.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMCInstLower.cpp
The file was modifiedllvm/lib/Target/MSP430/MSP430MCInstLower.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreMCInstLower.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp
The file was modifiedllvm/lib/Target/Sparc/DelaySlotFiller.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
The file was modifiedllvm/lib/Target/Mips/MipsMCInstLower.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiMCInstLower.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCCTRLoops.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiInstrInfo.cpp
Commit 5c64d8ef8cc0c0ed3e0f2ae693d99e7f70f20a84 by david.green
[ARM] CSINC/CSINV patterns from CMOV

We sometimes end up generating CMOV with constant operands that can be
simplified to CSINC or CSINV under Arm-8.1m. This adds some simple
patterns for them.

Differential Revision: https://reviews.llvm.org/D114349
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-minmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqmovn.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fmas.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vctp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-load.ll
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqshrn.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpf.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-store.ll
Commit 2afd16fe725ffa98723abda6dc19ee6d70f60a4d by chiahungduan
[mlir] Enable MLIRDialectUtilsTests

Also remove `TooFewDims` test which tried to create an invalid AffineMap.
The creation of an invalid AffineMap is rejected by `willBeValidAffineMap`,
as a result we can deprecate the test.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D114657
The file was modifiedmlir/unittests/Dialect/CMakeLists.txt
The file was modifiedmlir/unittests/Dialect/Utils/StructuredOpsUtilsTest.cpp
Commit cc2794abeab5d876c50523de193ea7b5849018cc by Vitaly Buka
[sanitizer] Switch StackStore from pointers to 32bit IDs

Depends on D114488.

Reviewed By: morehouse, dvyukov, kstoimenov

Differential Revision: https://reviews.llvm.org/D114489
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
Commit a9f837bbf0ecb12fd309a1c5ba59661fc1447327 by sander.desmalen
NFC: Simplify sve-widen-phi.ll by unrolling once.

The unroll factor > 1 has little value for what is being tested.
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
Commit 28a4deab921d2d9a1e27d520fc3f745eb8d9aa02 by sander.desmalen
[LV] Fix incorrectly marking a pointer indvar as 'scalar'.

collectLoopScalars should only add non-uniform nodes to the list if they
are used by a load/store instruction that is marked as CM_Scalarize.

Before this patch, the LV incorrectly marked pointer induction variables
as 'scalar' when they required to be widened by something else,
such as a compare instruction, and weren't used by a node marked as
'CM_Scalarize'. This case is covered by sve-widen-phi.ll.

This change also allows removing some code where the LV tried to
widen the PHI nodes with a stepvector, even though it was marked as
'scalarAfterVectorization'. Now that this code is more careful about
marking instructions that need widening as 'scalar', this code has
become redundant.

Differential Revision: https://reviews.llvm.org/D114373
The file was modifiedllvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/pointer-induction.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
Commit 168bc7ce7e2ebe6527bf3fdd9262ef5c0deab4fc by Vitaly Buka
[sanitizer] Remove storeIds and use padding of StackDepotNode

Depends on D114489.

Reviewed By: morehouse, dvyukov

Differential Revision: https://reviews.llvm.org/D114490
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
Commit 01631ffcfca768c97e4a26c2d86af1ecb4b28b22 by koraq
[libc++][format] Adds formatting benchmarks.

These benchmarks will be used to test the performance inpact of the next
set of optimization patches.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D110501
The file was addedlibcxx/benchmarks/format_to.bench.cpp
The file was addedlibcxx/benchmarks/format.bench.cpp
The file was addedlibcxx/benchmarks/formatted_size.bench.cpp
The file was addedlibcxx/benchmarks/format_to_n.bench.cpp
Commit 7b75110fac979be24eed0178caa9d1f8c68e14eb by flo
[SCEV] Turn validity check in getExistingSCEV into assert (NFC).

Now that we track users of SCEV expressions, we should be able to always
invalidate containing expressions.

With that, I think the case where a value gets removed but
SCEVs containing references to it should not be possible any longer.
Turn check into an assert.

This slightly reduces compile-time:

NewPM-O3: -0.27%
NewPM-ReleaseThinLTO: -0.21%
NewPM-ReleaseLTO-g: -0.26%

http://llvm-compile-time-tracker.com/compare.php?from=c3dc6b081da6ba503e67d260033f81f61eb38ea3&to=95a4a028b1f1dd0bc3d221435953b7d2c031b3d5&stat=instructions

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D114633
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 730dccb98622a82d1cad65e784ce5a8e8323e8cb by koraq
[libc++] Remove support for Clang 9 and older.

I encountered this while reviewing an unrelated patch. Will land after
the CI passes.

Reviewed By: #libc, Mordante

Differential Revision: https://reviews.llvm.org/D114673
The file was modifiedlibcxx/include/type_traits
Commit cb68fc814af63a7dc2f696fccbcc6971c76956bd by koraq
[libc++] Add myself to the credits.

Noticed while updating the credits for the to_chars patch.
The file was modifiedlibcxx/CREDITS.TXT
Commit 97755ab1c67f01031d1f2e1a972b00c76841f6f8 by spatel
[InstCombine] reduce code duplication; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit f55d1eb3746a17688ca10d4e699ccea7d0f15378 by spatel
[InstCombine] use decomposeBitTestICmp to make icmp (trunc X), C more consistent

This is a follow-on suggested in D112634.
Two folds that were added with that patch are subsumed in the call to
decomposeBitTestICmp, and two other folds are potentially inverted.

The deleted folds were very specialized by instcombine standards
because they were restricted to legal integer types based on the data
layout. This generalizes the canonical form independent of target/types.

This change has a reasonable chance of exposing regressions either in
IR or codegen, but I don't have any evidence for either of those yet.
A spot check of asm across several in-tree targets shows variations
that I expect are mostly neutral.

We have one improvement in an existing IR test that I noted with a
comment. Using mask ops might also make more code match with D114272.

Differential Revision: https://reviews.llvm.org/D114386
The file was modifiedllvm/test/Transforms/InstCombine/compare-signs.ll
The file was modifiedllvm/test/Transforms/InstCombine/select-icmp-and.ll
The file was modifiedllvm/test/Transforms/InstCombine/and-compare.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/getelementptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-trunc.ll
The file was modifiedllvm/test/Transforms/InstCombine/signed-truncation-check.ll
Commit 04b5c00952c39e00806bc154df348f5171919788 by david.green
[ARM] Add testing for various fptosi.sat patterns. NFC
The file was addedllvm/test/CodeGen/ARM/fpclamptosat.ll
Commit 8874ada906f6a2ae0c4aa978581a0c9c26b89ffd by thakis
[clang] Fix -Wreturn-type false positive in @try statements

After 04f30795f16638, -Wreturn-type has an effect on functions that
contain @try/@catch statements. CheckFallThrough() was missing
a case for ObjCAtTryStmts, leading to a false positive.

(What about the other two places in CheckFallThrough() that handle
CXXTryStmt but not ObjCAtTryStmts?

- I think the last use of CXXTryStmt is dead in practice: 04c6851cd made it so
  that calls never add edges to try bodies, and the CFG block for a try
  statement is always an empty block containing just the try element itself as
  terminator (the try body itself is part of the normal flow of the function
  and not connected to the block for the try statement itself. The try statment
  cfg block is only connected to the catch bodies, and only reachable from
  throw expressions within the try body.)

- The first use of CXXTryStmt might be important. It looks similar to
  the code that adds all cfg blocks for try statements as roots of
  the reachability graph for the reachability warnings, but I can't
  find a way to trigger it. So I'm omitting it for now. The CXXTryStmt
  code path seems to only be hit by try statements that are function
  bodies without a surrounding compound statements
  (`f() try { ... } catch ...`), and those don't exist for ObjC
  @try statements.
)

Fixes PR52473.

Differential Revfision: https://reviews.llvm.org/D114660
The file was addedclang/test/SemaObjC/return-noreturn.m
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
Commit c73fc74ce0f85510ebedd9fe8bcad51d53f2465c by kazu
[llvm] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
The file was modifiedllvm/lib/CodeGen/StackSlotColoring.cpp
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Commit 3495090b9bfdb1daf9c64585b4c02284dc99a180 by flo
[LV] Move code from widenGEP to VPWidenGEPRecipe (NFC).

The code in widenGEP has already been transitioned to only rely on
information provided by VPWidenGEPRecipe directly.

Moving the code directly to VPWidenGEPRecipe::execute completes
the transition for the recipe.

It provides the following advantages:

1. Less indirection, easier to see what's going on.
2. Removes accesses to fields of ILV.

2) in particular ensures that no dependencies on
fields in ILV for GEP code generation are re-introduced.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D114321
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 6c1c2313d1b7bea4e9d831fe061c37735b7d4802 by i
[ELF] Simplify assignFileOffsets. NFC
The file was modifiedlld/ELF/Writer.cpp
Commit f9a4d9aa0309ca353de909a19b648ab34f6c0c68 by i
[ELF] -z separate-*: Use max-page-size instead of common-page-size for text/non-SHF_ALLOC transition and writeTrapInstr

For -z separate-code and -z separate-loadable-segments:

When RW is present, the RX to RW transition is aligned with max-page-size.
When RW is absent, the RX to non-SHF_ALLOC transition should use max-page-size as well.
The file was modifiedlld/test/ELF/fill-trap.s
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/fill-trap-ppc.s
Commit 3608e18a946e77a474a468304b6c3904c55dbce0 by nikita.ppv
[DSE] Use MapVector for IOLs

I'm not sure whether this can cause any actual non-determinism,
but at least it makes the DSE debug log non-deterministic, which
makes it harder to debug other non-determinism issues.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit df08b2fe8b35cb63dfb3b49738a3494b9b4e6f8e by dimitry
[AArch64] Avoid crashing on invalid -Wa,-march= values

As reported in https://bugs.freebsd.org/260078, the gnutls Makefiles
pass -Wa,-march=all to compile a number of assembly files. Clang does
not support this -march value, but because of a mistake in handling
the arguments, an unitialized Arg pointer is dereferenced, which can
cause a segfault.

Work around this by adding a check if the local WaMArch variable is
initialized, and if so, using its value in the diagnostic message.

Reviewed By: tschuett

Differential Revision: https://reviews.llvm.org/D114677
The file was modifiedclang/test/Driver/aarch64-target-as-march.s
The file was modifiedclang/lib/Driver/ToolChains/Arch/AArch64.cpp
Commit f5a9bfdf8f4a278ba725fee50d5b5054f95e88f2 by nicolas.vasilache
[mlir] NFC - Move invalid.mlir tests to the proper dialects
The file was modifiedmlir/test/Dialect/Tensor/invalid.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/test/Dialect/MemRef/invalid.mlir
Commit cecc6893a08618fc753cd55893b720a01fbd2b51 by i
[ELF] Simplify assignFileOffsets

There is a difference with non-SHF_ALLOC SHT_NOBITS when off%sh_addralign!=0
which doesn't happen/matter in practice.
The file was modifiedlld/ELF/Writer.cpp
Commit d060cc1f9808dd5de524334fd695404a96e3175f by i
[ELF] Fix out-of-bounds write in memset(&Out::first, ...)

Fix r285764: there is no guarantee that Out::first is placed before other
static data members of `struct Out`. After `bufferStart` was introduced, this
out-of-bounds write is destined in many compilers. It is likely benign, though.

And move `Out::elfHeader->size` assignment beside `Out::elfHeader->sectionIndex`
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/OutputSections.h
The file was modifiedlld/ELF/OutputSections.cpp
The file was modifiedlld/ELF/Writer.cpp
Commit 25c7ec4fc622b73f02840daf2ebaf4a5dabb9e1a by i
[ELF] Simplify OutputSection::sectionIndex assignment. NFC

And improve comments.
The file was modifiedlld/ELF/Writer.cpp
Commit 7ea662e2dda021bfc4c68354a5fe359748dd4ce4 by i
[ELF] Replace one make_unique from r316378 with a stack object. NFC
The file was modifiedlld/ELF/LinkerScript.cpp
Commit b3163c1cdde09467382984e5879aa9701b7036d3 by i
[Driver] Support PowerPC SPE musl dynamic linker name ld-musl-powerpc-sf.so.1

Musl treats PowerPC SPE as a soft-float target (as the PowerPC SPE ABI
is soft-float compatible).

Reviewed By: jhibbits, MaskRay

Differential Revision: https://reviews.llvm.org/D105869
The file was modifiedclang/test/Driver/linux-ld.c
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
Commit 85e50c10807f8d3ddd4d092afc23e75b818d0462 by i
[ELF] Inline InputSection::getOffset into callers and remove it. NFC

This is an unneeded abstraction which may cause confusion:
SectionBase::getOffset has the same name but hard codes -1 as the size of OutputSection.
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/ELF/MapFile.cpp
The file was modifiedlld/ELF/InputSection.h
Commit e80a0b353c31e2303c44141ab8b2ca63627ab5c2 by i
[ELF] Remove unneeded getOutputSectionVA. NFC

I attempted to remove it 1 or 2 year ago but kept it just to have a good
diagnostic in case the output section is nullptr (should be impossible).
It is long enough that we haven't seen such a case.
The file was modifiedlld/ELF/LinkerScript.cpp
Commit 5233ad17e77eb7b7697f2664dc5a588a30fe5eaf by zeratul976
Compilation Database: Point Bazel users to a solution

This doc lists ways of getting compilation databases out of some popular build systems for use with clangd and other tooling.

We built such a way for Bazel and just released it after a bunch of requests on GitHub. Thought I should propose that we add a link to help people find it and use clang tooling.

(This is my first revision submitted via LLVM Phabricator, so if I've messed something up, I'd really appreciate your help and patience. Asking for a review from Sam McCall, because I've had a great time working with him elsewhere on GitHub before and because I saw him in the Git history for this file.)

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D114213
The file was modifiedclang/docs/JSONCompilationDatabase.rst
Commit 1164c4b37583eca98866853ed22149f1a1b55a3d by i
[ELF] Simplify/remove LinkerScript::output and advance. NFC
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/LinkerScript.h
Commit ace1d0ad3dc43e28715cbe2f3e0a5a76578bda9f by stellaraccident
[mlir][python] Normalize asm-printing IR behavior.

While working on an integration, I found a lot of inconsistencies on IR printing and verification. It turns out that we were:
  * Only doing "soft fail" verification on IR printing of Operation, not of a Module.
  * Failed verification was interacting badly with binary=True IR printing (causing a TypeError trying to pass an `str` to a `bytes` based handle).
  * For systematic integrations, it is often desirable to control verification yourself so that you can explicitly handle errors.

This patch:
  * Trues up the "soft fail" semantics by having `Module.__str__` delegate to `Operation.__str__` vs having a shortcut implementation.
  * Fixes soft fail in the presence of binary=True (and adds an additional happy path test case to make sure the binary functionality works).
  * Adds an `assume_verified` boolean flag to the `print`/`get_asm` methods which disables internal verification, presupposing that the caller has taken care of it.

It turns out that we had a number of tests which were generating illegal IR but it wasn't being caught because they were doing a print on the `Module` vs operation. All except two were trivially fixed:
  * linalg/ops.py : Had two tests for direct constructing a Matmul incorrectly. Fixing them made them just like the next two tests so just deleted (no need to test the verifier only at this level).
  * linalg/opdsl/emit_structured_generic.py : Hand coded conv and pooling tests appear to be using illegal shaped inputs/outputs, causing a verification failure. I just used the `assume_verified=` flag to restore the original behavior and left a TODO. Will get someone who owns that to fix it properly in a followup (would also be nice to break this file up into multiple test modules as it is hard to tell exactly what is failing).

Notes to downstreams:
  * If, like some of our tests, you get verification failures after this patch, it is likely that your IR was always invalid and you will need to fix the root cause. To temporarily revert to prior (broken) behavior, replace calls like `print(module)` with `print(module.operation.get_asm(assume_verified=True))`.

Differential Revision: https://reviews.llvm.org/D114680
The file was modifiedmlir/test/python/dialects/builtin.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py
The file was modifiedmlir/test/python/dialects/std.py
The file was modifiedmlir/test/python/ir/module.py
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
The file was modifiedmlir/test/python/dialects/shape.py
The file was modifiedmlir/test/python/dialects/linalg/ops.py
The file was modifiedmlir/test/python/ir/operation.py
The file was modifiedmlir/lib/Bindings/Python/IRModule.h
Commit fd7d40640d26cd7834a1d85023ed9da8aef2a3a7 by kazu
[llvm] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/LatencyPriorityQueue.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Reassociate.cpp
The file was modifiedllvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600MachineScheduler.cpp
The file was modifiedllvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/TableGen/TGLexer.cpp
The file was modifiedllvm/lib/ExecutionEngine/ExecutionEngine.cpp
The file was modifiedllvm/lib/CodeGen/GlobalMerge.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
Commit 6488bd1d51715501632778e3c9a1d4eedfac2998 by Saleem Abdulrasool
test: add a lit configuration for Windows subdirectory

This adds a local configuration to the Windows subdirectory to filter
out the tests on non-Windows platforms using the lit filtering.
The file was addedlldb/test/Shell/Process/Windows/lit.local.cfg
Commit b5f1fa3e5c1503137c63d5eab1bd213dea706041 by i
[ELF][test] --oformat binary: Check that SIZEOF_HEADERS==0
The file was modifiedlld/test/ELF/oformat-binary.s
Commit 11291326cd983288117b52e955e7936548373c89 by i
[ELF] Support --oformat= beside Separate --oformat

Both GNU ld's manpage and ours use --oformat= as the canonical form.
It's odd that we do not support it...
The file was modifiedlld/test/ELF/oformat-binary.s
The file was modifiedlld/ELF/Options.td
Commit 01eb91fa86a0c65cbaac75336769d188f35443ec by Jake.Egan
[AIX] Disable empty.ll test using unsupported split dwarf

This test uses split-dwarf feature, which is not currently supported on AIX. Set this test to `UNSUPPORTED` on AIX for now.

Reviewed By: shchenz

Differential Revision: https://reviews.llvm.org/D114567
The file was modifiedllvm/test/DebugInfo/Generic/empty.ll
Commit 89c0f4553ea62cef172a4924c21b40afdc744f11 by i
[ELF] Simplify/remove LinkerScript::switchTo. NFC
The file was modifiedlld/ELF/LinkerScript.h
The file was modifiedlld/ELF/LinkerScript.cpp
Commit e652f3f04a253d1c6bc3e16f15115ff3e8401dc0 by i
[ELF] Simplify some ctx->outSec with sec. NFC
The file was modifiedlld/ELF/LinkerScript.cpp
Commit 286c11165e24a7904328804ba10c332277d18b45 by i
[ELF] Decrease InputSectionBase::entsize to uint32_t

While here, change the sh_addralign argument to uint32_t (InputSection ctor's
argument and the member are uint32_t); add constexpr.
The file was modifiedlld/ELF/InputSection.h
Commit 4aac00a71db31121d70b140d7367e7f9d9992f66 by endre.fulop
[analyzer][doc] Add user documenation for taint analysis

Checker alpha.security.taint.TaintPropagation now has user documentation for
taint analysis with an example showing external YAML configuration format.
The format of the taint configuration file is now documented under the user
documentation of Clang SA.

Differential Revision: https://reviews.llvm.org/D113251
The file was modifiedclang/docs/analyzer/checkers.rst
The file was modifiedclang/docs/analyzer/user-docs.rst
The file was addedclang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
Commit 99a2d940dd77a9c3699c71024b38baee98df8292 by i
[ELF] Speed up/simplify removeUnusedSyntheticSections. NFC

Make one change: when the OutputSection is nullptr (due to /DISCARD/ or garbage
collected BssSection (replaceCommonSymbols)), discard the SyntheticSection as well.
The file was modifiedlld/ELF/Writer.cpp
Commit 4709bacf18b41bf80b3a0fc1c9f16be60fedae8b by i
[ELF] Avoid std::stable_partition which may allocate memory. NFC
The file was modifiedlld/ELF/Writer.cpp
Commit 9d1938fd1441935313ac0e44e39069bee8171a86 by jperier
[flang] Return true in IsSymplyContiguous for allocatables

The current code was relying on the fact that allocatables are deferred
shape and that isAssumedShape() should therefore return true for them.

This is not true, because the current parsing/semantic analysis always
builds a semantics::ArraySpec for `x(:)` that returns true to both
isDeferredShape()/isAssumedShape(), whether x is allocatable/pointer or
not.

It proved tricky to change this behavior, so this is a simple fix for
IsSymplyContiguous where it currently matters, but we most likely want
to investigate more and fix the isDeferredShape()/isAssumedShape() in
a second time.

Differential Revision: https://reviews.llvm.org/D114599
The file was modifiedflang/test/Evaluate/folding09.f90
The file was modifiedflang/lib/Evaluate/check-expression.cpp
Commit a31f4bdfe8211ecb38741c4fd570baf0d6e16f76 by david.sherwood
[CodeGen][SVE] Use whilelo instruction when lowering @llvm.get.active.lane.mask

In most common cases the @llvm.get.active.lane.mask intrinsic maps directly
to the SVE whilelo instruction, which already takes overflow into account.
However, currently in SelectionDAGBuilder::visitIntrinsicCall we always lower
this immediately to a generic sequence of instructions that explicitly
take overflow into account. This makes it very difficult to then later
transform back into a single whilelo instruction. Therefore, this patch
introduces a new TLI function called shouldExpandGetActiveLaneMask that asks if
we should lower/expand this to a sequence of generic ISD nodes, or instead
just leave it as an intrinsic for the target to lower.

You can see the significant improvement in code quality for some of the
tests in this file:

  CodeGen/AArch64/active_lane_mask.ll

Differential Revision: https://reviews.llvm.org/D114542
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/active_lane_mask.ll
Commit 0685e83534ef8917f277b394da2927cabff8129f by balazs.benics
Fix cppcoreguidelines-virtual-base-class-destructor in macros

The `cppcoreguidelines-virtual-base-class-destructor` checker crashed on
this example:

  #define DECLARE(CLASS) \
  class CLASS {          \
  protected:             \
    virtual ~CLASS();    \
  }
  DECLARE(Foo); // no-crash

The checker will hit the following assertion:

  clang-tidy: llvm/include/llvm/ADT/Optional.h:196: T &llvm::optional_detail::OptionalStorage<clang::Token, true>::getValue() & [T = clang::Token]: Assertion `hasVal' failed."

It turns out, `Lexer::findNextToken()` returned `llvm::None` within the
`getVirtualKeywordRange()` function when the `VirtualEndLoc`
SourceLocation represents a macro expansion.
To prevent this from happening, I decided to propagate the `llvm::None`
further up and only create the removal of `virtual` if the
`getVirtualKeywordRange()` succeeds.

I considered an alternative fix for this issue:
I could have checked the `Destructor.getLocation().isMacroID()` before
doing any Fixit calculation inside the `check()` function.
In contrast to this approach my patch will preserve the diagnostics and
drop the fixits only if it would have crashed.

Reviewed By: whisperity

Differential Revision: https://reviews.llvm.org/D113558
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-virtual-class-destructor.cpp
Commit 0540485436c4dd225e6a40e6db1240f096d145d3 by balazs.benics
[libtooling][clang-tidy] Fix crashing on rendering invalid SourceRanges

Invalid SourceRanges can occur generally if the code does not compile,
thus we expect clang error diagnostics.
Unlike `clang`, `clang-tidy` did not swallow invalid source ranges, but
tried to highlight them, and blow various assertions.

The following two examples produce invalid source ranges, but this is
not a complete list:

  void test(x); // error: unknown type name 'x'
  struct Foo {
    member; // error: C++ requires a type specifier for all declarations
  };

Thanks @whisperity helping me fix this.

Reviewed-By: xazax.hun

Differential Revision: https://reviews.llvm.org/D114254
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/export-diagnostics.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
Commit e1d0673aeeece138d4865385a24a86f6954dff72 by balazs.benics
[clang-tidy] Fix crashing altera-struct-pack-align on invalid RecordDecls

Reviewed-By: martong

Differential Revision: https://reviews.llvm.org/D114256
The file was addedclang-tools-extra/test/clang-tidy/checkers/altera-struct-pack-align-invalid-decl-no-crash.cpp
The file was modifiedclang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
Commit a8120a771143c15480b508c19a14c0c85a36378c by balazs.benics
[clang-tidy] Ignore narrowing conversions in case of bitfields

Bitfields are special. Due to integral promotion [conv.prom/5] bitfield
member access expressions are frequently wrapped by an implicit cast to
`int` if that type can represent all the values of the bitfield.

Consider these examples:
  struct SmallBitfield { unsigned int id : 4; };
  x.id & 1;             (case-1)
  x.id & 1u;            (case-2)
  x.id << 1u;           (case-3)
  (unsigned)x.id << 1;  (case-4)

Due to the promotion rules, we would get a warning for case-1. It's
debatable how useful this is, but the user at least has a convenient way
of //fixing// it by adding the `u` unsigned-suffix to the literal as
demonstrated by case-2. However, this won't work for shift operators like
the one in case-3. In case of a normal binary operator, both operands
contribute to the result type. However, the type of the shift expression is
the promoted type of the left operand. One could still suppress this
superfluous warning by explicitly casting the bitfield member access as
case-4 demonstrates, but why? The compiler already knew that the value from
the member access should safely fit into an `int`, why do we have this
warning in the first place? So, hereby we suppress this specific scenario,
when a bitfield's value is implicitly cast to int (likely due to integral
promotion).

Note that the bitshift operation might invoke unspecified/undefined
behavior, but that's another topic, this checker is about detecting
conversion-related defects.

Example AST for `x.id << 1`:
  BinaryOperator 'int' '<<'
  |-ImplicitCastExpr 'int' <IntegralCast>
  | `-ImplicitCastExpr 'unsigned int' <LValueToRValue>
  |   `-MemberExpr 'unsigned int' lvalue bitfield .id
  |     `-DeclRefExpr 'SmallBitfield' lvalue ParmVar 'x' 'SmallBitfield'
  `-IntegerLiteral 'int' 1

Reviewed By: courbet

Differential Revision: https://reviews.llvm.org/D114105
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-narrowing-conversions-bitfields.cpp
Commit 1b3cd35ade5daea163ac444324415d68af2513a7 by clementval
[fir] Add base for runtime builder unittests

This patch adds the common base shared by builder runtime
unittests. It extracted from D114460 to make it easier to base other patches
on it.

Reviewed By: kiranchandramohan, rovka

Differential Revision: https://reviews.llvm.org/D114557
The file was addedflang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
The file was addedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
Commit fd71159f6468988d9865a39c243695f823f4b6d7 by flo
[LV] Move code from widenInstruction to VPWidenRecipe. (NFC)

The code in widenInstruction has already been transitioned to
only rely on information provided by VPWidenRecipe directly.

Moving the code directly to VPWidenRecipe::execute completes
the transition for the recipe.

It provides the following advantages:

1. Less indirection, easier to see what's going on.
2. Removes accesses to fields of ILV.

2) in particular ensures that no dependencies on
fields in ILV for vector code generation are re-introduced.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D114322
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 18452d1f12479ff5e1b437ef7efc9538e505c437 by clementval
[fir] Add fir transformational intrinsic builder

This patch adds the builder to generate transformational
intrinsic runtime API calls.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: rovka

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: mleair <leairmark@gmail.com>
Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>
Co-authored-by: Peter Steinfeld <psteinfeld@nvidia.com>
The file was addedflang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Transformational.h
The file was addedflang/lib/Optimizer/Builder/Runtime/Transformational.cpp
Commit 51e2c8c9bf96f19a3160a7da36be26943318a2cb by clementval
[fir] Add assignment runtime API builder

This patch adds the builder that generate assignment runtime API calls.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: rovka, awarzynski

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Assign.h
The file was addedflang/lib/Optimizer/Builder/Runtime/Assign.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was addedflang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
Commit af37d4b6fee8990d5b029796681b59e0d0390c28 by balazs.benics
[analyzer][NFC] Refactor AnalysisConsumer::getModeForDecl()

I just read this part of the code, and I found the nested ifs less
readable.

Reviewed By: martong

Differential Revision: https://reviews.llvm.org/D114441
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
Commit 2e7202b0082fd0e22589949aa4d3472d201949b2 by clementval
[fir] Add data flow optimization pass

Add pass to perform store/load forwarding and potentially removing dead
stores.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: kiranchandramohan, schweitz, mehdi_amini, awarzynski

Differential Revision: https://reviews.llvm.org/D111288
The file was modifiedflang/lib/Optimizer/Transforms/CMakeLists.txt
The file was addedflang/lib/Optimizer/Transforms/MemRefDataFlowOpt.cpp
The file was modifiedflang/include/flang/Optimizer/Transforms/Passes.td
The file was addedflang/test/Fir/memref-data-flow.fir
The file was modifiedflang/include/flang/Optimizer/Transforms/Passes.h
Commit cffe3a084f87ad2ed17aeebc1075eb100182114e by lebedev.ri
[X86][Costmodel] Now that `getReplicationShuffleCost()` is good, update `getInterleavedMemoryOpCostAVX512()`

... to actually ask about i1-elt-wide mask, since that is what will probably be used on AVX512.
This unblocks D111460.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D114316
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-store-accesses-with-gaps.ll
Commit 61808066325ff0828bab7f016e8798b78d2e6b49 by bradley.smith
[AArch64][SVE] Mark fixed-type FP extending/truncating loads/stores as custom

This allows the generic DAG combine to fold fp_extend/fp_trunc into
loads/stores which we can then lower into a integer extending
load/truncating store plus an FP_EXTEND/FP_ROUND.

The nuance here is that fixed-type FP_EXTEND/FP_ROUND require unpacked
types hence lowering them introduces an unpack/zip. By allowing these
nodes to be combined with loads/store we make it much easier to have
this unpack/zip combined into the load/store by our custom lowering.

Differential Revision: https://reviews.llvm.org/D114580
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
Commit 297fb66484c73d3a04e8974921e94cb00c1587c2 by bjorn.a.pettersson
Use a deterministic order when updating the DominatorTree

This solves a problem with non-deterministic output from opt due
to not performing dominator tree updates in a deterministic order.

The problem that was analysed indicated that JumpThreading was using
the DomTreeUpdater via llvm::MergeBasicBlockIntoOnlyPred. When
preparing the list of updates to send to DomTreeUpdater::applyUpdates
we iterated over a SmallPtrSet, which didn't give a well-defined
order of updates to perform.

The added domtree-updates.ll test case is an example that would
result in non-deterministic printouts of the domtree. Semantically
those domtree:s are equivalent, but it show the fact that when we
use the domtree iterator the order in which nodes are visited depend
on the order in which dominator tree updates are performed.

Since some passes (at least EarlyCSE) are iterating over nodes in the
dominator tree in a similar fashion as the domtree printer, then the
order in which transforms are applied by such passes, transitively,
also depend on the order in which dominator tree updates are
performed. And taking EarlyCSE as an example the end result could be
different depending on in which order the transforms are applied.

Reviewed By: nikic, kuhar

Differential Revision: https://reviews.llvm.org/D110292
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/JumpThreading/domtree-updates.ll
The file was modifiedllvm/lib/CodeGen/IndirectBrExpandPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
Commit d96f92ff16edab72cf78811673f02371f07a5a70 by sylvestre
fix typos in comments
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/Inputs/ihex-elf-sections.yaml
The file was modifiedclang-tools-extra/clang-doc/ClangDoc.h
Commit 5e96553608a1bbf688f11c76890dc543c5f89c61 by lebedev.ri
[NFC][X86][LV][Costmodel] Add most basic test for masked interleaved load
The file was addedllvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
The file was addedllvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
The file was removedllvm/test/Analysis/CostModel/X86/interleaved-store-accesses-with-gaps.ll
Commit 90010c2e1d60c6a9a4a0b30a113d4dae2b7214eb by erich.keane
Don't consider 'LinkageSpec' when calculating DeclContext 'Encloses'

We don't properly handle lookup through using directives when there is
a linkage spec in the common chain.  This is because `CppLookupName` and
`CppNamespaceLookup` end up skipping `LinkageSpec`'s (correctly, as they
are not lookup scopes), but the `UnqualUsingDirectiveSet` does not.

I discovered that when we are calculating the `CommonAncestor` for a
using-directive, we were coming up with the `LinkageSpec`, instead of
the `LinkageSpec`'s parent.  Then, when we use
`UnqualUsingDirectiveSet::getNamespacesFor` a scope, we don't end up
finding any that were in the `LinkageSpec` (again, since `CppLookupName`
skips linkage specs), so those don't end up participating in the lookup.

The function `UnqualUsingDirectiveSet::addUsingDirective` calculates
this common ancestor via a loop through the the `DeclSpec::Encloses`
function.

Changing this Encloses function to believe that a `LinkageSpec`
`Encloses` nothing ends up fixing the problem without breaking any other tests,
so I opted to do that.  A less aggressive patch could perhaps change only
the `addUsingDirective`, but my examination of all uses of `Encloses`
showed that it seems to be used exclusively in lookup, which makes me think
this is correct everywhere.

Differential Revision: https://reviews.llvm.org/D113709
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was addedclang/test/SemaCXX/lookup-through-linkage.cpp
Commit 84364bdaabfca35f083c932ffd3a14f3b9ad4f3a by david.sherwood
[CodeGen][AArch64] Bail out in performConcatVectorsCombine for scalable vectors

I tried to exercise the existing combine patterns in performConcatVectorsCombine
for scalable vectors and at the moment it doesn't seem possible. Parts of
the code currently assume we're dealing with fixed-width vectors with calls
to getVectorNumElements(), therefore I've decided to simply bail out early
for scalable vectors.

Added a test here to show that we don't crash when attempting to combine
truncate + concat:

  CodeGen/AArch64/concat_vector-truncate-combine.ll

Differential Revision: https://reviews.llvm.org/D114600
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/concat_vector-truncate-combine.ll
Commit 814aabae37757d21d96e22608ccb98e91c1f3a06 by mydeveloperday
[clang-format] regressed default behavior for operator parentheses

{D110833} regressed behavior of spaces before parentheses for operators, this revision reverts that so that operators are handled as they were before.

I think in hindsight it was a mistake to try and consume operator behaviour in with the function behaviour, I think Operators can be considered a special style. Its seems the code is getting confused as to if this is a function declaration or definition.

I think latterly we can consider adding an operator parentheses specific custom option but this should have been explicitly called out as it can impact projects.

Reviewed By: HazardyKnusperkeks, curdeius

Differential Revision: https://reviews.llvm.org/D114696
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit fc53eb69c26cdd7efa6b629c187d04326f0448ca by erich.keane
Reapply 'Implement target_clones multiversioning'

See discussion in D51650, this change was a little aggressive in an
error while doing a 'while we were here', so this removes that error
condition, as it is apparently useful.

This reverts commit bb4934601d731465e01e2e22c80ce2dbe687d73f.
The file was modifiedclang/test/Sema/attr-cpuspecific.c
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/CodeGen/attr-target-clones.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/CodeGenCXX/attr-target-clones.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/SemaCXX/attr-target-clones.cpp
The file was addedclang/test/Sema/attr-target-clones.c
Commit 95f34e318c469806879a0cd1a6c5290901ed12df by herhut
[mlir][memref] Fix bug in verification of memref.collapse_shape

The verifier computed an illegal type with negative dimension size when collapsing partially static memrefs.

Differential Revision: https://reviews.llvm.org/D114702
The file was modifiedmlir/test/Dialect/MemRef/ops.mlir
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
Commit a7363067e69a60442a1d52e93207ed7a86ce9d6a by spatel
[X86] Add vector test coverage for or with no common bits tests

Ensure D113970 handles vector types patterns as well.

Differential Revision: https://reviews.llvm.org/D114575
The file was addedllvm/test/CodeGen/X86/vec_no-common-bits.ll
Commit 7319d11586c4aa836204316a5be7cd71cfe5e05d by jay.foad
[AMDGPU] Fix "must generated" typo in docs
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 65d9dc7f1f4ac5b4d76502d36bd81d9857538148 by jay.foad
[AMDGPU] Fix list indentation in docs
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 881840fc268e6523b71b40e717c647ed45682816 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fadd (fmul x, y), z) -> (fma x, y, z)

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D93305
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
Commit 89511362165332695bf0e26767662b47f8e11f98 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fadd (fpext (fmul x, y)), z) -> (fma (fpext x), (fpext y), z)

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D97937
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-mul.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit f7322925365c165e8e92a699a2a699b6fe04f6d5 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fmul u, v)), z) -> (fma x, y, (fma u, v, z))

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D97938
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit e5e49a08f11618653aca133f22603c165889505e by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fadd (fma x, y, (fpext (fmul u, v))), z) -> (fma x, y, (fma (fpext u), (fpext v), z))

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D98047
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
Commit a7821692708c413d7a2488137dea2fbbfac31ca7 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fsub (fmul x, y), z) -> (fma x, y, -z)

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D96614
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit 5fe7fcd28e5e7df174a46a78e19316856152eefa by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fsub (fneg (fmul, x, y)), z) -> (fma (fneg x), y, (fneg z))

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D98048
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-neg-mul.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 37c2a2201d683383d3683321ff1f33fd8dd22298 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fsub (fpext (fmul x, y)), z) -> (fma (fpext x), (fpext y), (fneg z))

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D98049
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-ext-mul.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 0dd570ff56c53dd6d11305fb0b36edab69eb1484 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Transform (fsub (fpext (fneg (fmul x, y))), z) -> (fneg (fma (fpext x), (fpext y), z))

Patch by: Mateja Marjanovic

Differential Revision: https://reviews.llvm.org/D98050
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-ext-neg-mul.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
Commit 7e73c2a66a8bb73b80aedc94c4e58598ac87e9d5 by lebedev.ri
[X86][Costmodel] `getInterleavedMemoryOpCostAVX512()`: masked load can not be folded into a shuffle

The mask on the shuffle is for the output, not the input.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D114697
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
Commit 1cc3b135aa61a31a7f7e488dd720e29bd8907bfc by clementval
[fir] Get rid of the global option in FIRBuilder

Replace the global option `nameLengthHashSize` with a constexpr
with the same name. The option was not used in fir-dev so switching
to a constexpr is fine.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D114630
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
Commit 2022e2fcd05c68a38c4b5ef865461c9c86a81997 by mascasa
[HWASan] Disable LTO test on aarch64.

It fails for non-Android aarch64 bots as well.
The file was modifiedcompiler-rt/test/hwasan/TestCases/lto.c
Commit 77dd579827f2e7574be4bbf3f94a48930e7b094f by nikita.ppv
[SCEV] Remove incorrect assert

Fix assertion failure reported on D113349 by removing the assert.
While the produced expression should be equivalent, it may not
be strictly the same, e.g. due to lazy nowrap flag updates. Similar
to what the main createSCEV() code does, simply retain the old
value map entry if one already exists.
The file was addedllvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit c572eb1ad9d8a528bcaff0160888aff31b1f4b5f by mehrnoosh.heidarpour
[InstCombine] Fold (~A | B) ^ A --> ~(A & B)

https://alive2.llvm.org/ce/z/gLrYPk

Fixes:
https://llvm.org/PR52518

Reviewed by: spatel

Differential revision: https://reviews.llvm.org/D114339
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/xor.ll
Commit f240e528cea25fd2a9ae01b1e1fe77f507ed7a2c by kazu
[llvm] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedllvm/lib/ObjectYAML/COFFEmitter.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
Commit 8d474f1d157530577f06ce3ef9187e1aaf31a59e by benny.kra
[mlir] Handle an edge case when folding reshapes with multiple trailing 1 dimensions

We would exit early and miss this case.

Differential Revision: https://reviews.llvm.org/D114711
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
Commit 34d02fada28753221eda576e2f651f9b23c3f1af by zequanwu
[LLDB][NativePDB] fix find-functions.cpp failure on windows bots
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/find-functions.cpp
Commit 23dc886226306d961c31987db9aad137a69ad539 by wanyu9511
[NFC][AIX]Disable unsupported hip test on AIX

AIX doesn't support GPU. There is no point testing HIP on it.

Reviewed By: Jake-Egan

Differential Revision: https://reviews.llvm.org/D114484
The file was modifiedclang/test/Driver/hip-version.hip
Commit a8278a747ddf9e56262dafddd7c03e29cd85d074 by Louis Dionne
[libc++] Fix incorrect REQUIRES on a locale-dependent test

The test doesn't depend specifically on the en_US.UTF-8 locale, instead
it depends on whether localization support exists, period.

Differential Revision: https://reviews.llvm.org/D114708
The file was modifiedlibcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/locale_dependent.compile.pass.cpp
Commit 6c27d389c8a00040aad998fe959f38ba709a8750 by Matthew.Arsenault
OpenMP: Start calling setTargetAttributes for generated kernels

This wasn't setting any of the attributes the target would expect to
emit for kernels.
The file was addedclang/test/OpenMP/amdgcn-attributes.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit fe270ab061fa1200d1f7e121ac6671f7d24b73d6 by zequanwu
[LLDB][NativePDB] fix find-functions.cpp failure on windows bots (2)
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/find-functions.cpp
Commit df0560ca00182364e0a786d35adb294c3c98dbd0 by Anshil.Gandhi
[HIP] Add atomic load, atomic store and atomic cmpxchng_weak builtin support in HIP-clang

Introduce `__hip_atomic_load`, `__hip_atomic_store` and `__hip_atomic_compare_exchange_weak`
builtins in HIP.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D114553
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was addedclang/test/SemaCUDA/atomic-ops.cu
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/test/CodeGenCUDA/atomic-ops.cu
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 3c32c568844c745e3fe7fa72ce3aa65340e545bc by wanyu9511
[NFC][clang]Increase the number of driver diagnostics

We're close to hitting the limited number of driver diagnostics, increase `DIAG_SIZE_DRIVER` to accommodate more.

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D114615
The file was modifiedclang/include/clang/Basic/DiagnosticIDs.h
Commit 5c6b9e1622b10a543ea4210996d2732a6e5183da by Stanislav.Mekhanoshin
[InstCombine] (~(a | b) & c) | ~(c | (a ^ b)) -> ~((a | b) & (c | (b ^ a)))

```
----------------------------------------
define i3 @src(i3 %a, i3 %b, i3 %c) {
%0:
  %or1 = or i3 %b, %c
  %not1 = xor i3 %or1, 7
  %and1 = and i3 %a, %not1
  %xor1 = xor i3 %b, %c
  %or2 = or i3 %xor1, %a
  %not2 = xor i3 %or2, 7
  %or3 = or i3 %and1, %not2
  ret i3 %or3
}
=>
define i3 @tgt(i3 %a, i3 %b, i3 %c) {
%0:
  %obc = or i3 %b, %c
  %xbc = xor i3 %b, %c
  %o = or i3 %a, %xbc
  %and = and i3 %obc, %o
  %r = xor i3 %and, 7
  ret i3 %r
}
Transformation seems to be correct!
```

Differential Revision: https://reviews.llvm.org/D112955
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit 142044a0b52f767c11a74aee827c3cf598a68138 by spatel
[InstCombine] add tests for or with mul operand; NFC
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
Commit eee035235ebd76b0e1b62f6dec989874a3102233 by nikita.ppv
[LICM] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/LICM/scalar-promote-memmodel.ll
The file was modifiedllvm/test/Transforms/LICM/scalar-promote.ll
Commit 52668355f481c25131be7a1b4e3498ddf3b0f6d2 by ajcbik
[mlir][sparse] some leftover cleanup from migration to bufferization dialect

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D114730
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Commit 25eb7fa01d7ebbe67648ea03841cda55b4239ab2 by Matthew.Arsenault
Revert "OpenMP: Start calling setTargetAttributes for generated kernels"

This reverts commit 6c27d389c8a00040aad998fe959f38ba709a8750.

This is failing on the buildbots
The file was removedclang/test/OpenMP/amdgcn-attributes.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 32815bc907c4bf25866545da93b00b5d6c2ce45f by jeremy.morse
[DebugInfo][InstrRef][NFC] Test changes: DBG_VALUE to DBG_INSTR_REF

This patch contains a bunch of replacements of:

    DBG_VALUE $somereg

with,

    SOMEINST debug-instr-number1
    DBG_INSTR_REF 1, 0, ...

It's mostly SelectionDAG tests that are making sure that the variable
location assignment is placed in the correct position in the instructions.

To avoid a loss in test coverage of SelectionDAG, which is used by a lot
of different backends, all these tests now have two modes and sets of RUN
lines, one for DBG_VALUE mode, the other for instruction referencing.

Differential Revision: https://reviews.llvm.org/D114258
The file was modifiedllvm/test/DebugInfo/X86/sdag-transfer-dbgvalue.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-salvage-add.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
The file was modifiedllvm/test/DebugInfo/X86/pr40427.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-ir-salvage.ll
The file was modifiedllvm/test/DebugInfo/X86/pr34545.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll
The file was modifiedllvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll
Commit 4f215bfa6ee525b245b81462d75c3e1e47d18f13 by Adrian Prantl
Update unit test API usage (NFC)
The file was modifiedlldb/unittests/Platform/PlatformAppleSimulatorTest.cpp
Commit 935abeaace123e5f11792a5175079d974d0a0be8 by Matthew.Arsenault
OpenMP: Correctly query location for amdgpu-arch

This was trying to figure out the build path for amdgpu-arch, and
making assumptions about where it is which were not working on my
system. Whether a standalone build or not, we should have a proper
imported target to get the location from.
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
Commit 410d276400a9ee2440387d372db6b0f112853cc0 by david.green
[DAG] Add tests for fpsti.sat for various architectures. NFC
The file was addedllvm/test/CodeGen/AArch64/fpclamptosat.ll
The file was addedllvm/test/CodeGen/X86/fpclamptosat.ll
The file was addedllvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
The file was addedllvm/test/CodeGen/X86/fpclamptosat_vec.ll
The file was addedllvm/test/CodeGen/RISCV/fpclamptosat.ll
The file was addedllvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
The file was addedllvm/test/CodeGen/WebAssembly/fpclamptosat.ll
The file was addedllvm/test/CodeGen/RISCV/fpclamptosat_vec.ll
The file was addedllvm/test/CodeGen/ARM/fpclamptosat_vec.ll
Commit 9cf31b8d39d67843eeb314bacf6f78a1c969e1cc by jeremy.morse
[DebugInfo][InstrRef] Preserve properties of restored variables

InstrRefBasedLDV observes when variable locations are clobbered, scans what
values are available in the machine, and re-issues a DBG_VALUE for the
variable if it can find another location. Unfortunately, I hadn't joined up
the Indirectness flag, so if it did this to an Indirect Value, the
indirectness would be dropped.

Fix this, and add a test that if we clobber a variable value (on the stack
in this case), then the recovered variable location keeps the Indirect
flag.

Differential Revision: https://reviews.llvm.org/D114378
The file was addedllvm/test/DebugInfo/MIR/InstrRef/restore-clobber-with-indirectness.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit 99f8b795cc03f9bcda7f9cbd9625c2976ae62bd5 by spatel
[InstCombine] try to fold 'or' into 'mul' operand

or (mul X, Y), X --> mul X, (add Y, 1) (when the multiply has no common bits with X)

We already have this fold if the pattern ends in 'add', but we can miss it if the
'add' becomes 'or' via another no-common-bits transform.

This is part of fixing:
http://llvm.org/PR49055
...but it won't make a difference on that example yet.

https://alive2.llvm.org/ce/z/Vrmoeb

Differential Revision: https://reviews.llvm.org/D114729
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit 1ce51a5f355ffba72b01e5e688cda7bbba2aa282 by i
[ELF] --cref: If -Map is specified, print to the map file

PR48282: This behavior matches GNU ld and gold.

Reviewed By: markj

Differential Revision: https://reviews.llvm.org/D114663
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/ELF/MapFile.cpp
The file was modifiedlld/ELF/MapFile.h
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/test/ELF/cref.s
Commit 829b62adf5db189843b9a9ce626dfef97f76059f by listmail
[unroll] Split full exact and full bound unroll costing [NFC]

This change should be NFC. It's posted for review mostly to make sure others are happy with the names I'm introducing for "exact full unroll" and "bounded full unroll". The motivation here is that our cost model for bounded unrolling is too aggressive - it gives benefits for exits we aren't going to prune - but I also just think the new version of the code is a lot easier to follow.

Differential Revision: https://reviews.llvm.org/D114453
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Commit a20987adf4f80e2657eb3032a5a91e13f58106a0 by jeremy.morse
[DebugInfo][InstrRef] Add indirection from dbg.declare in SelectionDAG

Usually dbg.declares get translated into either entries in an MF
side-table, or a DBG_VALUE on entry to the function with IsIndirect set
(including in instruction referencing mode). Much rarer is a dbg.declare
attached to a non-argument value, such as in the test added in this patch
where there's a variable-length-array. Such dbg.declares become SDDbgValue
nodes with InIndirect=true.

As it happens, we weren't correctly emitting DBG_INSTR_REFs with the
additional indirection. This patch adds the extra indirection, encoded as
adding an additional DW_OP_deref to the expression.

Differential Revision: https://reviews.llvm.org/D114440
The file was modifiedllvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was addedllvm/test/DebugInfo/X86/instr-ref-dbg-declare.ll
Commit a655e0f991ba59f34fc24c44d04bbc56ff564c3e by listmail
[unroll] Reduce scope of UnrollFactor variable in computeUnrollCount [NFC]

Suggested in review of D114453, done as a separate change to get all uses at once.
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Commit f50207c015df91132efe135fd64c3c5bb36c0909 by listmail
[unroll] Use early return in shouldPartialUnroll [nfc]
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Commit fc9dae420c0c7f0f4667e0aa9f3d37d72b2a9906 by jeremy.morse
[DebugInfo][InstrRef][NFC] "Final" x86 test cleanup

These are some final test changes for using instruction referencing on X86:
* Most of these tests just have the flag switched so that they run with
   instr-ref, and just work: these tests were fixed by earlier patches.
* There are some spurious differences in textual outputs,
* A few have different temporary labels in the output because more
   MCSymbols are printed to the output.

Differential Revision: https://reviews.llvm.org/D114588
The file was modifiedllvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir
The file was modifiedllvm/test/DebugInfo/X86/sdag-split-arg.ll
The file was modifiedllvm/test/DebugInfo/COFF/fpo-stack-protect.ll
The file was modifiedllvm/test/DebugInfo/X86/sdagsplit-1.ll
The file was modifiedllvm/test/DebugInfo/X86/dbg-addr-dse.ll
The file was modifiedllvm/test/tools/llvm-locstats/locstats.ll
The file was modifiedllvm/test/CodeGen/MIR/X86/diexpr-win32.mir
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
The file was modifiedllvm/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-array-advanced.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
The file was modifiedllvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
Commit 8906a0fe64abf1a9c8641ee51908bba7cbf8ec54 by listmail
[SCEVExpander] Drop poison generating flags when reusing instructions

The basic problem we have is that we're trying to reuse an instruction which is mapped to some SCEV. Since we can have multiple such instructions (potentially with different flags), this is analogous to our need to drop flags when performing CSE. A trivial implementation would simply drop flags on any instruction we decided to reuse, and that would be correct.

This patch is almost that trivial patch except that we preserve flags on the reused instruction when existing users would imply UB on overflow already. Adding new users can, at most, refine this program to one which doesn't execute UB which is valid.

In practice, this fixes two conceptual problems with the previous code: 1) a binop could have been canonicalized into a form with different opcode or operands, or 2) the inbounds GEP case which was simply unhandled.

On the test changes, most are pretty straight forward. We loose some flags (in some cases, they'd have been dropped on the next CSE pass anyways). The one that took me the longest to understand was the ashr-expansion test. What's happening there is that we're considering reuse of the mul, previously we disallowed it entirely, now we allow it with no flags. The surrounding diffs are all effects of generating the same mul with a different operand order, and then doing simple DCE.

The loss of the inbounds is unfortunate, but even there, we can recover most of those once we actually treat branch-on-poison as immediate UB.

Differential Revision: https://reviews.llvm.org/D112734
The file was modifiedllvm/test/Transforms/IRCE/non-loop-invariant-rhs-instr.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/lftr-address-space-pointers.ll
The file was modifiedllvm/test/CodeGen/PowerPC/common-chain.ll
The file was modifiedllvm/test/Transforms/LoopPredication/basic.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/ashr-expansion.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/pr24783.ll
Commit 45ecfed6c636d06f76bca0a44803e945cdae9506 by listmail
[CVP] Remove ashr of -1 or 0

Fixes PR#52190. There is already a check for converting ashr instructions with non-negative left-hand sides into lshr; this patch adds an optimization to remove ashr altogether if the left-hand side is known to be in the range [-1, 1).

Differential Revision: https://reviews.llvm.org/D113835
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit 0eee844539e406dfa8010a129ea3655d2298ac10 by jeremy.morse
[DebugInfo][InstrRef] Terminate overlapping variable fragments

If we have a variable where its fragments are split into overlapping
segments:

    DBG_VALUE $ax, $noreg, !123, !DIExpression(DW_OP_LLVM_fragment_0, 16)
    ...
    DBG_VALUE $eax, $noreg, !123, !DIExpression(DW_OP_LLVM_fragment_0, 32)

we should only propagate the most recently assigned fragment out of a
block. LiveDebugValues only deals with live-in variable locations, as
overlaps within blocks is DbgEntityHistoryCalculators domain.

InstrRefBasedLDV has kept the accumulateFragmentMap method from
VarLocBasedLDV, we just need it to recognise DBG_INSTR_REFs. Once it's
produced a mapping of variable / fragments to the overlapped variable /
fragments, VLocTracker uses it to identify when a debug instruction needs
to terminate the other parts it overlaps with. The test is updated for
some standard "InstrRef picks different registers" variation, and the
order of some unrelated DBG_VALUEs changes.

Differential Revision: https://reviews.llvm.org/D114603
The file was modifiedllvm/unittests/CodeGen/InstrRefLDVTest.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit c7aa358798e6330593fd5cc2ff4caf6bc15ba3c9 by mail
[clang-tidy] Fix pr48613: "llvm-header-guard uses a reserved identifier"

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

llvm-header-guard is suggesting header guards with leading underscores
if the header file path begins with a '/' or similar special character.
Only reserved identifiers should begin with an underscore.

Differential Revision: https://reviews.llvm.org/D114149
The file was modifiedclang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/HeaderGuard.h
The file was modifiedclang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
Commit 3ab150f6e44b99dea855024c48d0878eb55ae3d0 by jonathanchesterfield
[openmp][devicertl] Add a missing loader_uninitialized attribute
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Debug.cpp
Commit 6f99e1aa58e3566fcce689bc986b7676e818c038 by contact
[lldb][NFC] Format lldb/include/lldb/Symbol/Type.h

Reviewed By: teemperor, JDevlieghere

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

Signed-off-by: Luís Ferreira <contact@lsferreira.net>
The file was modifiedlldb/source/Symbol/Type.cpp
The file was modifiedlldb/include/lldb/Symbol/Type.h
Commit e8b8304d76ccefa9880bbb352d9f81f330ef1ea1 by mtrofin
[NFC][Regalloc] Split canEvictInterference into hint and general

There are 2 eviction queries. One is made by tryAssign, when it attempts to
free an interference occupying the hint of the candidate. The other is
during 'regular' interference resolution, where we scan over all
physical registers and try to see if we can evict live ranges in favor
of the candidate. We currently use the same logic in both cases, just
that the former never passes the cost to any subsequent query.
Technically, the 2 decisions could be implemented with different
policies.

This patch splits the 2.

RFC: https://lists.llvm.org/pipermail/llvm-dev/2021-November/153639.html

Differential Revision: https://reviews.llvm.org/D114019
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
Commit e63c799a767b0f682af62eba9d1d375c59e58627 by dblaikie
[Demangle] Add support for D simple single qualified names

    This patch adds support for simple single qualified names that includes
    internal mangled names and normal symbol names.

Differential Revision: https://reviews.llvm.org/D111415
The file was modifiedllvm/lib/Demangle/DLangDemangle.cpp
The file was modifiedllvm/unittests/Demangle/DLangDemangleTest.cpp
Commit 6e08abdc256bb9c2158ab5dbfa082a78faa3543a by dblaikie
[Demangle] Add support for multiple identifiers in D qualified names

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D114305
The file was modifiedllvm/unittests/Demangle/DLangDemangleTest.cpp
The file was modifiedllvm/lib/Demangle/DLangDemangle.cpp
Commit b779f02a1cb73bb3885e2059e418dfc1c16d25e2 by dblaikie
[Demangle] Add support for D anonymous symbols

    Anonymous symbols are represented by 0 in the mangled symbol. We should skip
    them in order to represent the demangled name correctly, otherwise demangled
    names like `demangle..anon` can happen.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D114307
The file was modifiedllvm/lib/Demangle/DLangDemangle.cpp
The file was modifiedllvm/unittests/Demangle/DLangDemangleTest.cpp
Commit 53dfa52546833d4c8443d976e67fef820ff54426 by Matthias Braun
Tests for D112754

Differential Revision: https://reviews.llvm.org/D113151
The file was addedllvm/test/CodeGen/X86/fold-masked-merge.ll
Commit 87ba99c263afd4c1c090c17eaf51089b1edbc280 by Matthias Braun
X86: Fold masked-merge when and-not is not available

Differential Revision: https://reviews.llvm.org/D112754
The file was modifiedllvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask.ll
The file was modifiedllvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
The file was modifiedllvm/test/CodeGen/X86/fold-masked-merge.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/or-lea.ll
Commit 7d4da4e1ab7f79e51db0d5c2a0f5ef1711122dd7 by ajcbik
[mlir][sparse] generalize sparse tensor output implementation

Moves sparse tensor output support forward by generalizing from injective
insertions only to include reductions. This revision accepts the case with all
parallel outer and all reduction inner loops, since that can be handled with
an injective insertion still. Next revision will allow the inner parallel loop
to move inward (but that will require "access pattern expansion" aka "workspace").

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D114399
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_out.mlir
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
Commit bd4c6a476fd037fb07a1c484f75d93ee40713d3d by dblaikie
Add missing header
The file was modifiedllvm/lib/Demangle/DLangDemangle.cpp
Commit 2e5c47eda14a547c21e57d869a1e51ffd9938289 by contact
Revert "[lldb][NFC] Format lldb/include/lldb/Symbol/Type.h"

This reverts commit 6f99e1aa58e3566fcce689bc986b7676e818c038.
The file was modifiedlldb/include/lldb/Symbol/Type.h
The file was modifiedlldb/source/Symbol/Type.cpp
Commit 25a7e4b9f7c60883c677a246641287744b0bb479 by Vitaly Buka
[sanitizer] Add Leb128 encoding/decoding

Reviewed By: dvyukov, kstoimenov

Differential Revision: https://reviews.llvm.org/D114464
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
The file was addedcompiler-rt/lib/sanitizer_common/tests/sanitizer_leb128_test.cpp
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_leb128.h
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
Commit fde937748b7def9f9d349b85bf9077f07a84b724 by mtrofin
[NFC] Header comment in X86RegisterBanks.td referred to Aarch64

Differential Revision: https://reviews.llvm.org/D114763
The file was modifiedllvm/lib/Target/X86/X86RegisterBanks.td
Commit 4ae2222e143b8541b6567f9852d9600a17cc9426 by kai.wang
[RISCV] Add a test case to show the bug in RISCVFrameLowering.

If the number of arguments is too large to use register passing, it
needs to occupy stack space to pass the arguments to the callee. There
are two scenarios. One is to reserve the space in prologue and the other
is to reserve the space before the function calls. When we need to
reserve the stack space before function calls, the stack pointer is
adjusted. Under the scenario, we should not use stack pointer to access
the stack objects. It looks like,

callseq_start  ->  sp = sp - reserved_space
//
// We should not use SP to access stack objects in this area.
//
call @foo
callseq_end    ->  sp = sp + reserved_space

Differential Revision: https://reviews.llvm.org/D114245
The file was addedllvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
Commit 9a88566537177df75af1fcde69e0626fed2b1145 by kai.wang
[RISCV] Fix a bug in RISCVFrameLowering.

When we have out-going arguments passing through stack and we do not
reserve the stack space in the prologue. Use BP to access stack objects
after adjusting the stack pointer before function calls.

callseq_start  ->  sp = sp - reserved_space
//
// Use FP to access fixed stack objects.
// Use BP to access non-fixed stack objects.
//
call @foo
callseq_end    ->  sp = sp + reserved_space

Differential Revision: https://reviews.llvm.org/D114246
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
Commit a06d3527563503f17794bf119ee471d0ca2669ca by Vitaly Buka
[NFC][sanitizer] Track progress of populating the block

In multi-threaded application concurrent StackStore::Store may
finish in order different from assigned Id. So we can't assume
that after we switch writing the next block the previous is done.

The workaround is to count exact number of uptr stored into the block,
including skipped tail/head which were not able to fit entire trace.

Depends on D114490.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D114493
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stack_store_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
Commit b121d23a9cea711e832505c0b2495de6a51591c1 by craig.topper
[RISCV] Promote f16 log/pow/exp/sin/cos/etc. to f32 libcalls.

Prevents crashes or cannot select errors.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D113822
The file was modifiedllvm/test/CodeGen/RISCV/half-intrinsics.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit f1d8345a2ab3c343929212d1c62174cfaa46e71a by carrot
[TwoAddressInstructionPass] Create register mapping for registers with multiple uses in the current MBB

Currently we create register mappings for registers used only once in current
MBB. For registers with multiple uses, when all the uses are in the current MBB,
we can also create mappings for them similarly according to the last use.
For example

    %reg101 = ...
            = ... reg101
    %reg103 = ADD %reg101, %reg102

We can create mapping between %reg101 and %reg103.

Differential Revision: https://reviews.llvm.org/D113193
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
The file was modifiedllvm/test/CodeGen/X86/bitreverse.ll
The file was modifiedllvm/test/CodeGen/X86/setcc-combine.ll
The file was modifiedllvm/test/CodeGen/X86/ctpop-combine.ll
The file was modifiedllvm/test/CodeGen/X86/vector-popcnt-128-ult-ugt.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-sum.ll
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-div-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-mul-08.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fadd-fast.ll
The file was modifiedllvm/test/CodeGen/X86/nontemporal-loads.ll
The file was modifiedllvm/test/CodeGen/X86/uadd_sat_vec.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf.ll
The file was modifiedllvm/test/CodeGen/X86/shl-crash-on-legalize.ll
The file was modifiedllvm/test/CodeGen/X86/slow-pmulld.ll
The file was modifiedllvm/test/CodeGen/X86/pmulh.ll
The file was modifiedllvm/test/CodeGen/X86/bypass-slow-division-32.ll
The file was modifiedllvm/test/CodeGen/X86/vector-ext-logic.ll
The file was modifiedllvm/test/CodeGen/ARM/usat.ll
The file was modifiedllvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
The file was modifiedllvm/test/CodeGen/ARM/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
The file was modifiedllvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
The file was modifiedllvm/test/CodeGen/X86/uadd_sat.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/test/CodeGen/X86/popcnt.ll
The file was modifiedllvm/test/CodeGen/X86/combine-sdiv.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-ssat.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-div-04.ll
The file was modifiedllvm/test/CodeGen/X86/vector-bitreverse.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-narrow-binop.ll
The file was modifiedllvm/test/CodeGen/X86/lzcnt-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-3.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/64-bit-shift-by-32-minus-y.ll
The file was modifiedllvm/test/CodeGen/X86/vector-tzcnt-128.ll
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/X86/shift-combine.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-usat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-cmp-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-lzcnt-128.ll
The file was modifiedllvm/test/CodeGen/X86/pull-binop-through-shift.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modifiedllvm/test/CodeGen/ARM/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
The file was modifiedllvm/test/CodeGen/X86/bmi2.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-lshr-128.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-div-03.ll
The file was modifiedllvm/test/CodeGen/X86/combine-bitselect.ll
The file was modifiedllvm/test/CodeGen/X86/vector-popcnt-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-packus.ll
The file was modifiedllvm/test/CodeGen/X86/vselect-packss.ll
The file was modifiedllvm/test/CodeGen/X86/8bit_cmov_of_trunc_promotion.ll
The file was modifiedllvm/test/CodeGen/Thumb/srem-seteq-illegal-types.ll
The file was modifiedllvm/test/CodeGen/X86/sse3-avx-addsub-2.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/umul_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/divide-by-constant.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub.ll
The file was modifiedllvm/test/CodeGen/X86/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
The file was modifiedllvm/test/CodeGen/X86/sat-add.ll
The file was modifiedllvm/test/CodeGen/X86/umul_fix.ll
The file was modifiedllvm/test/CodeGen/X86/vector-lzcnt-sub128.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-fadd.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-fmul-fast.ll
The file was modifiedllvm/test/CodeGen/ARM/ssat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
The file was modifiedllvm/test/CodeGen/X86/sdiv_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/smul_fix.ll
The file was modifiedllvm/test/CodeGen/X86/smul_fix_sat.ll
The file was modifiedllvm/test/CodeGen/X86/umul-with-overflow.ll
The file was modifiedllvm/test/CodeGen/X86/rem.ll
The file was modifiedllvm/test/CodeGen/X86/vec_ctbits.ll
Commit 5297cbf04532f61fe18570982f4f2a3095d08c13 by Christudasan.Devadasan
[AMDGPU] Enable copy between VGPR and AGPR classes during regalloc

Greedy register allocator prefers to move a constrained
live range into a larger allocatable class over spilling
them. This patch defines the necessary superclasses for
vector registers. For subtargets that support copy between
VGPRs and AGPRs, the vector register spills during regalloc
now become just copies.

Reviewed By: rampitec, arsenm

Differential Revision: https://reviews.llvm.org/D109301
The file was modifiedllvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll
The file was addedllvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
The file was addedllvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
The file was addedllvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-agpr.ll
Commit 0150645bf5ae0d55866e77d2bec5aad4e5226b7c by kyulee
[DebugInfo] Do not replace existing nodes from DICompileUnit

When creating a new DIBuilder with an existing DICompileUnit, load the
DINodes from the current DICompileUnit so they don't get overwritten.
This is done in the MachineOutliner pass, but it didn't change the CU so
the bug never appeared. We need this if we ever want to add DINodes to
the CU after it has been created, e.g., DIGlobalVariables.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D114556
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
The file was modifiedllvm/lib/IR/DIBuilder.cpp
Commit a6e7d024a9ebda1564fd78b829c45169add80864 by stellaraccident
[mlir][python] Add pyi stub files to enable auto completion.

There is no completely automated facility for generating stubs that are both accurate and comprehensive for native modules. After some experimentation, I found that MyPy's stubgen does the best at generating correct stubs with a few caveats that are relatively easy to fix:
  * Some types resolve to cross module symbols incorrectly.
  * staticmethod and classmethod signatures seem to always be completely generic and need to be manually provided.
  * It does not generate an __all__ which, from testing, causes namespace pollution to be visible to IDE code completion.

As a first step, I did the following:
  * Ran `stubgen` for `_mlir.ir`, `_mlir.passmanager`, and `_mlirExecutionEngine`.
  * Manually looked for all instances where unnamed arguments were being emitted (i.e. as 'arg0', etc) and updated the C++ side to include names (and re-ran stubgen to get a good initial state).
  * Made/noted a few structural changes to each `pyi` file to make it minimally functional.
  * Added the `pyi` files to the CMake rules so they are installed and visible.

To test, I added a `.env` file to the root of the project with `PYTHONPATH=...` set as per instructions. Then reload the developer window (in VsCode) and verify that completion works for various changes to test cases.

There are still a number of overly generic signatures, but I want to check in this low-touch baseline before iterating on more ambiguous changes. This is already a big improvement.

Differential Revision: https://reviews.llvm.org/D114679
The file was modifiedmlir/lib/Bindings/Python/IRModule.h
The file was modifiedmlir/lib/Bindings/Python/Pass.cpp
The file was modifiedmlir/lib/Bindings/Python/ExecutionEngineModule.cpp
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
The file was modifiedmlir/lib/Bindings/Python/IRAttributes.cpp
The file was modifiedmlir/python/CMakeLists.txt
The file was modifiedmlir/lib/Bindings/Python/MainModule.cpp
The file was addedmlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
The file was addedmlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
The file was addedmlir/python/mlir/_mlir_libs/_mlir/ir.pyi
The file was addedmlir/python/mlir/_mlir_libs/_mlirExecutionEngine.pyi
The file was modifiedmlir/lib/Bindings/Python/IRTypes.cpp
The file was modifiedmlir/lib/Bindings/Python/IRAffine.cpp
Commit bdc3183742f1e996d58bdf23b91966e64ad5e9a3 by stellaraccident
[mlir][python] Implement more SymbolTable methods.

* set_symbol_name, get_symbol_name, set_visibility, get_visibility, replace_all_symbol_uses, walk_symbol_tables
* In integrations I've been doing, I've been reaching for all of these to do both general IR manipulation and module merging.
* I don't love the replace_all_symbol_uses underlying APIs since they necessitate SYMBOL_COUNT walks and have various sharp edges. I'm hoping that whatever emerges eventually for this can still retain this simple API as a one-shot.

Differential Revision: https://reviews.llvm.org/D114687
The file was modifiedmlir/python/mlir/_mlir_libs/_mlir/ir.pyi
The file was modifiedmlir/test/python/ir/operation.py
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/Bindings/Python/IRCore.cpp
The file was addedmlir/test/python/ir/symbol_table.py
The file was modifiedmlir/lib/Bindings/Python/IRModule.h
Commit a88bb5b9fee5aee8c25cabad44a257175e384f52 by stellaraccident
[mlir][python] Audit and fix a lot of the Python pyi stubs.

* Classes that are still todo are marked with "# TODO: Auto-generated. Audit and fix."
* Those without this note have been cross-checked with C++ sources and most have been spot checked by hovering in VsCode.

Differential Revision: https://reviews.llvm.org/D114767
The file was modifiedmlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
The file was modifiedmlir/python/mlir/_mlir_libs/_mlir/ir.pyi
The file was modifiedmlir/python/mlir/_mlir_libs/_mlirExecutionEngine.pyi
The file was modifiedmlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
Commit 42c15c7edf174fc7a45131a1b89ee816fada7633 by pengfei.wang
[X86][clang] Enable floating-point type for -mno-x87 option on 32-bits

We should match GCC's behavior which allows floating-point type for -mno-x87 option on 32-bits. https://godbolt.org/z/KrbhfWc9o

The previous block issues have partially been fixed by D112143.

Reviewed By: asavonic, nickdesaulniers

Differential Revision: https://reviews.llvm.org/D114162
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/test/Sema/x86-no-x87.cpp
Commit 5047e3a3ba92402b60c200201484b422cad8bea6 by i
[ELF] Move GOT/PLT relocation code closer. NFC
The file was modifiedlld/ELF/Relocations.cpp
Commit 5bbe50148f3b515c170be22209395b72890f5b8c by carlosgalvezp
[clang-tidy] Warn on functional C-style casts

The google-readability-casting check is meant to be on par
with cpplint's readability/casting check, according to the
documentation. However it currently does not diagnose
functional casts, like:

float x = 1.5F;
int y = int(x);

This is detected by cpplint, however, and the guidelines
are clear that such a cast is only allowed when the type
is a class type (constructor call):

> You may use cast formats like `T(x)` only when `T` is a class type.

Therefore, update the clang-tidy check to check this
case.

Differential Revision: https://reviews.llvm.org/D114427
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/google-readability-casting.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 89453ed6f2059b5cec576fc41914def713fe38f7 by ardb
[ARM] create new pseudo t2LDRLIT_ga_pcrel for stack guards

We can't use the existing pseudo ARM::tLDRLIT_ga_pcrel for loading the
stack guard for PIC code that references the GOT, since arm-pseudo may
expand this to the narrow tLDRpci rather than the wider t2LDRpci.

Create a new pseudo, t2LDRLIT_ga_pcrel, and expand it to t2LDRpci.

Fixes: https://bugs.chromium.org/p/chromium/issues/detail?id=1270361

Reviewed By: ardb

Differential Revision: https://reviews.llvm.org/D114762
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was addedllvm/test/CodeGen/ARM/expand-pseudos.ll
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Commit 8cd782487fe68082e57d24a576b77f529d77f96c by lebedev.ri
[X86][LoopVectorize] "Fix" `X86TTIImpl::getAddressComputationCost()`

We ask `TTI.getAddressComputationCost()` about the cost of computing vector address,
and then multiply it by the vector width. This doesn't make any sense,
it implies that we'd do a vector GEP and then scalarize the vector of pointers,
but there is no such thing in the vectorized IR, we perform scalar GEP's.

This is *especially* bad on X86, and was effectively prohibiting any scalarized
vectorization of gathers/scatters, because `X86TTIImpl::getAddressComputationCost()`
says that cost of vector address computation is `10` as compared to `1` for scalar.

The computed costs are similar to the ones with D111222+D111220,
but we end up without masked memory intrinsics that we'd then have to
expand later on, without much luck. (D111363)

Differential Revision: https://reviews.llvm.org/D111460
The file was modifiedllvm/test/Analysis/CostModel/X86/scatter-i64-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/interleaved-load-i16-stride-5.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-interleaved-store-i16.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/scatter-i32-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/scatter-i16-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/gather-i64-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/gather-i16-with-i8-index.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-scatter-i32-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/gather-i8-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-scatter-i64-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/scatter-i8-with-i8-index.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/gather-i32-with-i8-index.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/masked-interleaved-load-i16.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit c2e08aba1afd5a69dbe74b03ce6f463d45102222 by wlei
[llvm-profgen] Compute and show profile density

AutoFDO performance is sensitive to profile density, i.e., the amount of samples in the profile relative to the program size, because profiles with insufficient samples could be inaccurate due to statistical noise and thus hurt AutoFDO performance. A previous investigation showed that AutoFDO performed better on MySQL with increased amount of samples. Therefore, we implement a profile-density computation feature to give hints about profile density to users and the compiler.

We define the density of a profile Prof as follows:

- For each function A in the profile, density(A) = total_samples(A) / sizeof(A).
- density(Prof) = min(density(A)) for all functions A that are warm (defined below).

A function is considered warm if its total-samples is within top N percent of the profile. For implementation, we reuse the `ProfileSummaryBuilder::getHotCountThreshold(..)` as threshold which can be set by percent(`--profile-summary-cutoff-hot`) or by value(`--profile-summary-hot-count`).

We also introduce `--hot-function-density-threshold` to set hot function density threshold and will give suggestion if profile density is below it which implies we should increase samples.

This also applies for CS profile with all profiles merged into base.

Reviewed By: hoy, wenlei

Differential Revision: https://reviews.llvm.org/D113781
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.h
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
The file was addedllvm/test/tools/llvm-profgen/Inputs/profile-density.raw.prof
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.h
The file was addedllvm/test/tools/llvm-profgen/profile-density.test
The file was addedllvm/test/tools/llvm-profgen/Inputs/profile-density-cs.raw.prof
Commit 7ba70d32736aef0c640b9d0e7b9081fc208c81c2 by markus.boeck02
[PR52549][clang-cl] Predefine _MSVC_EXECUTION_CHARACTER_SET

Since VS 2022 17.1 MSVC predefines _MSVC_EXECUTION_CHARACTER_SET to inform the users of the execution character set defined at compile time. The value the macro expands to is a Windows Code Page Identifier which are documented here: https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers

As clang currently only supports UTF-8 it is defined as 65001. If clang-cl were to support a different execution character set in the future we'd have to change the value.

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

Differential Revision: https://reviews.llvm.org/D114576
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
Commit 29d4230d6b528ebf14dcd5dc610ee0d937a23d51 by powerman1st
[RISCV] Decode vtype with reserved fields to raw immediate

This patch fixes a crash when doing "llvm-objdump -D --mattr=+experimental-v"
against an object file which happens to keep a word that can be decoded to
VSETVLI & VSETIVLI with reserved vlmul[2:0]=4. All vtype values with
reserved fields (vlmul[2:0]=4, vsew[2:0]=0b1xx, non-zero bits 8/9/10) are
printed to raw immediate.

Reviewed By: jhenderson, jrtc27, craig.topper

Differential Revision: https://reviews.llvm.org/D114581
The file was addedllvm/test/MC/RISCV/rvv/vsetvl-invalid.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Commit 5188f55d32a9cd95c3cb668ab2d762ca4e0c8d6b by i
[ELF] Move ObjFile<ELFT>::{getLocalSymbols,getGlobalSymbols} to non-template ELFFileBase. NFC
The file was modifiedlld/ELF/InputFiles.h
The file was modifiedlld/ELF/InputFiles.cpp
Commit 0d0371f58ff0e4289bdff9ef70f7f6fb0277c3d0 by gysit
[mlir][OpDSL] Fix OpDSL tests after https://reviews.llvm.org/D114680.

Update the shapes of the convolution / pooling tests that where detected after enabling verification during printing (https://reviews.llvm.org/D114680). Also split the emit_structured_generic.py file that previously contained all tests into multiple separate files to simplify debugging.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D114731
The file was removedmlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py
The file was addedmlir/test/python/dialects/linalg/opdsl/emit_pooling.py
The file was addedmlir/test/python/dialects/linalg/opdsl/emit_convolution.py
The file was addedmlir/test/python/dialects/linalg/opdsl/emit_matmul.py
The file was addedmlir/test/python/dialects/linalg/opdsl/emit_misc.py
Commit f89bb3c012b46a00eb31bb7a705a85993eb763e3 by pifon
[mlir] Move bufferization-related passes to `bufferization` dialect.

[RFC](https://llvm.discourse.group/t/rfc-dialect-for-bufferization-related-ops/4712)

Differential Revision: https://reviews.llvm.org/D114698
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/ExpandOps.cpp
The file was modifiedmlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
The file was modifiedmlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
The file was modifiedmlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Transforms/PassDetail.h
The file was addedmlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Bufferization/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
The file was removedmlir/test/Transforms/finalizing-bufferize.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Arithmetic/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Bufferization/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/Arithmetic/Transforms/ExpandOps.cpp
The file was addedmlir/test/Dialect/Bufferization/Transforms/buffer-deallocation.mlir
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Transforms/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
The file was removedmlir/test/Transforms/buffer-deallocation.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
The file was removedmlir/lib/Transforms/BufferDeallocation.cpp
The file was modifiedmlir/lib/Dialect/Shape/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/TensorConstantBufferize.cpp
The file was removedmlir/lib/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/Arithmetic/Transforms/Passes.h
The file was modifiedmlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/FuncBufferize.cpp
The file was addedmlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/Bufferization/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h
The file was addedmlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was addedmlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
The file was removedmlir/include/mlir/Transforms/Bufferize.h
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was addedmlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/Arithmetic/Transforms/Bufferize.cpp
Commit 3356d8837e46a92446e4b9b0cbd6967e5f4e44ba by kadircet
[clangd] Make std symbol generation script python3 friendly

Differential Revision: https://reviews.llvm.org/D114723
The file was modifiedclang-tools-extra/clangd/include-mapping/gen_std.py
Commit ae1ea0bead75f4c7a4c965dfa40b5f3b78b60364 by julian.gross
[mlir] Decompose Bufferization Clone operation into Memref Alloc and Copy.

This patch introduces a new conversion to convert bufferization.clone operations
into a memref.alloc and a memref.copy operation. This transformation is needed to
transform all remaining clones which "survive" all previous transformations, before
a given program is lowered further (to LLVM e.g.). Otherwise, these operations
cannot be handled anymore and lead to compile errors.
See: https://llvm.discourse.group/t/bufferization-error-related-to-memref-clone/4665

Differential Revision: https://reviews.llvm.org/D114233
The file was addedmlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/test/Conversion/BufferizationToMemRef/bufferization-to-memref.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h
The file was addedmlir/lib/Conversion/BufferizationToMemRef/CMakeLists.txt
Commit 5cff77c23f43130887b566dd0fe237e1c482e23b by zeno
[clang][ARM] PACBTI-M assembly support

Introduce assembly support for Armv8.1-M PACBTI extension. This is an optional
extension in v8.1-M.

There are 10 new system registers and 5 new instructions, all predicated on the
feature.

The attribute for llvm-mc is called "pacbti". For armclang, an architecture
extension also called "pacbti" was created.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Victor Campos
- Ties Stuij

Reviewed By: labrinea

Differential Revision: https://reviews.llvm.org/D112420
The file was modifiedclang/test/Driver/armv8.1m.main.c
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.h
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was addedllvm/test/MC/ARM/implicit-it-generation-v8.s
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.def
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/ARM/ARMSystemRegister.td
The file was modifiedllvm/lib/Target/ARM/ARMPredicates.td
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was addedllvm/test/MC/ARM/armv8.1m-pacbti.s
The file was addedllvm/test/MC/Disassembler/ARM/armv8.1m-pacbti.txt
The file was addedllvm/test/MC/ARM/armv8.1m-pacbti-error.s
The file was modifiedllvm/test/CodeGen/Thumb/high-reg-clobber.mir
Commit 5d602120c3a3c175f606d6ce599cfb60239d904c by jay.foad
[AMDGPU] Update docs for nontemporal store

Update the documented GFX10 code sequence for nontemporal stores after
D114351.

Differential Revision: https://reviews.llvm.org/D114707
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit bc5dbb0baee357649c3132254ca6766b5cd6f15b by abinav.puthanpurayil
[GlobalISel] Add matchers for constant splat.

This change exposes isBuildVectorConstantSplat() to the llvm namespace
and uses it to implement the constant splat versions of
m_SpecificICst().

CombinerHelper::matchOrShiftToFunnelShift() can now work with vector
types and CombinerHelper::matchMulOBy2()'s match for a constant splat is
simplified.

Differential Revision: https://reviews.llvm.org/D114625
The file was modifiedllvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fsh.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 9a14adeae00015798843ff5cad987e5fdbdddb34 by pavel
[lldb] Remove 'extern "C"' from the lldb-swig-python interface

The LLDBSWIGPython functions had (at least) two problems:
- There wasn't a single source of truth (a header file) for the
  prototypes of these functions. This meant that subtle differences
  in copies of function declarations could go by undetected. And
  not-so-subtle differences would result in strange runtime failures.
- All of the declarations had to have an extern "C" interface, because
  the function definitions were being placed inside and extert "C" block
  generated by swig.

This patch fixes both problems by moving the function definitions to the
%header block of the swig files. This block is not surrounded by extern
"C", and seems more appropriate anyway, as swig docs say it is meant for
"user-defined support code" (whereas the previous %wrapper code was for
automatically-generated wrappers).

It also puts the declarations into the SWIGPythonBridge header file
(which seems to have been created for this purpose), and ensures it is
included by all code wishing to define or use these functions. This
means that any differences in the declaration become a compiler error
instead of a runtime failure.

Differential Revision: https://reviews.llvm.org/D114369
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/bindings/python/python.swig
The file was modifiedlldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
The file was modifiedlldb/bindings/python/python-wrapper.swig
Commit f02c5f3478318075d1a469203900e452ba651421 by gabor.marton
[Analyzer][solver] Do not remove the simplified symbol from the eq class

Currently, during symbol simplification we remove the original member symbol
from the equivalence class (`ClassMembers` trait). However, we keep the
reverse link (`ClassMap` trait), in order to be able the query the
related constraints even for the old member. This asymmetry can lead to
a problem when we merge equivalence classes:
```
ClassA: [a, b]   // ClassMembers trait,
a->a, b->a       // ClassMap trait, a is the representative symbol
```
Now lets delete `a`:
```
ClassA: [b]
a->a, b->a
```
Let's merge the trivial class `c` into ClassA:
```
ClassA: [c, b]
c->c, b->c, a->a
```
Now after the merge operation, `c` and `a` are actually in different
equivalence classes, which is inconsistent.

One solution to this problem is to simply avoid removing the original
member and this is what this patch does.

Other options I have considered:
1) Always merge the trivial class into the non-trivial class. This might
   work most of the time, however, will fail if we have to merge two
   non-trivial classes (in that case we no longer can track equivalences
   precisely).
2) In `removeMember`, update the reverse link as well. This would cease
   the inconsistency, but we'd loose precision since we could not query
   the constraints for the removed member.

Differential Revision: https://reviews.llvm.org/D114619
The file was modifiedclang/test/Analysis/expr-inspection-printState-eq-classes.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
The file was modifiedclang/test/Analysis/symbol-simplification-disequality-info.cpp
The file was modifiedclang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
Commit 0a17896fe6fdbbde1f9d3ffbb10a4f3bfa8960f9 by gabor.marton
[Analyzer][Core] Make SValBuilder to better simplify svals with 3 symbols in the tree

Add the capability to simplify more complex constraints where there are 3
symbols in the tree. In this change I extend simplifySVal to query constraints
of children sub-symbols in a symbol tree. (The constraint for the parent is
asked in getKnownValue.)

Differential Revision: https://reviews.llvm.org/D103317
The file was addedclang/test/Analysis/svalbuilder-simplify-compound-svals.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
The file was modifiedclang/test/Analysis/taint-tester.c
Commit dab776dd0fb43f1c940998cfb64ddfe3cc87ae6f by flo
[LV] Move code from widenSelectInstruction to VPWidenSelectRecipe. (NFC)

The code in widenSelectInstruction has already been transitioned
to only rely on information provided by VPWidenSelectRecipe directly.

Moving the code directly to VPWidenSelectRecipe::execute completes
the transition for the recipe.

It provides the following advantages:

1. Less indirection, easier to see what's going on.
2. Removes accesses to fields of ILV.

2) in particular ensures that no dependencies on
fields in ILV for vector code generation are re-introduced.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D114323
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit a48e05030bbd0d9ac6f49da43b5f34d317b5a520 by jeremy.morse
[DebugInfo][InstrRef] "final final" test cleanups for x86 tests

Two "totally definitely the last ones" instruction referencing test
updates:

* fp-stack.ll: this test targets i686, and so it won't be getting
   instruction referencing, or at least not right now,
* X86/live-debug-values.ll: instruction referencing will produce entry
   values in this test, add check lines to account for this. It's not clear
   what the test is supposed to be testing anyway, but the entry values
   appear to be correct.

Differential Revision: https://reviews.llvm.org/D114626
The file was modifiedllvm/test/DebugInfo/X86/live-debug-values.ll
The file was modifiedllvm/test/DebugInfo/COFF/fp-stack.ll
Commit de21f346913cf777436ab0ac0fb707ac04eb3300 by gchatelet
[libc] Add memmove benchmarks

This patch enables the benchmarking of `memmove`.
Ideally, this should be submitted before D114637.

Differential Revision: https://reviews.llvm.org/D114694
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.cpp
The file was modifiedlibc/benchmarks/CMakeLists.txt
The file was modifiedlibc/benchmarks/LibcFunctionPrototypes.h
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.h
The file was modifiedlibc/benchmarks/LibcDefaultImplementations.cpp
The file was modifiedlibc/benchmarks/LibcMemoryGoogleBenchmarkMain.cpp
The file was modifiedlibc/benchmarks/automemcpy/lib/CodeGen.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/benchmarks/LibcMemoryBenchmarkMain.cpp
Commit af059dfef5a766ceb0ac29318dfb7102131d933e by gchatelet
[libc] Add a reasonably optimized version for bcmp

This is based on current memcmp implementation.

Differential Revision: https://reviews.llvm.org/D114432
The file was modifiedlibc/src/string/bcmp.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/bcmp_implementations.h
The file was modifiedlibc/test/src/string/bcmp_test.cpp
Commit a34f24689945e967e4ba4d79ed301d3a71870c7b by Louis Dionne
[libc++][ABI BREAK] Do not use the C++03 emulation for std::nullptr_t by default

We only support Clangs that implement nullptr as an extension in C++03 mode,
and we don't support GCC in C++03 mode. Hence, this patch disables the
use of the std::nullptr_t emulation in C++03 mode by default. Doing that
is technically an ABI break since it changes the mangling for std::nullptr_t.
However:

(1) The only affected users are those compiling in C++03 mode that have
    std::nullptr_t as part of their ABI, which should be reasonably rare.

(2) Those users already have a lingering problem in that their code will
    be incompatible in C++03 and C++11 modes because of that very ABI break.
    Hence, the only users that could really be inconvenienced about this
    change is those that planned on compiling in C++03 mode forever - for
    other users, we're just breaking them now instead of letting them break
    themselves later on when they try to upgrade to C++11.

(3) The ABI break will cause a linker error since the mangling changed,
    and will not result in an obscure runtime error.

Furthermore, if anyone is broken by this, they can define the
_LIBCPP_ABI_USE_CXX03_NULLPTR_EMULATION macro to return to the
previous behavior. We will then remove that macro after shipping
this for one release if we haven't seen widespread issues.

Concretely, the motivation for making this change is to make our own ABI
consistent in C++03 and C++11 modes and to remove complexity around the
definition of nullptr.

Furthermore, we could investigate making nullptr a keyword in C++03 mode
as a Clang extension -- I don't think that would break anyone, since
libc++ already defines nullptr as a macro to something else. Only users
that do not use libc++ and compile in C++03 mode could potentially be
broken by that.

Differential Revision: https://reviews.llvm.org/D109459
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/docs/ReleaseNotes.rst
Commit 52ff3b009388f1bef4854f1b6470b4ec19d10b0e by david.green
[DAG] Create fptosi.sat from clamped fptosi

This adds a fold in DAGCombine to create fptosi_sat from sequences for
smin(smax(fptosi(x))) nodes, where the min/max saturate the output of
the fp convert to a specific bitwidth (say INT_MIN and INT_MAX). Because
it is dealing with smin(/smax) in DAG they may currently be ISD::SMIN,
ISD::SETCC/ISD::SELECT, ISD::VSELECT or ISD::SELECT_CC nodes which need
to be handled similarly.

A shouldConvertFpToSat method was added to control when converting may
be profitable. The original fptosi will have a less strict semantics
than the fptosisat, with less values that need to produce defined
behaviour.

This especially helps on ARM/AArch64 where the vcvt instructions
naturally saturate the result.

Differential Revision: https://reviews.llvm.org/D111976
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/RISCV/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/test/CodeGen/X86/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
Commit 8dda516b83255f96b3918f73bb64282655c4cc75 by jeremy.morse
[DebugInfo][InstrRef] Avoid dropping fragment info during PHI elimination

InstrRefBasedLDV used to crash on the added test -- the exit block is not
in scope for the variable being propagated, but is still considered because
it contains an assignment. The failure-mode was vlocJoin ignoring
assign-only blocks and not updating DIExpressions, but pickVPHILoc would
still find a variable location for it. That led to DBG_VALUEs created with
the wrong fragment information.

Fix this by removing a filter inherited from VarLocBasedLDV: vlocJoin will
now consider assign-only blocks and will update their expressions.

Differential Revision: https://reviews.llvm.org/D114727
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
The file was modifiedllvm/unittests/CodeGen/InstrRefLDVTest.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was addedllvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
Commit 14c4051122bf4070d624b82189f1093758ecdf69 by abinav.puthanpurayil
[AMDGPU][NFC] Remove unused defvar in AMDGPUInstructions.td.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
Commit 7093c8101033cc104ce79e8871ac0fb9b70b28c3 by jeremy.morse
[DebugInfo][InstrRef][X86] Instrument expanded DYN_ALLOCAs

If we have a DYN_ALLOCA_* instruction, it will eventually be expanded to a
stack probe and subtract-from-SP. Add debug-info instrumentation to
X86FrameLowering::emitStackProbe so that it can redirect debug-info for the
DYN_ALLOCA to the lowered stack probe. In practice, this means putting an
instruction number label either the call instruction to _chkstk for win32,
or more commonly on the subtract from SP instruction. The two tests added
cover both of these cases.

Differential Revision: https://reviews.llvm.org/D114452
The file was addedllvm/test/DebugInfo/X86/instr-ref-dyn-alloca-win32.ll
The file was addedllvm/test/DebugInfo/X86/instr-ref-dyn-alloca.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86DynAllocaExpander.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
Commit f910aa910555b563f552b2abfc172a2f97a5fb34 by pifon
[mlir] Fix BufferizationToMemRef build.
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/lib/Conversion/BufferizationToMemRef/CMakeLists.txt
Commit 97db64082eb02f831e51b311bd9b7c39e0817e23 by pifon
[mlir] Add bazel build for BufferizationToMemRef.
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit 651122fc4ac92b93f36aab3b194de21065a0c48e by jeremy.morse
[DebugInfo][InstrRef] Pre-land on-by-default-for-x86 changes

Over in D114631 and [0] there's a plan for turning instruction referencing
on by default for x86. This patch adds / removes all the relevant bits of
code, with the aim that the final patch is extremely small, for an easy
revert. It should just be a condition in CommandFlags.cpp and removing the
XFail on instr-ref-flag.ll.

[0] https://lists.llvm.org/pipermail/llvm-dev/2021-November/153653.html
The file was removedclang/test/Driver/debug-var-experimental-switch.c
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was addedllvm/test/DebugInfo/X86/instr-ref-flag.ll
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit 47f759309eeaf9bd77debe4f6c3e1fe52913b537 by clementval
[fir] Add array value copy pass

This patch upstream the array value copy pass.

Transform the set of array value primitives to a memory-based array
representation.

The Ops `array_load`, `array_store`, `array_fetch`, and `array_update` are
used to manage abstract aggregate array values. A simple analysis is done
to determine if there are potential dependences between these operations.
If not, these array operations can be lowered to work directly on the memory
representation. If there is a potential conflict, a temporary is created
along with appropriate copy-in/copy-out operations. Here, a more refined
analysis might be deployed, such as using the affine framework.

This pass is required before code gen to the LLVM IR dialect.

This patch is part of the upstreaming effort from fir-dev branch. The
pass is bringing quite a lot of file with it.

Reviewed By: kiranchandramohan, schweitz

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
The file was addedflang/test/Fir/array-value-copy.fir
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
The file was modifiedflang/include/flang/Optimizer/Transforms/Passes.h
The file was modifiedflang/test/Fir/invalid.fir
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
The file was addedflang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROpsSupport.h
The file was modifiedflang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
The file was modifiedflang/include/flang/Optimizer/Builder/FIRBuilder.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRTypes.td
The file was addedflang/include/flang/Optimizer/Transforms/Factory.h
The file was modifiedflang/lib/Optimizer/Transforms/CMakeLists.txt
The file was modifiedflang/include/flang/Optimizer/Transforms/Passes.td
Commit ee0c75eba31bdaf32e8f01803408d63ae42e3339 by thakis
[gn build] (semimanually) port 25a7e4b9f7c6
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Commit a6e673643c44f94557fa09022a3c6edf76167871 by pavel
[lldb] Inline Platform::LoadCachedExecutable into its (single) caller
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/include/lldb/Target/Platform.h
Commit 1408684957bbfb5b412e0ef3c027c88daa1058eb by pavel
[lldb] Introduce PlatformQemuUser

This adds a new platform class, whose job is to enable running
(debugging) executables under qemu.

(For general information about qemu, I recommend reading the RFC thread
on lldb-dev
<https://lists.llvm.org/pipermail/lldb-dev/2021-October/017106.html>.)

This initial patch implements the necessary boilerplate as well as the
minimal amount of functionality needed to actually be able to do
something useful (which, in this case means debugging a fully statically
linked executable).

The knobs necessary to emulate dynamically linked programs, as well as
to control other aspects of qemu operation (the emulated cpu, for
instance) will be added in subsequent patches. Same goes for the ability
to automatically bind to the executables of the emulated architecture.

Currently only two settings are available:
- architecture: the architecture that we should emulate
- emulator-path: the path to the emulator

Even though this patch is relatively small, it doesn't lack subtleties
that are worth calling out explicitly:
- named sockets: qemu supports tcp and unix socket connections, both of
  them in the "forward connect" mode (qemu listening, lldb connecting).
  Forward TCP connections are impossible to realise in a race-free way.
  This is the reason why I chose unix sockets as they have larger, more
  structured names, which can guarantee that there are no collisions
  between concurrent connection attempts.
- the above means that this code will not work on windows. I don't think
  that's an issue since user mode qemu does not support windows anyway.
- Right now, I am leaving the code enabled for windows, but maybe it
  would be better to disable it (otoh, disabling it means windows
  developers can't check they don't break it)
- qemu-user also does not support macOS, so one could contemplate
  disabling it there too. However, macOS does support named sockets, so
  one can even run the (mock) qemu tests there, and I think it'd be a
  shame to lose that.

Differential Revision: https://reviews.llvm.org/D114509
The file was addedlldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
The file was addedlldb/test/API/qemu/Makefile
The file was addedlldb/test/API/qemu/qemu.py
The file was modifiedlldb/source/Plugins/Platform/CMakeLists.txt
The file was addedlldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
The file was addedlldb/source/Plugins/Platform/QemuUser/PlatformQemuUserProperties.td
The file was modifiedlldb/packages/Python/lldbsuite/test/gdbclientutils.py
The file was addedlldb/test/API/qemu/main.c
The file was addedlldb/test/API/qemu/TestQemuLaunch.py
The file was addedlldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h
Commit 9a86eb5602481fbd7e5d1b1a1c13240e82f273ef by llvm-dev
[X86] Add mulh test coverage for extension to illegal type

Part of D113371 - add test coverage for case where we're truncating from an illegal type
The file was modifiedllvm/test/CodeGen/X86/pmulh.ll
Commit 3c045070882f3f43135da6a40ef3f6508fe43af6 by jeremy.morse
[DebugInfo] Turn instruction referencing on by default for x86

This patch is designed to be reverted -- it activates a reasonably large
block of new-ish code, so some turbulence is likely.

Instruction referencing is best summarised, and it being on-by-default,
is discussed here:

    https://lists.llvm.org/pipermail/llvm-dev/2021-November/153653.html

Differential Revision: https://reviews.llvm.org/D114631
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedllvm/test/DebugInfo/X86/instr-ref-flag.ll
Commit 6f4dd1b2dca8ef877eb2447af8b33ae7e68ba1be by flo
[BuildLibCalls] Add memset_chk test.
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
Commit 41d59a36459ea99ada4819a26072366f77484f87 by flo
[DSE] Add memset_chk tests.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/libcalls.ll
Commit 0c1b18f0f3e526da7dcbbd5a9e363dca85a90c95 by mateja.marjanovic
Test commit

Change-Id: I1d310a860ed673acdc8177232c91025004b1f3d2
The file was modifiedllvm/test/CodeGen/AMDGPU/load-constant-f32.ll
Commit a87782c34d667d1c1a18fe82a9a7abfc72fd345b by hans
Revert "[DAG] Create fptosi.sat from clamped fptosi"

It causes builds to fail with this assert:

llvm/include/llvm/ADT/APInt.h:990:
bool llvm::APInt::operator==(const llvm::APInt &) const:
Assertion `BitWidth == RHS.BitWidth && "Comparison requires equal bit widths"' failed.

See comment on the code review.

> This adds a fold in DAGCombine to create fptosi_sat from sequences for
> smin(smax(fptosi(x))) nodes, where the min/max saturate the output of
> the fp convert to a specific bitwidth (say INT_MIN and INT_MAX). Because
> it is dealing with smin(/smax) in DAG they may currently be ISD::SMIN,
> ISD::SETCC/ISD::SELECT, ISD::VSELECT or ISD::SELECT_CC nodes which need
> to be handled similarly.
>
> A shouldConvertFpToSat method was added to control when converting may
> be profitable. The original fptosi will have a less strict semantics
> than the fptosisat, with less values that need to produce defined
> behaviour.
>
> This especially helps on ARM/AArch64 where the vcvt instructions
> naturally saturate the result.
>
> Differential Revision: https://reviews.llvm.org/D111976

This reverts commit 52ff3b009388f1bef4854f1b6470b4ec19d10b0e.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/X86/fpclamptosat.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/RISCV/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat.ll
Commit 6e2aecd759dc3f8bf664323388365ac234271e9b by yitzhakm
[clang][dataflow] Add base types for building dataflow analyses

This is part of the implementation of the dataflow analysis framework.
See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev.

Reviewed By: ymandel, xazax.hun, gribozavr2

Differential Revision: https://reviews.llvm.org/D114234
The file was addedclang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
The file was addedclang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
The file was addedclang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
The file was addedclang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
The file was addedclang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
The file was modifiedclang/lib/Analysis/CMakeLists.txt
The file was addedclang/lib/Analysis/FlowSensitive/CMakeLists.txt
Commit c01c62c76c60a5a5da0496e41faae907944c92dd by abidh
[MC][ELF] Fix accepting abbreviated form with Type change

Follow up to D92052 and D94072, exposed due to D107707

Many assemblers to permit that only the first .section contains all
the attributes like '.lds_bss,"w",@nobits' and later section only
use the name ('.lds_bss') inheriting those attributes from the first
section.  I turned out that the case that Type changed was missed
when implementing it - and D107707 make it much more likely to hit
that issue. That's fixed by this commit.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D114717
The file was modifiedllvm/test/MC/ELF/section-omitted-attributes.s
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp
Commit cf3422d3df5b00d771bba837b9f51f67ab07eb64 by clementval
[fir] Add fir reduction builder

This patch introduces a bunch of builder functions
to create function calls to runtime reduction functions.

This patch is part of the upstreaming effort from fir-dev branch.

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: mleair <leairmark@gmail.com>

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

Reviewed By: awarzynski
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Reduction.h
The file was modifiedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
The file was addedflang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/lib/Optimizer/Builder/Runtime/Reduction.cpp
Commit 74cbd71072de4f20c5cb9852dc4cf96ac7a4b5a4 by vyng
[lld-macho] Mark dylib symbols coming from -weak_framework as weak-ref.

PR:52564

Differential Revision: https://reviews.llvm.org/D114397
The file was modifiedlld/test/MachO/weak-import.s
The file was modifiedlld/MachO/Symbols.h
Commit 914e72d40014de1c61709969666be59f27712e5e by gysit
[mlir][linalg] Run CSE after every CodegenStrategy transformation.

Add CSE after every transformation. Transformations such as tiling introduce redundant computation, for example, one AffineMinOp for every operand dimension pair. Follow up transformations such as Padding and Hoisting benefit from CSE since comparing slice sizes simplifies to comparing SSA values instead of analyzing affine expressions.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114585
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir
Commit 7986a5f23ebbf7fc3c6d667610fd193288dba7ce by jhuber6
[OpenMP] Add RTL function to externalization RAII

This patch adds the `__kmpc_get_warp_size` OpenMP RTL function to the
externalization RAII struct. This was getting optimized out and then
being replaced with an undefined value once added back in, causing bugs
for complex reductions.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D114802
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 1ae7342a7dd44561c86dcd2de456169185e1ce80 by gysit
[mlir][linalg] Fix windows build issue in hoist padding.

Iterating backwardSlice and removing elements at the same time can fail on windows for specific build configurations (the code was introduced in https://reviews.llvm.org/D114420). This revision introduces a second vector to collect all operations and removes them after finishing the reverse iteration.

Reviewed By: hpmorgan

Differential Revision: https://reviews.llvm.org/D114775
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
Commit 9e8a71caf02a503006eb08b5cd291adeaa20a9c2 by david.green
[DAG] Create fptosi.sat from clamped fptosi

This adds a fold in DAGCombine to create fptosi_sat from sequences for
smin(smax(fptosi(x))) nodes, where the min/max saturate the output of
the fp convert to a specific bitwidth (say INT_MIN and INT_MAX). Because
it is dealing with smin(/smax) in DAG they may currently be ISD::SMIN,
ISD::SETCC/ISD::SELECT, ISD::VSELECT or ISD::SELECT_CC nodes which need
to be handled similarly.

A shouldConvertFpToSat method was added to control when converting may
be profitable. The original fptosi will have a less strict semantics
than the fptosisat, with less values that need to produce defined
behaviour.

This especially helps on ARM/AArch64 where the vcvt instructions
naturally saturate the result.

Differential Revision: https://reviews.llvm.org/D111976
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/X86/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
The file was modifiedllvm/test/CodeGen/RISCV/fpclamptosat.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/fpclamptosat.ll
Commit 7f7103cd06b06f54e69fdb0aa7361b02b7c86177 by gysit
[mlir][linalg] Use top down traversal for padding.

Pad the operation using a top down traversal. The top down traversal unlocks folding opportunities and dim op canonicalizations due to the introduced extract slice operation after the padded operation.

Depends On D114585

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114689
The file was modifiedmlir/test/Dialect/Linalg/pad.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
Commit 3e32f827e2647b6fa8022cbc76eac384b3c4e2b4 by yitzhakm
[clang][dataflow] Fix broken build in ClangStaticAnalyzer

Adds a missing virtual destructor.
The file was modifiedclang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
Commit 316e627c2b98bac867836378dd6294ad79f7eb3f by gysit
[mlir][linalg] Support the empty anchor op string when padding.

Add support for an empty anchor op string in vectorization. An empty anchor op string is useful after fusion when there are multiple different operations to vectorize.

Depends On D114689

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114690
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
The file was modifiedmlir/test/Dialect/Linalg/codegen-strategy.mlir
Commit c9ad356266f3c91d90bcb149d178423cb3e04c42 by flo
[DSE] Use optimized access if available for redundant store elimination.

Using the optimized access enables additional optimizations in cases
where the defining access is a non-aliasing store.

Alternatively we could also walk upwards and skip non-aliasing defs
here, but my experiments so far showed that this will noticeably
increase compile-time for little extra gain compared to just using the
optimized access.

Improvements of dse.NumRedundantStores on MultiSource/CINT2006/CPF2006
on X86 with -O3:

     test-suite...-typeset/consumer-typeset.test     1.00                  76.00              7500.0%
     test-suite.../Benchmarks/Bullet/bullet.test     3.00                  12.00              300.0%
     test-suite...006/453.povray/453.povray.test     3.00                   6.00              100.0%
     test-suite...telecomm-gsm/telecomm-gsm.test     1.00                   2.00              100.0%
     test-suite...ediabench/gsm/toast/toast.test     1.00                   2.00              100.0%
     test-suite...marks/7zip/7zip-benchmark.test     1.00                   2.00              100.0%
     test-suite...ications/JM/lencod/lencod.test     7.00                  10.00              42.9%
     test-suite...6/464.h264ref/464.h264ref.test     6.00                   8.00              33.3%
     test-suite...ications/JM/ldecod/ldecod.test     6.00                   7.00              16.7%
     test-suite...006/447.dealII/447.dealII.test    33.00                  33.00               0.0%
     test-suite...6/471.omnetpp/471.omnetpp.test    NaN                     1.00               nan%
     test-suite...006/450.soplex/450.soplex.test    NaN                     2.00               nan%
     test-suite.../CINT2006/403.gcc/403.gcc.test    NaN                     7.00               nan%
     test-suite...lications/ClamAV/clamscan.test    NaN                     1.00               nan%
     test-suite...CI_Purple/SMG2000/smg2000.test    NaN                     3.00               nan%

Follow-up to D111727.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D112315
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Commit 1e8286467036d8ef1a972de723f805a4981b2692 by jamesfarrell
Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible.

See also https://github.com/android/ndk/issues/1455.

Differential Revision: https://reviews.llvm.org/D114163
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedclang/test/SemaObjC/unguarded-availability-maccatalyst.m
The file was modifiedclang/test/Sema/attr-availability.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedclang/test/Sema/availability-guard-format.mm
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/test/Sema/attr-availability-android.c
The file was modifiedclang/test/SemaObjC/property-deprecated-warning.m
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/test/SemaObjC/unguarded-availability.m
The file was modifiedllvm/lib/MC/MCStreamer.cpp
Commit 98dbcff19cfedb4e27d267310a76d616cd435447 by gysit
[mlir][linalg] Adapt the decompose patterns to use a filter (NFC).

The revision updates the convolution decomposition patterns to take a linalg transformation filter. The transformation filter in a later revision allows use the patterns from CodegenStrategy.

Depends On D114690

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114797
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
Commit c8f2139eb0de70eec16901d2a7ddfdec62659685 by gysit
[mlir][linalg] Add decompose to CodegenStrategy.

Add the decompose patterns that lower higher dimensional convolutions to lower dimensional ones to CodegenStrategy and use CodegenStrategy to test the decompose patterns. Additionally, remove the assertion that checks the anchor op name is set in the CodegenStrategyTest pass. Removing the assertion allows us to simplify the pipelines used in the interchange and decompose tests.

Depends On D114797

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D114798
The file was modifiedmlir/test/Dialect/Linalg/decompose-convolution.mlir
The file was modifiedmlir/test/Dialect/Linalg/interchange.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
Commit eb97c89cacb85c462e4e56057ae734716ed22324 by clementval
[fir] Remove unused fct recordTypeCanBeMemCopied

Remove unused fct added with 47f759309eeaf9bd77debe4f6c3e1fe52913b537
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
Commit 3cc21ee6b966204b5d683e715f9e63ae9d63cbd4 by clementval
Revert "[fir] Add fir reduction builder"

This reverts commit cf3422d3df5b00d771bba837b9f51f67ab07eb64.

This fails on some buildbots
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was removedflang/lib/Optimizer/Builder/Runtime/Reduction.cpp
The file was modifiedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was removedflang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
The file was removedflang/include/flang/Optimizer/Builder/Runtime/Reduction.h
Commit ca57b80cd6767b97477fd157831a2b099b5f8f75 by mateja.marjanovic
Code quality: Combine V_RSQ

Combine V_RCP and V_SQRT into V_RSQ on AMDGPU for GlobalISel.

Change-Id: I93c5dcb412483156a6e8b68c4085cbce83ac9703
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rsq.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/CaymanInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCombine.td
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rsq.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/EvergreenInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/R600Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
Commit 455a2b824d7734939e54cfb3f47c054517f75be8 by hans
Fix file extension of alignment-assumption-ignorelist.cppp test

During the renaming of blacklist to ignorelist this test got renamed
incorrectly.

Differential revision: https://reviews.llvm.org/D114710
The file was addedcompiler-rt/test/ubsan/TestCases/Pointer/alignment-assumption-ignorelist.cpp
The file was removedcompiler-rt/test/ubsan/TestCases/Pointer/alignment-assumption-ignorelist.cppp
Commit c41b318423c4dbf0a65f81e5e9a816c1710ba4f6 by listmail
[LV] Remove unneeded cast to Operator [NFC]
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit fd1d8e45f488b28db8d63ab51733ddd1e37e751c by benny.kra
[clang][dataflow] Make header parse

Looks like this is actually dead code?
The file was modifiedclang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
Commit b8e03be88dc87303f7401ea7b9906947ac67a6db by paul.robinson
[PS4][DWARF] Explicitly set default DWARF version to 4
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.h
Commit bf317f66989cac26e17b4cd16ab1c7bdfe73dbe0 by hoy
[CSSPGO] Sorting nodes in a cycle of profiled call graph.

For nodes that are in a cycle of a profiled call graph, the current order the underlying scc_iter computes purely depends on how those nodes are reached from outside the SCC and inside the SCC, based on the Tarjan algorithm. This does not honor profile edge hotness, thus does not gurantee hot callsites to be inlined prior to cold callsites. To mitigate that, I'm adding an extra sorter on top of scc_iter to sort scc functions in the order of callsite hotness, instead of changing the internal of scc_iter.

Sorting on callsite hotness can be optimally based on detecting cycles on a directed call graph, i.e, to remove the coldest edge until a cycle is broken. However, detecting cycles isn't cheap. I'm using an MST-based approach which is faster and appear to deliver some performance wins.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D114204
The file was addedllvm/test/Transforms/SampleProfile/Inputs/profile-context-order-scc.prof
The file was modifiedllvm/tools/llvm-profgen/CSPreInliner.cpp
The file was modifiedllvm/include/llvm/ADT/SCCIterator.h
The file was modifiedllvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-order.ll
Commit 5e3200f3ce5ac807fa0fdd2b12484ee1540c6b50 by Steven Wu
[JITLink][ELF] Add support for reading extended table

Add support for reading extended table in ELF object file. This allows
JITLink to support ELF object files with many sections.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D114747
The file was addedllvm/test/ExecutionEngine/JITLink/X86/ELF_shndex.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
Commit c737d4d203210f96919f4406e5b815b0946535ab by Steven Wu
[JITLink][ELF] Don't skip sections of size 0

Size 0 sections can have symbols that have size 0. Build those sections
and symbols into the LinkGraph so they can be used properly if needed.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D114749
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
The file was addedllvm/test/ExecutionEngine/JITLink/X86/ELF_empty_section.s
Commit 37d72991c136244fe53be02f5af0ad643247a1e6 by nikita.ppv
[SCEV] Track and invalidate ValuesAtScopes users

ValuesAtScopes maps a SCEV and a Loop to another SCEV. While we
invalidate entries if the left-hand SCEV is invalidated, we
currently don't do this for the right-hand SCEV. Fix this by
tracking users in a reverse map and using it for invalidation.

This is conceptually the same change as D114738, but using the
reverse map to avoid performance issues.

Differential Revision: https://reviews.llvm.org/D114788
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was addedllvm/test/Transforms/IndVarSimplify/bbi-63564.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit a356dae74c8798d5f859d2339466e002a65e4abe by kpyzhov
[RegionPass] Added check for -filter-print-funcs option to the region IR dumps.

Differential Revision: https://reviews.llvm.org/D114310
The file was modifiedllvm/lib/Analysis/RegionPass.cpp
Commit 40d5eeac6cd89a2360c3ba997cbaa816abca828c by nikita.ppv
Revert "Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible."

This reverts commit 1e8286467036d8ef1a972de723f805a4981b2692.

llvm/test/Transforms/LoopStrengthReduce/X86/2009-11-10-LSRCrash.ll fails
with assertion failure:

llc: /home/nikic/llvm-project/llvm/include/llvm/ADT/Optional.h:196: T& llvm::optional_detail::OptionalStorage<T, true>::getValue() & [with T = unsigned int]: Assertion `hasVal' failed.
...
#8 0x00005633843af5cb llvm::MCStreamer::emitVersionForTarget(llvm::Triple const&, llvm::VersionTuple const&)
#9 0x0000563383b47f14 llvm::AsmPrinter::doInitialization(llvm::Module&)
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
The file was modifiedclang/test/SemaObjC/attr-availability.m
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedclang/test/SemaObjC/unguarded-availability-maccatalyst.m
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedclang/test/Sema/attr-availability-android.c
The file was modifiedclang/test/Sema/availability-guard-format.mm
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/test/SemaObjC/property-deprecated-warning.m
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
The file was modifiedclang/test/Sema/attr-availability.c
The file was modifiedclang/test/SemaObjC/unguarded-availability.m
Commit fc57cfad3c1eac1baf0afd402deeeff6a6d1ee80 by a.bataev
[SLP][NFC]Move static function to make it visible in member function,
NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 746e632dafbec2277c62164b3e63da4bee1d8553 by spatel
[InstSimplify] add tests for 'or' logic folds; NFC

The tests are adapted from the xor patterns used with:
892648b18a8c
b326c058146f
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
Commit 1fdb0f6ffdffdb67ab9169aab39f0429eaae3a98 by spatel
[InstSimplify] add tests for 'or' with logic ops; NFC

The code for these transforms can be refactored,
but the existing tests are incomplete.
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
Commit 8dec0b23da116e1cf0cd49c955ff1fadf52d5096 by spatel
[InstSimplify] refactor 'or' logic folds; NFC

Reduce duplication for handling the top-level commuted operands.
There are several other folds that should be moved in here, but
we need to make sure there's good test coverage.
The file was modified