Changes

Summary

  1. [libc] Disable linting on the full build builders. (details)
Commit 1212c7a0b71c043d1aee24dcc4169928d1c7858a by sivachandra
[libc] Disable linting on the full build builders.
The file was modifiedzorg/buildbot/builders/annotated/libc-linux.py (diff)

Summary

  1. [GlobalISel] Fold or of shifts with constant amount to funnel shift. (details)
  2. Rough guess at fixing lldb tests to handle Clang defaulting to DWARFv5 (details)
  3. [TSan] Mark test unsupported on Darwin (details)
  4. [RISCV] Initially support the K-extension instructions on the LLVM MC layer (details)
  5. [Target] Use range-based for loops (NFC) (details)
  6. [RISCV] Decouple Zve* extensions and the V extension. (details)
  7. [PowerPC] Emit warning for ieeelongdouble on older GNU toolchain (details)
  8. [clang-format] Remove unused assignment. NFC. (details)
  9. Added OpenMP 5.0 specification based semantic checks for atomic update construct (details)
  10. [clang-format] Assert Line->First. NFC. (details)
  11. [Hexagon] Use llvm::Register instead of unsigned in HexagonConstExtenders.cpp. NFC. (details)
  12. [MLIR][Presburger] Silence -Wdangling-else warning (NFC) (details)
  13. [clang-format] Assert Line->First and State.NextToken->Previous. NFC. (details)
  14. [RISCV] Add patterns of SET[U]LT_VI for STECC forms (details)
  15. [clang][sema] Add missing diagnostic parameter (details)
  16. [clang][tests] Fix a c++/libc++ -stdlib value typo (details)
  17. [OpaquePtrs] Add getNonOpaquePointerElementType() method (NFC) (details)
  18. [Attributor] Use MemoryLocation to get pointer operand and accessed type (NFCI) (details)
  19. [flang][examples] Add missing CMake dependencies (details)
  20. [ISEL] Canonicalise constant splats to RHS. (details)
  21. [SDAG] Don't move DBG_VALUE instructions after insertion point during scheduling (PR53243) (details)
  22. [AArch64][GlobalISel] Support returned argument with multiple registers (details)
  23. [LLD][ELF][AArch64] Update test with incorrect REQUIRES line [NFC] (details)
  24. [AMDGPU][GlobalISel] Regenerate checks in inst-select-*ext.mir (details)
  25. [AMDGPU][GlobalISel] Add more sign/zero/any-extension tests (details)
  26. [lldb] Ignore non-address bits in "memory find" arguments (details)
  27. [flang] Update the description of `!fir.coordinate_of` (details)
  28. [AMDGPU][GlobalISel] Remove the post ':' part of vreg operands in fsh combine tests. (details)
  29. [X86] getVectorMaskingNode - fix indentation. NFC. (details)
  30. [RISCV] Match VF variants for masked VFRDIV/VFRSUB (details)
  31. [RISCV][VP] Lower VP_MERGE to RVV instructions (details)
  32. [lldb] Update release notes with non-address bit handling changes (details)
  33. Pre-commit test case for trunc+lshr+load folds (details)
  34. [DAGCombiner] Adjust some checks in DAGCombiner::reduceLoadWidth (details)
  35. [X86] Remove __builtin_ia32_pabs intrinsics and use generic __builtin_elementwise_abs (details)
  36. [mlir][bufferize][NFC] Refactor createAlloc function signature (details)
  37. [X86] Remove `__builtin_ia32_pmax/min` intrinsics and use generic `__builtin_elementwise_max/min` (details)
  38. [clang-tidy] Add `readability-container-contains` check (details)
  39. [X86] Remove avx512f integer and/or/xor/min/max reduction intrinsics and use generic equivalents (details)
  40. [LoopVectorize] Support epilogue vectorisation of loops with reductions (details)
  41. [gn build] Port 3696c70e67d9 (details)
  42. [LV] Name values and blocks in same induction tests (NFC). (details)
  43. [RISCV] add support for zbkx subextension in MC layer. (details)
  44. [MLIR][Presburger] Refactor duplicate division merging to Utils (details)
  45. [NFC] New test case for BasicAA and memcy/memmove with deopt (details)
  46. [AMDGPU][NFC] Fix debug prints (details)
  47. [X86] Add PR46249 test case showing poorly widened select predicate mask (details)
  48. [LV] Make some tests more robust by adding missing users. (details)
  49. Move STLFunctionalExtras out of STLExtras (details)
  50. [flang] Update tco tool pipline and add translation to LLVM IR (details)
  51. [demangler] Resync demangler sources (details)
  52. [demangler] write-protect non-canonical source (details)
  53. [demangler][NFC] Refactor some parsing (details)
  54. Add `isConstinit` matcher (details)
  55. Add missing include llvm/ADT/STLExtras (details)
  56. [LoopFlatten] Added comments about usage of various Loop APIs. NFC. (details)
  57. [LoopFlatten] Address FIXME about getTripCountFromExitCount. NFC. (details)
  58. [RISCV] Add side-effect-free vsetvli intrinsics (details)
  59. Add missing STLExtras.h include from lldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp (details)
  60. [X86] Fix v8i8 -> v8i16 typo in bool reductions (details)
  61. [X86] Rename cmp-with-zero bool reductions (details)
  62. [X86] Add cmp-equality bool reductions (details)
  63. [AArch64] Regenerate CHECK lines for llvm/test/CodeGen/AArch64/sve2-int-mul.ll (details)
  64. [clang-format] Fix SeparateDefinitionBlocks issues (details)
  65. Reapply "IR: Make getRetAlign check callee function attributes" (details)
  66. Reapply "Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction" (details)
  67. Pre-commit test cases for (sra (load)) -> (sextload) folds. NFC (details)
  68. AMDGPU: Fix assertion on fixed stack objects with VGPR->AGPR spills (details)
  69. [mlir][tensor] Move BufferizableOpInterface impl to tensor dialect (details)
  70. [llvm][docs] Fix code-block in the testing guide (details)
  71. [mlir] Fix broken __repr__ implementation in Linalg OpDSL (details)
  72. [libc++][AIX] Do not assert chmod return value is non-zero. (details)
  73. [mlir][tensor][bufferize] Support tensor.rank in BufferizableOpInterfaceImpl (details)
  74. [flang] Add MemoryAllocation pass to the pipeline (details)
  75. [Templight] Don't display empty strings for names of unnamed template parameters (details)
  76. [mlir][bufferize] Change insertion point for ToTensorOps (details)
  77. [MLIR][OpenMP] Suppress -Wreturn-type warnings (NFC) (details)
  78. Don't run test/ClangScanDeps/modules-symlink.c on Windows (details)
  79. [RISCV] Select int_riscv_vsll with shift of 1 to vadd.vv. (details)
  80. [SelectionDAG][RISCV] Teach getNode to fold bswap(bswap(x))->x. (details)
  81. [mlir][bufferize][NFC] Implement BufferizableOpInterface on bufferization ops directly (details)
  82. [DAGCombiner][RISCV] Canonicalize (bswap(bitreverse(x))->bitreverse(bswap(x)). (details)
  83. [mlir][linalg] Add transpose support to hoist padding. (details)
  84. [libcxx][test] {move,reverse}_iterator cannot be instantiated for a type with no `operator*` (details)
  85. [ISEL] Move trivial step_vector folds to FoldConstantArithmetic. (details)
  86. [X86] combineSetCCMOVMSK - fold allof(cmpeq(x,y)) -> ptest(sub(x,y)) (PR53379) (details)
  87. [ELF] Fix the branch range computation when reusing a thunk (details)
  88. [libc++] Fix benchmark failure (details)
  89. [SLP][NFC] Add debug logs for entry. (details)
  90. [clang][NFC] Wrap TYPE_SWITCH in "do while (0)" in the interpreter (details)
  91. [AMDGPU][InstCombine] Remove zero image offset (details)
  92. Revert rG6a605b97a200 due to excessive memory use (details)
  93. [clang-format] Space between attribute closing parenthesis and qualified type colon. (details)
  94. [libc++][format] Adds formatter floating-point. (details)
  95. [libc++][format] Adds formatter pointer. (details)
  96. [libc++][format] Disable default formatter. (details)
  97. [libc++][format] Adds formatter handle. (details)
  98. [gn build] Port 787ccd345cbb (details)
  99. [gn build] Port db2944e34b16 (details)
  100. [llvm] Do not replace dead constant references in metadata with undef (details)
  101. [AArch64] NFC: Clarify and auto-generate some CodeGen tests. (details)
  102. [libc] Add bazel definition for hypot/hypotf. (details)
  103. Use -gdwarf-4 in compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c (details)
  104. [NFC][DebugInfo] Strip out an undesired #if 0 block (details)
  105. [ConstraintElimination] Add test from PR53123. (details)
  106. [ConstraintElimination] Fix sign of sub decomposition. (details)
  107. [libc][cmake] Make `add_tablegen` calls match others (details)
  108. [libc++] Fix bugs in common_iterator; add test coverage. (details)
  109. [libc++][format] Finish P0645 Text Formatting. (details)
  110. [NFC][MLGO] Simplify conditional compilation (details)
  111. [AMDGPU] Remove cndmask from readsExecAsData (details)
  112. [lldb/Plugins] Add ScriptedProcess::GetThreadsInfo interface (details)
  113. [lldb/Plugins] Move ScriptedThreadInterface to ScriptedThread (details)
  114. [lldb/Plugins] Add support of multiple ScriptedThreads in a ScriptedProcess (details)
  115. [lldb/Plugins] Enrich ScriptedThreads Stop Reasons with Exceptions (details)
  116. [lldb/Plugins] Fix ScriptedThread IndexID reporting (details)
  117. [lldb/Interpreter] Make `ScriptedInterface::ErrorWithMessage` static (NFC) (details)
  118. [AMDGPU] Make v8i16/v8f16 legal (details)
  119. [DAGCombine] Remove unused param in combineCarryDiamond(). NFC (details)
  120. [test] Fix no-undef-type-md.ll. (details)
  121. [InstCombine] add tests for icmp with masked mul operand; NFC (details)
  122. [BOLT] Add missing <memory> in InstrumentationRuntimeLibrary.h (details)
  123. [libc++] Make sure basic_string::reserve(n) never shrinks in all Standard modes (details)
  124. [libc++][CI] Re-enable all CI jobs (details)
  125. [lldb/test] Fix `TestScriptedProcess.test_scripted_process_and_scripted_thread` (details)
Commit 68b70d17d8dea3fe9fa8e8f8bffd37bfe8125a65 by abinav.puthanpurayil
[GlobalISel] Fold or of shifts with constant amount to funnel shift.

This change folds (or (shl x, C0), (lshr y, C1)) to funnel shift iff C0
and C1 are constants where C0 + C1 is the bit-width of the shift
instructions.

Differential Revision: https://reviews.llvm.org/D116529
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-rev.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fsh.mir
Commit 8b280df504b97a13d06a929fbc85348903456fdd by dblaikie
Rough guess at fixing lldb tests to handle Clang defaulting to DWARFv5
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-dwo-cross-reference.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values/TestBasicEntryValues.py
Commit 1f4a0531b3fdb9b4747c155805393a91926fe058 by julian.lettner
[TSan] Mark test unsupported on Darwin
The file was modifiedcompiler-rt/test/tsan/vfork.cpp
Commit e29d8fb16978c463c7ea08cb255f5a97eca16d36 by 821408745
[RISCV] Initially support the K-extension instructions on the LLVM MC layer

This commit is currently implementing supports for scalar cryptography extension for LLVM according to version v1.0.0 of [K Ext specification](https://github.com/riscv/riscv-crypto/releases)(scala crypto has been ratified already). Currently, we are implementing the MC (Machine Code) layer of his extension and the majority of work is done under `llvm/lib/Target/RISCV` directory. There are also some test files in `llvm/test/MC/RISCV` directory.

Remove the subfeature of Zbk* which conflict with b extensions to reduce the size of the patch.
(Zbk* will be resubmit after this patch has been merged)

**Co-author:**@ksyx & @VincentWu & @lihongliang & @achieveartificialintelligence

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D98136
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedSiFive7.td
The file was addedllvm/test/MC/RISCV/rv32zksh-valid.s
The file was addedllvm/test/MC/RISCV/rv32zknh-valid.s
The file was addedllvm/test/MC/RISCV/rv64zksed-invalid.s
The file was addedllvm/test/MC/RISCV/rv32zkne-only-valid.s
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was addedllvm/test/MC/RISCV/rv64zkne-only-invalid.s
The file was addedllvm/test/MC/RISCV/rv32zknh-only-valid.s
The file was addedllvm/test/MC/RISCV/rv32zksed-valid.s
The file was addedllvm/test/MC/RISCV/rvk-user-csr-name.s
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
The file was addedllvm/test/MC/RISCV/rv32zknd-only-invalid.s
The file was addedllvm/test/MC/RISCV/rv64zknh-only-valid.s
The file was addedllvm/test/MC/RISCV/rv32zknd-only-valid.s
The file was addedllvm/test/MC/RISCV/rv32zksed-invalid.s
The file was modifiedllvm/lib/Support/RISCVISAInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedRocket.td
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s
The file was modifiedllvm/lib/Target/RISCV/RISCVSystemOperands.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was addedllvm/test/MC/RISCV/rv32zkne-only-invalid.s
The file was addedllvm/test/MC/RISCV/rv64zkne-only-valid.s
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll
The file was addedllvm/lib/Target/RISCV/RISCVInstrInfoZk.td
The file was addedllvm/test/MC/RISCV/rv64zknd-only-valid.s
Commit bf039a8620f1779d02280cb0a33c4d818073623b by kazu
[Target] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
The file was modifiedllvm/lib/Target/VE/VEMCInstLower.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
The file was modifiedllvm/lib/Target/VE/LVLGen.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
The file was modifiedllvm/lib/Target/X86/X86PadShortFunction.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
Commit ba16e3c31f66f02df08ec41394b765aa568a3107 by jacquesguan
[RISCV] Decouple Zve* extensions and the V extension.

According to the spec, there are some difference between V and Zve64d. For example, the vmulh integer multiply variants that return the high word of the product (vmulh.vv, vmulh.vx, vmulhu.vv, vmulhu.vx, vmulhsu.vv, vmulhsu.vx) are not included for EEW=64 in Zve64*, but V extension does support these instructions. So we should decouple Zve* extensions and the V extension.

Differential Revision: https://reviews.llvm.org/D117854
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/rvv-error.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedllvm/lib/Support/RISCVISAInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/CodeGen/RISCV/rvb-intrinsics/riscv32-zbb-error.c
Commit c5590396d041e77a84101cdcc4249788403e4e40 by qiucofan
[PowerPC] Emit warning for ieeelongdouble on older GNU toolchain

GCC 12 should have proper support for IEEE-754 compliant 128-bit
floating point in libstdc++. So warning is needed when linking against
older libstdc++ versions or LLVM libc++.

Glibc starts supporting float128 in both header and libraries since
2.32.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D112906
The file was modifiedclang/lib/Driver/ToolChains/PPCLinux.h
The file was addedclang/test/Driver/ppc-float-abi-warning.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Driver/Inputs/powerpc64le-linux-gnu-tree/gcc-11.2.0/lib/gcc/powerpc64le-linux-gnu/11.2.0/.keep
The file was modifiedclang/lib/Driver/ToolChains/PPCLinux.cpp
Commit ea2112ea15a0f43cb469b29e00cda3d7a48ae875 by marek.kurdej+llvm.org
[clang-format] Remove unused assignment. NFC.

Fixes scan-build reported warning: https://llvm.org/reports/scan-build/report-QualifierAlignmentFixer.cpp-analyzeRight-55-191910.html#EndPath.
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.cpp
Commit 3519dcfec22963fbb84e154cecc2df22e6c7724f by neelam.nimish
Added OpenMP 5.0 specification based semantic checks for atomic update construct
The file was modifiedflang/test/Semantics/omp-atomic01.f90
The file was addedflang/test/Semantics/omp-atomic02.f90
The file was addedflang/test/Semantics/omp-atomic04.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was addedflang/test/Semantics/omp-atomic05.f90
The file was addedflang/test/Semantics/omp-atomic03.f90
Commit 670a721de2a19d0307ceea47349fd9e986a8484f by marek.kurdej+llvm.org
[clang-format] Assert Line->First. NFC.

Cf. scan-build reports:
* https://llvm.org/reports/scan-build/report-AffectedRangeManager.cpp-nonPPLineAffected-34-16c04b.html#EndPath
* https://llvm.org/reports/scan-build/report-SortJavaScriptImports.cpp-parseModuleReferences-34-96a7f8.html#EndPath
* https://llvm.org/reports/scan-build/report-TokenAnnotator.cpp-setCommentLineLevels-26-77bdba.html#EndPath
* https://llvm.org/reports/scan-build/report-AffectedRangeManager.cpp-nonPPLineAffected-31-714434.html#EndPath
* https://llvm.org/reports/scan-build/report-TokenAnnotator.cpp-setCommentLineLevels-16-bd39d0.html#EndPath
* https://llvm.org/reports/scan-build/report-UnwrappedLineFormatter.cpp-format-90-668b2d.html#EndPath
The file was modifiedclang/lib/Format/AffectedRangeManager.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/lib/Format/UnwrappedLineFormatter.cpp
The file was modifiedclang/lib/Format/SortJavaScriptImports.cpp
Commit f533011252578f67a9615fb4ef56dc1ef555551b by jim
[Hexagon] Use llvm::Register instead of unsigned in HexagonConstExtenders.cpp. NFC.

Reviewed By: kparzysz

Differential Revision: https://reviews.llvm.org/D117851
The file was modifiedllvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
Commit d6f8f56da04b2e975110c4a5ae15f00a22164e62 by l.chelini
[MLIR][Presburger] Silence -Wdangling-else warning (NFC)

gcc suggests explicit braces to avoid ambiguous ‘else’.
The file was modifiedmlir/unittests/Analysis/Presburger/IntegerPolyhedronTest.cpp
Commit 81793bd276afefea0e525307676181478fc614c9 by marek.kurdej+llvm.org
[clang-format] Assert Line->First and State.NextToken->Previous. NFC.

Cf. scan-build reports:
* https://llvm.org/reports/scan-build/report-FormatToken.cpp-precomputeFormattingInfos-35-93e1e1.html#EndPath
* https://llvm.org/reports/scan-build/report-ContinuationIndenter.cpp-addTokenOnCurrentLine-15-dfdc6d.html#EndPath
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/lib/Format/FormatToken.cpp
Commit 9aaa74aeeff37b85e29369287ee94773e699b8b7 by ben.shi
[RISCV] Add patterns of SET[U]LT_VI for STECC forms

This patch optmizes "li a0, 5
                     vmsgt[u].vx v10, v8, a0"
                 -> "vmsgt[u].vi v10, v8, 5"

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D118014
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-setcc.ll
Commit ba845787b3fdd03380b8651d6ce11afeac9d6bba by tbaeder
[clang][sema] Add missing diagnostic parameter

The test case otherwise fails an assertion in Diagnostic::getArgKind().

Differential Revision: https://reviews.llvm.org/D116595
The file was modifiedclang/lib/Sema/SemaModule.cpp
The file was addedclang/test/Modules/cxx20-export-import.cpp
Commit 3ad6de31c0cf5064867e6f9bf99e27e0b5c4128d by tbaeder
[clang][tests] Fix a c++/libc++ -stdlib value typo

"c++" is not usually a valid value for -stdlib.

Differential Revision: https://reviews.llvm.org/D117862
The file was modifiedclang/test/Driver/wasm-toolchain.cpp
Commit d29e319263de17516f50cd46edbf1e62c1289dd4 by npopov
[OpaquePtrs] Add getNonOpaquePointerElementType() method (NFC)

This method is intended for use in places that cannot be reached
with opaque pointers, or part of deprecated methods. This makes
it easier to see that some uses of getPointerElementType() don't
need further action.

Differential Revision: https://reviews.llvm.org/D117870
The file was modifiedllvm/lib/Transforms/Coroutines/Coroutines.cpp
The file was modifiedllvm/include/llvm/IR/Type.h
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
Commit 67346b43e0ed28047b3a4e40ea18d2218febcbf8 by npopov
[Attributor] Use MemoryLocation to get pointer operand and accessed type (NFCI)

This relies on existing APIs and avoids accessing the pointer
element type. The alternative would be to extend getPointerOperand()
to also return the accessed type, but I figured going through
MemoryLocation would be cleaner.

Differential Revision: https://reviews.llvm.org/D117868
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 7ccacaf4428d1712029594184baa6f617a51c340 by andrzej.warzynski
[flang][examples] Add missing CMake dependencies

Currently, everything that includes "flang/Parser/parse-tree.h" in Flang
depends on the `gen_acc` and `gen_omp` CMake targets (these targets
generate include files that are used in "parse-tree.h"). The examples in
Flang do use this header file and hence also depend on
`gen_acc`/`gen_omp`. This patch updates relevant CMake scripts
accordingly.

I've also taken the liberty to rename some of the example files so that
their names follow LLVM's coding guidelines.

Differential Revision: https://reviews.llvm.org/D117016
The file was addedflang/examples/FlangOmpReport/CMakeLists.txt
The file was removedflang/examples/flang-omp-report-plugin/CMakeLists.txt
The file was addedflang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
The file was removedflang/examples/flang-omp-report-plugin/flang-omp-report-visitor.cpp
The file was addedflang/examples/FlangOmpReport/FlangOmpReportVisitor.h
The file was addedflang/examples/FlangOmpReport/requirements.txt
The file was addedflang/examples/FlangOmpReport/FlangOmpReport.cpp
The file was modifiedflang/examples/CMakeLists.txt
The file was addedflang/examples/FlangOmpReport/yaml_summarizer.py
The file was removedflang/examples/flang-omp-report-plugin/flang-omp-report-visitor.h
The file was removedflang/examples/flang-omp-report-plugin/requirements.txt
The file was removedflang/examples/flang-omp-report-plugin/flang-omp-report.cpp
The file was modifiedflang/examples/PrintFlangFunctionNames/CMakeLists.txt
The file was removedflang/examples/flang-omp-report-plugin/yaml_summarizer.py
Commit 4f8fdf78279f0cb298dc0dc215ee56b0342235ee by sander.desmalen
[ISEL] Canonicalise constant splats to RHS.

SelectionDAG::getNode() canonicalises constants to the RHS if the
operation is commutative, but it doesn't do so for constant splat
vectors. Doing this early helps making certain folds on vector types,
simplifying the code required for target DAGCombines that are enabled
before Type legalization.

Somewhat to my surprise, DAGCombine doesn't seem to traverse the
DAG in a post-order DFS, so at the time of doing some custom fold where
the input is a MUL, DAGCombiner::visitMUL hasn't yet reordered the
constant splat to the RHS.

This patch leads to a few improvements, but also a few  minor regressions,
which I traced down to D46492. When I tried reverting this change to see
if the changes were still necessary, I ran into some segfaults. Not sure
if there is some latent bug there.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D117794
The file was modifiedllvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/pr43509.ll
The file was modifiedllvm/test/CodeGen/X86/dpbusd_const.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-cast.ll
The file was modifiedllvm/test/CodeGen/X86/extractelement-fp.ll
The file was modifiedllvm/test/CodeGen/X86/fp-round.ll
The file was modifiedllvm/test/CodeGen/AArch64/unfold-masked-merge-vector-variablemask-const.ll
The file was modifiedllvm/test/CodeGen/PowerPC/combine-fneg.ll
The file was modifiedllvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
The file was modifiedllvm/test/CodeGen/X86/unfold-masked-merge-vector-variablemask-const.ll
Commit e7c9a6cae09d99388d8384ca7c0fb5b24b353975 by npopov
[SDAG] Don't move DBG_VALUE instructions after insertion point during scheduling (PR53243)

EmitSchedule() shouldn't be touching instructions after the provided
insertion point. The change introduced in D83561 performs a scan to
the end of the block, and thus may move unrelated instructions. In
particular, this ends up moving instructions that have been produced
by FastISel and will later be deleted. Moving them means that more
instructions than intended are removed.

Fix this by stopping the iteration when the insertion point is
reached.

Fixes https://github.com/llvm/llvm-project/issues/53243.

Differential Revision: https://reviews.llvm.org/D117489
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
The file was addedllvm/test/CodeGen/X86/pr53243-tail-call-fastisel.ll
Commit 0d1308a7b77c9ed87386c22a728a6c97e2fb4887 by npopov
[AArch64][GlobalISel] Support returned argument with multiple registers

The call lowering code assumed that a returned argument could only
consist of one register. Pass an ArrayRef<Register> instead of
Register to make sure that all parts get assigned.

Fixes https://github.com/llvm/llvm-project/issues/53315.

Differential Revision: https://reviews.llvm.org/D117866
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/pr53315-returned-i128.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
Commit a08447d0de5d85d915318ffd9ef3404363d02c64 by peter.smith
[LLD][ELF][AArch64] Update test with incorrect REQUIRES line [NFC]

D54759 introduced aarch64-combined-dynrel.s and
aarch64-combined-dynrel-ifunc.s . Unfortunately the requires line
at the top was AArch64 instead of aarch64 which means they were never
run. Update the tests to use aarch64 and fix to match current lld output.

Differential Revision: https://reviews.llvm.org/D117896
The file was modifiedlld/test/ELF/aarch64-combined-dynrel.s
The file was modifiedlld/test/ELF/aarch64-combined-dynrel-ifunc.s
Commit 906ebd5830e6053b50c52bf098e3586b567e8499 by jay.foad
[AMDGPU][GlobalISel] Regenerate checks in inst-select-*ext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
Commit aa50b93e7cf926dec5dd69920e6f48906ea8ad25 by jay.foad
[AMDGPU][GlobalISel] Add more sign/zero/any-extension tests

Add s1 to s16 cases, and for sgprs s1 to s64 and s32 to s64.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
Commit 7d19566c3bfb3efacb629d18839e2d85761156ab by david.spickett
[lldb] Ignore non-address bits in "memory find" arguments

This removes the non-address bits before we try to use
the addresses.

Meaning that when results are shown, those results won't
show non-address bits either. This follows what "memory read"
has done. On the grounds that non-address bits are a property
of a pointer, not the memory pointed to.

I've added testing and merged the find and read tests into one
file.

Note that there are no API side changes because "memory find"
does not have an equivalent API call.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D117299
The file was addedlldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
The file was addedlldb/test/API/linux/aarch64/tagged_memory_access/main.c
The file was removedlldb/test/API/linux/aarch64/tagged_memory_read/Makefile
The file was removedlldb/test/API/linux/aarch64/tagged_memory_read/TestAArch64LinuxTaggedMemoryRead.py
The file was addedlldb/test/API/linux/aarch64/tagged_memory_access/Makefile
The file was removedlldb/test/API/linux/aarch64/tagged_memory_read/main.c
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
Commit 022600334dcb914d24230c6659487b2744af702b by andrzej.warzynski
[flang] Update the description of `!fir.coordinate_of`

This change was suggested in one of the comments for
https://reviews.llvm.org/D115333. Basically, the following usage is
valid, but the current wording suggests otherwise:
```
%1 = fir.coordinate_of %a, %k : (!fir.ref<!fir.array<10 x 10 x i32>>, index) -> !fir.ref<!fir.array<10 x i32>>
```
A test is also added to better document this particular case.

Differential revision: https://reviews.llvm.org/D115929
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/test/Fir/convert-to-llvm.fir
Commit 912af6b570d6f70e107e4ddf54bc85cb8b63cc70 by abinav.puthanpurayil
[AMDGPU][GlobalISel] Remove the post ':' part of vreg operands in fsh combine tests.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/combine-fsh.mir
Commit 577a6dc9a1864fcc0e938052beae2a9b5362367a by llvm-dev
[X86] getVectorMaskingNode - fix indentation. NFC.

clang-format
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e7926e8d972e8129d4b64e10a38719b066a526be by fraser
[RISCV] Match VF variants for masked VFRDIV/VFRSUB

This patch follows up on D117697 to help the simple binary operations
behave similarly in the presence of masks.

It also enables CGP sinking support for vp.fdiv and vp.fsub intrinsics,
now that VFRDIV and VFRSUB are consistently matched with a LHS splat for
masked and unmasked variants.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D117783
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-vp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrdiv-vp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Commit af773a18181dc1a1e3846f518b2d44f2abbbdf87 by fraser
[RISCV][VP] Lower VP_MERGE to RVV instructions

This patch adds lowering of the llvm.vp.merge.* intrinsic
(ISD::VP_MERGE) to RVV vmerge/vfmerge instructions. It introduces a
special pseudo form of vmerge which allows a tied merge operand,
allowing us to specify the tail elements as being equal to the "on
false" operand, using a tied-def constraint and a "tail undisturbed"
policy.

While this strategy allows us to often lower the intrinsic to just one
instruction, it may be less efficient in fixed-vector types as the
number of tail elements may extend far beyond the length of the fixed
vector. Another strategy could be to use a vmerge/vfmerge instruction
with an AVL equal to the length of the vector type, and manipulate the
condition operand such that mask elements greater than the operation's
EVL are false.

I've also observed inefficient codegen in which our 'VF' patterns don't
match raw floating-point SPLAT_VECTORs, which occur in scalable-vector
code.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D117561
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Commit 3e6be0241b31265953d82bad0164d3e0c24cf9d7 by david.spickett
[lldb] Update release notes with non-address bit handling changes

This adds the "memory find" (https://reviews.llvm.org/D117299)
and "memory tag" (https://reviews.llvm.org/D117672) commands
and puts them all in one list.
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 12a499eb00e36bb0944c6b1f7f8721fd90a5bd8f by bjorn.a.pettersson
Pre-commit test case for trunc+lshr+load folds

This is a pre-commit of test cases relevant for D117406.

@srl_load_narrowing1 is showing a pattern that could be folded into
a more narrow load.

@srl_load_narrowing2 is showing a similar pattern that happens to
be optimized already, but that happens in two steps (first triggering
a combine based on SRL and later another combine based on TRUNCATE).

Differential Revision: https://reviews.llvm.org/D117588
The file was modifiedllvm/test/CodeGen/X86/shift-folding.ll
Commit 46cacdbb21c221a4304c489cb4a1abbc51967bb1 by bjorn.a.pettersson
[DAGCombiner] Adjust some checks in DAGCombiner::reduceLoadWidth

In code review for D117104 two slightly weird checks were found
in DAGCombiner::reduceLoadWidth. They were typically checking
if BitsA was a mulitple of BitsB by looking at (BitsA & (BitsB - 1)),
but such a comparison actually only make sense if BitsB is a power
of two.

The checks were related to the code that attempted to shrink a load
based on the fact that the loaded value would be right shifted.

Afaict the legality of the value types is checked later (typically in
isLegalNarrowLdSt), so the existing checks were both overly
conservative as well as being wrong whenever ExtVTBits wasn't a
power of two. The latter was a situation triggered by a number of
lit tests so we could not just assert on ExtVTBIts being a power of
two).

When attempting to simply remove the checks I found some problems,
that seems to have been guarded by the checks (maybe just out of
luck). A typical example would be a pattern like this:

  t1 = load i96* ptr
  t2 = srl t1, 64
  t3 = truncate t2 to i64

When DAGCombine is visiting the truncate reduceLoadWidth is called
attempting to narrow the load to 64 bits (ExtVT := MVT::i64). Then
the SRL is detected and we set ShAmt to 64.

In the past we've bailed out due to i96 not being a multiple of 64.
If we simply remove that check then we would end up replacing the
load with a new load that would read 64 bits but with a base pointer
adjusted by 64 bits. So we would read 32 bits the wasn't accessed by
the original load.
This patch will instead utilize the fact that the logical left shift
can be folded away by using a zextload. Thus, the pattern above will
now be combined into

  t3 = load i32* ptr+offset, zext to i64


Another case is shown in the X86/shift-folding.ll test case:

  t1 = load i32* ptr
  t2 = srl i32 t1, 8
  t3 = truncate t2 to i16

In the past we bailed out due to the shift count (8) not being a
multiple of 16. Now the narrowing kicks in and we get

  t3 = load i16* ptr+offset

Differential Revision: https://reviews.llvm.org/D117406
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/shift-folding.ll
The file was modifiedllvm/test/CodeGen/ARM/shift-combine.ll
Commit e5147f82e1cba6791252d8f44c1a014cd9ea7927 by llvm-dev
[X86] Remove __builtin_ia32_pabs intrinsics and use generic __builtin_elementwise_abs

D111986 added the generic `__builtin_elementwise_abs()` intrinsic with the same integer absolute behaviour as the SSE/AVX instructions (abs(INT_MIN) == INT_MIN)

This patch removes the `__builtin_ia32_pabs*` intrinsics and just uses `__builtin_elementwise_abs` - the existing tests see no changes:
```
__m256i test_mm256_abs_epi8(__m256i a) {
  // CHECK-LABEL: test_mm256_abs_epi8
  // CHECK: [[ABS:%.*]] = call <32 x i8> @llvm.abs.v32i8(<32 x i8> %{{.*}}, i1 false)
  return _mm256_abs_epi8(a);
}
```
This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`).

Differential Revision: https://reviews.llvm.org/D117791
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was modifiedclang/lib/Headers/avx512fintrin.h
The file was modifiedclang/lib/Headers/avx2intrin.h
The file was modifiedclang/lib/Headers/avx512bwintrin.h
The file was modifiedclang/test/CodeGen/builtins-x86.c
The file was modifiedclang/lib/Headers/tmmintrin.h
The file was modifiedclang/lib/Headers/avx512vlintrin.h
Commit b2499bf3e851c67ef623766b922de520de9235d5 by springerm
[mlir][bufferize][NFC] Refactor createAlloc function signature

Pass a ValueRange instead of an ArrayRef<Value> for better compatibility. Also provide an additional function overload that automatically deallocates the buffer if specified.

Differential Revision: https://reviews.llvm.org/D118025
The file was modifiedmlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
Commit 3e50593b18840ab4508a25d0f761afb65535a38d by llvm-dev
[X86] Remove `__builtin_ia32_pmax/min` intrinsics and use generic `__builtin_elementwise_max/min`

D111985 added the generic `__builtin_elementwise_max` and `__builtin_elementwise_min` intrinsics with the same integer behaviour as the SSE/AVX instructions

This patch removes the `__builtin_ia32_pmax/min` intrinsics and just uses `__builtin_elementwise_max/min` - the existing tests see no changes:
```
__m256i test_mm256_max_epu32(__m256i a, __m256i b) {
  // CHECK-LABEL: test_mm256_max_epu32
  // CHECK: call <8 x i32> @llvm.umax.v8i32(<8 x i32> %{{.*}}, <8 x i32> %{{.*}})
  return _mm256_max_epu32(a, b);
}
```
This requires us to add a `__v64qs` explicitly signed char vector type (we already have `__v16qs` and `__v32qs`).

Sibling patch to D117791

Differential Revision: https://reviews.llvm.org/D117798
The file was modifiedclang/lib/Headers/avx512bwintrin.h
The file was modifiedclang/lib/Headers/emmintrin.h
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was modifiedclang/lib/Headers/avx2intrin.h
The file was modifiedclang/lib/Headers/smmintrin.h
The file was modifiedclang/test/CodeGen/builtins-x86.c
The file was modifiedclang/lib/Headers/avx512vlintrin.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Headers/avx512fintrin.h
Commit 3696c70e67d9b9e54307ef25077bae7a6f76636e by whisperity
[clang-tidy] Add `readability-container-contains` check

This commit introduces a new check `readability-container-contains` which finds
usages of `container.count()` and `container.find() != container.end()` and
instead recommends the `container.contains()` method introduced in C++20.

For containers which permit multiple entries per key (`multimap`, `multiset`,
...), `contains` is more efficient than `count` because `count` has to do
unnecessary additional work.

While this this performance difference does not exist for containers with only
a single entry per key (`map`, `unordered_map`, ...), `contains` still conveys
the intent better.

Reviewed By: xazax.hun, whisperity

Differential Revision: http://reviews.llvm.org/D112646
The file was modifiedclang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
The file was addedclang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/readability-container-contains.rst
The file was addedclang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-container-contains.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
Commit e4074432d5bf5c295f96eeed27c5b693f5b3bf16 by llvm-dev
[X86] Remove avx512f integer and/or/xor/min/max reduction intrinsics and use generic equivalents

None of these have any reordering issues, and they still emit the same reduction intrinsics without any change in the existing test coverage:

llvm-project\clang\test\CodeGen\X86\avx512-reduceIntrin.c
llvm-project\clang\test\CodeGen\X86\avx512-reduceMinMaxIntrin.c

Differential Revision: https://reviews.llvm.org/D117881
The file was modifiedclang/lib/Headers/avx512fintrin.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
Commit 8082ab2fc391cb88ab142d3ce8f63e6eb8641a23 by kerry.mclaughlin
[LoopVectorize] Support epilogue vectorisation of loops with reductions

isCandidateForEpilogueVectorization will currently return false for loops
which contain reductions. This patch removes this restriction and makes
the following changes to support epilogue vectorisation with reductions:

- `fixReduction`: If fixReduction is being called during vectorisation of the
    epilogue, the phi node it creates will need to additionally carry incoming
     values from the middle block of the main loop.

- `createEpilogueVectorizedLoopSkeleton`: The incoming values of the phi
    created by fixReduction are updated after the vec.epilog.iter.check block
    is added. The phi is also moved to the preheader of the epilogue.

- `processLoop`: The start value of any VPReductionPHIRecipes are updated before
    vectorising the epilogue loop. The getResumeInstr function added to the ILV
    will return the resume instruction associated with the recurrence descriptor.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D116928
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr35432.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr42674.ll
The file was addedllvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
Commit 54f1d950667cac9d1cbf549c72972bcb487b6fa7 by llvmgnsyncbot
[gn build] Port 3696c70e67d9
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Commit b7f69b8d46502adbe7007a89bdf6ea6b6c8f95f9 by flo
[LV] Name values and blocks in same induction tests (NFC).

This reduces the churn in the test in future updates due to numbering
changes.
The file was modifiedllvm/test/Transforms/LoopVectorize/induction.ll
Commit 70f83f308449710a55c4898f18f06949df2d1559 by zkliu6
[RISCV] add support for zbkx subextension in MC layer.

This patch adds support for zbkx extension from K extension(v1.0.0) in MC layer.
Instructions with same functionality and same encoding is defined in the bitmanip extension.
It defines {Xperm8, Xperm4} as instruction aliases for xperm.* in Zbp extension. When Zbkx is enabled while Zbp is not, xperm.h will not be available. When Zbkx and Zbp are both enabled, the instructions will be decoded in Zbp format.

[[ https://reviews.llvm.org/D94999 | D94999 ]] this is the patch that introduces xperm.* instructions.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D117889
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoZb.td
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was addedllvm/test/MC/RISCV/rv32zbkx-invalid.s
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedSiFive7.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
The file was modifiedllvm/lib/Target/RISCV/RISCVSchedRocket.td
The file was modifiedllvm/test/CodeGen/RISCV/attributes.ll
The file was addedllvm/test/MC/RISCV/rv32zbkx-valid.s
The file was modifiedllvm/test/MC/RISCV/attribute-arch.s
The file was modifiedllvm/lib/Support/RISCVISAInfo.cpp
Commit b754d09fde0b5f82acfd1d5e0423271823db4905 by groverkss
[MLIR][Presburger] Refactor duplicate division merging to Utils

This patch moves merging of duplicate divisions to presburger utility
functions. This is required to support division merging in structures other
than IntegerPolyhedron.

Reviewed By: arjunp

Differential Revision: https://reviews.llvm.org/D118001
The file was modifiedmlir/lib/Analysis/Presburger/Utils.cpp
The file was modifiedmlir/lib/Analysis/Presburger/IntegerPolyhedron.cpp
The file was modifiedmlir/include/mlir/Analysis/Presburger/Utils.h
Commit b4b6d6374e2e04640a2afa0415ba326f6d7be9b7 by ybrevnov
[NFC] New test case for BasicAA and memcy/memmove with deopt

New test checks results of BasicAA for llvm.memcpy.*/llvm.memmove.* intrinsics in presence of deopt bundle. By specification expected result for unrelated global memory should be Ref. Currently this is not the case and will be fixed in upcoming patches.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D118031
The file was modifiedllvm/test/Analysis/BasicAA/deoptimize.ll
Commit f1e36474b9e57b828f0e25c2932536cce7a558e5 by sebastian.neubauer
[AMDGPU][NFC] Fix debug prints

Print the instructions instead of pointers.
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Commit 0e70dd858eb76151b90fedec593794d54aaca8c1 by llvm-dev
[X86] Add PR46249 test case showing poorly widened select predicate mask
The file was addedllvm/test/CodeGen/X86/vselect-avx512.ll
Commit b2a8eff45c55fe7fe05cb94c5a8525b54511a33e by flo
[LV] Make some tests more robust by adding missing users.
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/induction-trunc.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/pr31900.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
Commit 5f290c090a2404238a5b0ae4233f3ae9daec319e by sguelton
Move STLFunctionalExtras out of STLExtras

Only using that change in StringRef already decreases the number of
preoprocessed lines from 7837621 to 7776151 for LLVMSupport

Perhaps more interestingly, it shows that many files were relying on the
inclusion of StringRef.h to have the declaration from STLExtras.h. This
patch tries hard to patch relevant part of llvm-project impacted by this
hidden dependency removal.

Potential impact:
- "llvm/ADT/StringRef.h" no longer includes <memory>,
  "llvm/ADT/Optional.h" nor "llvm/ADT/STLExtras.h"

Related Discourse thread:
https://llvm.discourse.group/t/include-what-you-use-include-cleanup/5831
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was modifiedllvm/include/llvm/ADT/StringMapEntry.h
The file was modifiedllvm/lib/Support/TimeProfiler.cpp
The file was addedllvm/include/llvm/ADT/STLFunctionalExtras.h
The file was modifiedllvm/include/llvm/MC/SubtargetFeature.h
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedlld/ELF/Relocations.h
The file was modifiedllvm/unittests/ADT/StringSetTest.cpp
The file was modifiedllvm/include/llvm/ADT/SparseMultiSet.h
The file was addedllvm/include/llvm/ADT/identity.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibFunc.h
The file was modifiedllvm/unittests/ADT/StringMapTest.cpp
The file was modifiedclang/tools/diagtool/DiagTool.cpp
The file was modifiedllvm/include/llvm/ADT/StringSwitch.h
The file was modifiedllvm/include/llvm/ADT/StringRef.h
The file was modifiedllvm/include/llvm/ADT/CombinationGenerator.h
The file was modifiedllvm/include/llvm/Support/JSON.h
The file was modifiedllvm/include/llvm/ADT/SparseSet.h
The file was modifiedclang/include/clang/Basic/DirectoryEntry.h
The file was modifiedllvm/include/llvm/Support/raw_ostream.h
The file was modifiedlldb/include/lldb/Utility/UserIDResolver.h
The file was modifiedllvm/include/llvm/Support/Timer.h
The file was modifiedllvm/include/llvm/Testing/Support/Annotations.h
The file was modifiedllvm/unittests/Support/ReverseIterationTest.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/MemoryFlags.h
The file was modifiedllvm/unittests/ADT/SimpleIListTest.cpp
The file was modifiedllvm/include/llvm/ADT/StringMap.h
The file was modifiedllvm/lib/CodeGen/NonRelocatableStringpool.cpp
The file was modifiedllvm/unittests/ADT/SequenceTest.cpp
The file was modifiedllvm/include/llvm/Support/CrashRecoveryContext.h
The file was modifiedllvm/include/llvm/ADT/SmallSet.h
The file was modifiedllvm/include/llvm/IR/LLVMContext.h
The file was modifiedllvm/unittests/ADT/SmallPtrSetTest.cpp
The file was modifiedllvm/lib/Support/StringRef.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedmlir/lib/Parser/Token.h
The file was modifiedllvm/include/llvm/Support/TimeProfiler.h
Commit 853e79d8d8af7376a81bf692f26a0c3468811d29 by clementval
[flang] Update tco tool pipline and add translation to LLVM IR

tco is a tool to test the FIR to LLVM IR pipeline of the Flang compiler.

This patch update tco pipelines and adds the translation to LLVM IR.

A simple test is added to make sure the tool is working with a simple
FIR program.
More tests will be upstream in follow up patch from the fir-dev branch.

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

Reviewed By: kiranchandramohan, awarzynski, schweitz, mehdi_amini

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

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com>
The file was addedflang/include/flang/Tools/CLOptions.inc
The file was modifiedflang/lib/Optimizer/Support/CMakeLists.txt
The file was addedflang/lib/Optimizer/Support/InitFIR.cpp
The file was modifiedflang/include/flang/Optimizer/Support/InitFIR.h
The file was modifiedflang/tools/tco/tco.cpp
The file was modifiedflang/include/flang/Optimizer/CodeGen/CodeGen.h
The file was modifiedflang/tools/tco/CMakeLists.txt
The file was modifiedflang/lib/Optimizer/CodeGen/CodeGen.cpp
The file was addedflang/test/Fir/basic-program.fir
Commit 38ffea9b4c1f59ebf434a9774cd7ae741cc87d70 by nathan
[demangler] Resync demangler sources

Recent commits changed llvm/include/llvm/Demangle without also
changing libcxxabi/src/Demangle, which is the canonical source
location.  This resyncs those commits to the libcxxabi directory.

Commits:
* 1f9e18b6565fd1bb69c4b649b9efd3467b3c7c7d
* f53d359816e66a107195e1e4b581e2a33bbafaa4
* 065044c443f4041f32e0a8d6e633f9d92580fbca

Reviewed By: ChuanqiXu

Differential Revision: https://reviews.llvm.org/D117990.diff
The file was modifiedlibcxxabi/src/demangle/Utility.h
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/src/demangle/StringView.h
Commit 897d1bb659c2a23baed8ff4881960945125c40f7 by nathan
[demangler] write-protect non-canonical source

To try and avoid undesired changes to the non-canonical demangler
sources, change the cp-to-llvm script to (a) write-protect the target
files and (b) prepend 'do not edit' comments that are significant to
emacs[*], and hopefully humans.

Reviewed By: ChuanqiXu

Differential Revision: https://reviews.llvm.org/D118008
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
The file was modifiedllvm/include/llvm/Demangle/Utility.h
The file was modifiedllvm/include/llvm/Demangle/StringView.h
The file was modifiedlibcxxabi/src/demangle/cp-to-llvm.sh
Commit 6184e565ad4065026bc121fd13d6a8743a1fe593 by nathan
[demangler][NFC] Refactor some parsing

There's some unnecessary code duplication in the parser.  This
refactors that and deploys boolean variables to avoid the duplication.
These also happen to help adding module demangling (with an updated
mangling scheme).

1a) The grammar requires some lookahead concerning <template-args>. We
may discover an <unscoped-name> is actually <unscoped-template-name>
<template-args>.  (When <unscoped-name> was a substitution, there must
be a following <template-args>.)  Refactor parseName to only have one
code path looking for the 'I' indicating <template-args>.

1b) While there I altered the control flow to hold the result in a
variable, rather than tail call.  Made it easier to debug (and of
course an optimizer will DTRT here anyway).

2a) An <unscoped-name> can have an St or StL prefix.  No need for
completely separate code paths handling the following unqualified-name
though.

2b) Also no need to look for both 'St' and 'StL' separately.  Look for
'St' and then conditionally swallow an 'L'.

3) We get a similar issue as #1a when parsing a typeName.  Here I just
change the control flow slightly to bring the 'break' out to the end
of the 'S' block and embed the early return inside an if.  That's more
in keeping with the code style.

4) Although NFC, there's a new testcase as that's not covered by the
existing demangler tests and is significant in the #1a case above.

Reviewed By: ChuanqiXu

Differential Revision: https://reviews.llvm.org/D117879
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
Commit 589a93907222cf2380198ca2172ff6697dd43d87 by aaron
Add `isConstinit` matcher

Support C++20 constinit variables for AST Matchers.
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit a0d5e938fe9c1fd6ca492a91cdc3d841aa03fc0d by sguelton
Add missing include llvm/ADT/STLExtras
The file was modifiedllvm/include/llvm/ADT/CoalescingBitVector.h
The file was modifiedclang-tools-extra/clang-tidy/GlobList.cpp
Commit f6ac8088b0e890765974fee5f5820a340736f9bf by sjoerd.meijer
[LoopFlatten] Added comments about usage of various Loop APIs. NFC.
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
Commit ada6d78a7802f8057f1ab7cee0bed25f91fcc4b4 by sjoerd.meijer
[LoopFlatten] Address FIXME about getTripCountFromExitCount. NFC.

Together with the previous commit which mainly documents better LoopFlatten's
overall strategy, this addresses a concern added as a FIXME comment in D110587;
the code refactoring (NFC) introduces functions (also for the SCEV usage) to
make this clearer.
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
Commit d42678b453bc2587a42eef1ba4e5782b2c8c5ff1 by fraser
[RISCV] Add side-effect-free vsetvli intrinsics

This patch introduces new intrinsics that enable the use of vsetvli in
contexts where only the returned vector length is of interest. The
pre-existing intrinsics are marked with side-effects, which prevents
even trivial optimizations on/across them.

These intrinsics are intended to be used in situations where the vector
length is fed in turn to RVV intrinsics or to vector-predication
intrinsics during loop vectorization, for example. Those codegen paths
ensure that instructions are generated with their own implicit vsetvli,
so the vector length and vtype can be relied upon to be correct.

No corresponding C builtins are planned at this stage, though that is a
possibility for the future if the need arises.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D117910
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/rv32-vsetvli-intrinsics.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/rv64-vsetvli-intrinsics.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Commit 25e8f5f827bfbc8aed24c9db116c4869f437fb9d by sguelton
Add missing STLExtras.h include from lldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp
The file was modifiedlldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp
Commit f7079bf9ee68aa46c6eef5836279902a2fd1fe50 by llvm-dev
[X86] Fix v8i8 -> v8i16 typo in bool reductions

We were supposed to be testing <8 x i16> reductions
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
Commit 4436d4cd7c86ed544b1184db2eec691b38c9c77b by llvm-dev
[X86] Rename cmp-with-zero bool reductions

Explicitly name them icmp0_* - I'm intending to add PR53379 test coverage shortly
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
Commit 0553f5e61ac7e919c3eb573f57ed0e1096ccbbeb by llvm-dev
[X86] Add cmp-equality bool reductions

PR53379 test coverage
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-xor-bool.ll
Commit 34aedbe90d7667a3fd1e0427808648364b594034 by paul.walker
[AArch64] Regenerate CHECK lines for llvm/test/CodeGen/AArch64/sve2-int-mul.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-int-mul.ll
Commit 5e5efd8a91f2e340e79a73bedbc6ab66ad4a4281 by 18738953+ksyx
[clang-format] Fix SeparateDefinitionBlocks issues

- Fixes https://github.com/llvm/llvm-project/issues/53227 that wrongly
  indents multiline comments
- Fixes wrong detection of single-line opening braces when used along
  with those only opening scopes, causing crashes due to duplicated
  replacements on the same token:
    void foo()
    {
      {
        int x;
      }
    }
- Fixes wrong recognition of first line of definition when the line
  starts with block comment, causing crashes due to duplicated
  replacements on the same token for this leads toward skipping the line
  starting with inline block comment:
    /*
      Some descriptions about function
    */
    /*inline*/ void bar() {
    }
- Fixes wrong recognition of enum when used as a type name rather than
  starting definition block, causing crashes due to duplicated
  replacements on the same token since both actions for enum and for
  definition blocks were taken place:
    void foobar(const enum EnumType e) {
    }
- Change to use function keyword for JavaScript instead of comparing
  strings
- Resolves formatting conflict with options EmptyLineAfterAccessModifier
  and EmptyLineBeforeAccessModifier (prompts with --dry-run (-n) or
  --output-replacement-xml but no observable change)
- Recognize long (len>=5) uppercased name taking a single line as return
  type and fix the problem of adding newline below it, with adding new
  token type FunctionLikeOrFreestandingMacro and marking tokens in
  UnwrappedLineParser:
    void
    afunc(int x) {
      return;
    }
    TYPENAME
    func(int x, int y) {
      // ...
    }
- Remove redundant and repeated initialization
- Do no change to newlines before EOF

Reviewed By: MyDeveloperDay, curdeius, HazardyKnusperkeks
Differential Revision: https://reviews.llvm.org/D117520
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/lib/Format/DefinitionBlockSeparator.cpp
The file was modifiedclang/lib/Format/DefinitionBlockSeparator.h
The file was modifiedclang/unittests/Format/DefinitionBlockSeparatorTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 7a5b0a2934f3b82ae93f03d1e7603371fe5c42d1 by Matthew.Arsenault
Reapply "IR: Make getRetAlign check callee function attributes"

Reapply 3d2d208f6a0a421b23937c39b9d371183a5913a3, reverted in
a97e20a3a8a58be751f023e610758310d5664562
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 99e8e17313e76c50a0d6606394fed98832fd8fec by Matthew.Arsenault
Reapply "Revert "GlobalISel: Add G_ASSERT_ALIGN hint instruction"

This reverts commit a97e20a3a8a58be751f023e610758310d5664562.
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-assert-align.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/regbank-assert-align.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/assert-align.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-assert-align.mir
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Commit 354b2c36ee46a60f316e816d31737559a0694515 by bjorn.a.pettersson
Pre-commit test cases for (sra (load)) -> (sextload) folds. NFC

Add test case to show missing folds for (sra (load)) -> (sextload).

Differential Revision: https://reviews.llvm.org/D116929
The file was addedllvm/test/CodeGen/X86/combine-sra-load.ll
Commit 18aabae8e2b6ccea4575ac9e4fb4d38ec7e4e971 by Matthew.Arsenault
AMDGPU: Fix assertion on fixed stack objects with VGPR->AGPR spills

These have negative / out of bounds frame index values and would
assert when trying to set the BitVector. Fixed stack objects can't be
colored away so ignore them.
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
Commit 49e37000691a17a073003219a584414e5f481e11 by springerm
[mlir][tensor] Move BufferizableOpInterface impl to tensor dialect

This is in preparation of unifying the existing bufferization with One-Shot bufferization.

A subsequent commit will replace `tensor-bufferize`'s implementation with the BufferizableOpInterface-based implementation and move over missing test cases.

Differential Revision: https://reviews.llvm.org/D117984
The file was modifiedmlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
The file was modifiedmlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was removedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.h
The file was modifiedutils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
The file was addedmlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was removedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h
The file was modifiedmlir/test/lib/Dialect/Linalg/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp
Commit 473aa8e10c49aeed7083a53f275176c5831711b3 by david.spickett
[llvm][docs] Fix code-block in the testing guide

Without a langauge name it's an error (with some verisons of Sphinx
it seems) or the block is simply missing in the output.
The file was modifiedllvm/docs/TestingGuide.rst
Commit 2d9ed1aba236b4e50ce4bbaf955347590d536a55 by shabalin
[mlir] Fix broken __repr__ implementation in Linalg OpDSL

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D118027
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
Commit d193f7be7898f165e98ee5fc38b07588f43fa856 by sd.fertile
[libc++][AIX] Do not assert chmod return value is non-zero.

A number of the filesystem tests create a directory that contains a bad
symlink. On AIX recursively setting permissions on said directory will
return a non-zero value because of the bad symlink, however the
following rm -r still completes successfully. Avoid the assertion on
AIX, and rely on the return value of the remove command to detect
problems.

Differential Revision: https://reviews.llvm.org/D112086
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
Commit fc08d1c2940609d26a534d7a12e6c6a528891830 by springerm
[mlir][tensor][bufferize] Support tensor.rank in BufferizableOpInterfaceImpl

This is the only op that is not supported via BufferizableOpInterfaceImpl bufferization. Once this op is supported we can switch `tensor-bufferize` over to the new unified bufferization.

Differential Revision: https://reviews.llvm.org/D117985
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
Commit 4d53f88d1a18e288362e1077ae09c98c843593ba by clementval
[flang] Add MemoryAllocation pass to the pipeline

Add the MemoryAllocation pass into the pipeline. Add
the possibilty to pass the options directly within the tool (tco).

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

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D117886
The file was modifiedflang/include/flang/Tools/CLOptions.inc
The file was modifiedflang/include/flang/Optimizer/Transforms/Passes.h
The file was modifiedflang/lib/Optimizer/Transforms/MemoryAllocation.cpp
Commit 3ad35ba4dea5240dd58476f0c85f0fe096d6c7ce by dkszelethus
[Templight] Don't display empty strings for names of unnamed template parameters

Patch originally by oktal3000: https://github.com/mikael-s-persson/templight/pull/40

When a template parameter is unnamed, the name of -templight-dump might return
an empty string. This is fine, they are unnamed after all, but it might be more
user friendly to at least describe what entity is unnamed.

Differential Revision: https://reviews.llvm.org/D115521
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was addedclang/test/Templight/templight-empty-entries-fix.cpp
Commit c30d2893a43d20b587d0abd288472adfa2c8672b by springerm
[mlir][bufferize] Change insertion point for ToTensorOps

Both insertion points are valid. This is to make BufferizableOpInteface-based bufferization compatible with existing partial bufferization test cases. (So less changes are necessary to unit tests.)

Differential Revision: https://reviews.llvm.org/D117986
The file was modifiedmlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-function-bufferize.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-alloca.mlir
Commit 217570b03bbe810e6d4183aee72637ae5c326fbc by l.chelini
[MLIR][OpenMP] Suppress -Wreturn-type warnings (NFC)
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Commit c1335166b2659b02784b9dfb562c6b8b1c746407 by hans
Don't run test/ClangScanDeps/modules-symlink.c on Windows

'ln -s' isn't Windows friendly.
The file was modifiedclang/test/ClangScanDeps/modules-symlink.c
Commit cd2a9ff39788578f419d41f32d046150462696e2 by craig.topper
[RISCV] Select int_riscv_vsll with shift of 1 to vadd.vv.

Add might be faster than shift. We can't do this earlier without
using a Freeze instruction.

This is the intrinsic version of D106689.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D118013
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsll-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsll-rv64.ll
Commit b8c7cdcc81a04613d01b1f468d510959f1e66416 by craig.topper
[SelectionDAG][RISCV] Teach getNode to fold bswap(bswap(x))->x.

This can show up during when bitreverse is expanded to bswap and
swap of bits within a byte. If the input is already a bswap, we
should cancel them out before we further transform them in a way
that makes it harder to see the redundancy.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D118007
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/bswap-bitreverse-ctlz-cttz-ctpop.ll
Commit b00ee46b5e4bf5f0b5700373ca6302c3c50b10b9 by springerm
[mlir][bufferize][NFC] Implement BufferizableOpInterface on bufferization ops directly

No longer go through an external model. Also put BufferizableOpInterface into the same build target as the BufferizationDialect. This allows for some code reuse between BufferizationOps canonicalizers and BufferizableOpInterface implementations.

Differential Revision: https://reviews.llvm.org/D117987
The file was modifiedmlir/test/lib/Dialect/Linalg/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
The file was modifiedmlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp
The file was removedmlir/include/mlir/Dialect/Bufferization/IR/BufferizationInterfaceImpl.h
The file was modifiedmlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
The file was removedmlir/lib/Dialect/Bufferization/IR/BufferizationInterfaceImpl.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedutils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Commit a43ed49f5b163b2926641729a30a5c17c2116a08 by craig.topper
[DAGCombiner][RISCV] Canonicalize (bswap(bitreverse(x))->bitreverse(bswap(x)).

If the bitreverse gets expanded, it will introduce a new bswap. By
putting a bswap before the bitreverse, we can ensure it gets cancelled
out when this happens.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D118012
The file was modifiedllvm/test/CodeGen/RISCV/bswap-bitreverse-ctlz-cttz-ctpop.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbp.ll
Commit e494278ceeb70d2973392a349b3ab105da488b13 by gysit
[mlir][linalg] Add transpose support to hoist padding.

Add a transpose option to hoist padding to transpose the padded tensor before storing it into the packed tensor. The early transpose improves the memory access patterns of the actual compute kernel. The patch introduces a transpose right after the hoisted pad tensor and a second transpose inside the compute loop. The second transpose can either be fused into the compute operation or will canonicalize away when lowering to vector instructions.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D117893
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/HoistPadding.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/test/Dialect/Linalg/hoist-padding.mlir
Commit cfe17986c952e552a731237da99f4879def3a02b by Casey
[libcxx][test] {move,reverse}_iterator cannot be instantiated for a type with no `operator*`

Since their nested reference types are defined in terms of `iter_reference_t<T>`, which examines `decltype(*declval<T>())`.

Differential Revision: https://reviews.llvm.org/D117371
The file was modifiedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/three-way.pass.cpp
Commit 699e22a083f2bae120e68ce7254fcddb4aaf97b3 by sander.desmalen
[ISEL] Move trivial step_vector folds to FoldConstantArithmetic.

Given that step_vector is practically a constant, doing this early
helps with DAGCombine folds that happen before type legalization.

There is currently no way to test this happens earlier, although existing
tests for step_vector folds continue protect the folds happening at all.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D117863
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 6997f4d07fa4b462dd3a02838a2cfed45db9c8a0 by llvm-dev
[X86] combineSetCCMOVMSK - fold allof(cmpeq(x,y)) -> ptest(sub(x,y)) (PR53379)

As suggested on PR53379, for all-of icmp-eq patterns, we can use ptest(sub(x,y)) on SSE41+ targets

This is a generalization of the existing allof(cmpeq(x,0)) -> ptest(x) pattern

We can probably extend this further, in particularly to handle 256-bit cases on pre-AVX2 targets, but this part of the generalization is pretty trivial

Fixes Issue #53379
The file was modifiedllvm/test/CodeGen/X86/vector-compare-all_of.ll
The file was modifiedllvm/test/CodeGen/X86/movmsk-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-compare-any_of.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c03fdd340356c9a29242975f39786529eb99f194 by i
[ELF] Fix the branch range computation when reusing a thunk

Notation: dst is `t->getThunkTargetSym()->getVA()`

On AArch64, when `src-0x8000000-r_addend <= dst < src-0x8000000`, the condition
`target->inBranchRange(rel.type, src, rel.sym->getVA(rel.addend))` may
incorrectly consider a thunk reusable.
`rel.addend = -getPCBias(rel.type)` resets the addend to 0 for AArch64/PPC
and the zero addend is used by `rel.sym->getVA(rel.addend)` to check
out-of-range relocations.

See the test for a case this computation is wrong:
`error: a.o:(.text_high+0x4): relocation R_AARCH64_JUMP26 out of range: -134217732 is not in [-134217728, 134217727]`
I have seen a real world case with r_addend=19960.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D117734
The file was modifiedlld/ELF/Relocations.cpp
The file was addedlld/test/ELF/aarch64-thunk-reuse.s
The file was addedlld/test/ELF/arm-thunk-reuse.s
Commit a2afc8249a9950da861bce5fd724c1ccf6c4eea4 by Louis Dionne
[libc++] Fix benchmark failure
The file was modifiedlibcxx/benchmarks/filesystem.bench.cpp
Commit 6be77561f82d781cd957c316a7f53660510683a3 by eopxd
[SLP][NFC] Add debug logs for entry.

Tell the users they are specifying something without vector register.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D117980
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 7cd441ff537e00c743236658bfbcfc16c30ce031 by owenpiano
[clang][NFC] Wrap TYPE_SWITCH in "do while (0)" in the interpreter

Wraps the expansions of TYPE_SWITCH and COMPOSITE_TYPE_SWITCH in
the constexpr interpreter with "do { ... } while (0)" so that these
macros can be used like this:

if (llvm::Optional<PrimType> T = Ctx.classify(FieldTy))
  TYPE_SWITCH(*T, Ok &= ReturnValue<T>(FP.deref<T>(), Value));
else
  Ok &= Composite(FieldTy, FP, Value);

This bug was found while testing D116316. See also review comment:
https://reviews.llvm.org/D64146?id=208520#inline-584131

Also cleaned up the macro definitions by removing the superfluous
do-while statements and removed the unused INT_TPYE_SWITCH macro.

Differential Revision: https://reviews.llvm.org/D117301
The file was modifiedclang/lib/AST/Interp/PrimType.h
Commit 80532ebb508d0ca62f96df5f253db8caed969397 by sebastian.neubauer
[AMDGPU][InstCombine] Remove zero image offset

Remove the offset parameter if it is zero.

Differential Revision: https://reviews.llvm.org/D117876
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
The file was modifiedllvm/lib/Target/AMDGPU/MIMGInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Commit 74db5c8c95e2aed40d288bb2df92eb859b87c827 by jeremy.morse
Revert rG6a605b97a200 due to excessive memory use

Over in the comments for D116821, some use-cases have cropped up where
there's a substantial increase in memory usage. A quick inspection
shows that a) it's a lot of memory and b) there are several things to
be done to reduce it. Reverting (via disabling this feature by default)
to avoid bothering people in the meantime.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
The file was modifiedllvm/test/DebugInfo/X86/instr-ref-flag.ll
Commit 50999e82e8844615b1ae53edb9d56cdcace91b04 by marek.kurdej+llvm.org
[clang-format] Space between attribute closing parenthesis and qualified type colon.

Fixes https://github.com/llvm/llvm-project/issues/35711.

Reviewed By: MyDeveloperDay, HazardyKnusperkeks, owenpan

Differential Revision: https://reviews.llvm.org/D117894
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit db2944e34b16387bf4326ddfd2a8c420594572f4 by koraq
[libc++][format] Adds formatter floating-point.

This properly implements the formatter for floating-point types.

Completes:
- P1652R1 Printf corner cases in std::format
- LWG 3250 std::format: # (alternate form) for NaN and inf
- LWG 3243 std::format and negative zeroes

Implements parts of:
- P0645 Text Formatting

Reviewed By: #libc, ldionne, vitaut

Differential Revision: https://reviews.llvm.org/D114001
The file was modifiedlibcxx/include/__format/formatter.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp
The file was addedlibcxx/include/__format/formatter_floating_point.h
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_floating_point.pass.cpp
The file was modifiedlibcxx/include/format
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/benchmarks/formatter_float.bench.cpp
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp
The file was modifiedlibcxx/include/__format/parser_std_format_spec.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.floating_point.pass.cpp
The file was modifiedlibcxx/docs/Status/Cxx20Papers.csv
The file was modifiedlibcxx/include/__format/formatter_integral.h
The file was modifiedlibcxx/docs/Status/Cxx20Issues.csv
The file was modifiedlibcxx/test/std/utilities/format/format.functions/format_tests.h
Commit 787ccd345cbb3a569ba751580bb806552b4b6e57 by koraq
[libc++][format] Adds formatter pointer.

This implements the last required formatter specialization.

Completes:
- LWG 3251 Are std::format alignment specifiers applied to string arguments?
- LWG 3340 Formatting functions should throw on argument/format string mismatch in §[format.functions]
- LWG 3540 §[format.arg] There should be no const in basic_format_arg(const T* p)

Implements parts of:
- P0645 Text Formatting

Depends on D114001

Reviewed By: ldionne, vitaut, #libc

Differential Revision: https://reviews.llvm.org/D115988
The file was modifiedlibcxx/include/format
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp
The file was modifiedlibcxx/include/__format/format_arg.h
The file was addedlibcxx/include/__format/formatter_pointer.h
The file was modifiedlibcxx/test/libcxx/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.functions/format_tests.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/include/__format/parser_std_format_spec.h
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.pointer.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_pointer.pass.cpp
The file was modifiedlibcxx/docs/Status/Cxx2bIssues.csv
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/docs/Status/Cxx20Issues.csv
Commit 2b8b48c5a0c40d33569c74924f72cc31055a7b56 by koraq
[libc++][format] Disable default formatter.

[format.formatter.spec]/5 lists the requirements for the default
formatter. The original implementation didn't implement this. This
implements the default formatter according to the Standard.

This adds additional test to validate the default formatter is disabled
and the required standard formatters are enabled.

While adding the tests it seems the formatters needed a constraint for the
character types they were valid for.

Implements parts of:
- P0645 Text Formatting

Depends on D115988

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D115989
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.formatter.spec/types.compile.pass.cpp
The file was modifiedlibcxx/include/__format/formatter.h
The file was modifiedlibcxx/include/__format/formatter_integer.h
The file was modifiedlibcxx/include/__format/formatter_bool.h
The file was modifiedlibcxx/include/__format/formatter_string.h
Commit ade6d0d8fa1d9e327e9a1975351aa6b4b5dbf800 by koraq
[libc++][format] Adds formatter handle.

This implements the handler according to P0645. P2418 changes the wording
in the Standard. That isn't implemented and requires changes in more
places. LWG3631 applies modifications to P2418, but is currently
unresolved.

Implements parts of:
* P0645 Text Formatting

Depends on D115989

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D115991
The file was modifiedlibcxx/test/std/utilities/format/format.arguments/format.arg/operator_bool.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.unsigned_integral.pass.cpp
The file was modifiedlibcxx/include/format
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
The file was modifiedlibcxx/include/__format/format_arg.h
The file was modifiedlibcxx/test/std/utilities/format/format.functions/format_tests.h
The file was modifiedlibcxx/test/libcxx/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.signed_integral.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.arguments/format.arg.store/class.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.char.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/format/format.arguments/format.args/get.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.arguments/format.args/ctor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.sh.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.context/format.formatter.spec/formatter.handle.pass.cpp
Commit a922324590a13ae544491d21eb035a284a9e75e5 by llvmgnsyncbot
[gn build] Port 787ccd345cbb
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 5fa40fb293241affeac45c9ec4e129e2280f7510 by llvmgnsyncbot
[gn build] Port db2944e34b16
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit ea17d29a6c834a34a698c87193a86eeab04922d2 by stephen.tozer
[llvm] Do not replace dead constant references in metadata with undef

This patch removes an incorrect behaviour in Constants.cpp, which would
replace dead constant references in metadata with an undef value. This
blanket replacement resulted in undef values being inserted into
metadata that would not accept them. The replacement was intended for
debug info metadata, but this is now instead handled in the RAUW
handler.

Differential Revision: https://reviews.llvm.org/D117300
The file was modifiedllvm/lib/IR/Constants.cpp
The file was addedllvm/test/LTO/Resolution/X86/Inputs/no-undef-type-md.ll
The file was addedllvm/test/LTO/Resolution/X86/no-undef-type-md.ll
Commit 11cea7e5ce4d3f6a0d2fac016d503f99c52cdc96 by sander.desmalen
[AArch64] NFC: Clarify and auto-generate some CodeGen tests.

* For ext-narrow-index.ll, move vscale_range attribute closer to the
  function definition, rather than through indirect #<num> attribute. This
  makes the test a bit easier to read.
* auto-generated CHECK lines for sve-cmp-select.ll and
  named-vector-shuffles-sve.ll.
* re-generated CHECK lines for tests that had a mention they were
  auto-generated, but where the CHECK lines were out of date.
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
The file was modifiedllvm/test/CodeGen/AArch64/ext-narrow-index.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-cmp-select.ll
The file was modifiedllvm/test/CodeGen/AArch64/concat-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/neon-stepvector.ll
The file was modifiedllvm/test/CodeGen/AArch64/shift_minsize.ll
The file was modifiedllvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
Commit 57eb5033cdffd4a4b35e2ba308876f50bc9cce62 by rupprecht
[libc] Add bazel definition for hypot/hypotf.

Patch by Clint Caywood.

Differential Revision: https://reviews.llvm.org/D118053
The file was modifiedutils/bazel/llvm-project-overlay/libc/BUILD.bazel
Commit 38e16e1cebb891ad47b85727bf46f7dac6d7da94 by hans
Use -gdwarf-4 in compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c

otherwise the test fails after the recent DWARF 4 -> 5 default change,
see https://github.com/llvm/llvm-project/issues/53387
The file was modifiedcompiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c
Commit d27f02261442a15b0edb627023a8568735b2d110 by jeremy.morse
[NFC][DebugInfo] Strip out an undesired #if 0 block

As mentioned in discussion of D116821, it's better to just delete this
block than keep it hanging around.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
Commit 830df62a07031d84257a8a208798a6a2b4c0461a by flo
[ConstraintElimination] Add test from PR53123.
The file was modifiedllvm/test/Transforms/ConstraintElimination/sub-nuw.ll
Commit 8a15caaae56182815839741de414a0ba60037a9a by flo
[ConstraintElimination] Fix sign of sub decomposition.

Update the decomposition code to make sure the right coefficient (-1) is
used for the second operand of the subtract.

Fixes PR53123.
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/test/Transforms/ConstraintElimination/sub-nuw.ll
Commit 0a3d946e7bb4cd3519370c879dac7cbb58d13a55 by John.Ericson
[libc][cmake] Make `add_tablegen` calls match others

in all the other `add_tablegen` calls, the project name is so transformed so it
can be a prefix of a CMake variable. I think it is better to do do that here
too for consistency.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D117979
The file was modifiedlibc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
The file was modifiedlibc/utils/tools/WrapperGen/CMakeLists.txt
Commit eadf7268d578396d4f2fc2a0f7eda8096c041007 by arthur.j.odwyer
[libc++] Fix bugs in common_iterator; add test coverage.

Differential Revision: https://reviews.llvm.org/D117400
The file was modifiedlibcxx/include/__iterator/common_iterator.h
The file was modifiedlibcxx/docs/Status/Cxx2bIssues.csv
The file was modifiedlibcxx/test/std/iterators/predef.iterators/iterators.common/iter_move.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/iterators.common/constraints.compile.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/iterators.common/ctor.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/iterators.common/iter_swap.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/iterators.common/types.h
The file was addedlibcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
The file was modifiedlibcxx/test/support/test_iterators.h
The file was addedlibcxx/test/std/iterators/predef.iterators/iterators.common/ctor.converting.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
Commit 4684857abfd7cadde9693eed8cfd21446047c579 by koraq
[libc++][format] Finish P0645 Text Formatting.

This adjust the version macro and sets it as completed. All parts of the paper
have been implemented, except for the parts replaced by later papers and
LWG-issues.

Adjusted the synopsis to match the synopsis in the Standard. Not yet
implemented parts of P2216 and P2418 still use the P0645 wording.

Completes:
- P0645 Text Formatting

Depends on D115991

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D115999
The file was modifiedlibcxx/include/format
The file was modifiedlibcxx/docs/Status/Cxx20Papers.csv
The file was modifiedlibcxx/docs/Status/FormatIssues.csv
The file was modifiedlibcxx/docs/Status/Cxx20.rst
The file was modifiedlibcxx/docs/ReleaseNotes.rst
Commit b1af01fe6aa7cb733461b2d475add77b947b79fb by mtrofin
[NFC][MLGO] Simplify conditional compilation

Most of the code that's shared between 'release' and 'development'
modes doesn't depend on anything special.
The file was modifiedllvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp
The file was modifiedllvm/lib/Analysis/MLInlineAdvisor.cpp
Commit c27f8fb96882ee8c684d03068836cf610d4f0640 by Stanislav.Mekhanoshin
[AMDGPU] Remove cndmask from readsExecAsData

Differential Revision: https://reviews.llvm.org/D117909
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/licm-valu.mir
Commit 4858fe04a1571e78ff97b778c0fb6a46855c3d6a by medismail.bennani
[lldb/Plugins] Add ScriptedProcess::GetThreadsInfo interface

This patch adds a new method to the Scripted Process interface to
retrive a dictionary of Scripted Threads. It uses the thread ID as a key
and the Scripted Thread instance as the value.

This dictionary will be used to create Scripted Threads in lldb and
perform calls to the python scripted thread object.

rdar://87427126

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/examples/python/scripted_process/scripted_process.py
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
The file was modifiedlldb/include/lldb/Interpreter/ScriptedProcessInterface.h
Commit 1b86344fa80bd11853e0347ea33dc6cb5a460c4f by medismail.bennani
[lldb/Plugins] Move ScriptedThreadInterface to ScriptedThread

Since we can have multiple Scripted Threads per Scripted Process, having
only a single ScriptedThreadInterface (with a single object instance)
will cause the method calls to be done on the wrong object.

Instead, this patch creates a separate ScriptedThreadInterface for each
new lldb_private::ScriptedThread to make sure we interact with the right
instance.

rdar://87427911

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
The file was modifiedlldb/include/lldb/Interpreter/ScriptedProcessInterface.h
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.cpp
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.h
Commit d3e0f7e1503b1bca8baa6483d3b5c452a91f60a6 by medismail.bennani
[lldb/Plugins] Add support of multiple ScriptedThreads in a ScriptedProcess

This patch adds support of multiple Scripted Threads in a ScriptedProcess.

This is done by fetching the Scripted Threads info dictionary at every
ScriptedProcess::DoUpdateThreadList and iterate over each element to
create a new ScriptedThread using the object instance, if it was not
already available.

This patch also adds the ability to pass a pointer of a script interpreter
object instance to initialize a ScriptedInterface instead of having to call
the script object initializer in the ScriptedInterface constructor.

This is used to instantiate the ScriptedThreadInterface from the
ScriptedThread constructor, to be able to perform call on that script
interpreter object instance.

Finally, the patch also updates the scripted process test to check for
multiple threads.

rdar://84507704

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
The file was modifiedlldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
The file was modifiedlldb/examples/python/scripted_process/scripted_process.py
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
The file was modifiedlldb/test/API/functionalities/scripted_process/invalid_scripted_process.py
The file was removedlldb/test/API/functionalities/scripted_process/main.c
The file was addedlldb/test/API/functionalities/scripted_process/main.cpp
The file was modifiedlldb/include/lldb/Interpreter/ScriptedProcessInterface.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.h
The file was modifiedlldb/include/lldb/Interpreter/ScriptedInterface.h
The file was modifiedlldb/test/API/functionalities/scripted_process/Makefile
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.cpp
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
The file was modifiedlldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
Commit cfa55bfe781474a30467b1bbf2e7874985171196 by medismail.bennani
[lldb/Plugins] Enrich ScriptedThreads Stop Reasons with Exceptions

This patch adds Exceptions to the list of supported stop reasons for
Scripted Threads.

The main motivation for this is that breakpoints are triggered as a
special exception class on ARM platforms, so adding it as a stop reason
allows the ScriptedProcess to selected the ScriptedThread that stopped at
a breakpoint (or crashed :p).

rdar://87430376

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
The file was modifiedlldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.cpp
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
Commit 45148bfe8aece6ca319dcc32351e20bba26b2ea7 by medismail.bennani
[lldb/Plugins] Fix ScriptedThread IndexID reporting

When listing all the Scripted Threads of a ScriptedProcess, we can see that all
have the thread index set to 1. This is caused by the lldb_private::Thread
constructor, which sets the m_index_id member using the provided thread id `tid`.

Because the call to the super constructor is done before instantiating
the `ScriptedThreadInterface`, lldb can't fetch the thread id from the
script instance, so it uses `LLDB_INVALID_THREAD_ID` instead.

To mitigate this, this patch takes advantage of the `ScriptedThread::Create`
fallible constructor idiom to defer calling the `ScriptedThread` constructor
(and the `Thread` super constructor with it), until we can fetch a valid
thread id `tid` from the `ScriptedThreadInterface`.

rdar://87432065

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.cpp
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedThread.h
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
Commit 91bb116190cdc598863a7a3fda57e431dd832449 by medismail.bennani
[lldb/Interpreter] Make `ScriptedInterface::ErrorWithMessage` static (NFC)

This patch changes the `ScriptedInterface::ErrorWithMessage` method to
make it `static` which makes it easier to call.

The patch also updates its various call sites to reflect this change.

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

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/include/lldb/Interpreter/ScriptedInterface.h
The file was modifiedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
Commit bb1fe369774adb86a6bdeec3f56684b6a01c7ff3 by Stanislav.Mekhanoshin
[AMDGPU] Make v8i16/v8f16 legal

Differential Revision: https://reviews.llvm.org/D117721
The file was modifiedllvm/test/CodeGen/AMDGPU/load-global-i16.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fsub.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-constant.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/coalesce-vgpr-alignment.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/arith-ssat.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fma.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fdiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_elt-i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/inlineasm-illegal-type.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/load-constant-i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/arith-usat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-flat.mir
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fptoui.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/function-returns.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sub.v2i16.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fadd.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/add-sub.ll
The file was addedllvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fmul.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local-128.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/kernel-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/mul.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/add.v2i16.ll
Commit 9d32847b331565eb1b38749aa7a721c6be8b64aa by chfast
[DAGCombine] Remove unused param in combineCarryDiamond(). NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit d4be9720e7e68f1316cda971e9b29dc880222200 by rupprecht
[test] Fix no-undef-type-md.ll.

There are two test issues:
- The test assumes the current directory is writeable, but it may not be. Use `%t.o`-like paths instead of implicit `a.out`.
- The `RUN llvm-nm` line is missing a colon, so the test was not being exercised.
The file was modifiedllvm/test/LTO/Resolution/X86/no-undef-type-md.ll
Commit c548bc258c693df2087eda824308a8da55fd6003 by spatel
[InstCombine] add tests for icmp with masked mul operand; NFC

More coverage for D114272
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-and.ll
Commit 6d020a5ac2d5e31ab8d472e139e9caec405a5006 by amir.aupov
[BOLT] Add missing <memory> in InstrumentationRuntimeLibrary.h

<memory> is no longer included as a result of 5f290c090a24
("Move STLFunctionalExtras out of STLExtras").

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D118064
The file was modifiedbolt/include/bolt/RuntimeLibs/InstrumentationRuntimeLibrary.h
Commit 0407ab4114dbdbd1845df712639bdbc84ec6df2c by Louis Dionne
[libc++] Make sure basic_string::reserve(n) never shrinks in all Standard modes

Since basic_string::reserve(n) is instantiated in the shared library but also
available to the compiler for inlining, its definition should not depend on
things like the Standard mode in use. Indeed, that flag may not match between
how the shared library is compiled and how users are compiling their own code,
resulting in ODR violations.

However, note that we retain the behavior of basic_string::reserve() to
shrink the string for backwards compatibility reasons. While it would
technically be conforming to not shrink, we believe user expectation is
for it to shrink, and so existing code might have been written based on
that assumption. We prefer to not break such code, even though that makes
basic_string::reserve() and basic_string::reserve(0) not equivalent anymore.

Fixes llvm-project#53170

Differential Revision: https://reviews.llvm.org/D117332
The file was addedlibcxx/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp
The file was modifiedlibcxx/include/string
The file was removedlibcxx/test/libcxx/strings/basic.string/string.capacity/reserve.pass.cpp
The file was modifiedlibcxx/docs/ReleaseNotes.rst
Commit 1f6af9c9cefd226f2edbc36040f2ffb81c68a3eb by Louis Dionne
[libc++][CI] Re-enable all CI jobs

This essentially reverts commit 89f4a18f371d8 now that our CI is back
online at full capacity.

Differential Revision: https://reviews.llvm.org/D116891
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
Commit c3ca2c6b14f91f8232525373c4f5b1dc504a39a1 by medismail.bennani
[lldb/test] Fix `TestScriptedProcess.test_scripted_process_and_scripted_thread`

This patch updates `dummy_scripted_process.py` to report the dummy
thread correctly to reflect the changes introduced by `d3e0f7e`.

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
The file was modifiedlldb/test/API/functionalities/scripted_process/TestScriptedProcess.py