SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. [lldb] Remove the "Test Reproducer" stage form the fast incremental bot. (details)
  2. [lldb] Merge code path for 'sanitized' variant. (NFC) (details)
  3. [lldb] Add lldb-cmake-reproducers (details)
  4. [lldb] Retab lldb-cmake and lldb-cmake-sanitized (NFC) (details)
  5. [lldb] Disable emails on the reproducer bot (details)
Commit 00e469de4882f5cdca2b9cfb5b41c98a41efc633 by Jonas Devlieghere
[lldb] Remove the "Test Reproducer" stage form the fast incremental bot.

Now that we can capture and replay the complete test suite, I'm moving
everything into a dedicated bot that runs less frequently.
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit aa99b28bf45d590685945b3af37ca05c9be302bb by Jonas Devlieghere
[lldb] Merge code path for 'sanitized' variant. (NFC)
The file was modifiedzorg/jenkins/monorepo_build.py
Commit 4916c6516f9a455ae9b26deca26fc8f6fb738cdc by Jonas Devlieghere
[lldb] Add lldb-cmake-reproducers
The file was addedzorg/jenkins/jobs/jobs/lldb-cmake-reproducers
Commit aaeb639e70c6a09a3fdf1ce40b8dde65d01544fd by Jonas Devlieghere
[lldb] Retab lldb-cmake and lldb-cmake-sanitized (NFC)
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-sanitized
Commit 32a881a12e43a709ffa19d161f6559cc58e94abe by Jonas Devlieghere
[lldb] Disable emails on the reproducer bot
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake-reproducers

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. llvm-dwarfdump.h - remove unnecessary WithColor.h include. NFC. (details)
  2. DWARFDebugMacro.h - remove unnecessary WithColor.h include. NFC. (details)
  3. Fix MSVC signed/unsigned comparison warnings. NFC. (details)
  4. [AMDGPU][MC][GFX908] Corrected src0 of v_accvgpr_write to accept only VGPRs and inline constants. (details)
  5. Fixed bot failure after d20bf5a7258d4b6a7 (details)
  6. [X86][SSE] Peek though MOVMSK source sign bits using SimplifyMultipleUseDemandedBits (details)
  7. [MLIR] Move `ConcatOp` to its lexicographic position (details)
  8. WithColor.h - reduce unnecessary includes to forward declarations. NFC. (details)
  9. FileOutputBuffer.h - remove unused includes. NFC. (details)
  10. [MLIR] Tidy up documentation for `Shape_JoinOp`, `Shape_ReduceOp`, and (details)
  11. [MLIR] Add TensorFromElementsOp to Standard ops. (details)
  12. [MLIR] Add `index_to_size` and `size_to_index` to the shape dialect (details)
  13. AMDGPU: Add baseline test for ptrmask infer address space (details)
  14. InferAddressSpaces: Handle ptrmask intrinsic (details)
  15. [MLIR] Add `num_elements` to the shape dialect (details)
  16. [mlir][gpu][mlir-cuda-runner] Refactor ConvertKernelFuncToCubin to be generic. (details)
  17. [MLIR] Fix operand type in `from_extent_tensor` in the shape dialect (details)
  18. Prevent test from failing in my home directory (details)
  19. SymbolicFile.h - removed unused FileSystem.h include. NFC. (details)
  20. AMDGPU: Make S_DENORM_MODE not be a scheduling boundary (details)
  21. libclc: Compile with -nostdlib (details)
  22. AMDGPU: Add missing test for s_denorm_mode scheduling (details)
  23. [clangd] Work around PS4 -fno-exceptions, easier than disabling tests? (details)
  24. [ASTMatchers] Add traversal-kind support to `DynTypedMatcher` (details)
  25. [mlir] Make translation libraries available through MLIRConfig.cmake (details)
  26. [libTooling] Fix Transformer to work with ambient traversal kinds. (details)
  27. [x86] Propagate memory operands during call frame optimization (details)
  28. [analyzer] Merge implementations of SymInt, IntSym, and SymSym exprs (details)
  29. [analyzer] Refactor range inference for symbolic expressions (details)
  30. [analyzer] Generalize bitwise OR rules for ranges (details)
  31. [analyzer] Generalize bitwise AND rules for ranges (details)
  32. [analyzer] Introduce reasoning about symbolic remainder operator (details)
  33. Remove WrapperMatcherInterface (details)
  34. [mlir] Use ValueRange instead of ArrayRef<Value> (details)
  35. [mlir] Fix mismatched-tags warning (details)
  36. [AMDGPU] Reject moving PHI to VALU if the only VGPR input originated from move immediate (details)
  37. [libc++] Complete overhaul of constexpr support in std::array (details)
  38. Make VE.def a textual header (details)
  39. [clang-tidy] Add abseil-string-find-str-contains checker. (details)
  40. [llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support. (details)
  41. Create utility function to Merge Adjacent Basic Blocks (details)
  42. [SDAG] Don't require LazyBlockFrequencyInfo at optnone (details)
  43. [gn build] Port 7cfdff7b4a6 (details)
  44. Fix the crashlog.py script's use of the load_address property. (details)
  45. [X86] Add 'avx512vp2intersect' to getHostCPUFeatures. (details)
  46. [PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag. (details)
  47. Default to generating statepoints with deopt and gc-transition bundles if needed (details)
  48. [analyzer] Remove unused function. NFC. (details)
  49. [analyzer] Remove unused function declaration. NFC. (details)
  50. [ThinLTO] Compute the basic block count across modules. (details)
  51. [IR] Avoid linear scan in MDNode::intersect() (NFC) (details)
  52. [clang-tidy] Fix build broken by commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 (D80023) (details)
  53. [analyzer] SATestBuild.py: Make verbosity level a cmd option (details)
  54. [lldb/Reproducers] Add top-level-target check-lldb-reproducers (details)
  55. [Statepoint] Sink logic about actual callee into GCStatepointInst (details)
  56. [mlir][GPU] Link relevant LLVM components in GPUCommon instead of test (details)
  57. [mlir][Linalg] Add pass to remove unit-extent dims from tensor (details)
  58. [clang] Avoid linking libdl unless needed (details)
  59. [libc] Fixing the build command for benchmarks. (details)
  60. AMDGPU: Add intrinsic for s_setreg (details)
  61. [LoopUnroll] Support loops with exiting block that is neither header nor (details)
  62. [libc++] NFC: Remove outdated numbering in <bit> synopsis (details)
  63. AMDGPU: Handle rewriting ptrmask for more address spaces (details)
  64. [Statepoint] Convert a few more isStatepoint calls to idiomatic isa/cast (details)
  65. AMDGPU/GlobalISel: precommit extractelement test. NFC. (details)
  66. [AArch64] Add native CPU detection for Neoverse N1 (details)
  67. Revert "[LoopUnroll] Support loops with exiting block that is neither header nor" (details)
  68. [llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose (details)
  69. Add tests for preallocated + musttail (details)
  70. Improve test infrastructure in SyntaxTree (details)
  71. add isAtPosition narrowing matcher for parmVarDecl (details)
  72. [Docs] Correct description of lldbinit behavior (details)
  73. [StackSafety] Remove SetMetadata parameter (details)
  74. [StackSafety] Don't run datafow on allocas (details)
  75. [NFC,StackSafety] Move internal offset calculation (details)
  76. [StackSafety] Lazy calculations (details)
  77. [lldb-vscode] Make it possible to run vsce package (details)
  78. [Clang] Enable KF and KC mode for [_Complex] __float128 (details)
  79. [Statepoint] Use iterate_range.empty [NFC] (details)
  80. [Statepoint] Sink actual_args and gc_args to GCStatepointInst [NFC] (details)
  81. [Statepoints] Sink routines for grabbing projections to GCStatepointInst [NFC] (details)
  82. [MachineLICM] Assert that locations from debug insts are not lost (details)
  83. [MachineVerifier] Verify that a DBG_VALUE has a debug location (details)
  84. [LiveDebugValues] Add cutoffs to avoid pathological behavior (details)
  85. [ARM] More tests for MVE LSR and float issues. NFC (details)
  86. [MLIR] Fix build when NVPTX is not enabled (details)
  87. [mlir] Extend standalone example by standalone-translate (details)
  88. [SVE] Eliminate calls to default-false VectorType::get() from Analysis (details)
  89. Run Coverage pass before other *San passes under new pass manager, round 2 (details)
  90. [NFC,StackSafety] clang-tidy warning fixes (details)
  91. [scudo] Fix deadlock in ScudoWrappersCTest.DisableForkEnable test. (details)
  92. [Tests] Switch a few statepoint tests to using operand bundles (details)
  93. [Tests] Remove deopt operands from SafepointIRVerfier tests (details)
  94. Revert "Run Coverage pass before other *San passes under new pass manager, round 2" (details)
  95. [SVE] Eliminate calls to default-false VectorType::get() from mlir (details)
  96. [libc][NFC][Obvious] Remove line break from a CMake message. (details)
  97. [mlir][Vector] Fix vector.transfer alignment calculation (details)
  98. [libc][NFC][Obvious] Fix few header guards in src/threads. (details)
  99. [X86] Fix a comment reference to registers R8L..R15L to use R8B..R15B like everywhere else. NFC (details)
  100. [Tests] Update a few more statepoint tests (details)
  101. unsigned -> Register for readability. (details)
  102. [mlir] Add test to check if standalone dialect is registered (details)
  103. Fix handling of default arguments in __attribute__((enable_if)). (details)
  104. [NFC,StackSafety] Add test flag (details)
  105. clang-format xray InstrumentationMap.cpp (details)
  106. [xray] Add llvm-xray extract support for 32 bit ARM (details)
  107. [X86] Add test case to show fast-isel incorrectly emitting a 64-bit movabsq instruction in 32-bit mode when using constant pools with -code-model=large. NFC (details)
  108. Disable `duplicate_os_log_reports.cpp` test. (details)
  109. Test update for a7fa35a629e85a72b8cf07a8f95c7c09d9663808 (details)
  110. [lldb/CMake] Set both the BUILD and INSTALL RPATH on macOS (details)
  111. [lld][WebAssembly] Convert some lld tests to assembly (details)
  112. Run Coverage pass before other *San passes under new pass manager, round 2 (details)
  113. [X86] Fix a nullptr dereference in X86Subtarget::classifyLocalReference when compiling with -mcmodel=medium -fpic and using a constant pool (details)
  114. GlobalISel: Work on improving stock set of legality predicates (details)
  115. [NFC][SLP] Add test case exposing SLP cost model bug. (details)
  116. [AMDGPU] DWARF Proposal For Heterogeneous Debugging (details)
  117. [LoopUnroll] Support loops with exiting block that is neither header nor (details)
  118. [llvm-xray][test] Fix unsupported-elf32.txt after D80185 (details)
Commit 84be4278e7966c8747aad48aa49de9bcd9f1d730 by llvm-dev
llvm-dwarfdump.h - remove unnecessary WithColor.h include. NFC.
The file was modifiedllvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Commit ab5abce23ccf8369c39d734c6279949815a9b9dc by llvm-dev
DWARFDebugMacro.h - remove unnecessary WithColor.h include. NFC.
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
Commit 73ae678363fb42418a8959955d05488191045b31 by llvm-dev
Fix MSVC signed/unsigned comparison warnings. NFC.
The file was modifiedllvm/lib/Support/FileCheck.cpp
Commit f47e27e260e3e06167a7e1de8a4c092b95717e15 by dmitry.preobrazhensky
[AMDGPU][MC][GFX908] Corrected src0 of v_accvgpr_write to accept only VGPRs and inline constants.

This change disables use of special SGPR registers like scc, vccz, execz, etc as operands of v_accvgpr_write.

See bug 45414: https://bugs.llvm.org/show_bug.cgi?id=45414

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D80530
The file was modifiedllvm/test/MC/AMDGPU/mai.s
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Commit 7716681cfd0ea2dadbddae6f1983e130c2fa4247 by SourabhSingh.Tomar
Fixed bot failure after d20bf5a7258d4b6a7

There was a failure on windows bit due to format mismatch on
different(Hex and Decimal) platforms even if meaning of output is same.

For example on X86 linux =>
DW_OP_plus_uconst 0x70, DW_OP_deref, DW_OP_lit4, DW_OP_mul
              ^
on X86 Windows-gnu =>
DW_AT_location (DW_OP_fbreg +112, DW_OP_deref, DW_OP_lit4, DW_OP_mul)

: error: CHECK-SAME: expected string not found in input
; CHECK-SAME: DW_OP_plus_uconst 0x70, DW_OP_deref, DW_OP_lit4, DW_OP_mul
              ^
<stdin>:28:17: note: scanning from here
DW_AT_location (DW_OP_fbreg +112, DW_OP_deref, DW_OP_lit4, DW_OP_mul)
                ^
<stdin>:28:18: note: possible intended match here
DW_AT_location (DW_OP_fbreg +112, DW_OP_deref, DW_OP_lit4, DW_OP_mul)

Now the test is limited to x86 using REQUIRED and -mtriple.

http://45.33.8.238/win/16214/step_11.txt
The file was modifiedllvm/test/DebugInfo/fortranSubrangeVar.ll
Commit 1ddac9563d7f2414e6c4302f9902ac1294966161 by llvm-dev
[X86][SSE] Peek though MOVMSK source sign bits using SimplifyMultipleUseDemandedBits

Allows SimplifyDemandedBitsForTargetNode to peek through multi-use ops where MOVMSK only demands the signbit of each vector element.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
Commit e73bb4fba7092f7e1ef807812063a0f655a185af by frgossen
[MLIR] Move `ConcatOp` to its lexicographic position

Purely cosmetic change.
The operation implementations in `Shape.cpp` are now lexicographic order.

Differential Revision: https://reviews.llvm.org/D80277
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 1a945757ac7debd9ad14497fa404e3900869cad5 by llvm-dev
WithColor.h - reduce unnecessary includes to forward declarations. NFC.
The file was modifiedllvm/include/llvm/Support/WithColor.h
Commit f6417f5db8c16286904d074d1e40e9c1eb083951 by llvm-dev
FileOutputBuffer.h - remove unused includes. NFC.

Move dependent includes down to source files where necessary.
The file was modifiedllvm/include/llvm/Support/FileOutputBuffer.h
The file was modifiedllvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
The file was modifiedlld/Common/Strings.cpp
The file was modifiedllvm/lib/Support/FileOutputBuffer.cpp
Commit dd484baffdf4a92e564c38a17d35a742e633b0e0 by frgossen
[MLIR] Tidy up documentation for `Shape_JoinOp`, `Shape_ReduceOp`, and
`Shape_ConstSizeOp`

Fix places that refer to `shape.type` instead of `shape.shape`.

Differential Revision: https://reviews.llvm.org/D80278
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit c3098e4f4036e96dbd3de0e61c5e114b0eb7bbb4 by pifon
[MLIR] Add TensorFromElementsOp to Standard ops.

Differential Revision: https://reviews.llvm.org/D80705
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/IR/core-ops.mlir
Commit 6594d54571ee5887f031555a7660b8d8e74194d3 by frgossen
[MLIR] Add `index_to_size` and `size_to_index` to the shape dialect

Add the two conversion operations `index_to_size` and `size_to_index` to the
shape dialect.
This facilitates the conversion of index types between the shape and the
standard dialect.

Differential Revision: https://reviews.llvm.org/D80280
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 0da4353938368c1f2473cd24553989f84b964279 by Matthew.Arsenault
AMDGPU: Add baseline test for ptrmask infer address space
The file was addedllvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
Commit d6671ee90c1423eb18c6fab11819df850ae2200d by Matthew.Arsenault
InferAddressSpaces: Handle ptrmask intrinsic

This one is slightly odd since it counts as an address expression,
which previously could never fail. Allow the existing TTI hook to
return the value to use, and re-use it for handling how to handle
ptrmask.

Handles the no-op addrspacecasts for AMDGPU. We could probably do
something better based on analysis of the mask value based on the
address space, but leave that for now.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
The file was modifiedllvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit fdaa391e3df3c3a555d933122b0ef85eaf5eb63c by frgossen
[MLIR] Add `num_elements` to the shape dialect

The operation `num_elements` determines the number of elements for a given
shape.
That is the product of its dimensions.

Differential Revision: https://reviews.llvm.org/D80281
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 061fb8eb2d9f6ffa05f2b57670c918c477ca7f36 by whchung
[mlir][gpu][mlir-cuda-runner] Refactor ConvertKernelFuncToCubin to be generic.

Make ConvertKernelFuncToCubin pass to be generic:

- Rename to ConvertKernelFuncToBlob.
- Allow specifying triple, target chip, target features.
- Initializing LLVM backend is supplied by a callback function.
- Lowering process from MLIR module to LLVM module is via another callback.
- Change mlir-cuda-runner to adopt the revised pass.
- Add new tests for lowering to ROCm HSA code object (HSACO).
- Tests for CUDA and ROCm are kept in separate directories.

Differential Revision: https://reviews.llvm.org/D80142
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was addedmlir/lib/Conversion/GPUCommon/ConvertKernelFuncToBlob.cpp
The file was addedmlir/test/lib/Transforms/TestConvertGPUKernelToHsaco.cpp
The file was modifiedmlir/lib/Conversion/GPUCommon/CMakeLists.txt
The file was addedmlir/test/Conversion/GPUToROCm/lower-rocdl-kernel-to-hsaco.mlir
The file was addedmlir/test/Conversion/GPUToROCm/lit.local.cfg
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was modifiedmlir/test/lib/Transforms/TestConvertGPUKernelToCubin.cpp
The file was modifiedmlir/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was removedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
The file was removedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was removedmlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
Commit f1ab7550bcd51c353a1cac0303df9bbe960b7eab by frgossen
[MLIR] Fix operand type in `from_extent_tensor` in the shape dialect

The operand of `from_extent_tensor` is now of the same index type as the result
type of the inverse operation `to_extent_tensor`.

Differential Revision: https://reviews.llvm.org/D80283
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 6c2b7ee2f7fac7b683e343c2c383b7e67fadf9f8 by sam.mccall
Prevent test from failing in my home directory
The file was modifiedclang/test/Headers/nvptx_device_math_macro.cpp
Commit 0ea52537feae4bc64b5cefc3a4c168dc3ad90463 by llvm-dev
SymbolicFile.h - removed unused FileSystem.h include. NFC.

Exposes a number of implicit dependencies that needs fixing in source files and XCOFFObjectFile.h.
The file was modifiedllvm/tools/llvm-objcopy/wasm/Writer.cpp
The file was modifiedllvm/tools/llvm-rc/ResourceFileWriter.cpp
The file was modifiedllvm/lib/Object/COFFObjectFile.cpp
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedllvm/include/llvm/Object/SymbolicFile.h
Commit 1a9e0d7092145e33175f628f4cdd28acf0d17100 by Matthew.Arsenault
AMDGPU: Make S_DENORM_MODE not be a scheduling boundary

Now that the mode register uses/defs should be properly modeled, we
don't need to treat the FP mode switch as an arbitrary side effect.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
Commit cf4d4e366a2165f0e93948f166d76ae650aecc98 by arsenm2
libclc: Compile with -nostdlib

This fixes a build error when compiling for amdgcn-amd-amdhsa, which
defaults to trying to link bitcode libraries.
The file was modifiedlibclc/CMakeLists.txt
Commit 06019e312571c886494d3287e8962e5d5943dab8 by Matthew.Arsenault
AMDGPU: Add missing test for s_denorm_mode scheduling

Forgot to add this file to 1a9e0d7092145e33175f628f4cdd28acf0d17100
The file was addedllvm/test/CodeGen/AMDGPU/schedule-barrier-fpmode.mir
Commit 8e325cfc1456820e2253909e4aa0c3014f1e050c by sam.mccall
[clangd] Work around PS4 -fno-exceptions, easier than disabling tests?
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 04a96aa3e430a66767732f44acea00c6e13c9f78 by yitzhakm
[ASTMatchers] Add traversal-kind support to `DynTypedMatcher`

Summary:
This patch exposes `TraversalKind` support in the `DynTypedMatcher` API. While
previously, the `match` method supported traversal logic, it was not possible to
set or get the traversal kind.

Reviewers: gribozavr, steveire

Subscribers: hokein, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80685
The file was modifiedclang/unittests/ASTMatchers/CMakeLists.txt
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
Commit db52a4901096f035b6cda832c4bf4c6ce2ede2f9 by jean-michel.gorius
[mlir] Make translation libraries available through MLIRConfig.cmake
The file was modifiedmlir/cmake/modules/MLIRConfig.cmake.in
The file was modifiedmlir/cmake/modules/CMakeLists.txt
Commit ce5780b88c6e2f3303afd266e5e29c1badd9eb3b by yitzhakm
[libTooling] Fix Transformer to work with ambient traversal kinds.

Summary:
`RewriteRule`'s `applyFirst` was brittle with respect to the default setting of the
`TraversalKind`. This patch builds awareness of traversal kinds directly into
rewrite rules so that they are insensitive to any changes in defaults.

Reviewers: steveire, gribozavr

Subscribers: hokein, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80606
The file was modifiedclang/lib/Tooling/Transformer/RewriteRule.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
Commit f5192d7fb7564c45ff4ec42f359408974b7c8fa2 by jean-michel.gorius
[x86] Propagate memory operands during call frame optimization

Summary:
Propagate memory operands when folding load instructions into instructions that directly operate on memory.

The original revision has been split. See D80140 for the other part of the changes.

Reviewers: craig.topper, rnk, lebedev.ri, efriedma

Reviewed By: craig.topper

Subscribers: lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80062
The file was modifiedllvm/lib/Target/X86/X86CallFrameOptimization.cpp
The file was addedllvm/test/CodeGen/X86/cf-opt-memops.mir
Commit bb2ae74717a25ba268e7bd17a2a572d931ed094e by vsavchenko
[analyzer] Merge implementations of SymInt, IntSym, and SymSym exprs

Summary:
SymIntExpr, IntSymExpr, and SymSymExpr share a big portion of logic
that used to be duplicated across all three classes.  New
implementation also adds an easy way of introducing another type of
operands into the mix.

Differential Revision: https://reviews.llvm.org/D79156
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
The file was modifiedclang/lib/StaticAnalyzer/Core/SymbolManager.cpp
Commit 1f57d76a8dd00611aaa4b33048be195ea9a2dc44 by vsavchenko
[analyzer] Refactor range inference for symbolic expressions

Summary:
This change introduces a new component to unite all of the reasoning
we have about operations on ranges in the analyzer's solver.
In many cases, we might conclude that the range for a symbolic operation
is much more narrow than the type implies.  While reasoning about
runtime conditions (especially in loops), we need to support more and
more of those little pieces of logic.  The new component mostly plays
a role of an organizer for those, and allows us to focus on the actual
reasoning about ranges and not dispatching manually on the types of the
nested symbolic expressions.

Differential Revision: https://reviews.llvm.org/D79232
The file was modifiedclang/test/Analysis/constant-folding.c
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
The file was addedclang/test/Analysis/double-ranges-bug.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit 47c4b8bd68698b1827f39c3056783ed042faf718 by vsavchenko
[analyzer] Generalize bitwise OR rules for ranges

Summary:
Previously the current solver started reasoning about bitwise OR
expressions only when one of the operands is a constant.  However,
very similar logic could be applied to ranges.  This commit addresses
this shortcoming.  Additionally, it refines how we deal with negative
operands.

Differential Revision: https://reviews.llvm.org/D79336
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
The file was modifiedclang/test/Analysis/constant-folding.c
Commit 2a09daff0f902e70a08f2b30f3461fb8848f5ab1 by vsavchenko
[analyzer] Generalize bitwise AND rules for ranges

Summary:
Previously the current solver started reasoning about bitwise AND
expressions only when one of the operands is a constant.  However,
very similar logic could be applied to ranges.  This commit addresses
this shortcoming.  Additionally, it refines how we deal with negative
operands.

rdar://problem/54359410

Differential Revision: https://reviews.llvm.org/D79434
The file was addedclang/test/Analysis/uninit-exhaustive-switch-bug.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/test/Analysis/switch-case.c
The file was modifiedclang/test/Analysis/constant-folding.c
Commit 73c120a9895a7e12e3c29a755d64096c8bd0220f by vsavchenko
[analyzer] Introduce reasoning about symbolic remainder operator

Summary:
New logic tries to narrow possible result values of the remainder operation
based on its operands and their ranges.  It also tries to be conservative
with negative operands because according to the standard the sign of
the result is implementation-defined.

rdar://problem/44978988

Differential Revision: https://reviews.llvm.org/D80117
The file was addedclang/test/Analysis/PR35418.cpp
The file was modifiedclang/test/Analysis/hangs.c
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
The file was addedclang/test/Analysis/uninit-bug-first-iteration-init.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/test/Analysis/constant-folding.c
Commit 35492270ed705ea9ac98ba04c6fda1adafef613a by gribozavr
Remove WrapperMatcherInterface

Summary:
WrapperMatcherInterface is an abstraction over a member variable -- in
other words, not much of an abstraction at all. I think it makes code
harder to read more than in helps with deduplication. Not to even
mention the questionable usage of the ~Interface suffix for a type with
state.

Reviewers: ymandel

Reviewed By: ymandel

Subscribers: arichardson, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80704
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit fefe4366c3bdd03552c448972930a0f7df328c24 by jpienaar
[mlir] Use ValueRange instead of ArrayRef<Value>

This allows constructing operand adaptor from existing op (useful for commonalizing verification as I want to do in a follow up).

I also add ability to use member initializers for the generated adaptor constructors for convenience.

Differential Revision: https://reviews.llvm.org/D80667
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/lib/TableGen/OpClass.cpp
The file was modifiedmlir/test/mlir-tblgen/op-operand.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/include/mlir/TableGen/OpClass.h
Commit 2321ab9c69ad33944697cde68525fd7b2bf4b36a by jpienaar
[mlir] Fix mismatched-tags warning
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
Commit b726d071b4aa46004228fc38ee5bfd167f999bfe by alex-t
[AMDGPU] Reject moving PHI to VALU if the only VGPR input originated from move immediate

Summary:
PHIs result register class is set to VGPR or SGPR depending on the cross block value divergence.
         In some cases uniform PHI need to be converted to return VGPR to prevent the oddnumber of moves values from VGPR to SGPR and back.
         PHI should certainly return VGPR if it has at least one VGPR input. This change adds the exception.
         We don't want to convert uniform PHI to VGPRs in case the only VGPR input is a VGPR to SGPR COPY and definition od the
         source VGPR in this COPY is move immediate.

  bb.0:

     %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
     %2:sreg_32 = .....

  bb.1:
     %3:sreg_32 = PHI %1, %bb.3, %2, %bb.1
     S_BRANCH %bb.3

  bb.3:
     %1:sreg_32 = COPY %0
     S_BRANCH %bb.2

Reviewers: rampitec

Reviewed By: rampitec

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80434
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was addedllvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
Commit 77b9abfc8e89ca627e4f9a1cc206bea131db6db1 by Louis Dionne
[libc++] Complete overhaul of constexpr support in std::array

This commit adds missing support for constexpr in std::array under all
standard modes up to and including C++20. It also transforms the <array>
tests to check for constexpr-friendliness under the right standard modes.

Fixes https://llvm.org/PR40124
Fixes rdar://57522096
Supersedes https://reviews.llvm.org/D60666

Differential Revision: https://reviews.llvm.org/D80452
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/front_back.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/at_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/test/std/containers/sequences/array/at.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
The file was removedlibcxx/test/std/containers/sequences/array/begin.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/contiguous.pass.cpp
The file was modifiedlibcxx/test/support/test_macros.h
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/iterators.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/array.version.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/aggregate.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.creation/to_array.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/default.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/empty.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/include/array
The file was modifiedlibcxx/test/std/containers/sequences/array/array.tuple/tuple_element.fail.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/indexing.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/max_size.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/array.cons/initializer_list.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/size_and_alignment.pass.cpp
Commit 8cec5c35816d80852bef917ed8a3002fcc5961b0 by Adrian Prantl
Make VE.def a textual header
The file was modifiedllvm/include/llvm/module.modulemap
Commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 by yitzhakm
[clang-tidy] Add abseil-string-find-str-contains checker.

Summary: This adds a checker which suggests replacing string.find(...) == npos with absl::StrContains.

Reviewers: alexfh, hokein, aaron.ballman, njames93, ymandel

Reviewed By: ymandel

Subscribers: ymandel, Eugene.Zelenko, xazax.hun, mgorny, Charusso, phosek, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D80023
The file was addedclang-tools-extra/test/clang-tidy/checkers/abseil-string-find-str-contains.cpp
The file was addedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.h
The file was addedclang-tools-extra/docs/clang-tidy/checks/abseil-string-find-str-contains.rst
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit cc8fafa2be8d5315cc55aec54b2a6d7e60f470c4 by vyng
[llvm-exegesis] Make a few counter methods virtual to allow targets to provide target-specific support.
Misc: Also include errno in failure message.

Differential Revision: https://reviews.llvm.org/D80610
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/PerfHelper.h
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Commit 15b6730f078329b3103a7a0476bc2227df214f4a by whitneyt
Create utility function to Merge Adjacent Basic Blocks

Summary: The following code from
/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp can be used by other
transformations:

while (!MergeBlocks.empty()) {
    BasicBlock *BB = *MergeBlocks.begin();
    BranchInst *Term = dyn_cast<BranchInst>(BB->getTerminator());
    if (Term && Term->isUnconditional() &&
L->contains(Term->getSuccessor(0))) {
      BasicBlock *Dest = Term->getSuccessor(0);
      BasicBlock *Fold = Dest->getUniquePredecessor();
      if (MergeBlockIntoPredecessor(Dest, &DTU, LI)) {
        // Don't remove BB and add Fold as they are the same BB
        assert(Fold == BB);
        (void)Fold;
        MergeBlocks.erase(Dest);
      } else
        MergeBlocks.erase(BB);
    } else
      MergeBlocks.erase(BB);
  }
Hence it should be separated into its own utility function.

Authored By: sidbav
Reviewer: Whitney, Meinersbur, asbirlea, dmgreen, etiotto
Reviewed By: asbirlea
Subscribers: hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80583
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
Commit e0e5c644607ad71888c1df0fdbf3331d0fc2559f by nikita.ppv
[SDAG] Don't require LazyBlockFrequencyInfo at optnone

While LazyBlockFrequencyInfo itself is lazy, the dominator tree
and loop info analyses it requires are not. Drop the dependency
on this pass in SelectionDAGIsel at O0.
This makes for a ~0.6% O0 compile-time improvement.

Differential Revision: https://reviews.llvm.org/D80387
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
Commit db923ce6123068aec22735ea21a4abf8f02135d2 by llvmgnsyncbot
[gn build] Port 7cfdff7b4a6
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/abseil/BUILD.gn
Commit 723a1caa377b898ff3dc0897156f544feab99ac8 by jingham
Fix the crashlog.py script's use of the load_address property.

This property is explicitly for use only in the interactive editor,
and NOT in commands.  It's use worked until we got more careful about
not leaving lldb.target lying around in the script interpreter.

I also added a quick sniff test for the save_crashlog command.

<rdar://problem/60350620>
Differential Revision: https://reviews.llvm.org/D80680
The file was addedlldb/test/API/macosx/save_crashlog/Makefile
The file was modifiedlldb/examples/python/crashlog.py
The file was addedlldb/test/API/macosx/save_crashlog/TestSaveCrashlog.py
The file was addedlldb/test/API/macosx/save_crashlog/main.c
Commit 69ede516c7ff97c208d4a2378bb56ccaa242bbc1 by craig.topper
[X86] Add 'avx512vp2intersect' to getHostCPUFeatures.
The file was modifiedllvm/lib/Support/Host.cpp
Commit f0c2cfe4d044be26031acbf95471a4ac0bca5bf1 by yamauchi
[PGO] Guard the memcmp/bcmp size value profiling instrumentation behind flag.

Summary:
Follow up D79751 and put the instrumentation / value collection side (in
addition to the optimization side) behind the flag as well.

Reviewers: davidxl

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80646
The file was modifiedllvm/test/Transforms/PGOProfile/memop_size_annotation.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
Commit 587fa99cfdb7d2a97143ba20ed8e8face57aa01c by listmail
Default to generating statepoints with deopt and gc-transition bundles if needed

Continues from D80598.

The key point of the change is to default to using operand bundles instead of the inline length prefix argument lists for statepoint nodes. An important subtlety to note is that the presence of a bundle has semantic meaning, even if it is empty. As such, we need to make a somewhat deeper change to the interface than is first obvious.

Existing code treats statepoint deopt arguments and the deopt bundle operands differently during inlining. The former is ignored (resulting in caller state being dropped), the later is merged.

We can't preserve the old behaviour for calls with deopt fed to RS4GC and then inlining, but we can avoid the no-deopt case changing. At least in internal testing, that seem to be the important one. (I'd argue the "stop merging after RS4GC" behaviour for the former was always "unexpected", but that the behaviour for non-deopt calls actually make sense.)

Differential Revision: https://reviews.llvm.org/D80674
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/deopt-lowering-attrs.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/basic.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector-2.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector.ll
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/base-pointers-4.ll
The file was modifiedllvm/lib/IR/IRBuilder.cpp
Commit db3b970a84325e326bbcec4bc3e5e663f148a481 by vsavchenko
[analyzer] Remove unused function. NFC.
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit 116dcbebc6a1648b4acd1a1a391c1d66a3eb4b5f by vsavchenko
[analyzer] Remove unused function declaration. NFC.
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit a7fa35a629e85a72b8cf07a8f95c7c09d9663808 by yamauchi
[ThinLTO] Compute the basic block count across modules.

Summary:
Count the per-module number of basic blocks when the module summary is computed
and sum them up during Thin LTO indexing.

This is used to estimate the working set size under the partial sample PGO.

This is split off of D79831.

Reviewers: davidxl, espindola

Subscribers: emaste, inglorion, hiraditya, MaskRay, steven_wu, dexonsmith, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80403
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
The file was modifiedllvm/test/Bitcode/thinlto-alias2.ll
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
The file was modifiedlld/test/ELF/lto/thinlto-index-only.ll
The file was modifiedllvm/test/tools/llvm-lto/thinlto.ll
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-originalnames.ll
The file was modifiedllvm/test/Bitcode/thinlto-alias.ll
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary.ll
The file was modifiedllvm/test/Assembler/thinlto-vtable-summary.ll
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedlld/test/COFF/thinlto-index-only.ll
The file was modifiedllvm/lib/AsmParser/LLToken.h
The file was modifiedllvm/test/ThinLTO/X86/distributed_indexes.ll
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-callgraph.ll
Commit 9c52422cd83137a55e9d198bf123982c040b2e99 by nikita.ppv
[IR] Avoid linear scan in MDNode::intersect() (NFC)

00940fb8544767ba5217922c4ba96677aabe9eb3 changed this code to
construct a set for the B metadata. However, it still performs a
linear is_contained query, rather than making use of the set
structure.
The file was modifiedllvm/lib/IR/Metadata.cpp
Commit a1b88afe46d7a0f72d2acd8792951bd959b27545 by yitzhakm
[clang-tidy] Fix build broken by commit 7cfdff7b4a6704b8ef2a1b594e1ec19d2d89f385 (D80023)
The file was modifiedclang-tools-extra/clang-tidy/abseil/CMakeLists.txt
Commit 5395389475bcaba16966ab62125f2f54ea81c915 by vsavchenko
[analyzer] SATestBuild.py: Make verbosity level a cmd option

Reviewers: NoQ, dcoughlin

Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, ASDenysPetrov, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80626
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit b950c261d9c107d2c9366dd7e583f9f1c4f282f3 by Jonas Devlieghere
[lldb/Reproducers] Add top-level-target check-lldb-reproducers

This adds a new target `check-lldb-reproducers` that replaces the old
`check-lldb-repro`. The latter would only run the shell tests, while
`check-lldb-reproducers` includes the API tests as well. The new target
will be used on GreenDragon.

It's still possible to run just the shell tests with reproducers,
although now that requires crafting the lit invocation yourself. The
parameters haven't changed and are the shame for the API and shell
tests:

  --param lldb-run-with-repro=capture
  --param lldb-run-with-repro=replay

This patch also updates the reproducer documentation.
The file was modifiedlldb/docs/resources/reproducers.rst
The file was modifiedlldb/test/CMakeLists.txt
The file was modifiedlldb/test/Shell/CMakeLists.txt
The file was modifiedlldb/test/Shell/lit.cfg.py
Commit 501aa47ab8fa62f5be1e41bee6d5b8fbd1fa6627 by listmail
[Statepoint] Sink logic about actual callee into GCStatepointInst

Sinking logic around actual callee from Statepoint to GCStatepointInst.  While doing so, adjust naming to be consistent about refering to "actual" callee and follow precedent on naming from CallBase otherwise.

Use the result to simplify one consumer.  This is mostly just to ensure the new code is exercised, but is also a helpful cleanup on it's own.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 72ede60b75ee90b7f4e33d88e4df18bb6f6dc94a by zinenko
[mlir][GPU] Link relevant LLVM components in GPUCommon instead of test

D80142 restructured MLIR-to-GPU-binary conversion to support multiple
targets. It also modified cmake files to link relevant LLVM components
in test/lib, which broke shared-library builds, and likely made the
conversions unusable outside mlir-opt (or other tools that link in test
library targets). Link these components to GPUCommon instead.

Differential Revision: https://reviews.llvm.org/D80739
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/GPUCommon/CMakeLists.txt
Commit 2b0c8546ac9fb47e1bf9c5e54f1450420eadeab7 by ravishankarm
[mlir][Linalg] Add pass to remove unit-extent dims from tensor
operands of Generic ops.

Unit-extent dimensions are typically used for achieving broadcasting
behavior. The pattern added (along with canonicalization patterns
added previously) removes the use of unit-extent dimensions, and
instead uses a more canonical representation of the computation.  This
new pattern is not added as a canonicalization for now since it
entails adding additional reshape operations. A pass is added to
exercise these patterns, along with an API entry to populate a
patterns list with these patterns.

Differential Revision: https://reviews.llvm.org/D79766
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was addedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
The file was addedmlir/test/Dialect/Linalg/fold-unit-trip-loops.mlir
Commit 0073c293a401774ac96b4b3d27f05e13f379f98e by martin
[clang] Avoid linking libdl unless needed

Differential Revision: https://reviews.llvm.org/D80492
The file was modifiedclang/tools/libclang/CMakeLists.txt
Commit 504d8d9d8a20fae1717bcf65dbc7577d0f26ffd7 by asteinhauser
[libc] Fixing the build command for benchmarks.

Building libc without clang fails with:
CMake Error at /home/asteinhauser/llvm-project/libc/CMakeLists.txt:49 (message):
'clang' and 'clang-tools-extra' are required in LLVM_ENABLE_PROJECTS to
lint llvm-libc. The linting step performs important checks to help prevent
the introduction of subtle bugs, but it may increase build times.

Reviewers: sivachandra

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D80495
The file was modifiedlibc/utils/benchmarks/README.md
Commit 97f3f0bab0982f84745c7ac5ce8fb6b0918ff718 by Matthew.Arsenault
AMDGPU: Add intrinsic for s_setreg

This will be more useful with fenv access implemented.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedclang/test/CodeGenOpenCL/builtins-amdgcn.cl
The file was addedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setreg.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedclang/test/SemaOpenCL/builtins-amdgcn-error.cl
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedclang/include/clang/Basic/BuiltinsAMDGPU.def
Commit 281058226587d8c70172ff0fb1e55d58876da229 by whitneyt
[LoopUnroll] Support loops with exiting block that is neither header nor
latch.

Summary: Remove the limitation in LoopUnrollPass that exiting block must
be either header or latch.
Reviewer: dmgreen, jdoerfert, Meinersbur, kbarton, bmahjour, etiotto,
fhahn, efriedma
Reviewed By: etiotto, fhahn, efriedma
Subscribers: efriedma, lkail, xbolva00, hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80477
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was addedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
Commit ebddf90a4e8ba062999f622cdcea2793ffc37426 by Louis Dionne
[libc++] NFC: Remove outdated numbering in <bit> synopsis
The file was modifiedlibcxx/include/bit
Commit 4859dd41707e3d2a007a58491f1cf20b9510b753 by Matthew.Arsenault
AMDGPU: Handle rewriting ptrmask for more address spaces

If this mask only clears bits in the low 32-bit half of a flat
pointer, these bits are always preserved in the result address
space. If the high bits are modified, they may need to be preserved
for some kind of user pointer tagging.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
Commit 58beb76b7bd2f7caa1df461b9db6629521c3b60b by listmail
[Statepoint] Convert a few more isStatepoint calls to idiomatic isa/cast

I'd apparently only grepped in the lib directories and missed a few used in the Statepoint header itself.  Beyond simple mechanical cleanup, changed the type of one routine to reflect the fact it also returns a statepoint.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit 6c824c81a911a2782c640c3854992160752578e0 by Stanislav.Mekhanoshin
AMDGPU/GlobalISel: precommit extractelement test. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
Commit 5ecf85a5fcb71fc616afef8d22d2bfd9c7854402 by sjoerd.meijer
[AArch64] Add native CPU detection for Neoverse N1

Map the CPU ID value 0xd0c to "neoverse-n1".

Patch by James Greenhalgh.

Differential Revision: https://reviews.llvm.org/D80736
The file was modifiedllvm/unittests/Support/Host.cpp
The file was modifiedllvm/lib/Support/Host.cpp
Commit 47ffc81830d3b1e7e26cfda591c77caddd16a049 by whitneyt
Revert "[LoopUnroll] Support loops with exiting block that is neither header nor"

This reverts commit 281058226587d8c70172ff0fb1e55d58876da229.

Revert until
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-debian/builds/7334
is resolved.
The file was removedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit f719e7d9e7c411b833aa7f40e7a2a6c891def843 by ajcbik
[llvm] [MatrixIntrinsics] Add row-major support for llvm.matrix.transpose

Summary:
Only column-major was supported so far. This adds row-major support as well.
Note that we probably also want very efficient SIMD implementations for the
various target platforms.

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

Reviewers: nicolasvasilache, reidtatge, bkramer, fhahn, ftynse, andydavis1, craig.topper, dcaballe, mehdi_amini, anemet

Reviewed By: fhahn

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80673
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-float-row-major.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-double-row-major.ll
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-i32-row-major.ll
Commit 06803d7abc230d0d0e74e5b7f7f283970cb02b9f by aeubanks
Add tests for preallocated + musttail

Summary:
Follow-up to https://reviews.llvm.org/D80581.
Turns out the codegen part already worked, so only needed to add tests.
I manually verified that in these tests the generated code for inalloca
and preallocated were identical.

Reviewers: efriedma, hans

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80742
The file was modifiedllvm/test/CodeGen/X86/musttail-indirect.ll
The file was modifiedllvm/test/CodeGen/X86/musttail-thiscall.ll
Commit eca41919d28b0616140a63c6a97483098ec1ffee by gribozavr
Improve test infrastructure in SyntaxTree

Summary:
* Test if the code sourcing the SyntaxTree compiles
* Output compiler errors and warnings to err
* Fix tests with code that did not compile

Reviewers: gribozavr2

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80731
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 51401a676c036f2bd4e6b4b38f3538615799de40 by vyng
add isAtPosition narrowing matcher for parmVarDecl

Differential Revision: https://reviews.llvm.org/D80603
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit ac1dc1336ad76d719445d706654ca0ec4ff5557c by Jonas Devlieghere
[Docs] Correct description of lldbinit behavior

Jim pointed out that "every time somebody has touched the documentation
on startup files they have stated that we source the application one and
then the global one, even though in actual fact we’ve never done that."

Indeed, when we read the application specific .lldbinit file, the global
one is not read. This patch updates the man page to reflect that.
The file was modifiedlldb/docs/man/lldb.rst
Commit 2f430f7a51693c9d5c648179f2341b541be44000 by Vitaly Buka
[StackSafety] Remove SetMetadata parameter
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
Commit 892c71a5bb72cfcce1f0e94e3a0fd314d4606977 by Vitaly Buka
[StackSafety] Don't run datafow on allocas

We need to process only parameters. Allocas access can be calculated
afterwards.
Also don't create fake function for aliases and just resolve them on
initialization.
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 2622cfbcd5d47d7320d253964a725422e8773781 by Vitaly Buka
[NFC,StackSafety] Move internal offset calculation
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 0e6628d37f99b3baaab662b9d1fa9a1e39d3aeb8 by Vitaly Buka
[StackSafety] Lazy calculations

We are going to convert this into pure analysis, so
processing will be delayed up to the first safety request.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
Commit 81b79011a77f97798236af6d716e5d352790d54b by gclayton
[lldb-vscode] Make it possible to run vsce package

Summary:
Running `vsce package` to package lldb-vscode as an installable .vsix file errors with:

```
ERROR  Invalid publisher name 'llvm.org'. Expected the identifier of a publisher, not its human-friendly name.
```

This patch fixes the publisher name and bumps a required dependency so that `vsce package` succeeds.

Reviewers: clayborg

Reviewed By: clayborg

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D80569
The file was modifiedlldb/tools/lldb-vscode/package.json
Commit 9021ce9576e438ae5a6fdb574327d30ea6b67fa8 by nemanja.i.ibm
[Clang] Enable KF and KC mode for [_Complex] __float128

The headers provided with recent GNU toolchains for PPC have code that includes
typedefs such as:

typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__)))

