SuccessChanges

Summary

  1. [RISCV][Clang] Add RVV vleff intrinsic functions. (details)
  2. [Matrix] Implement C-style explicit type conversions for matrix types. (details)
  3. [NFC][CVP] Add `@llvm.abs` test cases (details)
  4. [CVP] @llvm.abs() handling (details)
  5. [libtooling][clang-tidy] Fix diagnostics not highlighting fed SourceRanges (details)
  6. zz (details)
  7. [NFC][ConstantRange] Add 'icmp' helper method (details)
  8. Revert "zz" (details)
  9. Revert "[NFC][ConstantRange] Add 'icmp' helper method" (details)
  10. [NFC][ConstantRange] Add 'icmp' helper method (details)
  11. [libtooling][clang-tidy] Fix off-by-one rendering issue with SourceRanges (details)
  12. [flang] Accept & fold IEEE_SELECTED_REAL_KIND (details)
  13. [NFC] Rename LimitingIntrinsic into MinMaxIntrinsic (details)
  14. [NFC][LVI] getPredicateAt(): drop default value for UseBlockValue (details)
  15. [CVP] LVI: Use in-block values when checking value signedness domain (details)
  16. [NFC][CVP] Add statistic for function pointer argument non-null-ness deduction (details)
  17. [NFC][JumpThreading] Increment 'NumFolds' statistic all places terminator becomes uncond (details)
  18. [CSSPGO] Fix dangling context strings and improve profile order consistency and error handling (details)
  19. [IVUsers] Check LoopSimplify cache earlier (NFC) (details)
  20. [NFC][CVP] Add tests for @llvm.[us]{min,max}() intrinsics (details)
  21. [CVP] @llvm.[us]{min,max}() intrinsics handling (details)
  22. [Polly] Partially refactoring of IslAstInfo and IslNodeBuilder to use isl++. NFC. (details)
  23. Remove "Rewrite Symbols" from codegen pipeline (details)
  24. Revert "Remove "Rewrite Symbols" from codegen pipeline" (details)
  25. Missing syntax highlighting for LLVM IR in Langref (details)
  26. Typo fix (details)
  27. Update personal info in CREDITS.TXT (details)
  28. [libc++] [CI] Validate the output of the generated scripts. (details)
  29. [NFC][LoopIdiom] Regenerate left-shift-until-bittest.ll (details)
  30. [NFC][LoopIdiom] left-shift-until-bittest: add small-bitwidth tests (details)
  31. [LoopIdiom] left-shift-until-bittest: set all allowed no-wrap flags on add/sub (details)
  32. [NFC][LoopVectorize] Autogenerate interleaved-accesses.ll (details)
  33. [NFC][InstCombine] Add a few test of adding to add-like or (details)
  34. [InstCombine] (X | Op01C) + Op1C --> X + (Op01C + Op1C) iff the or is actually an add (details)
  35. [NFC][InstCombine] Add tests for "get low bit mask upto and including bit X" pattern (details)
  36. [InstCombine] Improve "get low bit mask upto and including bit X" pattern (details)
  37. [RISCV] Add i8 and i16 srli and srai tests to Zbb/Zbp test files. NFC (details)
  38. [RISCV] Teach targetShrinkDemandedConstant to preserve (and X, 0xffff) when zext.h is supported. (details)
  39. [RISCV] Drop earlyclobber constraint from vwadd(u).wx, vwsub(u).wx, vfwadd.wf and vfwsub.wf. (details)
  40. [X86] Fold cmpeq/ne(and(X,Y),Y) --> cmpeq/ne(and(~X,Y),0) (details)
  41. [X86] combineXor - Pull out repeated getOperand() calls. NFCI. (details)
  42. [WebAssembly] Update v128.any_true (details)
  43. [X86][AVX512] Fold not(kmov(x)) -> kmov(not(x)) and not(widen_subvector(x)) -> widen_subvector(not(x)) (details)
  44. [VectorCombine] Add tests for load/extract scalarization. (details)
  45. [LoopUnroll] Add AArch64 test case with large vector ops. (details)
  46. [NFCI][DomTreeUpdater] applyUpdates(): reserve space for updates first (details)
  47. [NFCI][Local] TryToSimplifyUncondBranchFromEmptyBlock(): improve Dominator Tree updating (details)
  48. [NFCI][BasicBlockUtils] MergeBlockIntoPredecessor(): improve Dominator Tree updating (details)
  49. [NFCI][Local] MergeBasicBlockIntoOnlyPred(): improve Dominator Tree updating (details)
  50. [NFCI][SimplifyCFG] mergeEmptyReturnBlocks(): improve Dominator Tree updating (details)
  51. [NFCI][SimplifyCFG] PerformValueComparisonIntoPredecessorFolding(): improve Dominator Tree updating (details)
  52. [RISCV] Use SLLI/SRLI instead of SLLIW/SRLIW for (srl (and X, 0xffff), C) custom isel on RV64. (details)
  53. [RISCV] Update computeKnownBitsForTargetNode to treat READ_VLENB as being 16 byte aligned. (details)
  54. [RISCV][NFC] Remove unneeded explict XLenVT type on codegen patterns (details)
  55. [RISCV][Clang] Add RVV Widening Integer Add/Subtract intrinsic functions. (details)
  56. [RISCV][Clang] Add some RVV Floating-Point intrinsic functions. (details)
  57. [RISCV][Clang] Add more RVV Floating-Point intrinsic functions. (details)
  58. [RISCV][Clang] Add some RVV Floating-Point intrinsic functions. (details)
  59. [RISCV][Clang] Add RVV Type-Convert intrinsic functions. (details)
  60. [RISCV][Clang] Add RVV merge intrinsic functions. (details)
  61. [RISCV][Clang] Add all RVV Reduction intrinsic functions. (details)
  62. [RISCV][Clang] Add more RVV load/store intrinsic functions. (details)
  63. [RISCV][Clang] Add all RVV Mask intrinsic functions. (details)
  64. [RISCV][Clang] Add some RVV Permutation intrinsic functions. (details)
  65. [PowerPC] Lower f128 SETCC/SELECT_CC as libcall if p9vector disabled (details)
  66. [Clang][Coroutine][DebugInfo] In c++ coroutine, clang will emit different debug info variables for parameters and move-parameters. (details)
  67. [Debug-Info] make fortran CHARACTER(1) type as valid unsigned type (details)
  68. [lld-macho][nfc] Convert tabs to spaces (details)
  69. [X86] Remove FeatureCLWB from FeaturesICLClient (details)
  70. [NARY] Don't optimize min/max if there are side uses (details)
  71. [X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation (details)
  72. fix typo in a CMake SANITIZER_CAN_USE_CXXABI variable initial definition (details)
  73. [NFC] [Clang]: fix spelling mistake in assert message (details)
  74. [libtooling][clang-tidy] Fix compiler warnings in testcase [NFC] (details)
  75. [NFC][Debug] Fix unnecessary deep-copy for vector to save compiling time (details)
  76. [clang][AST] Handle overload callee type in CallExpr::getCallReturnType. (details)
  77. [DebugInfo] Fix the mismatching between C++ language tags and Dwarf versions. (details)
  78. [AArch64] Adds memory operands for indexed loads. (details)
  79. [OpenCL] Accept .rgba in OpenCL 3.0 (details)
  80. [AMDGPU] Save VGPR of whole wave when spilling (details)
  81. [AMDGPU] Unify spill code (details)
  82. [AMDGPU] Autogenerate test. NFC (details)
  83. [AMDGPU] Fix saving fp and bp (details)
  84. [LLDB] Fix buildbots breakage due to TestGuessLanguage.py (details)
  85. [AMDGPU] Fix ubsan error (details)
  86. [AArch64] ACLE: Fix issue for mismatching enum types with builtins. (details)
  87. [IR] Fix Wdocumentation warning. NFCI. (details)
  88. [AMDGPU][MC][NFC] Removed extra spaces (details)
  89. [mlir][linalg] fixing hard-coded variable names in a test (NFC) (details)
  90. Revert "[DebugInfo] Fix the mismatching between C++ language tags and Dwarf versions." (details)
  91. Reland [DebugInfo] Fix the mismatching between C++ language tags and Dwarf versions."" (details)
  92. Reapply "[DebugInfo] Correctly track SDNode dependencies for list debug values" (details)
  93. [AArch64][SVE] Remove redundant PTEST of MATCH/NMATCH results (details)
  94. [AMDGPU] Kill temporary register after restoring (details)
  95. Fix chrome os failure after 021de7cf80268091cf13485a538b611b37d0b33e. (details)
  96. [lldb] Don't recursively load types of static member variables in the DWARF AST parser (details)
  97. [lldb] Delete dead StackFrameList::Merge (details)
  98. [AArch64] Add Machine InstCombiner patterns for FMUL indexed variant (details)
  99. Revert "[AArch64] Add Machine InstCombiner patterns for FMUL indexed variant" (details)
  100. [mlir][linalg] adding operation to access the iteration index of enclosing linalg ops. (details)
  101. [TableGen] Fix bug in recent change to ListInit::convertInitListSlice() (details)
  102. [ARM] Updates to arm-block-placement pass (details)
  103. [NFC] Remove redundant string copy (details)
  104. [ARM] Add FP handling for MVE lane interleaving (details)
  105. [X86][AMX] Hoist ldtilecfg (details)
  106. [clangd] Provide a way to disable external index (details)
  107. [compiler-rt][aarch64] Add PAC-RET/BTI support to HWASAN. (details)
  108. [X86] Fold cmpeq/ne(trunc(logic(x)),0) --> cmpeq/ne(logic(x),0) (details)
  109. [InstCombine] Regenerate select-ctlz-to-cttz.ll tests (details)
  110. [docs] Add Windows/COFF call info (details)
  111. [libc++] Split auto_ptr out of <memory> (details)
  112. [libc++] Split std::allocator out of <memory> (details)
  113. [libc++] Split std::get_temporary_buffer out of <memory> (details)
  114. [libc++] NFC: Remove duplicate synopsis from <__string> (details)
  115. [gn build] Port 0b439e4cc9db (details)
  116. [gn build] Port 26beecfe470b (details)
  117. [gn build] Port 6a1ac88fc19a (details)
  118. [libc++] Divorce the std Lit feature from the -std=XXX compiler flag (details)
  119. Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" (details)
  120. [ARM] Add a number of intrinsics for MVE lane interleaving (details)
  121. [PassManager][PhaseOrdering] lower expects before running simplifyCFG (details)
  122. [libc++] [test] Detect an improperly noexcept'ed __decay_copy. (details)
  123. [libc++] Implement D2351R0 "Mark all library static cast wrappers as [[nodiscard]]" (details)
  124. [InstCombine] when calling conventions are compatible, don't convert the call to undef idiom (details)
  125. Allow applying attributes to subset of allowed subjects. (details)
  126. [flang] Fix narrowing warning on macos (details)
  127. [clang-tidy] Add option to ignore macros in readability-function-cognitive-complexity check. (details)
  128. Fix nits. (details)
  129. [asan] Replaceable new/delete is unsupported in Windows. (details)
  130. [mlir][Linalg] Disable const -> linalg.generic when fused op is illegal. (details)
  131. [mlir] Rename AVX512 dialect to X86Vector (details)
  132. [mlir] introduce "encoding" attribute to tensor type (details)
  133. [MLIR] PresburgerSet emptiness check: remove assertions that there are no symbols (details)
  134. [RISCV] Support vector SET[U]LT and SET[U]GE with splatted immediates (details)
  135. Replace uses of std::iterator with explicit using (details)
  136. [Inliner] Propagate SROA analysis through invariant group intrinsics (details)
  137. Revert "[PassManager][PhaseOrdering] lower expects before running simplifyCFG" (details)
  138. [libc++] Move checks for newlib to actually work (details)
  139. Fix documentation typo. (details)
  140. [mlir][affine] Fix unfolded bounding maps for affine.for (details)
  141. [compiler-rt] add SANITIZER_OSX (details)
  142. [AIX] Tweak test XFAIL from D99815 (details)
  143. [NewPM] Fix -print-changed when a -filter-print-funcs function is removed (details)
  144. Enable creation of large response file on z/OS (details)
  145. [PassManager][PhaseOrdering] lower expects before running simplifyCFG (details)
  146. [ARM] support symbolic expression as immediate in memory instructions (details)
  147. [mlir][spirv] Put debug-only variable in LLVM_DEBUG (details)
  148. [libc++] add `inline` for __open's definition in ifstream and ofstream (details)
  149. [flang] Correct TypeCode::IsLogical() (details)
  150. [lldb] Disable Shell/Subporcess with reproducers (details)
  151. [clang-rename] Handle designated initializers. (details)
  152. [InstCombine] add tests for shift+trunc signbit check; NFC (details)
  153. [InstCombine] fold shift+trunc signbit check (details)
  154. [TSan] Allow test contents to be copied before execution (details)
  155. [mlir] Move memref.subview patterns to MemRef/Transforms/ (details)
  156. Revert "[InstCombine] when calling conventions are compatible, don't convert the call to undef idiom" (details)
  157. [mlir][spirv] Allow bitwidth emulation on runtime arrays (details)
  158. Fix up build failures after cfce5b26a888cb979d65252275df1f977dc1e6c8 (details)
  159. [mlir][spirv] Fix runtime array stride when emulating bitwidth (details)
  160. [ARM] Fix -Wmissing-field-initializers (details)
  161. [SimplifyCFG] Add test requiring only hoisting a branch. (details)
  162. [PhaseOrdering] Add test for SimplifyCFG and LV interaction. (details)
  163. Revert "[clangd] Provide a way to disable external index" (details)
  164. Reland "Revert "[InstCombine] when calling conventions are compatible, don't convert the call to undef idiom"" (details)
  165. [lldb] [gdb-remote client] Refactor handling qSupported (details)
  166. [clang-tidy] Add <utility> include to misc-uniqueptr-reset-release (details)
  167. [SantizerCoverage] handle missing DBG MD when inserting libcalls (details)
  168. [Evaluator] Look through invariant.group intrinsics (details)
  169. [compiler-rt][aarch64] Add PAC-RET/BTI property to hwasan_interceptors_vfork.S (details)
  170. [JumpThreading] merge debug info when merging select+br (details)
  171. Revert "[lldb] [gdb-remote client] Refactor handling qSupported" (details)
  172. [mlir] Use MCJIT to fix integration tests (details)
  173. [Passes] Add relative lookup table converter pass (details)
  174. [lldb] Disable TestLaunchProcessPosixSpawn.py with reproducers (details)
  175. [gn build] Port e96df3e531f5 (details)
  176. [MLIR] Add a switch operation to the standard dialect (details)
  177. [X86] Support -march=rocketlake (details)
  178. [mlir] Async: add automatic reference counting at async.runtime operations level (details)
  179. [NARY][NFC] Use hasNUsesOrMore instead of getNumUses since it's more (details)
  180. [PowerPC] stop reverse mem op generation for some cases. (details)
  181. [GreedyRA ORE] Add debug location for function level report (details)
  182. Revert "Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands"" (details)
  183. [lldb] Fix replaying TestMemoryRead.py from reproducer (details)
  184. [libcxx] adds `std::incrementable_traits` to <iterator> (details)
  185. [libcxx][NFC] tweaks `incrementable_traits` per review (details)
  186. [compiler-rt][X86] fix build fail after "[X86] Support -march=rocketlake" (details)
  187. [RISCV] Rename RISCVISD::SHFLI to RISCVISD::SHFL and don't require the second operand to be an immediate. (details)
  188. [WebAssembly] Test i64x2.abs encoding (details)
  189. [MLIR][LinAlg] Implement detensoring cost-modelling. (details)
  190. [lldb] Replace NativeProcess delegate list with a single delegate (details)
  191. [NFC][SYCL] Drop idle triple component from regression tests. (details)
  192. [M68k] Implement AsmParser (details)
  193. [libc++] Fix test synopses and remove unused includes. (details)
  194. [lldb] Require x86 backend for a bunch of DWARF tests (details)
  195. [lldb][Arm/AArch64] Add basic disassemble tests for Arm/AArch64 (details)
  196. [lldb] Require x86 for unwind no-return test (details)
  197. Revert "[lldb] [Process] Watch for fork/vfork notifications" and associated followups (details)
  198. [mlir][linalg] lower index operations during linalg to loop lowering. (details)
  199. [lldb] [gdb-remote client] Refactor handling qSupported (details)
  200. Revert "Revert "[clangd] Provide a way to disable external index"" (details)
  201. [OpenCL][NFC] Rename isOpenCLVersionContainedInMask (details)
  202. [SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false. (details)
  203. [CodeView] Fix the ARM64 CPUType enum (details)
  204. [AArch64][SVE] Fix dup/dupq intrinsics for C++. (details)
  205. [flang] Fix a test (use %s instead of $s) (details)
  206. [lldb] [gdb-remote server] Refactor handling qSupported (details)
Commit 471ae42c04e425776c81bab66ce2c094d48c6a11 by kai.wang
[RISCV][Clang] Add RVV vleff intrinsic functions.

Reviewed By: craig.topper, liaolucy, jrtc27, khchen

Differential Revision: https://reviews.llvm.org/D99151
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vleff.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
Commit 71ab6c98a0d1b5590ed12f955dea6dfc714e9490 by flo
[Matrix] Implement C-style explicit type conversions for matrix types.

This implements C-style type conversions for matrix types, as specified
in clang/docs/MatrixTypes.rst.

Fixes PR47141.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D99037
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
The file was addedclang/test/Sema/matrix-cast.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGExprAgg.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was addedclang/test/SemaCXX/matrix-casts.cpp
The file was addedclang/test/CodeGen/matrix-cast.c
The file was modifiedclang/include/clang/AST/OperationKinds.def
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Edit/RewriteObjCFoundationAPI.cpp
The file was modifiedclang/lib/CodeGen/CGExprComplex.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
Commit b6aaa8836ee0f8a6ec13319bf26523ec73cdbed4 by lebedev.ri
[NFC][CVP] Add `@llvm.abs` test cases
The file was addedllvm/test/Transforms/CorrelatedValuePropagation/abs.ll
Commit c329a47d9ed77512493f787520317e3f51be3387 by lebedev.ri
[CVP] @llvm.abs() handling

Iff we know the sigdness domain of the argument,
we can either skip @llvm.abs, or do negation directly.

Notably, INT_MIN can belong to either domain:
* X u<= INT_MIN --> X  is always fine
  https://alive2.llvm.org/ce/z/QB8j-C https://alive2.llvm.org/ce/z/7sFKpS
* X s<= 0 --> -X  is always fine
  https://alive2.llvm.org/ce/z/QbGSyq https://alive2.llvm.org/ce/z/APsN84

If all else fails, try to inferr NSW flag:
https://alive2.llvm.org/ce/z/qCJfYm
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/minmaxabs.ll
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/abs.ll
Commit 3b677b81cec7b3c5132aee8fccc30252d87deb69 by whisperity
[libtooling][clang-tidy] Fix diagnostics not highlighting fed SourceRanges

Fixes bug http://bugs.llvm.org/show_bug.cgi?id=49000.

This patch allows Clang-Tidy checks to do

    diag(X->getLocation(), "text") << Y->getSourceRange();

and get the highlight of `Y` as expected:

    warning: text [blah-blah]
        xxx(something)
        ^   ~~~~~~~~~

Reviewed-By: aaron.ballman, njames93

Differential Revision: http://reviews.llvm.org/D98635
The file was modifiedclang/include/clang/Tooling/DiagnosticsYaml.h
The file was modifiedclang/unittests/Tooling/DiagnosticsYamlTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
The file was modifiedclang-tools-extra/unittests/clang-apply-replacements/ApplyReplacementsTest.cpp
The file was modifiedclang/lib/Tooling/Core/Diagnostic.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/export-diagnostics.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/unittests/clang-tidy/TransformerClangTidyCheckTest.cpp
The file was modifiedclang/include/clang/Tooling/Core/Diagnostic.h
Commit 0c184154969c020db416bd7066af80ffd2a27ac4 by lebedev.ri
zz
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
Commit 17cf2c94230bc107e7294ef84fad3b47f4cd1b73 by lebedev.ri
[NFC][ConstantRange] Add 'icmp' helper method

"Does the predicate hold between two ranges?"

Not very surprisingly, some places were already doing this check,
without explicitly naming the algorithm, cleanup them all.
The file was modifiedllvm/include/llvm/Analysis/ValueLattice.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 8371dde4857a4356df3c20c8624aa8989de1bb24 by lebedev.ri
Revert "zz"

It wasn't meant to be committed, two commits should have been squashed.

This reverts commit 0c184154969c020db416bd7066af80ffd2a27ac4.
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
Commit 7b12c8c59da6f028db1aad948d116d09309a91f5 by lebedev.ri
Revert "[NFC][ConstantRange] Add 'icmp' helper method"

This reverts commit 17cf2c94230bc107e7294ef84fad3b47f4cd1b73.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/include/llvm/Analysis/ValueLattice.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit e8c7f43e2c2c6f3581ec1c6489ec21ad9f98958a by lebedev.ri
[NFC][ConstantRange] Add 'icmp' helper method

"Does the predicate hold between two ranges?"

Not very surprisingly, some places were already doing this check,
without explicitly naming the algorithm, cleanup them all.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/include/llvm/Analysis/ValueLattice.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 8fa39752477b225294cde0967a3b4c9c492e699c by whisperity
[libtooling][clang-tidy] Fix off-by-one rendering issue with SourceRanges

There was an off-by-one issue with calculating the *exact* end location
of token ranges (as given by SomeDecl->getSourceRange()) which resulted in:

  xxx(something)
      ^~~~~~~~   // Note the missing ~ under the last character.

In addition, a test is added to keep the behaviour in check in the future.

This patch hotfixes commit 3b677b81cec7b3c5132aee8fccc30252d87deb69.
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/export-diagnostics.cpp
Commit 8f16101c703e7d9995dc238ba0f03be52bdf4528 by pklausler
[flang] Accept & fold IEEE_SELECTED_REAL_KIND

F18 supports the standard intrinsic function SELECTED_REAL_KIND
but not its synonym in the standard module IEEE_ARITHMETIC
named IEEE_SELECTED_REAL_KIND until this patch.

Differential Revision: https://reviews.llvm.org/D100066
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
The file was modifiedflang/module/__fortran_builtins.f90
The file was modifiedflang/lib/Semantics/mod-file.cpp
The file was modifiedflang/module/ieee_arithmetic.f90
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was addedflang/test/Semantics/modfile40.f90
Commit 03225969e39ce3ab88673cd047a2a546d655dd95 by lebedev.ri
[NFC] Rename LimitingIntrinsic into MinMaxIntrinsic

As requested in post-commit review
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
Commit 257eda07940d8e6d46dbb5944589a0186e07c6e9 by lebedev.ri
[NFC][LVI] getPredicateAt(): drop default value for UseBlockValue

The default is likely wrong.
Out of all the callees, only a single one needs to pass-in false (JumpThread),
everything else either already passes true, or should pass true.

Until the default is flipped, at least make it harder to unintentionally
add new callees with UseBlockValue=false.
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/include/llvm/Analysis/LazyValueInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit fe7b3ad8d5f7bf5f38ccdc5bd11ba0ff5656aeb5 by lebedev.ri
[CVP] LVI: Use in-block values when checking value signedness domain

This has a huge positive impact on all the folds that use these helpers,
as it can be seen on vanilla test-suite + rawspeed + darktable:
correlated-value-propagation.NumSRems             +75.68% (+ 28)
correlated-value-propagation.NumAShrs             +63.87% (+198)
correlated-value-propagation.NumSDivs             +49.42% (+127)
correlated-value-propagation.NumSExt              + 8.85% (+593)
correlated-value-propagation.NumUDivURemsNarrowed + 8.65% (+34)

... while having pretty minimal compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=e8c7f43e2c2c6f3581ec1c6489ec21ad9f98958a&to=4cd197711e58ee1b2faeee0c35eea54540185569&stat=instructions
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit a407738def187baedf9413d94fc4560efc9d6b43 by lebedev.ri
[NFC][CVP] Add statistic for function pointer argument non-null-ness deduction
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit f041757e9c2f7e343f5c4458797ee97687096020 by lebedev.ri
[NFC][JumpThreading] Increment 'NumFolds' statistic all places terminator becomes uncond
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 00ef28ef21f0a46059203c5aa96e9febe1192e43 by aktoon
[CSSPGO] Fix dangling context strings and improve profile order consistency and error handling

This patch fixed the following issues along side with some refactoring:

1. Fix bugs where StringRef for context string out live the underlying std::string. We now keep string table in profile generator to hold std::strings. We also do the same for bracketed context strings in profile writer.
2. Make sure profile output strictly follow (total sample, name) order. Previously, there's inconsistency between ProfileMap's key and FunctionSamples's name, leading to inconsistent ordering. This is now fixed by introducing context profile canonicalization. Assertions are also added to make sure ProfileMap's key and FunctionSamples's name are always consistent.
3. Enhanced error handling for profile writing to make sure we bubble up errors properly for both llvm-profgen and llvm-profdata when string table is not populated correctly for extended binary profile.
4. Keep all internal context representation bracket free. This avoids creating new strings for context trimming, merging and preinline. getNameWithContext API is now simplied accordingly.
5. Factor out the code for context trimming and merging into SampleContextTrimmer in SampleProf.cpp. This enables llvm-profdata to use the trimmer when merging profiles. Changes in llvm-profgen will be in separate patch.

Differential Revision: https://reviews.llvm.org/D100090
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.h
The file was modifiedllvm/lib/ProfileData/SampleProf.cpp
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/lib/ProfileData/SampleProfWriter.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was modifiedllvm/tools/llvm-profgen/CSPreInliner.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfileGenerator.cpp
The file was modifiedllvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test
The file was modifiedllvm/test/tools/llvm-profgen/recursion-compression-noprobe.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
Commit 8de2f1ff79aa2a8a72b8c44ea70b48aa9f282ae5 by nikita.ppv
[IVUsers] Check LoopSimplify cache earlier (NFC)

Check the cache before calling isLoopSimplifyForm(). Otherwise we'd
always perform the check for the innermost loop and only skip it
for dominating loops.
The file was modifiedllvm/lib/Analysis/IVUsers.cpp
Commit d610f051045163f781ebc6da2e97414deafecd1e by lebedev.ri
[NFC][CVP] Add tests for @llvm.[us]{min,max}() intrinsics
The file was addedllvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
Commit 9829f5e6b1bca9b61efc629770d28bb9014dec45 by lebedev.ri
[CVP] @llvm.[us]{min,max}() intrinsics handling

If we can tell that either one of the arguments is taken,
bypass the intrinsic.

Notably, we are indeed fine with non-strict predicate:
* UL: https://alive2.llvm.org/ce/z/69qVW9 https://alive2.llvm.org/ce/z/kNFTKf
      https://alive2.llvm.org/ce/z/AvaPw2 https://alive2.llvm.org/ce/z/oxo53i
* UG: https://alive2.llvm.org/ce/z/wxHeGH https://alive2.llvm.org/ce/z/Lf76qx
* SL: https://alive2.llvm.org/ce/z/hkeTGS https://alive2.llvm.org/ce/z/eR_b-W
* SG: https://alive2.llvm.org/ce/z/wEqRm7 https://alive2.llvm.org/ce/z/FpAsVr

Much like with all other comparison handling in CVP,
while we could sort-of handle two Value's,
at least for plain ICmpInst it does not appear to be worthwhile.

This only fires 78 times on test-suite + dt + rs,
but we don't canonicalize to these yet. (only SCEV produces them)
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/include/llvm/Analysis/LazyValueInfo.h
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
Commit 82fbc5d45b0c2fc9050d1d5e335e35afb4ab2611 by llvm-project
[Polly] Partially refactoring of IslAstInfo and IslNodeBuilder to use isl++. NFC.

Polly use algorithms from the Integer Set Library (isl), which is a library written in C and which is incompatible with the rest of the LLVM as it is written in C++.

Changes made:
- Refactoring the following methods of class IslAstInfo
   - isParallel() isExecutedInParallel() isReductionParallel() getSchedule() getMinimalDependenceDistance() getBrokenReductions()
- Refactoring the following methods of class IslNodeBuilder
   - getReferencesInSubtree() getScheduleForAstNode()
- Refactoring function getBrokenReductionsStr()
- Fixed the mismatching function declaration for getScheduleForAstNode()

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D99971
The file was modifiedpolly/lib/CodeGen/IslAst.cpp
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp
The file was modifiedpolly/include/polly/CodeGen/IslAst.h
The file was modifiedpolly/include/polly/CodeGen/IslNodeBuilder.h
Commit 6210261ecb21c84c9a440a76c0ccbc8ad211bed3 by aeubanks
Remove "Rewrite Symbols" from codegen pipeline

It breaks up the function pass manager in the codegen pipeline.

With empty parameters, it looks at the -mllvm flag -rewrite-map-file.
This is likely not in use.

Add a check that we only have one function pass manager in the codegen
pipeline.

This required reverting commit 9583a3f2625818b78c0cf6d473cdedb9f23ad82c:
"[AsmPrinter] Delete dead takeDeletedSymbsForFunction()".
This was not NFC as initially thought. By coalescing two function
psas managers, this exposed the reverted code as necessary.
addr-label.ll was crashing due to an emitted blockaddress's block being
removed but the label not emitted.

Some tests relied on the fact that we had a module pass somewhere in the
codegen pipeline.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D99707
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/Generic/addr-label.ll
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/select_meta.ll
The file was modifiedllvm/test/Other/2010-05-06-Printer.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
Commit c88b87f9ce6490145e28a9c82640547f3e99bf57 by aeubanks
Revert "Remove "Rewrite Symbols" from codegen pipeline"

This reverts commit 6210261ecb21c84c9a440a76c0ccbc8ad211bed3.

addr-label.ll crashes on armv7.
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/test/Other/2010-05-06-Printer.ll
The file was modifiedllvm/test/CodeGen/Generic/addr-label.ll
The file was modifiedllvm/test/CodeGen/X86/select_meta.ll
Commit e8b0542078515b315d98b2ae3193bc7dae4a2430 by shivam98.tkg
Missing syntax highlighting for LLVM IR in Langref

Added syntax highlighting

Differential Revision: https://reviews.llvm.org/D100125
The file was modifiedllvm/docs/LangRef.rst
Commit 002c6c1187d642fd920758973154e4a856acefb0 by shivam98.tkg
Typo fix

Reviewed By: dsanders

Differential Revision: https://reviews.llvm.org/D100254
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
Commit 37388b8ad13fcac08823937c54236bc8f081338a by zhangqingshan.zll
Update personal info in CREDITS.TXT
The file was modifiedllvm/CREDITS.TXT
Commit ae103003b219d0084a785c75920f24f56193e9f4 by koraq
[libc++] [CI] Validate the output of the generated scripts.

This adds a CI job validating that the output of
utils/generate_feature_test_macro_components.py,
libcxx/utils/generate_header_inclusion_tests.py, and
utils/generate_header_tests.py are up to date.

The validation method has been copied from the Format job.

Differential Revision: https://reviews.llvm.org/D99862
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/run-buildbot
Commit ee6a17eb9fc46c417d3d9ec11a218681e03bf18e by lebedev.ri
[NFC][LoopIdiom] Regenerate left-shift-until-bittest.ll
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
Commit 0ac1920d035f4a0e6df772de998eefe874a44f1d by lebedev.ri
[NFC][LoopIdiom] left-shift-until-bittest: add small-bitwidth tests
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
Commit 005881e96e5fedab66f71cfa09558909d21e4a00 by lebedev.ri
[LoopIdiom] left-shift-until-bittest: set all allowed no-wrap flags on add/sub

I've checked each one of these with alive2,
and this is both correct and precise.
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
Commit d1ebdbff123acea85f05fe088e260f4762db3b47 by lebedev.ri
[NFC][LoopVectorize] Autogenerate interleaved-accesses.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
Commit 811167b1f6a611363ce43c8e27e71b1494af6fc5 by lebedev.ri
[NFC][InstCombine] Add a few test of adding to add-like or
The file was modifiedllvm/test/Transforms/InstCombine/add.ll
Commit a36bb7fd761942577b0d20d7f9b2bac57ffcd986 by lebedev.ri
[InstCombine] (X | Op01C) + Op1C --> X + (Op01C + Op1C) iff the or is actually an add

https://alive2.llvm.org/ce/z/Coc5yf
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/add.ll
Commit 07c13b3b5f67b9518323864723a8797cc6d60a43 by lebedev.ri
[NFC][InstCombine] Add tests for "get low bit mask upto and including bit X" pattern
The file was addedllvm/test/Transforms/InstCombine/get-lowbitmask-upto-and-including-bit.ll
Commit 91248e2db93a896a374098703567b0b1c8b1ad86 by lebedev.ri
[InstCombine] Improve "get low bit mask upto and including bit X" pattern

https://alive2.llvm.org/ce/z/3u-48R
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/get-lowbitmask-upto-and-including-bit.ll
Commit 48d69edadef1e4155106b183cd7219a1086454fe by craig.topper
[RISCV] Add i8 and i16 srli and srai tests to Zbb/Zbp test files. NFC

These require the input to be zero or sign extended. If we have
sext.b, sext.h or zext.h instructions we can use them. Otherwise
we need to use a pair of shifts to accomplish the zero/sign extend
and the final shift.

We don't currently use zext.h when it is available.
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbb-zbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbb-zbp.ll
Commit bc0e0527305d41bc55b27c60581749cb3ebdd5af by craig.topper
[RISCV] Teach targetShrinkDemandedConstant to preserve (and X, 0xffff) when zext.h is supported.

Similar to what we do for zext.w.

Disable the (srl (and X, 0xffff), C) custom isel when zext.h is
available.
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbb-zbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbb-zbp.ll
Commit 3ae71226ef4963c01792e7679a21fd0fb61b40d6 by craig.topper
[RISCV] Drop earlyclobber constraint from vwadd(u).wx, vwsub(u).wx, vfwadd.wf and vfwsub.wf.

The first source has the same EEW as the destination and the other
source is a scalar so the overlap constraints don't apply to
the unmasked version.

For the masked version we have a constraint that the destination
can't be V0 so that covers the only overlap issue there.

Reviewed By: khchen

Differential Revision: https://reviews.llvm.org/D100217
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv64.ll
Commit 38c799bce8016f7487067a031b62cf98069aaa4d by llvm-dev
[X86] Fold cmpeq/ne(and(X,Y),Y) --> cmpeq/ne(and(~X,Y),0)

Followup to D100177, handle an similar (demorgan inverse style) case from PR47797 as well

The AVX512 test cases could be further improved if we folded not(iX bitcast(vXi1)) -> (iX bitcast(not(vXi1)))

Alive2: https://alive2.llvm.org/ce/z/AnA_-W
The file was modifiedllvm/test/CodeGen/X86/movmsk-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/pr27202.ll
Commit 13bdac57093a01f7babe5d4919933d1e3ebd930b by llvm-dev
[X86] combineXor - Pull out repeated getOperand() calls. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit ea8dd3ee2eb457a8c3975e1f64caa7a58169e02e by tlively
[WebAssembly] Update v128.any_true

In the final SIMD spec, there is only a single v128.any_true instruction, rather
than one for each lane interpretation because the semantics do not depend on the
lane interpretation.

Differential Revision: https://reviews.llvm.org/D100241
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedllvm/test/MC/Disassembler/WebAssembly/wasm.txt
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-reductions.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Commit 231b87618bb61b24674d060721f7004057da9336 by llvm-dev
[X86][AVX512] Fold not(kmov(x)) -> kmov(not(x)) and not(widen_subvector(x)) -> widen_subvector(not(x))

Improve AVX512 mask inversion, rG38c799bce801 exposed some missing opportunities to move scalar not() back onto the boolvector types for folding with setcc etc.
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/movmsk-cmp.ll
Commit 3219d981d45e5df9c85039dee88cfc51cd17069b by flo
[VectorCombine] Add tests for load/extract scalarization.

Add tests where scalarizing a vector load + extract is profitable.
The file was addedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
Commit 816cf4146280fbe45683555558fa393b6ff41beb by flo
[LoopUnroll] Add AArch64 test case with large vector ops.

Add test case to illustrate over-eager unrolling on AArch64, due to the
cost-model not estimating the size of vector loads/stores accurately.
The file was addedllvm/test/Transforms/LoopUnroll/AArch64/large-vector-ops.ll
Commit 6d44b3c56d4a80b16f144a52bc841111c0b4d2c2 by lebedev.ri
[NFCI][DomTreeUpdater] applyUpdates(): reserve space for updates first

While, indeed, we may end up pushing less updates that we'd reserve space
for, self-dominating updates aren't often enough for that to matter.
But this should matter for normal updates.
The file was modifiedllvm/lib/Analysis/DomTreeUpdater.cpp
Commit 2def9c3d8ed9df5a5dc737343c891ac17de1afc1 by lebedev.ri
[NFCI][Local] TryToSimplifyUncondBranchFromEmptyBlock(): improve Dominator Tree updating

First, we don't need vector-ness for the predecessor lists.

Secondly, like elsewhere, do insertions before deletions.

Lastly, the check that we actually need to insert an edge,
that it doesn't exist already, is backwards. Instead of
looking at successors of every single 'PredOfBB',
just always look at predecessors of the 'Succ'.
The result is always the same, but we avoid *really* inefficient code.
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit e5692a564a73ef63b7baaf80c2b7a62ad74e9e66 by lebedev.ri
[NFCI][BasicBlockUtils] MergeBlockIntoPredecessor(): improve Dominator Tree updating

Same as with TryToSimplifyUncondBranchFromEmptyBlock() patch.
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Commit 0699da1569870a4f7cf26534b87ca3c3b14caf3b by lebedev.ri
[NFCI][Local] MergeBasicBlockIntoOnlyPred(): improve Dominator Tree updating

Same as with TryToSimplifyUncondBranchFromEmptyBlock()/MergeBlockIntoPredecessor() patch.
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit 13fca9d8161e3a203dce6d7647763a07d39bed3f by lebedev.ri
[NFCI][SimplifyCFG] mergeEmptyReturnBlocks(): improve Dominator Tree updating

Same as with previous patches.
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Commit 8fc8c745cffb1a7ae3a8ed5d0a4962b193d7cd78 by lebedev.ri
[NFCI][SimplifyCFG] PerformValueComparisonIntoPredecessorFolding(): improve Dominator Tree updating

Same as with previous patches.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit ff902080a9fbf16fdeb076d3aadc8df6eea1cc04 by craig.topper
[RISCV] Use SLLI/SRLI instead of SLLIW/SRLIW for (srl (and X, 0xffff), C) custom isel on RV64.

We don't need the sign extending behavior here and SLLI/SRLI
are able to compress to C.SLLI/C.SRLI.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/div.ll
The file was modifiedllvm/test/CodeGen/RISCV/alu16.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbb-zbp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
The file was modifiedllvm/test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll
Commit cb4c793e46bb01914e07d1c66238133e6d672321 by craig.topper
[RISCV] Update computeKnownBitsForTargetNode to treat READ_VLENB as being 16 byte aligned.

According to the 0.10 spec, VLEN is at least 128 bits and is a
power of 2.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit a3bfddbb6a27a1e2d34410068b9c553221fda8c3 by jim
[RISCV][NFC] Remove unneeded explict XLenVT type on codegen patterns

Customized SDNode has been specified the explict XLenVT type.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100190
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Commit ccc624bfd417c92b30581becf6974b42aba82a10 by zakk.chen
[RISCV][Clang] Add RVV Widening Integer Add/Subtract intrinsic functions.

Reviewed By: craig.topper

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99526
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwsub.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vwadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vwsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwadd.c
Commit 007ea0e736432ef1f6be7d88378012822d96767b by zakk.chen
[RISCV][Clang] Add some RVV Floating-Point intrinsic functions.

Support the following instructions which have the same class.
1. Vector Single-Width Floating-Point Subtract Instructions
2. Vector Single-Width Floating-Point Multiply/Divide Instructions
3. Vector Floating-Point MIN/MAX Instructions
4. Vector Floating-Point Sign-Injection Instructions

Reviewed By: craig.topper

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99668
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsgnj.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrdiv.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfdiv.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfdiv.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsgnj.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrdiv.c
Commit 98a3ff9d05250807867be3dd82fdb10ee5c4030a by zakk.chen
[RISCV][Clang] Add more RVV Floating-Point intrinsic functions.

Support below instructions.
1. Vector Widening Floating-Point Add/Subtract Instructions
2. Vector Widening Floating-Point Multiply
3. Vector Single-Width Floating-Point Fused Multiply-Add Instructions
4. Vector Widening Floating-Point Fused Multiply-Add Instructions
5. Vector Floating-Point Compare Instructions

Reviewed By: craig.topper, HsiangKai

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99669
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfeq.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmacc.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfgt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmacc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmadd.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfne.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfge.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmflt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsub.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmsac.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfle.c
Commit 5f7739b60e983dadc3c669b0ddf930d4d8242c4c by zakk.chen
[RISCV][Clang] Add some RVV Floating-Point intrinsic functions.

Support vfclass, vfmerge, vfrec7, vfrsqrt7, vfsqrt instructions.

Reviewed By: craig.topper

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Differential Revision: https://reviews.llvm.org/D99741
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrec7.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrsqrt7.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfclass.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfsqrt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfrsqrt7.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfrec7.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmerge.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfclass.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfmerge.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfsqrt.c
Commit 01fa222b6d9febc5f5c654ce40137380b6e4c540 by zakk.chen
[RISCV][Clang] Add RVV Type-Convert intrinsic functions.

Fix extension macro condition.

Support below instructions:
1. Single-Width Floating-Point/Integer Type-Convert Instructions
2. Widening Floating-Point/Integer Type-Convert Instructions
3. Narrowing Floating-Point/Integer Type-Convert Instructions

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D99742
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
Commit 07c3854a75bcbb7521f27e1e775bc79f4d0340f7 by zakk.chen
[RISCV][Clang] Add RVV merge intrinsic functions.

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D99963
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmerge.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmerge.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
Commit c680b0dabf367046c9acb397cddc5e3a2194bbaa by zakk.chen
[RISCV][Clang] Add all RVV Reduction intrinsic functions.

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D99964
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredosum.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vredand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredxor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfwredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vredor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vwredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vredmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vredxor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmin.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vwredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfredsum.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vredmax.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vredsum.c
Commit e5a821926407713a3955409a74089de6ebf36493 by zakk.chen
[RISCV][Clang] Add more RVV load/store intrinsic functions.

Support the following instructions.
1. Mask load and store
2. Vector Strided Instructions
3. Vector Indexed Store Instructions

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D99965
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsuxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vse.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsoxei.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsoxei.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vle.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlse.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsse.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vsuxei.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vlse.c
The file was modifiedclang/test/CodeGen/RISCV/rvv-intrinsics/vse.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vsse.c
Commit a8fc0e445cad91a5c2f207e39ee9220253eb5578 by zakk.chen
[RISCV][Clang] Add all RVV Mask intrinsic functions.

1. Redefine vpopc and vfirst IR intrinsic so it could adapt on
clang tablegen generator which always appends a type for vl
in IntrinsicType of clang codegen.
2. Remove `c` type transformer and add `u` and `l` for unsigned long
and long type.

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100120
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsif.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmnor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmor.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vid.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsbf.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/viota.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vpopc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmnand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vpopc.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfirst.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vid.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmxnor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmxor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmclr.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmxor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsof.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmsbf.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsif.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/viota.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmnand.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmxnor.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmsof.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfirst.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vmset.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
Commit 59d5b8c27b43021887dbf63e23800c340386080c by zakk.chen
[RISCV][Clang] Add some RVV Permutation intrinsic functions.

Support the following instructions.
1. Vector Slide Instructions
2. Vector Register Gather Instructions
3. Vector Compress Instruction

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100127
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vrgather.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1down.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vrgather.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vslideup.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslidedown.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vslidedown.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1down.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1up.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1up.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfslide1up.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslide1up.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vfslide1down.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vslideup.c
The file was addedclang/test/CodeGen/RISCV/rvv-intrinsics/vslide1down.c
Commit ece7345859c38acb015243632822f41214d01adc by qiucofan
[PowerPC] Lower f128 SETCC/SELECT_CC as libcall if p9vector disabled

XSCMPUQP is not available for pre-P9 subtargets. This patch will lower
them into libcall for correct behavior on power7/power8.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D92083
The file was modifiedllvm/test/CodeGen/PowerPC/f128-compare.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-fcmp.ll
Commit 3a6a80b641bcffc570d5bc187b45f7bb9a2e7ce2 by yifeng.dongyifeng
[Clang][Coroutine][DebugInfo] In c++ coroutine, clang will emit different debug info variables for parameters and move-parameters.

The first one is the real parameters of the coroutine function, the
other one just for copying parameters to the coroutine frame.

Considering the following c++ code:
```
struct coro {
  ...
};

coro foo(struct test & t) {
  ...
  co_await suspend_always();
    ...
    co_await suspend_always();
    ...
    co_await suspend_always();
}

int main(int argc, char *argv[]) {
  auto c = foo(...);
    c.handle.resume();
      ...
  }
```

Function foo is the standard coroutine function, and it has only
one parameter named t (ignoring this at first),
when we use the llvm code to compile this function, we can get the
following ir:

```
!2921 = distinct !DISubprogram(name: "foo", linkageName:
"_ZN6Object3fooE4test", scope: !2211, file: !45, li\
ne: 48, type: !2329, scopeLine: 48, flags: DIFlagPrototyped |
DIFlagAllCallsDescribed, spFlags: DISPFlagDefi\
nition | DISPFlagOptimized, unit: !44, declaration: !2328,
retainedNodes: !2922)
!2924 = !DILocalVariable(name: "t", arg: 2, scope: !2921, file: !45,
line: 48, type: !838)
...
!2926 = !DILocalVariable(name: "t", scope: !2921, type: !838, flags:
DIFlagArtificial)
```
We can find there are two `the same` DIVariable named t in the same
dwarf scope for foo.resume.
And when we try to use llvm-dwarfdump to dump the dwarf info of this
elf, we get the following output:

```
0x00006684:   DW_TAG_subprogram
                DW_AT_low_pc    (0x00000000004013a0)
                DW_AT_high_pc   (0x00000000004013a8)
                DW_AT_frame_base        (DW_OP_reg7 RSP)
                DW_AT_object_pointer    (0x0000669c)
                DW_AT_GNU_all_call_sites        (true)
                DW_AT_specification     (0x00005b5c "_ZN6Object3fooE4test")

0x000066a5:     DW_TAG_formal_parameter
                DW_AT_name    ("t")
                DW_AT_decl_file       ("/disk1/yifeng.dongyifeng/my_code/llvm/build/bin/coro-debug-1.cpp")
                DW_AT_decl_line       (48)
                DW_AT_type    (0x00004146 "test")

0x000066ba:     DW_TAG_variable
                  DW_AT_name    ("t")
                  DW_AT_type    (0x00004146 "test")
                  DW_AT_artificial      (true)
```
The elf also has two 't' in the same scope.
But unluckily, it might let the debugger
confused. And failed to print parameters for O0 or above.
This patch will make coroutine parameters and move
parameters use the same DIVar and try to fix the problems
that I mentioned before.

Test Plan: check-clang

Reviewed By: aprantl, jmorse

Differential Revision: https://reviews.llvm.org/D97533
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGCoroutine.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was addedclang/test/CodeGenCoroutines/coro-dwarf.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit bb346146a52e3093979d51454ba615194d51c709 by czhengsz
[Debug-Info] make fortran CHARACTER(1) type as valid unsigned type

This resolves https://bugs.llvm.org/show_bug.cgi?id=49872

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D100015
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was addedllvm/test/CodeGen/Generic/pr49872.ll
Commit 74283fc8534b729f5e15ae934de15c01fd6db9c0 by jezng
[lld-macho][nfc] Convert tabs to spaces
The file was modifiedlld/test/MachO/arm64-reloc-pointer-to-got.s
The file was modifiedlld/test/MachO/indirect-symtab.s
The file was modifiedlld/test/MachO/arm64-reloc-got-load.s
The file was modifiedlld/test/MachO/tlv.s
The file was modifiedlld/test/MachO/why-load.s
The file was modifiedlld/test/MachO/objc.s
The file was modifiedlld/test/MachO/x86-64-reloc-got-load.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-def.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-opcode.s
The file was modifiedlld/test/MachO/weak-binding.s
The file was modifiedlld/test/MachO/weak-reference.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
The file was modifiedlld/test/MachO/tlv-dylib.s
The file was modifiedlld/test/MachO/arm64-relocs.s
The file was modifiedlld/test/MachO/mattrs.ll
Commit 5cb47be4104558b2a69dc3df667dbe046bdcce6d by freddy.ye
[X86] Remove FeatureCLWB from FeaturesICLClient

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100279
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedllvm/test/CodeGen/X86/clwb.ll
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 36b932d6a385bb97efe17818a7a47d29d2d8acf3 by ybrevnov
[NARY] Don't optimize min/max if there are side uses

Say we have
%1=min(%a,%b)
%2=min(%b,%c)
%3=min(%2,%a)

The optimization will try to reassociate the later one so that we can rewrite it to %3=min(%1, %c) and remove %2.
But if %2 has another uses outside of %3 then we can't remove %2 and end up with:

%1=min(%a,%b)
%2=min(%b,%c)
%3=min(%1, %c)

This doesn't harm by itself except it is not profitable and changes IR for no good reason.
What is bad it triggers next iteration which finds out that optimization is applicable to %2 and %3 and generates:

%1=min(%a,%b)
%2=min(%b,%c)
%3=min(%1,%c)
%4=min(%2,%a)

and so on...

The solution is to prevent optimization in the first place if intermediate result (%2) has side uses and
known to be not removed.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D100170
The file was addedllvm/test/Transforms/NaryReassociate/nary-req.ll
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
Commit 747111ea71f5ede10ebd03b8c1197b1f1e50e89f by bing1.yu
[X86] Pass to transform tdpbsud&tdpbusd&tdpbuud intrinsics to scalar operation

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D99244
The file was modifiedllvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-low-intrinsics.ll
Commit dd4c999c2316288f7c560f5c18077642c14b50df by jim
fix typo in a CMake SANITIZER_CAN_USE_CXXABI variable initial definition

The current variable name isn't used anywhere else, which indicates it's
a typo.  Let's fix it before someone copy+pastes it somewhere else.

Reviewed By: Jim

Differential Revision: https://reviews.llvm.org/D39157
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 8a2d375a77bfd9d73f7dbb12bed5c8a014aa2a53 by jim
[NFC] [Clang]: fix spelling mistake in assert message

Reviewed By: Jim

Differential Revision: https://reviews.llvm.org/D71541
The file was modifiedclang/lib/AST/VTableBuilder.cpp
Commit 2dd22da965ffc1623421cb8163947d7e679ce187 by mikael.holmen
[libtooling][clang-tidy] Fix compiler warnings in testcase [NFC]

Without the fix we get:

06:31:09 In file included from ../../clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp:3:
06:31:09 ../utils/unittest/googletest/include/gtest/gtest.h:1392:11: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
06:31:09   if (lhs == rhs) {
06:31:09       ~~~ ^  ~~~
06:31:09 ../utils/unittest/googletest/include/gtest/gtest.h:1421:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
06:31:09     return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
06:31:09            ^
06:31:09 ../../clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp:60:3: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
06:31:09   EXPECT_EQ(4, Errors[0].Message.FileOffset);
06:31:09   ^
06:31:09 ../utils/unittest/googletest/include/gtest/gtest.h:1924:63: note: expanded from macro 'EXPECT_EQ'
06:31:09                       EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
06:31:09                                                               ^
06:31:09 ../utils/unittest/googletest/include/gtest/gtest.h:1392:11: error: comparison of integers of different signs: 'const int' and 'const unsigned long' [-Werror,-Wsign-compare]
06:31:09   if (lhs == rhs) {
06:31:09       ~~~ ^  ~~~
06:31:09 ../utils/unittest/googletest/include/gtest/gtest.h:1421:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned long>' requested here
06:31:09     return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
06:31:09            ^
06:31:09 ../../clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp:64:3: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned long>' requested here
06:31:09   EXPECT_EQ(1, Errors[0].Message.Ranges.size());
06:31:09   ^
06:31:09 ../utils/unittest/googletest/include/gtest/gtest.h:1924:63: note: expanded from macro 'EXPECT_EQ'
06:31:09                       EqHelper<GTEST_IS_NULL_LITERAL_(val1)>::Compare, \
06:31:09                                                               ^
06:31:09 2 errors generated.
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
Commit d69c236e1d6b4705d3a0041f39bfe864638eb24e by zhangqingshan.zll
[NFC][Debug] Fix unnecessary deep-copy for vector to save compiling time

We saw some big compiling time impact after enabling the debug entry value
feature for X86 platform(D73534). Compiling time goes from 900s->1600s with
our testcase. It is caused by allocating/freeing the memory busily.

'using FwdRegWorklist = MapVector<unsigned, SmallVector<FwdRegParamInfo, 2>>;'
The value for this map is vector, and we miss the reference when access the
element. The same happens for `auto CalleesMap = MF->getCallSitesInfo();` which is a DenseMap.

Reviewed by: djtodoro, flychen50

Differential Revision: https://reviews.llvm.org/D100162
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 6e5199104914c2415092315388ed09fbd9d629f7 by 1.int32
[clang][AST] Handle overload callee type in CallExpr::getCallReturnType.

The function did not handle every case. In some cases this
caused assertion failure.
After the fix the function returns DependentTy if the exact
return type can not be determined.

It seems that clang itself does not call the function in the
affected cases but some checker or other code may call it.

Reviewed By: hokein

Differential Revision: https://reviews.llvm.org/D95244
The file was modifiedclang/unittests/Tooling/SourceCodeTest.cpp
The file was modifiedclang/lib/AST/Expr.cpp
Commit 62fa9b9388aa114e3b1a58bbdbcd966ae3492ba5 by esme.yi
[DebugInfo] Fix the mismatching between C++ language tags and Dwarf versions.

Summary: The tags DW_LANG_C_plus_plus_14 and DW_LANG_C_plus_plus_11, introduced in Dwarf-5, are unexpected in previous versions. Fixing the mismathing doesn't have any drawbacks for any other debuggers, but helps dbx.

Reviewed By: aprantl, shchenz

Differential Revision: https://reviews.llvm.org/D99250
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGenCXX/debug-info-programming-language.cpp
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp
Commit a655f250fef84795e3e46c0bcb824d7b5fbceec6 by stelios.ioannou
[AArch64] Adds memory operands for indexed loads.

This patch adds the memory operands for indexed loads so
that certain optimizations can take place.

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

Change-Id: I539fcf046ca4ad1e7df1d893f57d751419d8364d
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
Commit 731bf28a6092286dde6972803b35c026e32bd6b1 by sven.vanhaastregt
[OpenCL] Accept .rgba in OpenCL 3.0

The .rgba vector component accessors are supported in OpenCL C 3.0.

Previously, the diagnostic would check `OpenCLVersion` for version 2.2
(value 220) and report those accessors are an OpenCL 2.2 feature.
However, there is no "OpenCL C version 2.2", so change the check and
diagnostic text to 3.0 only.

A spurious `OpenCLVersion` argument was passed into the diagnostic;
remove that.

Differential Revision: https://reviews.llvm.org/D99969
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExprMember.cpp
The file was modifiedclang/test/SemaOpenCL/ext_vectors.cl
Commit f9a8c6a0e50540f68e6740a849a7caf5e4d46ca6 by sebastian.neubauer
[AMDGPU] Save VGPR of whole wave when spilling

Spilling SGPRs to scratch uses a temporary VGPR. LLVM currently cannot
determine if a VGPR is used in other lanes or not, so we need to save
all lanes of the VGPR. We even need to save the VGPR if it is marked as
dead.

The generated code depends on two things:
- Can we scavenge an SGPR to save EXEC?
- And can we scavenge a VGPR?

If we can scavenge an SGPR, we
- save EXEC into the SGPR
- set the needed lane mask
- save the temporary VGPR
- write the spilled SGPR into VGPR lanes
- save the VGPR again to the target stack slot
- restore the VGPR
- restore EXEC

If we were not able to scavenge an SGPR, we do the same operations, but
everytime the temporary VGPR is written to memory, we
- write VGPR to memory
- flip exec (s_not exec, exec)
- write VGPR again (previously inactive lanes)

Surprisingly often, we are able to scavenge an SGPR, even though we are
at the brink of running out of SGPRs.
Scavenging a VGPR does not have a great effect (saves three instructions
if no SGPR was scavenged), but we need to know if the VGPR we use is
live before or not, otherwise the machine verifier complains.

Differential Revision: https://reviews.llvm.org/D96336
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/sgpr-spill.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was addedllvm/test/CodeGen/AMDGPU/spill-sgpr-stack-no-sgpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-m0.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
Commit 32bc9a9bc3147a86ed43827d29d8f7d7cf05eb4a by sebastian.neubauer
[AMDGPU] Unify spill code

Instead of reimplementing spilling in prolog and epilog, reuse
buildSpillLoadStore.

Reviewed By: scott.linder

Differential Revision: https://reviews.llvm.org/D99269
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
Commit ca3bae94c469211749fd2599d35ebd73cab45fa0 by sebastian.neubauer
[AMDGPU] Autogenerate test. NFC
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
Commit b76c2a6c2b97bebb7a4e529cf3c8bde78253dde4 by sebastian.neubauer
[AMDGPU] Fix saving fp and bp

Spilling the fp or bp to scratch could overwrite VGPRs of inactive
lanes. Fix that by using only the active lanes of the scavenged VGPR.

This builds on the assumptions that
1. a function is never called with exec=0
2. lanes do not die in a function, i.e. exec!=0 in the function epilog
3. no new lanes are active when exiting the function, i.e. exec in the
   epilog is a subset of exec in the prolog.

Differential Revision: https://reviews.llvm.org/D96869
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll
Commit 428b17ce70523b1c54cb89095fed39e84f5ca8fc by omair.javaid
[LLDB] Fix buildbots breakage due to TestGuessLanguage.py

Fix LLDB buidbot breakage due to D99250.

Differential Revision: https://reviews.llvm.org/D99250
The file was modifiedlldb/test/API/commands/frame/language/TestGuessLanguage.py
Commit 7a8e65dd3dfa72069471a316844b7a6c2ef89e84 by sebastian.neubauer
[AMDGPU] Fix ubsan error

The RegScavenger can be null sometimes, so a pointer is needed.

Fixes UBSan error introduced in f9a8c6a0e505.
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Commit 6bf806b3e2fddf79fa0326df1da341de9da35d08 by sander.desmalen
[AArch64] ACLE: Fix issue for mismatching enum types with builtins.

This patch fixes an issue with the SVE prefetch and qinc/qdec intrinsics
that take an `enum` argument, but where the builtin prototype encodes
these as `int`. Some code in SemaDecl found the mismatch and chose
to forget about the builtin altogether, which meant that any future
code using that builtin would fail. The code that forgets about the
builtin was actually obsolete after D77491 and should have been removed.
This patch now removes that code.

This patch also fixes another issue with the SVE prefetch intrinsic
when built with C++, where the builtin didn't accept the correct
pointer type, which should be `const void *`.

Reviewed By: tambre

Differential Revision: https://reviews.llvm.org/D100046
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was modifiedclang/include/clang/Basic/Builtins.h
The file was modifiedclang/lib/Basic/Builtins.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
Commit 199a21bd8c6ab179c9a88c35da8b604d1649c986 by llvm-dev
[IR] Fix Wdocumentation warning. NFCI.
The file was modifiedllvm/include/llvm/IR/DIBuilder.h
Commit 67b39661c84742142628591aec181eef1cb6c3b7 by dmitry.preobrazhensky
[AMDGPU][MC][NFC] Removed extra spaces

Fixed bugs 49646, 49647.

Differential Revision: https://reviews.llvm.org/D100173
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
Commit 33ce6f02caec3682c556ac0bf7a8c107b17083c7 by gysit
[mlir][linalg] fixing hard-coded variable names in a test (NFC)

The patch fixes hard-coded variable names in the vector-to-loops test.
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
Commit c965e14a12955355ead9ea093989a8fcbf03a8c1 by esme.yi
Revert "[DebugInfo] Fix the mismatching between C++ language tags and Dwarf versions."

This reverts commit 62fa9b9388aa114e3b1a58bbdbcd966ae3492ba5.
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp
The file was removedclang/test/CodeGenCXX/debug-info-programming-language.cpp
Commit dff922f39b9bf49b243f6f00c7c9a2e3de77e20e by esme.yi
Reland [DebugInfo] Fix the mismatching between C++ language tags and Dwarf versions.""

This reverts commit c965e14a12955355ead9ea093989a8fcbf03a8c1.
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGenCXX/debug-info-programming-language.cpp
Commit aa3e78a59fdf3b211be72f1b3221af831665e67d by stephen.tozer
Reapply "[DebugInfo] Correctly track SDNode dependencies for list debug values"

Fixed memory leak error by using BumpAllocator for SDDbgValue arrays.

This reverts commit 1b589172bd19b83e8137185ed11f50bba06e8766.
The file was addedllvm/test/CodeGen/X86/dbg-list-dependencies.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit f2593a0bd1b2b0da40de2400822469f85c56ac92 by bradley.smith
[AArch64][SVE] Remove redundant PTEST of MATCH/NMATCH results

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

Differential Revision: https://reviews.llvm.org/D99584
The file was addedllvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 6cc91adf1e61769e6c39059f8d88bbcb4d1773bc by sebastian.neubauer
[AMDGPU] Kill temporary register after restoring

Not a correctness issue, but the temporary register is not used
afterwards and should be dead.

Differential Revision: https://reviews.llvm.org/D100295
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/sgpr-spill.mir
Commit ee8a5e4bc2c986b8e6c07e81fb58dc1e5a5c2d17 by a.v.lapshin
Fix chrome os failure after 021de7cf80268091cf13485a538b611b37d0b33e.

chrome os build failed after D98511:
https://bugs.chromium.org/p/chromium/issues/detail?id=1197970

This patch fixes permission issue appeared after D98511.
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit 34c697c85e9d0af11a72ac4df5578aac94a627b3 by Raphael Isemann
[lldb] Don't recursively load types of static member variables in the DWARF AST parser

When LLDB's DWARF parser is parsing the member DIEs of a struct/class it
currently fully resolves the types of static member variables in a class before
adding the respective `VarDecl` to the record.

For record types fully resolving the type will also parse the member DIEs of the
respective class. The other way of resolving is just 'forward' resolving the type
which will try to load only the minimum amount of information about the type
(for records that would only be the name/kind of the type). Usually we always
resolve types on-demand so it's rarely useful to speculatively fully resolve
them on the first use.

This patch changes makes that we only 'forward' resolve the types of static
members. This solves the fact that LLDB unnecessarily loads debug information
to parse the type if it's maybe not needed later and it also avoids a crash where
the parsed type might in turn reference the surrounding class that is currently
being parsed.

The new test case demonstrates the crash that might happen. The crash happens
with the following steps:

1. We parse class `ToLayout` and it's members.

2. We parse the static class member and fully resolve its type
(`DependsOnParam2<ToLayout>`).

3. That type has a non-static class member `DependsOnParam1<ToLayout>` for which
LLDB will try to calculate the size.

4. The layout (and size)`DependsOnParam1<ToLayout>` turns depends on the
`ToLayout` size/layout.

5. Clang will calculate the record layout/size for `ToLayout` even though we are
currently parsing it and it's missing it's non-static member.

The created is missing the offset for the yet unparsed non-static member. If we
later try to get the offset we end up hitting different asserts. Most common is
the one in `TypeSystemClang::DumpValue` where it checks that the record layout
has offsets for the current FieldDecl.

```
        assert(field_idx < record_layout.getFieldCount());
```

Fixed rdar://67910011

Reviewed By: shafik

Differential Revision: https://reviews.llvm.org/D100180
The file was addedlldb/test/API/lang/cpp/static_member_type_depending_on_parent_size/Makefile
The file was modifiedlldb/test/API/functionalities/lazy-loading/TestLazyLoading.py
The file was addedlldb/test/API/lang/cpp/static_member_type_depending_on_parent_size/main.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/test/API/functionalities/lazy-loading/main.cpp
The file was addedlldb/test/API/lang/cpp/static_member_type_depending_on_parent_size/TestStaticMemberTypeDependingOnParentSize.py
Commit 5a5a94ed34b07079046ac81e7e97d980ce2c834f by Raphael Isemann
[lldb] Delete dead StackFrameList::Merge

That code is unused since it's check-in in 2010 (and I believe it would leak
memory when called as it releases the passed unique_ptr), so let's delete it.

Reviewed By: vsk

Differential Revision: https://reviews.llvm.org/D100212
The file was modifiedlldb/source/Target/StackFrameList.cpp
The file was modifiedlldb/include/lldb/Target/StackFrameList.h
Commit cca9b5985c0c7e3c34da7f2db7cc8e7e707b0e2e by andrew.savonichev
[AArch64] Add Machine InstCombiner patterns for FMUL indexed variant

This patch adds DUP+FMUL => FMUL_indexed pattern to InstCombiner.
FMUL_indexed is normally selected during instruction selection, but it
does not work in cases when VDUP and VMUL are in different basic
blocks.

Differential Revision: https://reviews.llvm.org/D99662
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fma-combines.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineCombinerPattern.h
The file was addedllvm/test/CodeGen/AArch64/machine-combiner-fmul-dup.mir
Commit f037b07b5c2e6d86124d23d16fca66c16a639d3d by andrew.savonichev
Revert "[AArch64] Add Machine InstCombiner patterns for FMUL indexed variant"

This reverts commit cca9b5985c0c7e3c34da7f2db7cc8e7e707b0e2e.

Buildbot reported an error for CodeGen/AArch64/machine-combiner-fmul-dup.mir:

*** Bad machine code: Virtual register killed in block, but needed live out. ***
- function:    indexed_2s
- basic block: %bb.0 entry (0x640fee8)
Virtual register %7 is used after the block.

*** Bad machine code: Virtual register defs don't dominate all uses. ***
- function:    indexed_2s
- v. register: %7
LLVM ERROR: Found 2 machine code errors.
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineCombinerPattern.h
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fma-combines.ll
The file was removedllvm/test/CodeGen/AArch64/machine-combiner-fmul-dup.mir
Commit 93f9922d65f8a89b8a9299eeab61511ce8baa3bc by gysit
[mlir][linalg] adding operation to access the iteration index of enclosing linalg ops.

The `linalg.index` operation provides access to the iteration indexes of immediately enclosing linalg operations. It takes a dimension `dim` attribute and returns the iteration index in the given dimension. Having `linalg.index` allows us to unify `linalg.generic` and `linalg.indexed_generic` and also enables index access in named operations.

Differential Revision: https://reviews.llvm.org/D100292
The file was modifiedmlir/test/Dialect/Linalg/loop-order.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile.mlir
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgFusionTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/fusion-indexed-generic.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit 489cdedd117bcd884253ae3f084a943b6aa98f7c by Paul C. Anagnostopoulos
[TableGen] Fix bug in recent change to ListInit::convertInitListSlice()

Differential Revision: https://reviews.llvm.org/D100247
The file was modifiedllvm/test/TableGen/ListSlices.td
The file was modifiedllvm/lib/TableGen/Record.cpp
Commit 58f3201a20f7c51393ef4509b69515cb9c4b32bf by david.green
[ARM] Updates to arm-block-placement pass

The patch makes two updates to the arm-block-placement pass:
- Handle arbitrarily nested loops
- Extends the search (for t2WhileLoopStartLR) to the predecessor of the
  preHeader.

Differential Revision: https://reviews.llvm.org/D99649
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/block-placement.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/lib/Target/ARM/ARMBlockPlacement.cpp
Commit bcbea2ab84df87983fa9b30e94ea25eda0eb2338 by n.james93
[NFC] Remove redundant string copy
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
Commit 6c0a1ed3a94ff34e6d9500cdfd04858b1a6f72aa by david.green
[ARM] Add FP handling for MVE lane interleaving

FP16 to FP32 converts can be handled in MVE lane interleaving, much like
the sext/zext lowering we do. This expands the pass with fpext and
fptrunc handling, and basic fp operations allowing more efficient
lowering of fp vectors.

Differential Revision: https://reviews.llvm.org/D97292
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
The file was modifiedllvm/lib/Target/ARM/MVELaneInterleavingPass.cpp
Commit 4cbaaf4a24376fe24656fc1fac846fd82de5158f by pengfei.wang
[X86][AMX] Hoist ldtilecfg

The previous code calculated the first ldtilecfg by dominating all AMX registers' def. This may result in the ldtilecfg being inserted into a loop.

This patch try to calculate the nearest point where all shapes of AMX registers are reachable.

Reviewed By: LuoYuanke

Differential Revision: https://reviews.llvm.org/D99010
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-config.ll
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86PreTileConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-across-func.ll
Commit 63bc9e443502ab6def2dec0b5ffe64a522f801cc by kadircet
[clangd] Provide a way to disable external index

Users can reset any external index set by previous fragments by
putting a `None` for the external block, e.g:

```
Index:
  External: None
```

Differential Revision: https://reviews.llvm.org/D100106
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
Commit a46effbd2aec88012c8f94b81da51dfd5b9e141b by daniel.kiss
[compiler-rt][aarch64] Add PAC-RET/BTI support to HWASAN.

Support for -mbranch-protection.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D100143
The file was modifiedcompiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
The file was modifiedcompiler-rt/lib/hwasan/hwasan_setjmp.S
The file was modifiedcompiler-rt/lib/builtins/assembly.h
Commit baadbe04bf753382728ca6ff3e05227e4c773cec by llvm-dev
[X86] Fold cmpeq/ne(trunc(logic(x)),0) --> cmpeq/ne(logic(x),0)

Fixes the issues noted in PR48768, where the and/or/xor instruction had been promoted to avoid i8/i16 partial-dependencies, but the test against zero had not.

We can almost certainly relax this fold to work for any truncation, although it breaks a number of existing folds (notable movmsk folds which tend to rely on the truncate to determine the demanded bits/elts in the source vector).

There is a reverse combine in TargetLowering.SimplifySetCC so we must wait until after legalization before attempting this.
The file was modifiedllvm/test/CodeGen/X86/and-with-overflow.ll
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/xor-with-overflow.ll
The file was modifiedllvm/test/CodeGen/X86/2012-08-16-setcc.ll
The file was modifiedllvm/test/CodeGen/X86/or-with-overflow.ll
Commit 9c9df057503d72e6e559a63e39cba73881acfa3f by llvm-dev
[InstCombine] Regenerate select-ctlz-to-cttz.ll tests

Correctly test !range metadata
The file was modifiedllvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
Commit 28dc50c4b75e096ba9ccee505f0e85ea3be01519 by kristof.beyls
[docs] Add Windows/COFF call info
The file was modifiedllvm/docs/GettingInvolved.rst
Commit 26beecfe470bc5ee9222d124303f5e1386b818ec by Louis Dionne
[libc++] Split auto_ptr out of <memory>

Differential Revision: https://reviews.llvm.org/D100216
The file was addedlibcxx/include/__memory/auto_ptr.h
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/CMakeLists.txt
Commit 0b439e4cc9dbb5c226121383b84d4f48ab669c55 by Louis Dionne
[libc++] Split std::allocator out of <memory>

Differential Revision: https://reviews.llvm.org/D100216
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__memory/allocator.h
Commit 6a1ac88fc19a6d1b373ea12247f84e41a07d3a94 by Louis Dionne
[libc++] Split std::get_temporary_buffer out of <memory>

Differential Revision: https://reviews.llvm.org/D100216
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__memory/temporary_buffer.h
Commit 344d381d9f48f081c69e23a67d7592eb96624e54 by Louis Dionne
[libc++] NFC: Remove duplicate synopsis from <__string>
The file was modifiedlibcxx/include/__string
Commit db51d5968cf24f04b5c63188dccef8b874405d00 by llvmgnsyncbot
[gn build] Port 0b439e4cc9db
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 07274e3238a96086277641d3fc2231b129dc2343 by llvmgnsyncbot
[gn build] Port 26beecfe470b
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 9f64e6ce768f2ba083c59ca0b61e107561ac86c6 by llvmgnsyncbot
[gn build] Port 6a1ac88fc19a
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 8508b1c133f6dea558fd62f73cf333bdec809026 by Louis Dionne
[libc++] Divorce the std Lit feature from the -std=XXX compiler flag

After this patch, we can use `--param std=c++20` even if the compiler only
supports -std=c++2a. The test suite will handle that for us. The only Lit
feature that isn't fully baked will always be the "in development" one,
since we don't know exactly what year the standard will be ratified in.

This is another take on https://reviews.llvm.org/D99789.

Differential Revision: https://reviews.llvm.org/D100210
The file was modifiedlibcxx/test/std/strings/string.view/string.view.template/contains.ptr.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/cmake/caches/Generic-cxx20.cmake
The file was modifiedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/string.view.template/contains.char.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/string.view.template/contains.string_view.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.underlying/to_underlying.verify.cpp
The file was modifiedlibcxx/docs/TestingLibcxx.rst
The file was modifiedlibcxx/test/std/utilities/utility/utility.underlying/to_underlying.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.contains/contains.char.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.contains/contains.ptr.pass.cpp
The file was modifiedlibcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_scoped_enum.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/string.contains/contains.string_view.pass.cpp
Commit f2e4f3eff3c9135d92840016f8ed4540cdd1313b by stephen.tozer
Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands"

The causes of the previous build errors have been fixed in revisions
aa3e78a59fdf3b211be72f1b3221af831665e67d, and
140757bfaaa00110a92d2247a910c847e6e3bcc8

This reverts commit f40976bd01032f4905dde361e709166704581077.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/include/llvm/IR/Operator.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/IR/Operator.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo-sink.ll
The file was addedllvm/test/DebugInfo/salvage-gep.ll
The file was addedllvm/test/DebugInfo/salvage-nonconst-binop.ll
The file was modifiedllvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
Commit dd31b2c6e546f1486044cde5d505b2b4a52f75fd by david.green
[ARM] Add a number of intrinsics for MVE lane interleaving

Add a number of intrinsics which natively lower to MVE operations to the
lane interleaving pass, allowing it to efficiently interleave the lanes
of chucks of operations containing these intrinsics.

Differential Revision: https://reviews.llvm.org/D97293
The file was modifiedllvm/lib/Target/ARM/MVELaneInterleavingPass.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
Commit 330619a3a623d623944c58ebc06cbb83ac0e58af by spatel
[PassManager][PhaseOrdering] lower expects before running simplifyCFG

If we run passes before lowering llvm.expect intrinsics to metadata,
then those passes have no way to act on the hints provided by llvm.expect.
SimplifyCFG is the known offender, and we made it smarter about profile
metadata in D98898.

In the motivating example from https://llvm.org/PR49336 , this means we
were ignoring the recommended method for a programmer to tell the compiler
that a compare+branch is expensive. This change appears to solve that case -
the metadata survives to the backend, the compare order is as expected in IR,
and the backend does not do anything to reverse it.

We make the same change to the old pass manager to keep things synchronized.

Differential Revision: https://reviews.llvm.org/D100213
The file was modifiedllvm/test/Transforms/PhaseOrdering/expect.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pm-pgo.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
Commit d7eb797ea55c76c7a71886343e216be27d5757be by arthur.j.odwyer
[libc++] [test] Detect an improperly noexcept'ed __decay_copy.

`__decay_copy` is used by `std::thread`'s constructor to copy its arguments
into the new thread. If `__decay_copy` claims to be noexcept, but then
copying the argument does actually throw, we'd call std::terminate instead
of passing this test. (And I've verified that adding an unconditional `noexcept`
to `__decay_copy` does indeed fail this test.)

Differential Revision: https://reviews.llvm.org/D100277
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
Commit 4b7bad9eaea2233521a94f6b096aaa88dc584e23 by arthur.j.odwyer
[libc++] Implement D2351R0 "Mark all library static cast wrappers as [[nodiscard]]"

These [[nodiscard]] annotations are added as a conforming extension;
it's unclear whether the paper will actually be adopted and make them
mandatory, but they do seem like good ideas regardless.

https://isocpp.org/files/papers/D2351R0.pdf

This patch implements the paper's effect on:
- std::to_integer, std::to_underlying
- std::forward, std::move, std::move_if_noexcept
- std::as_const
- std::identity

The paper also affects (but libc++ does not yet have an implementation of):
- std::bit_cast

Differential Revision: https://reviews.llvm.org/D99895
The file was modifiedlibcxx/include/cstddef
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/type_traits
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
The file was modifiedlibcxx/docs/UsingLibcxx.rst
The file was modifiedlibcxx/include/utility
The file was modifiedlibcxx/test/std/utilities/utility/forward/forward.fail.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
Commit f4d682d6ce6c5b3a41a0acf297507c82f5c21eef by Yuanfang Chen
[InstCombine] when calling conventions are compatible, don't convert the call to undef idiom

D24453 enabled libcalls simplication for ARM PCS. This may cause
caller/callee calling conventions mismatch in some situations such as
LTO. This patch makes instcombine aware that the compatible calling
conventions differences are benign (not emitting undef idom).

Differential Revision: https://reviews.llvm.org/D99773
The file was addedllvm/test/Transforms/InstCombine/call-callconv-mismatch.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit 38cf112a6bc8502ff8cce6ef524cf04c07f90f96 by tra
Allow applying attributes to subset of allowed subjects.

Differential Revision: https://reviews.llvm.org/D100136
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/test/Parser/pragma-attribute.cpp
The file was modifiedclang/test/Sema/pragma-attribute-strict-subjects.c
Commit 50386fe1db3ce57f762c9621b83445a4ffd80b26 by tkeith
[flang] Fix narrowing warning on macos

With clang 11 on macos we were getting this warning:
```
flang/runtime/random.cpp:61:30: error: non-constant-expression cannot be narrowed from type 'unsigned long long' to 'runtime::GeneratedWord' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
          GeneratedWord word{(generator() - generator.min()) & rangeMask};
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
flang/runtime/random.cpp:99:5: note: in instantiation of function template specialization 'runtime::Generate<double, 53>' requested here
    Generate<CppTypeFor<TypeCategory::Real, 8>, 53>(harvest);
    ^
```

Changing the type of `rangeMask` fixes it.

Differential Revision: https://reviews.llvm.org/D100320
The file was modifiedflang/runtime/random.cpp
Commit 8a944d82cd14001a92ef088229041ee0fb1fd1e6 by alexfh
[clang-tidy] Add option to ignore macros in readability-function-cognitive-complexity check.

(this was originally part of https://reviews.llvm.org/D96281 and has been split off into its own patch)

If a macro is used within a function, the code inside the macro
doesn't make the code less readable. Instead, for a reader a macro is
more like a function that is called. Thus the code inside a macro
shouldn't increase the complexity of the function in which it is called.
Thus the flag 'IgnoreMacros' is added. If set to 'true' code inside
macros isn't considered during analysis.

This isn't perfect, as now the code of a macro isn't considered at all,
even if it has a high cognitive complexity itself. It might be better if
a macro is considered in the analysis like a function and gets its own
cognitive complexity. Implementing such an analysis seems to be very
complex (if possible at all with the given AST), so we give the user the
option to either ignore macros completely or to let the expanded code
count to the calling function's complexity.

See the code example from vgeof (originally added as note in https://reviews.llvm.org/D96281)

   bool doStuff(myClass* objectPtr){
         if(objectPtr == nullptr){
             LOG_WARNING("empty object");
             return false;
         }
         if(objectPtr->getAttribute() == nullptr){
             LOG_WARNING("empty object");
             return false;
         }
         use(objectPtr->getAttribute());
     }

The LOG_WARNING macro itself might have a high complexity, but it do not make the
the function more complex to understand like e.g. a 'printf'.

By default 'IgnoreMacros' is set to 'false', which is the original behavior of the check.

Reviewed By: lebedev.ri, alexfh

Differential Revision: https://reviews.llvm.org/D98070
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.h
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-function-cognitive-complexity-flags.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-function-cognitive-complexity.rst
Commit 8883cb3e4004aebddf9bd0f92ea47ba897397794 by alexfh
Fix nits.
The file was modifiedclang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-function-cognitive-complexity.rst
Commit 15689f3af018c420403bb0fd0df0aa5f79796b94 by 31459023+hctim
[asan] Replaceable new/delete is unsupported in Windows.

Mark the test as unsupported to bring the bot online. Could probably be
permanently fixed by using one of the workarounds already present in
compiler-rt.
The file was modifiedcompiler-rt/test/asan/TestCases/replaceable_new_delete.cpp
Commit b0fc712b14ff5f9fbf56e6605fd6ae48ab017ec8 by ravishankarm
[mlir][Linalg] Disable const -> linalg.generic when fused op is illegal.

Fusing a constant with a linalg.generic operation can result in the
fused operation being illegal since the loop bound computation
fails. Avoid such fusions.

Differential Revision: https://reviews.llvm.org/D100272
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
Commit 8508a63b887e29d1c699f1a9cdf8b2a6164a6f0a by zinenko
[mlir] Rename AVX512 dialect to X86Vector

We will soon be adding non-AVX512 operations to MLIR, such as AVX's rsqrt. In https://reviews.llvm.org/D99818 several possibilities were discussed, namely to (1) add non-AVX512 ops to the AVX512 dialect, (2) add more dialects (e.g. AVX dialect for AVX rsqrt), and (3) expand the scope of the AVX512 to include these SIMD x86 ops, thereby renaming the dialect to something more accurate such as X86Vector.

Consensus was reached on option (3), which this patch implements.

Reviewed By: aartbik, ftynse, nicolasvasilache

Differential Revision: https://reviews.llvm.org/D100119
The file was addedmlir/test/Target/LLVMIR/x86vector.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
The file was removedmlir/include/mlir/Dialect/AVX512/Transforms.h
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/X86Vector/X86VectorDialect.h
The file was addedmlir/lib/Dialect/X86Vector/IR/CMakeLists.txt
The file was removedmlir/lib/Dialect/AVX512/Transforms/CMakeLists.txt
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
The file was removedmlir/lib/Dialect/AVX512/Transforms/LegalizeForLLVMExport.cpp
The file was addedmlir/lib/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/Dialect/All.h
The file was addedmlir/lib/Target/LLVMIR/Dialect/X86Vector/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was removedmlir/test/Dialect/AVX512/legalize-for-llvm.mlir
The file was modifiedmlir/lib/Target/LLVMIR/CMakeLists.txt
The file was removedmlir/lib/Dialect/AVX512/CMakeLists.txt
The file was addedmlir/include/mlir/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.h
The file was removedmlir/test/Integration/Dialect/Vector/CPU/AVX512/test-mask-compress.mlir
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was addedmlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/X86Vector/X86Vector.td
The file was removedmlir/include/mlir/Target/LLVMIR/Dialect/AVX512/AVX512ToLLVMIRTranslation.h
The file was addedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-sparse-dot-product.mlir
The file was addedmlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
The file was addedmlir/include/mlir/Dialect/X86Vector/Transforms.h
The file was removedmlir/test/Dialect/AVX512/roundtrip.mlir
The file was removedmlir/lib/Dialect/AVX512/IR/CMakeLists.txt
The file was removedmlir/lib/Target/LLVMIR/Dialect/AVX512/AVX512ToLLVMIRTranslation.cpp
The file was removedmlir/test/Integration/Dialect/Vector/CPU/AVX512/lit.local.cfg
The file was addedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-mask-compress.mlir
The file was removedmlir/include/mlir/Dialect/AVX512/CMakeLists.txt
The file was removedmlir/test/Integration/Dialect/Vector/CPU/AVX512/test-sparse-dot-product.mlir
The file was addedmlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
The file was modifiedmlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
The file was addedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/lit.local.cfg
The file was addedmlir/lib/Dialect/X86Vector/CMakeLists.txt
The file was addedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-vp2intersect-i32.mlir
The file was removedmlir/include/mlir/Dialect/AVX512/AVX512Dialect.h
The file was removedmlir/lib/Dialect/AVX512/IR/AVX512Dialect.cpp
The file was removedmlir/test/Target/LLVMIR/avx512.mlir
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was modifiedmlir/test/mlir-opt/commandline.mlir
The file was removedmlir/lib/Target/LLVMIR/Dialect/AVX512/CMakeLists.txt
The file was removedmlir/test/Integration/Dialect/Vector/CPU/AVX512/test-vp2intersect-i32.mlir
The file was addedmlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
The file was addedmlir/test/Dialect/X86Vector/roundtrip.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was removedmlir/include/mlir/Dialect/AVX512/AVX512.td
Commit 7714b405a0de47e461c77fa8dbd2c21f0d34bbf2 by ajcbik
[mlir] introduce "encoding" attribute to tensor type

This CL introduces a generic attribute (called "encoding") on tensors.
The attribute currently does not carry any concrete information, but the type
system already correctly determines that tensor<8xi1,123> != tensor<8xi1,321>.
The attribute will be given meaning through an interface in subsequent CLs.

See ongoing discussion on discourse:

[RFC] Introduce a sparse tensor type to core MLIR
https://llvm.discourse.group/t/rfc-introduce-a-sparse-tensor-type-to-core-mlir/2944

A sparse tensor will look something like this:

```
// named alias with all properties we hold dear:
#CSR = {
  // individual named attributes
}

// actual sparse tensor type:
tensor<?x?xf64, #CSR>
```

I see the following rough 5 step plan going forward:

(1) introduce this format attribute in this CL, currently still empty
(2) introduce attribute interface that gives it "meaning", focused on sparse in first phase
(3) rewrite sparse compiler to use new type, remove linalg interface and "glue"
(4) teach passes to deal with new attribute, by rejecting/asserting on non-empty attribute as simplest solution, or doing meaningful rewrite in the longer run
(5) add FE support, document, test, publicize new features, extend "format" meaning to other domains if useful

Reviewed By: stellaraccident, bondhugula

Differential Revision: https://reviews.llvm.org/D99548
The file was modifiedmlir/include/mlir/IR/BuiltinTypes.td
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/CAPI/IR/BuiltinAttributes.cpp
The file was modifiedmlir/include/mlir-c/BuiltinTypes.h
The file was modifiedmlir/lib/Bindings/Python/IRAttributes.cpp
The file was modifiedmlir/lib/IR/BuiltinTypes.cpp
The file was modifiedmlir/lib/Parser/TypeParser.cpp
The file was modifiedmlir/include/mlir-c/BuiltinAttributes.h
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/lib/Bindings/Python/IRTypes.cpp
The file was modifiedmlir/lib/CAPI/IR/BuiltinTypes.cpp
The file was modifiedmlir/test/IR/parser.mlir
Commit 7f9e36b209ddfc9bf08934ed911c9c5cb459a0b9 by arjunpitchanathan
[MLIR] PresburgerSet emptiness check: remove assertions that there are no symbols

Symbols are now supported in the integer emptiness check. Remove some outdated assertions checking that there are no symbols.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D100327
The file was modifiedmlir/lib/Analysis/PresburgerSet.cpp
Commit d737c47137368ffe8e2c2ccee94a992f04369bed by fraser
[RISCV] Support vector SET[U]LT and SET[U]GE with splatted immediates

This patch adds more optimized codegen for the above SETCC forms,
by matching the '.vi' vector forms when the immediate is a 5-bit signed
immediate plus 1. The immediate can be decremented and the corresponding
SET[U]LE or SET[U]GT forms can be matched.

This work was left as a TODO from D94168.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D100096
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/setcc-integer-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/setcc-integer-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/saddo-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-setcc.ll
Commit 0a92aff721f43406691e38a0965fd0c917121d09 by i
Replace uses of std::iterator with explicit using

This patch removes all uses of `std::iterator`, which was deprecated in C++17.
While this isn't currently an issue while compiling LLVM, it's useful for those using LLVM as a library.

For some reason there're a few places that were seemingly able to use `std` functions unqualified, which no longer works after this patch. I've updated those places, but I'm not really sure why it worked in the first place.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D67586
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
The file was modifiedllvm/include/llvm/IR/Value.h
The file was modifiedllvm/include/llvm/Analysis/AliasSetTracker.h
The file was modifiedllvm/include/llvm/Support/TargetRegistry.h
The file was modifiedllvm/include/llvm/IR/CFG.h
The file was modifiedllvm/include/llvm/IR/ValueMap.h
The file was modifiedllvm/include/llvm/CodeGen/ScheduleDAG.h
The file was modifiedpolly/include/polly/Support/VirtualInstruction.h
The file was modifiedllvm/include/llvm/ADT/DepthFirstIterator.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/lib/Analysis/CFGPrinter.cpp
The file was modifiedllvm/include/llvm/TextAPI/ArchitectureSet.h
The file was modifiedllvm/include/llvm/Object/ELFTypes.h
The file was modifiedllvm/include/llvm/Support/LineIterator.h
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp
The file was modifiedllvm/include/llvm/Analysis/RegionIterator.h
The file was modifiedclang/include/clang/AST/StmtIterator.h
The file was modifiedllvm/include/llvm/ProfileData/InstrProfReader.h
The file was modifiedllvm/include/llvm/ADT/IntervalMap.h
The file was modifiedclang/include/clang/Rewrite/Core/RewriteRope.h
The file was modifiedllvm/include/llvm/ADT/iterator.h
The file was modifiedllvm/include/llvm/ADT/SparseMultiSet.h
The file was modifiedllvm/include/llvm/ADT/BreadthFirstIterator.h
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
The file was modifiedllvm/include/llvm/Object/SymbolicFile.h
The file was modifiedllvm/include/llvm/ADT/EquivalenceClasses.h
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was modifiedllvm/include/llvm/Support/YAMLParser.h
The file was modifiedllvm/include/llvm/ADT/ImmutableSet.h
The file was modifiedllvm/include/llvm/IR/Module.h
The file was modifiedllvm/include/llvm/IR/Metadata.h
The file was modifiedllvm/include/llvm/ADT/PostOrderIterator.h
The file was modifiedllvm/include/llvm/ADT/CoalescingBitVector.h
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/include/llvm/IR/GetElementPtrTypeIterator.h
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVNExpression.h
Commit 269b335bd7332cd0d13451260d408dc9fcbcb5b1 by aeubanks
[Inliner] Propagate SROA analysis through invariant group intrinsics

SROA can handle invariant group intrinsics, let the inliner know that
for better heuristics when the intrinsics are present.

This fixes size issues in a couple files when turning on
-fstrict-vtable-pointers in Chrome.

Reviewed By: rnk, mtrofin

Differential Revision: https://reviews.llvm.org/D100249
The file was addedllvm/test/Transforms/Inline/invariant-group-sroa.ll
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit 23ac9d1e6e4a0c1160cbc4825ff1006c26742b0a by spatel
Revert "[PassManager][PhaseOrdering] lower expects before running simplifyCFG"

This reverts commit 330619a3a623d623944c58ebc06cbb83ac0e58af.
There are clang tests that also need to be updated.
The file was modifiedllvm/test/Other/new-pm-pgo.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/expect.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
Commit 8deaa4a1471dac19c717a320eec9956843a8c479 by Louis Dionne
[libc++] Move checks for newlib to actually work

The checks did not work in __config, since no header defining
`_NEWLIB_VERSION` was included before. This patch moves the two
checks for newlib to the headers that actually need it - and after
they already include relevant headers.

Differential Revision: https://reviews.llvm.org/D79888
The file was modifiedlibcxx/include/locale
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/fstream
Commit fc1e146e4412334d6c70173c345a698a01b122b8 by richard
Fix documentation typo.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/modernize-use-nodiscard.rst
Commit 9cc417cbca1cece0d55fa3d1e15682943a06139e by uday
[mlir][affine] Fix unfolded bounding maps for affine.for

Loop bounds of affine.for didn't perform foldings like affine.load, affine.store.
Bound maps shall be more composed, leaving most affine.apply become dead.

This resolves the bug listed on https://bugs.llvm.org/show_bug.cgi?id=45203

Differential Revision: https://reviews.llvm.org/D99323
The file was modifiedmlir/test/Dialect/Affine/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
Commit 20f38d01420e5091c076e99be6b9c5ce5aaef064 by code
[compiler-rt] add SANITIZER_OSX

This will allow us to make osx specific changes easier. Because apple silicon macs also run on aarch64, it was easy to confuse it with iOS.

rdar://75302812

Reviewed By: yln

Differential Revision: https://reviews.llvm.org/D100157
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
Commit 0788cdf2e3e9fa181e6cb5f13e4a6c1c17e68627 by daltenty
[AIX] Tweak test XFAIL from D99815

the test fails on AIX host, not necessarily just the target.
The file was modifiedllvm/test/Transforms/SampleProfile/profile-context-tracker-debug.ll
Commit be00edfee55ee00b76a113e825d6614302abf983 by aeubanks
[NewPM] Fix -print-changed when a -filter-print-funcs function is removed

-filter-print-funcs -print-changed was crashing after the filter func
was removed by a pass with
  Assertion failed: After.find("*** IR Dump") == 0 && "Unexpected banner format."
We weren't printing the banner because when we have -filter-print-funcs,
we print each function separately, letting the print function filter out
unwanted functions.

Reviewed By: jamieschmeiser

Differential Revision: https://reviews.llvm.org/D100237
The file was addedllvm/test/Other/print-changed-deleted.ll
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit 06c8b29d23ac2e3a44f2a2f3af85b15dc8aab3c2 by Abhina.Sreeskantharajan
Enable creation of large response file on z/OS

Most text processing commands (eg. grep, awk) have a maximum line length limit on z/OS.  The current method of using cc -E & grep fails on z/OS because of this limit.  I'm changing the command to create the long line in the response file to use python.  This avoids the possibility of any tools blocking the generation of the large response file.  This also eliminates the need for the extra file.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D100197
The file was removedclang/test/Driver/Inputs/gen-response.c
The file was modifiedclang/test/Driver/response-file.c
Commit 661cc71a1c50081389d73b2baae02f51df670ba1 by spatel
[PassManager][PhaseOrdering] lower expects before running simplifyCFG

Retry of 330619a3a623 that includes a clang test update.

Original commit message:

If we run passes before lowering llvm.expect intrinsics to metadata,
then those passes have no way to act on the hints provided by llvm.expect.
SimplifyCFG is the known offender, and we made it smarter about profile
metadata in D98898 <https://reviews.llvm.org/D98898>.

In the motivating example from https://llvm.org/PR49336 , this means we
were ignoring the recommended method for a programmer to tell the compiler
that a compare+branch is expensive. This change appears to solve that case -
the metadata survives to the backend, the compare order is as expected in IR,
and the backend does not do anything to reverse it.

We make the same change to the old pass manager to keep things synchronized.

Differential Revision: https://reviews.llvm.org/D100213
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/expect.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/test/Other/new-pm-pgo.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
Commit cfce5b26a888cb979d65252275df1f977dc1e6c8 by caij2003
[ARM] support symbolic expression as immediate in memory instructions

Currently the ARM backend only accpets constant expressions as the
immediate operand in load and store instructions. This allows the
result of symbolic expressions to be used in memory instructions. For
example,

0:
.space 2048
strb r2, [r0, #(.-0b)]

would be assembled into the following instructions.

strb r2, [r0, #2048]

This only adds support to ldr, ldrb, str, and strb in arm mode to
address the build failure of Linux kernel for now, but should facilitate
adding support to similar instructions in the future if the need arises.

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

Reviewed By: peter.smith, nickdesaulniers

Differential Revision: https://reviews.llvm.org/D98916
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
The file was addedllvm/test/MC/ARM/arm-memory-instructions-immediate.s
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h
Commit fd91f81c857a6d51957944f159c18c070eef81ed by antiagainst
[mlir][spirv] Put debug-only variable in LLVM_DEBUG

This avoids paying the cost when building in release.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D100325
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
Commit 52e9d80d5db20f23979e409f958736d130387f9e by jasonliu
[libc++] add `inline` for __open's definition in ifstream and ofstream

Summary:

When building with gcc on AIX, it seems that gcc does not like the
`always_inline` without the `inline` keyword.
So adding the inline keywords in for __open in ifstream and ofstream.
That will also make it consistent with __open in basic_filebuf
(it seems we added `inline` there before for gcc build as well).

Differential Revision: https://reviews.llvm.org/D99422
The file was modifiedlibcxx/include/fstream
Commit 5fe83b048a23ab1dabba047bfc551a0c2ac78e1b by pklausler
[flang] Correct TypeCode::IsLogical()

F18 is using the type codes for C's "least" int types to encode
the various kinds of Fortran's LOGICAL intrinsic type; update
the IsLogical() predicate accordingly.  (This member function
isn't yet used anywhere, so this patch is nearly an NFC.)

Differential Revision: https://reviews.llvm.org/D100323
The file was modifiedflang/runtime/type-code.h
Commit ba62ebc48e8c424ce3a78ba01acda679d536dd47 by Jonas Devlieghere
[lldb] Disable Shell/Subporcess with reproducers
The file was addedlldb/test/Shell/Subprocess/lit.local.cfg
Commit 7dd60688992526bb7ee0c7846e9abd591fc3e297 by justin.lebar
[clang-rename] Handle designated initializers.

clang Tooling, and more specifically Refactoring/Rename, have support
code to extract source locations given a Unified Symbol Resolution set.
This support code is used by clang-rename and other tools that might not
be in the tree.

Currently field designated initializer are not supported.
So, renaming S::a to S::b in this code:

  S s = { .a = 10 };

will not extract the field designated initializer for a (the 'a' after the
dot).

This patch adds support for field designated initialized to
RecursiveSymbolVisitor and RenameLocFinder that is used in
createRenameAtomicChanges.

Differential Revision: https://reviews.llvm.org/D100310
The file was modifiedclang/unittests/Rename/RenameClassTest.cpp
The file was modifiedclang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
Commit 58ad2b9e06ecfbcee025b791de672dce31ebd3f2 by spatel
[InstCombine] add tests for shift+trunc signbit check; NFC
The file was modifiedllvm/test/Transforms/InstCombine/compare-signs.ll
Commit 5354a213a0e309f1bfd8d80c5041a559608d7968 by spatel
[InstCombine] fold shift+trunc signbit check

https://alive2.llvm.org/ce/z/6vQvrP

This solves:
https://llvm.org/PR49866
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/compare-signs.ll
Commit 05df5c54e8e15a444f59c535b2935fc19a90579b by julian.lettner
[TSan] Allow test contents to be copied before execution

Allow test contents to be copied before execution by using
`%ld_flags_rpath_so`, `%ld_flags_rpath_exe`, and `%dynamiclib`
substitutions.

rdar://76302416

Differential Revision: https://reviews.llvm.org/D100240
The file was modifiedcompiler-rt/test/tsan/on_initialize_finalize_hooks.cpp
Commit 0deeaaca399b381ddccffde71c921e7636be7fdc by antiagainst
[mlir] Move memref.subview patterns to MemRef/Transforms/

These patterns have been used as a prerequisite step for lowering
to SPIR-V. But they don't involve SPIR-V dialect ops; they are
pure memref/vector op transformations. Given now we have a dedicated
MemRef dialect, moving them to Memref/Transforms/, which is a more
suitable place to host them, to allow used by others.

This commit just moves code around and renames patterns/passes
accordingly. CMakeLists.txt for existing MemRef libraries are
also improved along the way.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D100326
The file was addedmlir/lib/Dialect/MemRef/Utils/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/MemRef/IR/CMakeLists.txt
The file was modifiedmlir/include/mlir/Conversion/StandardToSPIRV/StandardToSPIRVPass.h
The file was addedmlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/test/Dialect/MemRef/fold-subview-ops.mlir
The file was modifiedmlir/include/mlir/Conversion/StandardToSPIRV/StandardToSPIRV.h
The file was modifiedmlir/lib/Dialect/MemRef/CMakeLists.txt
The file was removedmlir/test/Conversion/StandardToSPIRV/subview-to-spirv.mlir
The file was addedmlir/include/mlir/Dialect/MemRef/Transforms/Passes.h
The file was addedmlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/MemRef/Transforms/FoldSubViewOps.cpp
The file was modifiedmlir/include/mlir/Dialect/MemRef/CMakeLists.txt
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was removedmlir/test/Conversion/StandardToSPIRV/legalization.mlir
The file was modifiedmlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
The file was removedmlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt
Commit a3fabc79ae9d7dd76545b2abc2a3bfb66c6d3175 by nikita.ppv
Revert "[InstCombine] when calling conventions are compatible, don't convert the call to undef idiom"

This reverts commit f4d682d6ce6c5b3a41a0acf297507c82f5c21eef.

This caused a significant compile-time regression:
https://llvm-compile-time-tracker.com/compare.php?from=4b7bad9eaea2233521a94f6b096aaa88dc584e23&to=f4d682d6ce6c5b3a41a0acf297507c82f5c21eef&stat=instructions

Possibly this is due to overeager parsing of target triples.
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was removedllvm/test/Transforms/InstCombine/call-callconv-mismatch.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
Commit 2eb98d89ac866e32cb56727174e4d1c1413479c8 by antiagainst
[mlir][spirv] Allow bitwidth emulation on runtime arrays

Runtime arrays are converted from memrefs with unknown
dimensions.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D100335
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
Commit ed1734931aa9ac074b9430b9e643b0d0a67b3227 by caij2003
Fix up build failures after cfce5b26a888cb979d65252275df1f977dc1e6c8

Build log: https://lab.llvm.org/buildbot/#/builders/37/builds/3538

Differential Revision: https://reviews.llvm.org/D98916
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
Commit 23b8264b5255efdc7c87c189feab04520a1979d5 by antiagainst
[mlir][spirv] Fix runtime array stride when emulating bitwidth

The stride should be calculated with the converted array element
type, not the original input type.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D100337
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-types-to-spirv.mlir
Commit 0a614fff4f47b549fd306196a88e22e5d493cd57 by i
[ARM] Fix -Wmissing-field-initializers
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
Commit 59334755e4c8eea88f1541e7fbefb1b25ac094c2 by flo
[SimplifyCFG] Add test requiring only hoisting a branch.
The file was modifiedllvm/test/Transforms/SimplifyCFG/common-code-hoisting.ll
Commit 9e81325b8769172feab4c3e2726d676bae714e96 by flo
[PhaseOrdering] Add test for SimplifyCFG and LV interaction.
The file was addedllvm/test/Transforms/PhaseOrdering/AArch64/lit.local.cfg
The file was addedllvm/test/Transforms/PhaseOrdering/AArch64/hoisting-required-for-vectorization.ll
Commit c2ad7c23707cece995ee9070283a72c4afc8c0fe by saugustine
Revert "[clangd] Provide a way to disable external index"

This reverts commit 63bc9e443502ab6def2dec0b5ffe64a522f801cc.

This breaks llvm-project/clang-tools-extra/clangd/tool/ClangdMain.cpp:570:11:

with error: enumeration value 'None' not handled in switch [-Werror,-Wswitch]
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
Commit c5fda0e6629fb4674b9e2e80cfd360c2758bd136 by Yuanfang Chen
Reland "Revert "[InstCombine] when calling conventions are compatible, don't convert the call to undef idiom""

This reverts commit a3fabc79ae9d7dd76545b2abc2a3bfb66c6d3175 (relands
f4d682d6ce6c5b3a41a0acf297507c82f5c21eef with fix for the compile-time
regression issue).
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was addedllvm/test/Transforms/InstCombine/call-callconv-mismatch.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
Commit 3842de49f6551f597b4c7c78caa8ba7003755cec by mgorny
[lldb] [gdb-remote client] Refactor handling qSupported

Refactor the qSupported handler to split the reply into an array,
and identify features within the array rather than searching the string
for partial matches.  While at it, use StringRef.split() to process
the compression list instead of reinventing the wheel.

Switch the arguments to MaybeEnableCompression() to use an ArrayRef
of StringRefs to simplify parameter passing from GetRemoteQSupported().

Differential Revision: https://reviews.llvm.org/D100146
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
Commit 27dfcd978edc94b4b46218b12a3dfbcdc47ae4c8 by n.james93
[clang-tidy] Add <utility> include to misc-uniqueptr-reset-release

This is the only remaining check that creates `std::move` includes but doesn't add a `<utility>` include.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97683
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/misc-uniqueptr-reset-release.rst
The file was modifiedclang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.h
The file was modifiedclang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
Commit 4914c9836765532ffaec9c85bc57690dbdaeb50f by ndesaulniers
[SantizerCoverage] handle missing DBG MD when inserting libcalls

Instruction::getDebugLoc can return an invalid DebugLoc. For such cases
where metadata was accidentally removed from the libcall insertion
point, simply insert a DILocation with line 0 scoped to the caller. When
we can inline the libcall, such as during LTO, then we won't fail a
Verifier check that all calls to functions with debug metadata
themselves must have debug metadata.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D100158
The file was addedllvm/test/Instrumentation/SanitizerCoverage/crit-edge-sancov.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Commit a8ab1f98d22cf15f39dd1c2ce77675e628fceb31 by aeubanks
[Evaluator] Look through invariant.group intrinsics

Turning on -fstrict-vtable-pointers in Chrome caused an extra global
initializer. Turns out that a llvm.strip.invariant.group intrinsic was
causing GlobalOpt to fail to step through some simple code.

We can treat *.invariant.group uses as simply their operand.
Value::stripPointerCastsForAliasAnalysis() does exactly this. This
should be safe because the Evaluator does not skip memory accesses due
to invariants or alias analysis.

However, we don't want to leak that we've stripped arbitrary pointer
casts to users of Evaluator, so we bail out if we evaluate a function to
any constant, since we may have looked through *.invariant.group calls
and aliasing pointers cannot be arbitrarily substituted.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D98843
The file was modifiedllvm/include/llvm/Transforms/Utils/Evaluator.h
The file was modifiedllvm/lib/Transforms/Utils/Evaluator.cpp
The file was modifiedllvm/test/Transforms/GlobalOpt/invariant.group.ll
Commit 5d214238a15ca28cca99f1a5db6ff8c4c5866711 by pirama
[compiler-rt][aarch64] Add PAC-RET/BTI property to hwasan_interceptors_vfork.S

D100143 added similar annotations but missed this file.

Differential Revision: https://reviews.llvm.org/D100354
The file was modifiedcompiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
Commit 237d4ee8358e7eee8471c9e12faf1932cc6408ee by ndesaulniers
[JumpThreading] merge debug info when merging select+br

Jump threading can replace select then unconditional branch with
conditional branch, but when doing so loses debug info.

This destructive transform is eventually leading to a failed Verifier
run during full LTO builds of the Linux kernel with CFI and KCOV
enabled, as reported in PR39531.

ModuleSanitizerCoveragePass will insert calls to
__sanitizer_cov_trace_pc, and sometimes split critical edges,
using whatever debug info may or may not exist for the branch for
the added libcall. Since we can inline calls to
__sanitizer_cov_trace_pc due to LTO, this can lead to the error
observed in PR39531 when the debug info isn't propagated to
the libcall, because of prior destructive transforms that failed to
retain debug info.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D100137
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was addedllvm/test/Transforms/JumpThreading/branch-debug-info2.ll
Commit 6c4f2508e4278ac789230cb05f2bb56a8a7297dc by Ahmed Bougacha
Revert "[lldb] [gdb-remote client] Refactor handling qSupported"

This reverts commit 3842de49f6551f597b4c7c78caa8ba7003755cec.

It fails to build, with errors such as:
  GDBRemoteCommunicationClient.cpp:1005:20:
  error: no viable overloaded '='
          avail_name = compression;
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
Commit 1310a19af06262122a6e9e4f6fbbe9c39ebad76e by ajcbik
[mlir] Use MCJIT to fix integration tests

Since c42c67ad ('Re-apply "[lli] Make -jit-kind=orc the default JIT
engine"'), ORC is the default JIT. Unfortunately, ORC seems to
ignore the --entry-function flag, which breaks all tests that
use the flag, namely the AMX and X86Vector integration tests.
This has been reported in PR#49906
(https://bugs.llvm.org/show_bug.cgi?id=49906).

Work around this by explicitly selecting MCJIT.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D100344
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/AMX/test-mulf.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/AMX/test-tilezero.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-vp2intersect-i32.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-sparse-dot-product.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/AMX/test-muli.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/X86Vector/test-mask-compress.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/AMX/test-muli-ext.mlir
The file was modifiedmlir/test/Integration/Dialect/Vector/CPU/AMX/test-tilezero-block.mlir
Commit e96df3e531f506eea75da0f13d0f8aa9a267f975 by gulfem
[Passes] Add relative lookup table converter pass

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

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

Differential Revision: https://reviews.llvm.org/D94355
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was addedllvm/include/llvm/Transforms/Utils/RelLookupTableConverter.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was addedllvm/test/Transforms/RelLookupTableConverter/X86/no_relative_lookup_table.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was addedllvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
The file was modifiedllvm/docs/Passes.rst
The file was addedllvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit 30f591c3869f3bbe6eca1249dcef1b8337312de6 by Jonas Devlieghere
[lldb] Disable TestLaunchProcessPosixSpawn.py with reproducers
The file was modifiedlldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
Commit d926498d9febed7f703e29fd06f7825d54ee91a4 by llvmgnsyncbot
[gn build] Port e96df3e531f5
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Commit ae33eef5055ef1f55df0df3be0b8851aaf9f4efd by gcmn
[MLIR] Add a switch operation to the standard dialect

This is similar to the definition of llvm.switch, providing
unstructured branch-based control flow. It differs from the LLVM
operation in that it accepts any signless integer (not only an i32),
takes no branch weights (the same as the Branch and CondBranch ops),
and has a slightly different syntax for the default case that includes
it in the list of cases with an explicit `default` keyword.

Also included are several canonicalizers.

See https://llvm.discourse.group/t/rfc-add-std-switch-and-scf-switch/3090

Reviewed By: rriddle, bondhugula

Differential Revision: https://reviews.llvm.org/D99925
The file was modifiedmlir/test/Dialect/Standard/canonicalize-cf.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was addedmlir/test/Dialect/Standard/parser.mlir
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Dialect/Standard/ops.mlir
Commit 3fc1fe8db830524596bee0d35814d76e5d17ed39 by freddy.ye
[X86] Support -march=rocketlake

Reviewed By: skan, craig.topper, MaskRay

Differential Revision: https://reviews.llvm.org/D100085
The file was modifiedclang/test/CodeGen/attr-target-mv.c
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedclang/test/CodeGen/target-builtin-noerror.c
The file was modifiedcompiler-rt/lib/builtins/cpu_model.c
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h
The file was modifiedllvm/test/CodeGen/X86/cpus-intel.ll
The file was modifiedclang/test/Driver/x86-march.c
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
Commit a6628e596e70bf5c31058dec582c8a7907928e98 by ezhulenev
[mlir] Async: add automatic reference counting at async.runtime operations level

Depends On D95311

Previous automatic-ref-counting pass worked with high level async operations (e.g. async.execute), however async values reference counting is a runtime implementation detail.

New pass mostly relies on the save liveness analysis to place drop_ref operations, and does better verification of CFG with different liveIn sets in block successors.

This is almost NFC change. No new reference counting ideas, just a cleanup of the previous version.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D95390
The file was modifiedmlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
The file was modifiedmlir/include/mlir/Dialect/Async/Passes.h
The file was modifiedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
The file was addedmlir/test/Dialect/Async/async-runtime-ref-counting-opt.mlir
The file was addedmlir/test/Dialect/Async/async-runtime-ref-counting.mlir
The file was removedmlir/lib/Dialect/Async/Transforms/AsyncRefCounting.cpp
The file was modifiedmlir/test/mlir-cpu-runner/async.mlir
The file was modifiedmlir/include/mlir/Dialect/Async/Passes.td
The file was modifiedmlir/test/mlir-cpu-runner/async-group.mlir
The file was addedmlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCountingOpt.cpp
The file was modifiedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
The file was addedmlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
The file was removedmlir/test/Dialect/Async/async-ref-counting-optimization.mlir
The file was modifiedmlir/test/mlir-cpu-runner/async-value.mlir
The file was removedmlir/test/Dialect/Async/async-ref-counting.mlir
The file was modifiedmlir/lib/Dialect/Async/Transforms/CMakeLists.txt
The file was removedmlir/lib/Dialect/Async/Transforms/AsyncRefCountingOptimization.cpp
Commit e50aa1af2d3b8c8d428734bb1752ec45bcc0eb33 by ybrevnov
[NARY][NFC] Use hasNUsesOrMore instead of getNumUses since it's more
efficient.
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
Commit 80aa9b0f7b3ebe53220a398b2939610d8a49e24b by czhengsz
[PowerPC] stop reverse mem op generation for some cases.

We should consider the feeder user number when we do reverse memory
operation transformation. Otherwise, we may get negative impact.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D100166
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/vsx-shuffle-le-multiple-uses.ll
Commit c362179b0a125c164cd7f256977d95fc15ba5edf by serguei.katkov
[GreedyRA ORE] Add debug location for function level report

Reviewers: reames, MatzeB, anemet, thegameg
Reviewed By: thegameg
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D100168
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-spill-remarks.ll
Commit dad5caa59e6b2bde8d6cf5b64a972c393c526c82 by akhuang
Revert "Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands""

This change causes an assert / segmentation fault in LTO builds.

This reverts commit f2e4f3eff3c9135d92840016f8ed4540cdd1313b.
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/IR/Operator.cpp
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo-sink.ll
The file was removedllvm/test/DebugInfo/salvage-nonconst-binop.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was removedllvm/test/DebugInfo/salvage-gep.ll
The file was modifiedllvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was modifiedllvm/include/llvm/IR/Operator.h
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
Commit 7dbb4274ef92c32b02c427d4844f3ddfdd05ef58 by Jonas Devlieghere
[lldb] Fix replaying TestMemoryRead.py from reproducer

Remap the external file to the one embedded in the reproducer.
The file was modifiedlldb/test/API/functionalities/memory/read/TestMemoryRead.py
Commit fe31f11cc82135a9f612300a66fd6b80cc3245c3 by cjdb
[libcxx] adds `std::incrementable_traits` to <iterator>

Implements parts of:
    - P0896R4 The One Ranges Proposal

Depends on D99041

Differential Revision: https://reviews.llvm.org/D99141
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/include/__config
The file was addedlibcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp
The file was modifiedlibcxx/docs/Cxx2aStatusPaperStatus.csv
Commit 0fcea41920cef7414cd55f5fdb2f335f6d2ddb92 by cjdb
[libcxx][NFC] tweaks `incrementable_traits` per review

One suggestion was missed and is being patched now.
The file was modifiedlibcxx/include/iterator
Commit b28ec3fd18ae40a17aeef410c82c0181168c11d4 by freddy.ye
[compiler-rt][X86] fix build fail after "[X86] Support -march=rocketlake"
This copy error will cause a failed builder on sanitizer-x86_64-linux
The file was modifiedcompiler-rt/lib/builtins/cpu_model.c
Commit 7c9bbbf7358cfa036c3d53eeb27be04bdfc7ba5b by craig.topper
[RISCV] Rename RISCVISD::SHFLI to RISCVISD::SHFL and don't require the second operand to be an immediate.

Prep work for adding intrinsics in the future.

Left an assert that the input is constant in ReplaceNodeResults,
as the intrinsic shouldn't go through that path.
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit cc86a8aa53a316860da8c32b4817efd2609bd96f by tlively
[WebAssembly] Test i64x2.abs encoding

This test was disabled despite the instruction having been implemented for a
long time. This commit just enables the test.

Differential Revision: https://reviews.llvm.org/D100345
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
Commit aa6eb2af10094e427827343b67b25d606dde10b7 by kareem.ergawy
[MLIR][LinAlg] Implement detensoring cost-modelling.

This patch introduces the neccessary infrastructure changes to implement
cost-modelling for detensoring. In particular, it introduces the
following changes:
- An extension to the dialect conversion framework to selectively
convert sub-set of non-entry BB arguments.
- An extension to branch conversion pattern to selectively convert
sub-set of a branche's operands.
- An interface for detensoring cost-modelling.
- 2 simple implementations of 2 different cost models.

This sets the stage to explose cost-modelling for detessoring in an
easier way. We still need to come up with better cost models.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D99945
The file was addedmlir/test/Dialect/Linalg/detensorize_trivial.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/FuncConversions.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
The file was addedmlir/test/Dialect/Linalg/detensorize_while_failure.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/FuncConversions.cpp
The file was addedmlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
The file was addedmlir/test/Dialect/Linalg/detensorize_while.mlir
The file was removedmlir/test/Dialect/Linalg/detensorized_while.mlir
The file was addedmlir/test/Dialect/Linalg/detensorize_if.mlir
The file was modifiedmlir/include/mlir/Transforms/DialectConversion.h
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
The file was modifiedmlir/test/Dialect/Linalg/detensorized_0d.mlir
Commit c9cf394f796e181b9ee3bc9b69d84fbbba2fe45c by pavel
[lldb] Replace NativeProcess delegate list with a single delegate

In all this time, we've never used more than one delegate. The logic to
support multiple delegates is therefore untested, and becomes
particularly unwieldy once we need to support multiple processes.

Just remove it.
The file was modifiedlldb/source/Host/common/NativeProcessProtocol.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
Commit 95c614afcd4de71d00a240d6a4a02c036c972ed0 by alexey.bader
[NFC][SYCL] Drop idle triple component from regression tests.
The file was modifiedclang/test/CodeGenSYCL/convergent.cpp
The file was modifiedclang/test/CodeGenSYCL/filescope_asm.c
Commit 6e098e133dc7b0fb7006bd768989ef65dfaf341d by rickytaylor26
[M68k] Implement AsmParser

This is a work-in-progress implementation of an assembler for M68k.

Outstanding work:
- Updating existing tests assembly syntax
- Writing new tests for the assembler (and disassembler)

I've left those until there's consensus that this approach is okay (I hope that's okay!).

Questions I'm aware of:
- Should this use Motorola or gas syntax? (At the moment it uses Motorola syntax.)
- The disassembler produces a table at runtime for disassembly generated from the code beads. Is this okay? (This is less than ideal but as I mentioned in my llvm-dev post, it's quite complicated to write a table-gen parser for code beads.)

Depends on D98519

Depends on D98532

Depends on D98534

Depends on D98535

Depends on D98536

Differential Revision: https://reviews.llvm.org/D98537
The file was addedllvm/test/MC/M68k/instructions.s
The file was addedllvm/lib/Target/M68k/AsmParser/CMakeLists.txt
The file was modifiedllvm/lib/Target/M68k/CMakeLists.txt
The file was modifiedllvm/lib/Target/M68k/M68kInstrInfo.td
The file was addedllvm/test/MC/M68k/lit.local.cfg
The file was modifiedllvm/lib/Target/M68k/M68k.td
The file was addedllvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
Commit cd854e686f0c3bfc8bcf4d6fc2549115010da260 by marek.kurdej+llvm.org
[libc++] Fix test synopses and remove unused includes.
The file was modifiedlibcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/count1.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/equal_range2.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/equal_range1.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/equal_range1.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/equal_range_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/equal_range3.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/count3.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/count3.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/equal_range3.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/equal_range2.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/count2.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/count1.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/count2.compile.fail.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/count_transparent.pass.cpp
Commit 8a64d80a959bf2844df33f9112e456f33de7b468 by david.spickett
[lldb] Require x86 backend for a bunch of DWARF tests

By moving them into a folder with a local lit config
requiring x86. All these tests use x86 target triples.

There are two tests that require target-x86_64 because
they run program files (instead of just needing the backend).
Those are moved to the x86 folder also but their REQUIRES are
unchanged.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D100193
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-signature-loop.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/subprogram_ranges.test
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/ModuleOwnership/B.h
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/compilercontext.ll
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/ModuleOwnership/module.modulemap
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-dwarf5.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/find-variable-file-2.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-dwo-cross-reference.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_ranges.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-implicit-const.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/limit-debug-info.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value-bitfields.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/apple-index-is-used.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_TAG_GNU_call_site-DW_AT_low_pc.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dir-separator-posix.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5_tu_index_abbrev_offset.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-line-strp.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_loc_and_loclists.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-debug_line-file-index.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/parallel-indexing-stress.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-line-basic.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-method.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/win-i386-line-table.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwp-debug-types.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/limit-debug-info.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-method-local-struct.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/inline-function-address.ll
The file was removedlldb/test/Shell/SymbolFile/DWARF/dir-separator-no-comp-dir-relative-name.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_data_bit_offset-DW_OP_stack_value.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-line-tables.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-qualified-variable.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/lit.local.cfg
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/module.modulemap
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwo-type-in-main-file.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_basic_type_DW_ATE_UTF_nonC.ll
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/find-variable-file-2.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-names-compressed.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dir-separator-windows.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_OP_piece-struct.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/childless-compile-unit.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_variable-DW_AT_decl_file-DW_AT_abstract_origin-crosscu1.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-basic-type.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-method-local-struct.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_decl_file-DW_AT_specification-crosscu.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_declaration-with-children.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/win-i386-line-table.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/debug_loc-aslr.yaml
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_OP_piece-smaller-than-struct.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/static_scope.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_OP_piece-struct.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/A.h
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-index-is-used.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/debug-types-basic.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/ModuleOwnership/A.h
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-variable-dwo.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-split.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-missing-signature.test
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_ranges_and_rnglists.test
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-variable-file.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/inline-function-address-shared.test
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_ranges-missing-section.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/split-dwarf-multiple-cu.ll
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_line-relative_path.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5_tu_index_abbrev_offset.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_ranges_and_rnglists.test
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_loclists-dwo.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/module-ownership.mm
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/apple-index-is-used.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dir-separator-windows.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dir-separator-no-comp-dir.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-signature-loop.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists-dwo.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-atomic.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-variable-file.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_decl_file-DW_AT_specification-crosscu.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwo-type-in-main-file.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-inline-method.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_line-relative_path.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/subprogram_ranges.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/childless-compile-unit.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-implicit-const.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/inline-function-address.ll
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_low_pc-addrx.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_GNU_call_site-DW_AT_low_pc.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/debug-line-basic.script
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-line-basic.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/split-dwarf-inlining.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-basic.test
The file was removedlldb/test/Shell/SymbolFile/DWARF/split-dwarf-inlining.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_TAG_variable-DW_AT_const_value.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_loc.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/module-ownership.mm
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_loc_and_loclists.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/debug-types-basic.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/dir-separator-no-comp-dir-relative-name.lldbinit
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/dir-separator-no-comp-dir-relative-name.lldbinit
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/dir-separator-windows.lldbinit
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-inline-method.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_TAG_basic_type_DW_ATE_UTF_nonC.ll
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dir-separator-posix.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-address-ranges.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-partial-index.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_loclists_base.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/parallel-indexing-stress.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_low_pc-addrx.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwp-debug-types.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-dwarf5.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-qualified-variable.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value-bitfields.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-basic-namespace.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_loc-aslr.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/dir-separator-posix.lldbinit
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_line-tombstone.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dir-separator-no-comp-dir-relative-name.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_TAG_variable-DW_AT_decl_file-DW_AT_abstract_origin-crosscu1.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_loc.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/array-sizes.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-index-is-used.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-function-regex.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_aranges-empty-section.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/compilercontext.ll
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_loc-aslr.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-debug_line.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwp.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dir-separator-no-comp-dir.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-line-tables.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/subprogram_ranges.test
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_location-DW_AT_const_value.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-debug_line-file-index.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_variable-DW_AT_const_value.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/DW_TAG_variable-DW_AT_decl_file-DW_AT_abstract_origin-crosscu2.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_ranges.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-atomic.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5_locations.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-function-regex.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-split.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwp-separate-debug-file.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-variable-dwo.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwo.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/gnu-style-compression.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/dir-separator-posix.lldbinit
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_TAG_variable-invalid_location.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-basic-namespace.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-basic-type.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_data_bit_offset-DW_OP_stack_value.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-method.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/dir-separator-windows.lldbinit
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5_locations.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwp.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_ranges-missing-section.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/find-basic-variable.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_rnglists.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug-types-dwo-cross-reference.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_loclists_base.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/static_scope.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_location-DW_AT_const_value.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_aranges-empty-section.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-names-compressed.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-line-strp.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-partial-index.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/inline-function-address-shared.test
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/debug_loc-aslr.yaml
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/subprogram_ranges.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/split-dwarf-multiple-cu.ll
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_declaration-with-children.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_OP_piece-smaller-than-struct.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-basic.test
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/gnu-style-compression.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_variable-invalid_location.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/B.h
The file was removedlldb/test/Shell/SymbolFile/DWARF/debug_rnglists-dwo.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/DW_TAG_variable-DW_AT_decl_file-DW_AT_abstract_origin-crosscu2.s
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/debug_line-tombstone.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/debug-line-basic.script
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/find-basic-variable.cpp
Commit 96c82166b6e38fd0c138876fb21d2a61af3cfcac by david.spickett
[lldb][Arm/AArch64] Add basic disassemble tests for Arm/AArch64

Previously the test would fail if you built on Arm/AArch64
but did not have the x86 llvm backend enabled.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D100192
The file was modifiedlldb/test/API/python_api/disassemble-raw-data/TestDisassembleRawData.py
Commit a1f3187ca8a39a62f4a430da823c01aa7874b0d3 by david.spickett
[lldb] Require x86 for unwind no-return test

The core file used is built for i386 so we
need the x86 backend to be able to load it.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D100195
The file was modifiedlldb/test/API/functionalities/unwind/noreturn/module-end/TestNoReturnModuleEnd.py
Commit 121cff78a8032a73aa4fb820625dc1ecae8e3997 by pavel
Revert "[lldb] [Process] Watch for fork/vfork notifications" and associated followups

This commit has caused the following tests to be flaky:
TestThreadSpecificBpPlusCondition.py
TestExitDuringExpression.py

The exact cause is not known yet, but since both tests deal with
threads, my guess is it has something to do with the tracking of
creation of new threads (which the commit touches upon).

This reverts the following commits:
d01bff8cbdc98fb8751f7bf10af19b47ae5c445d,
ba62ebc48e8c424ce3a78ba01acda679d536dd47,
e761b6b4c58d4f7ae1073d925d7cb321d68ee93a,
a345419ee03095c8cdfbe1c2728467c4da8fa0a4.
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestMultiprocess.py
The file was removedlldb/test/Shell/Subprocess/vfork-follow-parent.test
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h
The file was removedlldb/test/Shell/Subprocess/Inputs/fork.cpp
The file was removedlldb/test/Shell/Subprocess/vfork-follow-parent-wp.test
The file was removedlldb/test/Shell/Subprocess/fork-follow-parent.test
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
The file was removedlldb/test/Shell/Subprocess/fork-follow-parent-wp.test
The file was removedlldb/test/Shell/Subprocess/clone-follow-parent-wp.test
The file was removedlldb/include/lldb/Host/linux/Host.h
The file was modifiedlldb/source/Host/linux/Host.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h
The file was removedlldb/test/Shell/Subprocess/lit.local.cfg
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.h
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
The file was removedlldb/test/Shell/Subprocess/clone-follow-parent.test
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
Commit ef30179efff24a02d5f7a3380a7f3cab247b1338 by gysit
[mlir][linalg] lower index operations during linalg to loop lowering.

The patch extends the linalg to loop lowering pass to replace all linalg index operations by the induction variables of the generated loop nests.

Differential Revision: https://reviews.llvm.org/D100364
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/test/Dialect/Linalg/loop-order.mlir
Commit ff31af4f55af65d173cedcd2f09063c81c8f4f12 by mgorny
[lldb] [gdb-remote client] Refactor handling qSupported

Refactor the qSupported handler to split the reply into an array,
and identify features within the array rather than searching the string
for partial matches.  While at it, use StringRef.split() to process
the compression list instead of reinventing the wheel.

Switch the arguments to MaybeEnableCompression() to use an ArrayRef
of StringRefs to simplify parameter passing from GetRemoteQSupported().

Differential Revision: https://reviews.llvm.org/D100146
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
Commit ecc6965b2342397a215b00e8e476d8d37d080322 by kadircet
Revert "Revert "[clangd] Provide a way to disable external index""

This reverts commit c2ad7c23707cece995ee9070283a72c4afc8c0fe while
adding the handling for the new enum value into the switch statement.
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/Config.h
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
Commit b757bc14e673c8f8b987cadfe165853fb3de10f1 by sven.vanhaastregt
[OpenCL][NFC] Rename isOpenCLVersionContainedInMask

Drop the double occurrence of "is".
The file was modifiedclang/include/clang/Basic/OpenCLOptions.h
Commit 467b1f1cd2f2774714ce59919702c3963914b6a8 by flo
[SimplifyCFG] Allow hoisting terminators only with HoistCommonInsts=false.

As a side-effect of the change to default HoistCommonInsts to false
early in the pipeline, we fail to convert conditional branch & phis to
selects early on, which prevents vectorization for loops that contain
conditional branches that effectively are selects (or if the loop gets
vectorized, it will get vectorized very inefficiently).

This patch updates SimplifyCFG to perform hoisting if the only
instruction in both BBs is an equal branch. In this case, the only
additional instructions are selects for phis, which should be cheap.

Even though we perform hoisting, the benefits of this kind of hoisting
should by far outweigh the negatives.

For example, the loop in the code below will not get vectorized on
AArch64 with the current default, but will with the patch. This is a
fundamental pattern we should definitely vectorize. Besides that, I
think the select variants should be easier to use for reasoning across
other passes as well.

https://clang.godbolt.org/z/sbjd8Wshx

```
double clamp(double v) {
  if (v < 0.0)
    return 0.0;
  if (v > 6.0)
    return 6.0;
  return v;
}

void loop(double* X, double *Y) {
  for (unsigned i = 0; i < 20000; i++) {
    X[i] = clamp(Y[i]);
  }
}
```

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D100329
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/common-code-hoisting.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/AArch64/hoisting-required-for-vectorization.ll
Commit 45f8946a759a780e6131256d6d206977b9c128ee by martin
[CodeView] Fix the ARM64 CPUType enum

The old, incorrect one seems to have been added in
d41ac895bb810d0b15844773cbecbf394d914010, with a similarly placed
entry added in EnumTables.cpp in
eb4d6142dcd53d79d8f8a86908a035582965fc52.

This matches the value documented at
https://docs.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cpu-type-e?view=vs-2019.

This fixes running obj2yaml on an object file generated by MSVC.

Differential Revision: https://reviews.llvm.org/D100306
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/CodeView.h
The file was modifiedllvm/lib/DebugInfo/CodeView/EnumTables.cpp
Commit fa936b610fd019b73de82f61de83bae553251fdb by sander.desmalen
[AArch64][SVE] Fix dup/dupq intrinsics for C++.

This patch changes the builtin prototype to use 'b' (boolean) instead
of the default integer element type. That fixes the dup/dupq intrinsics
when compiling with C++.

This patch also fixes one of the defines for __ARM_FEATURE_SVE2_BITPERM.

Reviewed By: kmclaughlin

Differential Revision: https://reviews.llvm.org/D100294
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was modifiedclang/utils/TableGen/SveEmitter.cpp
Commit 4217e6bf95f56d7c11684403687d20a7ef79ba09 by andrzej.warzynski
[flang] Fix a test (use %s instead of $s)

With the typo ($S instead of %s), the driver was expecting
input from stdin. In such cases, it prints:
```
Enter Fortran source
Use EOF character (^D) to end file
```
This was piped to FileCheck. Together with the available `CHECK-NOT`
statement, this was sufficient for the test to pass (incorrectly).

This patch makes sure that the provided input file is used instead of
stdin.

Differential Revision: https://reviews.llvm.org/D100301
The file was modifiedflang/test/Semantics/call17.f90
Commit aab81c2f40d2098f9014473a1e7c8fb7b074360b by mgorny
[lldb] [gdb-remote server] Refactor handling qSupported

Refactor handling qSupported to use a virtual HandleFeatures() method.
The client-provided features are split into an array and passed
to the method.  The method returns an array of server features that are
concatenated into the qSupported response to the server.

The base implementation of HandleFeatures()
in GDBRemoteCommunicationServerCommon now includes only flags common
to both platform server and llgs, while llgs-specific flags are inserted
in GDBRemoteCommunicationServerLLGS.

Differential Revision: https://reviews.llvm.org/D100140
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h

Summary

  1. [PowerPC] Allow the PowerPC RHEL buildbot to use cmake with test-suite (details)
  2. [ve] fix cmake cache param (details)
Commit 4b8974b63dcc1c5eab28a6ec33328b30e63e396b by conanap
[PowerPC] Allow the PowerPC RHEL buildbot to use cmake with test-suite

We would like to update the PowerPC RHEL buildbot (clang-ppc64le-rhel) to use
cmake instead of LNT, so that we can streamline our process whenever we update
CMakeList.txt.

Differential revision: https://reviews.llvm.org/D99097
The file was modifiedzorg/buildbot/builders/ClangBuilder.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit a43b7ccb965ff70fed880fd9d607ee203dbd8c50 by simon.moll
[ve] fix cmake cache param
The file was modifiedbuildbot/osuosl/master/config/builders.py