This patch allows clang to compile programs that contain
#include <math.h>

with -mfloat128 which it currently fails to compile.

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

Differential revision: https://reviews.llvm.org/D80374
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/test/Sema/attr-mode.c
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/AST/ASTContext.cpp
Commit 4d6cda9bdaca01f581ef23904f54443ef5c2acac by listmail
[Statepoint] Use iterate_range.empty [NFC]
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit a0d2fd4a1f785230120df2bb5f74917dc0c357e5 by listmail
[Statepoint] Sink actual_args and gc_args to GCStatepointInst [NFC]

These are the two operand sets which are expected to survive more than another week or so.  Instead of bothering to update the deopt and gc-transition operands, we'll just wait until those are removed and delete the code.

For those following along, this is likely to be the last (major) change in this sequence for about a week.  I want to wait until all of this has been merged downstream to ensure I haven't introduced any bugs (and migrate some downstream code to the new interfaces).  Once that's done, we should be able to delete Statepoint/ImmutableStatepoint without too much work.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Commit 9d065477942ffa6d9085188c0d1d2cb95a41baf6 by listmail
[Statepoints] Sink routines for grabbing projections to GCStatepointInst [NFC]

Mechanical movement, nothing more.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 0aa201eaf97681f59b72baee6552aa1b9b5c9129 by Vedant Kumar
[MachineLICM] Assert that locations from debug insts are not lost

Summary:
Assert that MachineLICM does not move a debug instruction and then drop
its debug location. Later passes require each debug instruction to have
a location.

Testing: check-llvm, clang stage2 RelWithDebInfo build (x86_64)

Reviewers: aprantl, davide, chrisjackson, jmorse

Subscribers: hiraditya, asbirlea, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80665
The file was modifiedllvm/lib/CodeGen/MachineLICM.cpp
Commit 4855534d10cea3dd93d33da13ceb3381b0c588e6 by Vedant Kumar
[MachineVerifier] Verify that a DBG_VALUE has a debug location

Summary:
Verify that each DBG_VALUE has a debug location. This is required by
LiveDebugValues, and perhaps by other late passes.

There's an exception for tests: lots of tests use a two-operand form of
DBG_VALUE for convenience. There's no reason to prevent that.

This is an extension of D80665, but there's no dependency.

Reviewers: aprantl, jmorse, davide, chrisjackson

Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80670
The file was modifiedllvm/test/CodeGen/MIR/X86/instructions-debug-location.mir
The file was modifiedllvm/test/CodeGen/X86/machine-cp-debug.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was addedllvm/test/CodeGen/MIR/Generic/dbg-value-missing-loc.mir
The file was modifiedllvm/test/CodeGen/MIR/X86/metadata-operands.mir
The file was modifiedllvm/test/CodeGen/RISCV/select-optimize-multiple.mir
The file was modifiedllvm/test/CodeGen/Hexagon/early-if-debug.mir
The file was modifiedllvm/test/CodeGen/X86/pr38952.mir
Commit d11155d273af00f75c2b40a5ca3007463f9808c1 by Vedant Kumar
[LiveDebugValues] Add cutoffs to avoid pathological behavior

Summary:
We received a report of LiveDebugValues consuming 25GB+ of RAM when
compiling code generated by Unity's IL2CPP scripting backend.

There's an initial 5GB spike due to repeatedly copying cached lists of
MachineBasicBlocks within the UserValueScopes members of VarLocs.

But the larger scaling issue arises due to the fact that prior to range
extension, there are 81K basic blocks and 156K DBG_VALUEs: given enough
memory, LiveDebugValues would insert 101 million MIs (I counted this by
incrementing a counter inside of VarLoc::BuildDbgValue).

It seems like LiveDebugValues would have to be rearchitected to support
this kind of input (we'd need some new represntation for DBG_VALUEs that
get inserted into ~every block via flushPendingLocs). OTOH, large globs
of auto-generated code are typically not debugged interactively.

So: add cutoffs to disable range extension when the input is too big. I
chose the cutoffs experimentally, erring on the conservative side. When
compiling a large collection of Apple software, range extension never
got disabled.

rdar://63418929

Reviewers: aprantl, friss, jmorse, Orlando

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80662
The file was addedllvm/test/DebugInfo/MIR/X86/live-debug-values-cutoffs.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
Commit e8e7b2cb46bb16a8939567d770c3f69df35e7bdc by david.green
[ARM] More tests for MVE LSR and float issues. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
Commit 8b3155829a99fecc9e62f84d95668d0e85a0dd62 by stephen.neuendorffer
[MLIR] Fix build when NVPTX is not enabled

In this case, neither target is selected, but there is still a dependence
on the MC library (through the TargetOptions.h include)
The file was modifiedmlir/lib/Conversion/GPUCommon/CMakeLists.txt
Commit 3bff62d45f83ab2c480d82809cd91a32b4a6553d by stephen.neuendorffer
[mlir] Extend standalone example by standalone-translate

Extend the standalone by standalone-translate, based on mlir-translate.

Differential Revision: https://reviews.llvm.org/D80737
The file was modifiedmlir/examples/standalone/README.md
The file was addedmlir/examples/standalone/standalone-translate/CMakeLists.txt
The file was addedmlir/examples/standalone/test/Standalone/standalone-translate.mlir
The file was modifiedmlir/examples/standalone/test/lit.cfg.py
The file was modifiedmlir/examples/standalone/test/CMakeLists.txt
The file was modifiedmlir/test/Examples/standalone/test.toy
The file was addedmlir/examples/standalone/standalone-translate/standalone-translate.cpp
The file was modifiedmlir/examples/standalone/CMakeLists.txt
Commit 434d122e94a74cbfb08e901821590faad9b6dcd9 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from Analysis

Reviewers: efriedma, fpetrogalli, kmclaughlin, sunfish

Reviewed By: fpetrogalli

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80324
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit 922fa2fce38b0bd97921b91ff1cdc57f18d3569c by aeubanks
Run Coverage pass before other *San passes under new pass manager, round 2

Summary:
This was attempted once before in https://reviews.llvm.org/D79698, but
was reverted due to the coverage pass running in the wrong part of the
pipeline. This commit puts it in the same place as the other sanitizers.

This changes PassBuilder.OptimizerLastEPCallbacks to work on a
ModulePassManager instead of a FunctionPassManager. That is because
SanitizerCoverage cannot (easily) be split into a module pass and a
function pass like some of the other sanitizers since in its current
implementation it conditionally inserts module constructors based on
whether or not it successfully modified functions.

This fixes compiler-rt/test/msan/coverage-levels.cpp under the new pass
manager (last check-msan test).

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80692
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit 6eb56794023c606224b82366a04f98efd9a564eb by Vitaly Buka
[NFC,StackSafety] clang-tidy warning fixes
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 519959ad825bfad0b62a2012c064e582788d8f21 by eugenis
[scudo] Fix deadlock in ScudoWrappersCTest.DisableForkEnable test.

pthread_cond_wait needs a loop around it to handle spurious wake ups,
as well as the case when signal runs before wait.
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Commit 27304b1737a3ff0bca39ddd3ed11b96a624a1d6d by listmail
[Tests] Switch a few statepoint tests to using operand bundles

We've started (D80598) the process of migrating away from the inline operand lists in statepoints to using explicit operand bundles.  Update a few tests to reflect the new preference.  More to come, these were simply the ones outside any obvious grouping.
The file was modifiedllvm/test/Transforms/Util/strip-gc-relocates.ll
The file was modifiedllvm/test/Analysis/LazyCallGraph/non-leaf-intrinsics.ll
The file was modifiedllvm/test/Analysis/CallGraph/non-leaf-intrinsics.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/basics.ll
The file was modifiedllvm/test/Transforms/InstCombine/token.ll
Commit 15000255d18b84d8bf42541a037c399ce4d5a018 by listmail
[Tests] Remove deopt operands from SafepointIRVerfier tests

This linter has nothing to do with deopt, and the operands had clearly been copied blindly from another source.  Rather than migrate to deopt operand bundle, let's just simplify the tests.
The file was modifiedllvm/test/SafepointIRVerifier/basic-use-after-reloc.ll
The file was modifiedllvm/test/SafepointIRVerifier/constant-bases.ll
The file was modifiedllvm/test/SafepointIRVerifier/unreachable-block-tolerant.ll
The file was modifiedllvm/test/SafepointIRVerifier/unrecorded-live-at-sp.ll
The file was modifiedllvm/test/SafepointIRVerifier/uses-in-phi-nodes.ll
The file was modifiedllvm/test/SafepointIRVerifier/compares.ll
Commit e3fb8446f2ec3953348f3c773004cf2aa28a8c04 by aeubanks
Revert "Run Coverage pass before other *San passes under new pass manager, round 2"

This reverts commit 922fa2fce38b0bd97921b91ff1cdc57f18d3569c.
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit a9c7b498621b41e8e25ec8e23a6ba38dc8230282 by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from mlir

Reviewers: efriedma, ftynse, c-rhodes, david-arm, rriddle

Reviewed By: ftynse

Subscribers: tschuett, rkruppe, psnobl, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80340
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Commit 10bb03c1c1901de225352814e0e51096b3d4c656 by sivachandra
[libc][NFC][Obvious] Remove line break from a CMake message.

The line break was giving an impression of something going wrong.
The file was modifiedlibc/CMakeLists.txt
Commit 5f9e0466f273602ba3ec5aa886b1bba8dfde66f4 by ntv
[mlir][Vector] Fix vector.transfer alignment calculation

https://reviews.llvm.org/D79246 introduces alignment propagation for vector transfer operations. Unfortunately, the alignment calculation is incorrect and can result in crashes.

This revision fixes the calculation by using the natural alignment of the memref elemental type, instead of the resulting vector type.

If more alignment is desired, it can be done in 2 ways:
1. use a proper vector.type_cast to transform a memref<axbxcxdxf32> into a memref<axbxvector<cxdxf32>> giving a natural alignment of vector<cxdxf32>
2. add an alignment attribute to vector transfer operations and propagate it.

With this change the alignment in the relevant tests goes down from 128 to 4.

Lastly, a few minor cleanups are performed and the custom `isMinorIdentityMap` is deprecated.

Differential Revision: https://reviews.llvm.org/D80734
The file was modifiedmlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
The file was removedmlir/test/lib/Transforms/TestVectorToSCFConversion.cpp
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
Commit c7614faa05fa276f34626748af7f975630e46097 by sivachandra
[libc][NFC][Obvious] Fix few header guards in src/threads.
The file was modifiedlibc/src/threads/mtx_unlock.h
The file was modifiedlibc/src/threads/mtx_init.h
The file was modifiedlibc/src/threads/thrd_create.h
The file was modifiedlibc/src/threads/thrd_join.h
The file was modifiedlibc/src/threads/mtx_lock.h
Commit ac1d93c53b6a527d43e29a93ff2df9948b7c3e87 by craig.topper
[X86] Fix a comment reference to registers R8L..R15L to use R8B..R15B like everywhere else. NFC

A new Intel SDM was released today that also fixes this issue in
some documentation.
The file was modifiedllvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
Commit 85bf78df654bfbf021192332b9f6dac4f43b01bb by listmail
[Tests] Update a few more statepoint tests

Starting to work through the hard ones now, progress likely to slow drammatically.
The file was modifiedllvm/test/CodeGen/X86/statepoint-stackmap-format.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-uniqueing.ll
The file was modifiedllvm/test/CodeGen/X86/combineIncDecVector-crash.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-allocas.ll
The file was modifiedllvm/test/CodeGen/X86/non-value-mem-operand.mir
Commit bce702e5f28fd5358fb734932828f030babf0499 by echristo
unsigned -> Register for readability.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
Commit b0b2507717ca904ffe50248a44a5c653946b6732 by jean-michel.gorius
[mlir] Add test to check if standalone dialect is registered

Summary: Add a test to check if the standalone dialect is registered within standalone-opt. Similar to the mlir-opt commandline.mlir test.

Reviewers: Kayjukh, stephenneuendorffer

Reviewed By: Kayjukh

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, frgossen, jurahul, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80764
The file was modifiedmlir/test/Examples/standalone/test.toy
The file was addedmlir/examples/standalone/test/Standalone/standalone-opt.mlir
Commit 0dfb43deb6d5511a8ea69eeb7373a212ebd6c9c1 by richard
Fix handling of default arguments in __attribute__((enable_if)).

We didn't properly build default argument expressions previously -- we
failed to build the wrapper CXXDefaultArgExpr node, which meant that
std::source_location misbehaved, and we didn't perform default argument
instantiation when necessary, which meant that dependent default
arguments in function templates didn't work at all.
The file was modifiedclang/test/SemaCXX/enable_if.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit 791c78f5e0ce84bcd4cfcccbbbbcc1259f4d7e0c by Vitaly Buka
[NFC,StackSafety] Add test flag
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 57f1c43cda8a05920997cd50147ed01a124b4239 by ianlevesque
clang-format xray InstrumentationMap.cpp
The file was modifiedllvm/lib/XRay/InstrumentationMap.cpp
Commit e62d67f770d279d0ef7e6f1175e0a88aaffd58b0 by ianlevesque
[xray] Add llvm-xray extract support for 32 bit ARM

Summary:
XRay works on 32-bit ARM but extract didn't support it.

See also another previous attempt in D77858.

Reviewers: MaskRay, dberris, johnislarry

Subscribers: kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80185
The file was modifiedllvm/lib/XRay/InstrumentationMap.cpp
The file was modifiedllvm/test/tools/llvm-xray/X86/unsupported-elf32.txt
The file was addedllvm/test/tools/llvm-xray/ARM/extract-instrmap.test
The file was modifiedllvm/test/tools/llvm-xray/X86/bad-instrmap-sizes.txt
Commit d79e51a711cbca80492e517eade2666b315907e4 by craig.topper
[X86] Add test case to show fast-isel incorrectly emitting a 64-bit movabsq instruction in 32-bit mode when using constant pools with -code-model=large. NFC

-code-model=large isn't supposed to mean anything to 32-bit mode.
But nothing prevents passing it so we shouldn't generate bad code
if someone does.
The file was modifiedllvm/test/CodeGen/X86/fast-isel-constpool.ll
Commit e47e22642f9261c93a598e506bc57c717db1df7a by Dan Liew
Disable `duplicate_os_log_reports.cpp` test.

It's not passing on macOS green dragon bots. To get them green just
disable for now.

rdar://problem/62141527
The file was modifiedcompiler-rt/test/asan/TestCases/Darwin/duplicate_os_log_reports.cpp
Commit 46c177c92681791c99abde668f34931d84392cb2 by Vitaly Buka
Test update for a7fa35a629e85a72b8cf07a8f95c7c09d9663808
The file was modifiedllvm/test/tools/gold/X86/thinlto.ll
Commit 8ae21fb8d2a2a5c55070b82dd57b345dd4716f56 by Jonas Devlieghere
[lldb/CMake] Set both the BUILD and INSTALL RPATH on macOS

This is necessary when building the framework.
The file was modifiedlldb/source/API/CMakeLists.txt
Commit fd1c894a4a3690b2e500bfdf71194e9cc3f1b399 by sbc
[lld][WebAssembly] Convert some lld tests to assembly

When we originally wrote these tests we didn't have a stable and
fleshed out assembly format.  Now we do so we should prefer that
over llvm ir for lld tests to avoid including more part of llvm
than necessary in order to run the test.

This change converts just 30 out of about 130 test files. More to
come when I have some more time.

Differential Revision: https://reviews.llvm.org/D80361
The file was removedlld/test/wasm/Inputs/weak-symbol1.ll
The file was addedlld/test/wasm/import-attribute-mismatch.s
The file was modifiedlld/test/wasm/signature-mismatch.ll
The file was modifiedlld/test/wasm/strip-all.test
The file was removedlld/test/wasm/Inputs/hidden.ll
The file was addedlld/test/wasm/Inputs/weak-symbol2.s
The file was addedlld/test/wasm/no-tls.ll
The file was removedlld/test/wasm/alias.ll
The file was addedlld/test/wasm/Inputs/ret64.s
The file was removedlld/test/wasm/Inputs/import-attributes.ll
The file was addedlld/test/wasm/version.s
The file was addedlld/test/wasm/Inputs/call-ret32.s
The file was removedlld/test/wasm/Inputs/hello.ll
The file was modifiedlld/test/wasm/data-layout.ll
The file was modifiedlld/test/wasm/conflict.test
The file was addedlld/test/wasm/export-optional-lazy.test
The file was removedlld/test/wasm/symbol-type-mismatch.ll
The file was modifiedlld/test/wasm/weak-symbols.ll
The file was addedlld/test/wasm/Inputs/optional-symbol.s
The file was removedlld/test/wasm/export-optional-lazy.ll
The file was modifiedlld/test/wasm/trace.test
The file was modifiedlld/test/wasm/import-memory.test
The file was modifiedlld/test/wasm/large-memory.test
The file was modifiedlld/test/wasm/compress-relocs.ll
The file was removedlld/test/wasm/Inputs/optional-symbol.ll
The file was modifiedlld/test/wasm/growable-table.test
The file was addedlld/test/wasm/Inputs/weak-symbol1.s
The file was addedlld/test/wasm/symbol-type-mismatch.s
The file was removedlld/test/wasm/optional-symbol.ll
The file was removedlld/test/wasm/Inputs/call-indirect.ll
The file was addedlld/test/wasm/demangle.s
The file was modifiedlld/test/wasm/function-imports.ll
The file was addedlld/test/wasm/bss-only.s
The file was modifiedlld/test/wasm/export-empty.test
The file was modifiedlld/test/wasm/undefined-entry.test
The file was modifiedlld/test/wasm/visibility-hidden.ll
The file was modifiedlld/test/wasm/whole-archive.test
The file was modifiedlld/test/wasm/call-indirect.ll
The file was removedlld/test/wasm/Inputs/ret64.ll
The file was modifiedlld/test/wasm/signature-mismatch-export.ll
The file was modifiedlld/test/wasm/stack-first.test
The file was modifiedlld/test/wasm/archive-weak-undefined.ll
The file was modifiedlld/test/wasm/function-imports-first.ll
The file was modifiedlld/test/wasm/global-base.test
The file was removedlld/test/wasm/archive-no-index.ll
The file was addedlld/test/wasm/archive-no-index.s
The file was modifiedlld/test/wasm/export-table.test
The file was modifiedlld/test/wasm/pic-static.ll
The file was addedlld/test/wasm/Inputs/import-attributes.s
The file was removedlld/test/wasm/entry-signature.ll
The file was removedlld/test/wasm/Inputs/call-ret32.ll
The file was modifiedlld/test/wasm/fatal-warnings.ll
The file was addedlld/test/wasm/alias.s
The file was modifiedlld/test/wasm/load-undefined.test
The file was modifiedlld/test/wasm/archive-export.ll
The file was addedlld/test/wasm/Inputs/call-indirect.s
The file was removedlld/test/wasm/Inputs/start.ll
The file was modifiedlld/test/wasm/function-index.test
The file was addedlld/test/wasm/Inputs/start.s
The file was modifiedlld/test/wasm/import-table.test
The file was modifiedlld/test/wasm/archive.ll
The file was addedlld/test/wasm/Inputs/strong-symbol.s
The file was modifiedlld/test/wasm/emit-relocs.ll
The file was removedlld/test/wasm/bss-only.ll
The file was modifiedlld/test/wasm/signature-mismatch-unknown.ll
The file was addedlld/test/wasm/Inputs/ret32.s
The file was removedlld/test/wasm/Inputs/weak-symbol2.ll
The file was removedlld/test/wasm/demangle.ll
The file was modifiedlld/test/wasm/emit-relocs-fpic.s
The file was modifiedlld/test/wasm/responsefile.test
The file was addedlld/test/wasm/optional-symbol.s
The file was removedlld/test/wasm/Inputs/ret32.ll
The file was modifiedlld/test/wasm/trace-symbol.ll
The file was addedlld/test/wasm/Inputs/hidden.s
The file was removedlld/test/wasm/import-attribute-mismatch.ll
The file was removedlld/test/wasm/version.ll
The file was removedlld/test/wasm/Inputs/strong-symbol.ll
The file was modifiedlld/test/wasm/invalid-stack-size.test
The file was removedlld/test/wasm/no-tls.test
The file was modifiedlld/test/wasm/relocatable.ll
The file was addedlld/test/wasm/entry-signature.s
The file was modifiedlld/test/wasm/signature-mismatch-weak.ll
The file was addedlld/test/wasm/Inputs/hello.s
The file was modifiedlld/test/wasm/shared-needed.ll
The file was modifiedlld/test/wasm/strip-debug.test
Commit 1285e8bcac2c54ddd924ffb813b2b187467ac2a6 by aeubanks
Run Coverage pass before other *San passes under new pass manager, round 2

Summary:
This was attempted once before in https://reviews.llvm.org/D79698, but
was reverted due to the coverage pass running in the wrong part of the
pipeline. This commit puts it in the same place as the other sanitizers.

This changes PassBuilder.OptimizerLastEPCallbacks to work on a
ModulePassManager instead of a FunctionPassManager. That is because
SanitizerCoverage cannot (easily) be split into a module pass and a
function pass like some of the other sanitizers since in its current
implementation it conditionally inserts module constructors based on
whether or not it successfully modified functions.

This fixes compiler-rt/test/msan/coverage-levels.cpp under the new pass
manager (last check-msan test).

Currently sanitizers + LTO don't work together under the new pass
manager, so I removed tests that checked that this combination works for
sancov.

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D80692
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedclang/test/CodeGen/sancov-new-pm.c
Commit 8c050070fb96b4e6b8608a120d102bac0c8ada1c by craig.topper
[X86] Fix a nullptr dereference in X86Subtarget::classifyLocalReference when compiling with -mcmodel=medium -fpic and using a constant pool

LowerConstantPool passes a nullptr into classifyLocalReference. The medium code model handling for PIC will try to deference it using isa. This patch switches to isa_and_nonnull.

Differential Revision: https://reviews.llvm.org/D80763
The file was modifiedllvm/test/CodeGen/X86/code-model-elf.ll
The file was modifiedllvm/lib/Target/X86/X86Subtarget.cpp
Commit e13c84c3be589c80edd2391664e136f54f0e3345 by Matthew.Arsenault
GlobalISel: Work on improving stock set of legality predicates

I get confused by a lot of the predicate names here, since I would
assume they apply to vectors as well. Rename to reflect they only
apply to scalars.

Also add a few predicates AMDGPU uses that should be generally useful.
Also add any() to complement all. I've wanted to use this a few times
but then worked around it not being there.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit 38727bab6f1337880861b7ffd5a02fcff581facc by valery.n.dmitriev
[NFC][SLP] Add test case exposing SLP cost model bug.
The bug is related to aggregate build cost model adjustment
that adds a bias to cost triggering vectorization of actually
unprofitable to vectorize tree.

Differential Revision: https://reviews.llvm.org/D80682
The file was addedllvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
Commit b4668a268ddedea76bd406818fd0313b58e6f750 by Tony.Tye
[AMDGPU] DWARF Proposal For Heterogeneous Debugging

- Add introduction to DWARF Proposal For Heterogeneous Debugging.

Differential Revision: https://reviews.llvm.org/D70523
The file was modifiedllvm/docs/AMDGPUDwarfProposalForHeterogeneousDebugging.rst
Commit 1bc73b02d6934c8586ca5740da416b7094c3c471 by whitneyt
[LoopUnroll] Support loops with exiting block that is neither header nor
latch.

Summary: Remove the limitation in LoopUnrollPass that exiting block must
be either header or latch.
Reviewer: dmgreen, jdoerfert, Meinersbur, kbarton, bmahjour, etiotto,
fhahn, efriedma
Reviewed By: etiotto, fhahn, efriedma
Subscribers: efriedma, lkail, xbolva00, hiraditya, zzheng, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80477
The file was addedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit 59ba12994c07d03ac3b628c05c45a834774f9b17 by maskray
[llvm-xray][test] Fix unsupported-elf32.txt after D80185
The file was modifiedllvm/test/tools/llvm-xray/X86/unsupported-elf32.txt