Changes

Summary

  1. [X86] Use EVT::getVectorVT instead of changeVectorElementType in reduceVMULWidth. (details)
  2. [NFC] This is a test commit to check commit access. (details)
  3. [AMDGPU][Libomptarget] Drop dead code related to g_atl_machine (details)
  4. Revert "[NFC] This is a test commit to check commit access." (details)
  5. [ORC-RT] Fix void function handling in the WrapperFunction utility. (details)
  6. [Debug-Info][CodeView] Fix GUID string generation for MSVC generated objects. (details)
  7. [gn build] Port d0a5d8611935 (details)
  8. Support buffers in LinalgFoldUnitExtentDims (details)
  9. [libc] Add a set of elementary operations (details)
  10. Revert "[libc] Add a set of elementary operations" (details)
  11. [builtins] Allow compiling the builtins without libc headers (details)
  12. [IR] Remove forward declaration of GraphTraits from Type.h (details)
  13. [mlir][linalg] Fold linalg.pad_tensor if src type == result type (details)
  14. [clang-format] distinguish function type casts after 21c18d5a04316891110cecc2bf37ce51533decba (details)
  15. [analyzer] Refactor StoreSiteFinder and extract DefaultStoreHandler (details)
  16. [analyzer] Extract ControlDependencyHandler (details)
  17. [analyzer] Extract NilReceiverHandler (details)
  18. [analyzer] Extract ArrayIndexHandler (details)
  19. [analyzer] Extract InterestingLValueHandler (details)
  20. [analyzer] Extract InlinedFunctionCallHandler (details)
  21. [analyzer] Simplify the process of producing notes for stores (details)
  22. Fix Windows builders after 244601f4720d9cda6e81ea1908f3ce905a4bcb0e (details)
  23. [MCA][InstrBuilder] Check for the presence of flag VariadicOpsAreDefs. (details)
  24. [analyzer] Decouple NoteTag from its Factory (details)
  25. [X86] Schedule-model second (mask) output of GATHER instruction (details)
  26. [lldb] Fix libstdc++ 11's std::unique_ptr affecting LLDB testsuite TestDataFormatterStdUniquePtr.py (details)
  27. ABI breaking changes fixes. (details)
  28. [mlir] Add NegOp to complex dialect. (details)
  29. [mlir][MemRef] Make sure types match when folding dim(reshape) (details)
  30. [ORC] Port WrapperFunctionUtils and SimplePackedSerialization from ORC runtime. (details)
  31. [ORC] Make WrapperFunctionResult's ValuePtr member non-const. (details)
  32. Clearly specify that these are partially implemented features (details)
  33. [mlir] ODS: do not emit trailing const for static methods (details)
  34. [ORC] Fix missing function in unit test. (details)
  35. [ORC] Fix narrowing-in-initializer-list warnings. (details)
  36. [ORC] Fix missing std::move. (details)
  37. [ORC] Fix endianness in manual serialization to match WrapperFunctionUtils. (details)
  38. [LoopDeletion] Check for irreducible cycles when deleting loops. (details)
  39. [OPENMP]Fix PR50699: capture locals in combine directrives for aligned clause. (details)
  40. [gn build] Port 4eb9fe2e1a07 (details)
  41. [Polly][Isl] Replacing isl method `to_str()` with `stringFromIslObj()`. NFC. (details)
  42. [Matrix] Add tests for fast-math flags & matrix codegen. (details)
  43. [libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI. (details)
  44. [mlir][linalg][python] Adapt the OpDSL to use scalars. (details)
  45. [mlir] separable registration of attribute and type interfaces (details)
  46. [mlir] Add SignOp to complex dialect. (details)
  47. [llvm-exegesis] Fix X86LbrCounter destructor to correctly unmap memory and not double-close fd (PR50620) (details)
  48. [ARM] Rejig some of the MVE gather/scatter lowering pass. NFC (details)
  49. [libc] Add a set of elementary operations (details)
  50. [mlir] Avoid GCC naming conflict. (details)
  51. [libcxx][atomic] Fix failure mapping in compare_exchange_{strong,weak}. (details)
  52. Revert "[libc] Add a set of elementary operations" (details)
  53. [flang] [openmp] Add Fortran specific semantic check 4 for OpenMP Allocate directive. (details)
  54. Work around MSVC compiler intricacies. (details)
  55. [mlir][linalg] Adapt yaml codegen to support scalar parameters. (details)
  56. [IROutliner] Adding DebugInfo handling for IR Outlined Functions (details)
  57. [ARM] Use rq gather/scatters for smaller v4 vectors (details)
  58. DirectoryWatcher: close a possible window of race on Windows (details)
  59. [ARM] Extend narrow values to allow using truncating scatters (details)
  60. Remove unnecessary triple from test (details)
  61. [NFC] Remove redundant variable (details)
  62. [NFC][OpaquePtr] Avoid calling getPointerElementType() (details)
  63. Revert "[ARM] Extend narrow values to allow using truncating scatters" (details)
  64. [lldb] Make the ClassTemplateDecl merging logic in TypeSystemClang respect template parameters (details)
  65. [NewPM] Remove SpeculateAroundPHIs pass (details)
  66. [compiler-rt][hwasan] Add GetShadowOffset function (details)
  67. [AMDGPU] Fix lds superalign test. NFC. (details)
  68. [X86] avoid assert with varargs, soft float, and no-implicit-float (details)
  69. Support: Remove F_{None,Text,Append} compatibility synonyms, NFC (details)
  70. [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20. (details)
  71. [PowerPC] Fix spilling of paired VSX registers (details)
  72. [PowerPC] Moving defineXLCompatMacros() definition (details)
  73. [libcxx][iwyu] ensures we IWYU as prep for modules (details)
  74. [NFC] Update renamed option in comments (details)
  75. Remove redundant test that was causing intermittent build bot failures. (details)
  76. Support lowering of index-cast on vector types. (details)
  77. [NFC] Fix "unused variable" warning (details)
  78. [asan] Remove Asan, Ubsan support of RTEMS and Myriad (details)
  79. [InstSimplify] Treat invariant group insts as bitcasts for load operands (details)
  80. [gn build] Port 6478ef61b1a4 (details)
  81. Adding the rest of the C11 papers to the status page. (details)
  82. [MCA] Adding the CustomBehaviour class to llvm-mca (details)
  83. Revert "[MCA] Adding the CustomBehaviour class to llvm-mca" (details)
  84. [libc][NFC] Disable thrd_test as it is exhibiting flaky behavior on the bots. (details)
  85. AArch64 Linux and elf-core PAC stack unwinder support (details)
  86. [OpenMP] Lazily assign root affinity (details)
  87. [OpenMP] Fix affinity determine capable algorithm on Linux (details)
  88. [OpenMP] Add GOMP 5.0 version symbols to API (details)
  89. Convert functions that were returning BreakpointOption * to BreakpointOption &. (details)
  90. [SampleFDO] Using common linkage for the discriminator flag variable (details)
  91. [mlir][sparse] allow all-dense annotated "sparse" tensor output (details)
  92. [OpaquePtr] Verify Opaque pointer in function parameter (details)
  93. [mlir][SCF] Remove empty else blocks of `scf.if` operations. (details)
  94. [docs] Exclude FlangOption and re-generate ClangCommandLineReference.rst (details)
  95. Missed a Windows use of ValidForThisThread in the changes for (details)
  96. [mlir][sparse] integration test for all-dense annotated "sparse" output (details)
  97. CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET (details)
  98. Don't depend on the "run" alias doing shell expanding. (details)
  99. [libc++] Promote GCC 11 to mandatory CI (details)
  100. [DFSan] Handle landingpad inst explicitly as zero shadow. (details)
  101. [NFC][sanitizer] Remove calls to __asan_get_current_fake_stack (details)
  102. [FuncSpec] Use std::pow instead of operator^ (details)
  103. X86: balance the frame prologue and epilogue on Win64 (details)
  104. [Debug-Info] guard DW_LANG_C_plus_plus_14 under strict dwarf (details)
  105. [Driver] Delete -fsanitize-coverage-blocklist= in favor of -fsanitize-coverage-ignorelist= (details)
  106. Revert "[SampleFDO] Using common linkage for the discriminator flag variable" (details)
  107. [flang] Add semantic check for the RANDOM_SEED intrinsic (details)
  108. [SampleFDO] Place the discriminator flag variable into the used list. (details)
  109. [LLDB] Fix buildbots breakage due to TestGuessLanguage.py (details)
Commit 4017d0335a35334835bfae6fc3e258adcd9ed2dc by craig.topper
[X86] Use EVT::getVectorVT instead of changeVectorElementType in reduceVMULWidth.

Changing vector element type doesn't work for v6i32->v6i16 now
that v6i32 is an MVT and v6i16 is not.

I would like to fix this in changeVectorElementType, but you
need a LLVMContext to call getVectorVT which we can't get from
an MVT.

Fixes PR50709.
The file was addedllvm/test/CodeGen/X86/pr50709.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b4d40e19def8c2e1a77ae30b5ac16751d1c461f7 by CarlosAlbertoEnciso
[NFC] This is a test commit to check commit access.

Add full stop at the end of comment.
The file was modifiedllvm/test/DebugInfo/X86/c-type-units.ll
Commit cadcaf3f46f6ccd3619cb2dd75bf54ed3080f43d by Pushpinder.Singh
[AMDGPU][Libomptarget] Drop dead code related to g_atl_machine

This patch includes some changes which deletes the code accessing
g_atl_machine global. Some accesses related to memory_pools are
still remaining.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D103813
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/machine.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/rt.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi_interop_hsa.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/system.cpp
Commit 5e92cbddb901453ecd04138460c546b96d29097d by CarlosAlbertoEnciso
Revert "[NFC] This is a test commit to check commit access."

This reverts commit b4d40e19def8c2e1a77ae30b5ac16751d1c461f7.
The file was modifiedllvm/test/DebugInfo/X86/c-type-units.ll
Commit 68c161090ef6fe83218af6f627170ae56e5800b1 by Lang Hames
[ORC-RT] Fix void function handling in the WrapperFunction utility.

Handlers returning void previously caused compile errors. Fix that by
substituting SPSEmpty placeholder values.
The file was modifiedcompiler-rt/lib/orc/wrapper_function_utils.h
The file was modifiedcompiler-rt/lib/orc/unittests/wrapper_function_utils_test.cpp
Commit d0a5d8611935b548e1ec546b49201d47ac0a762c by CarlosAlbertoEnciso
[Debug-Info][CodeView] Fix GUID string generation for MSVC generated objects.

This patch is to address https://bugs.llvm.org/show_bug.cgi?id=50459.
  YAML:455:28: error: GUID strings are 38 characters long

The valid format for a GUID is {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
where X is a hex digit (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).
The length of the individual components must be: 8, 4, 4, 4, 12.

For some cases, the converted string generated by obj2yaml, does not
comply with those lengths. yaml2obj checks that the GUID string must
be 38 characters including the dashes and braces.

Reviewed By: amccarth

Differential Revision: https://reviews.llvm.org/D103089
The file was addedllvm/test/tools/obj2yaml/COFF/Inputs/test-3.o
The file was addedllvm/test/tools/obj2yaml/COFF/Inputs/test-2.o
The file was addedllvm/test/tools/obj2yaml/COFF/test-4.test
The file was addedllvm/test/tools/obj2yaml/COFF/test-5.test
The file was addedllvm/test/tools/obj2yaml/COFF/test-6.test
The file was addedllvm/test/tools/obj2yaml/COFF/test-3.test
The file was addedllvm/test/tools/obj2yaml/COFF/Inputs/test-4.o
The file was addedllvm/test/tools/obj2yaml/COFF/test-1.test
The file was addedllvm/test/tools/obj2yaml/COFF/test-2.test
The file was modifiedllvm/lib/DebugInfo/CodeView/Formatters.cpp
The file was addedllvm/test/tools/obj2yaml/COFF/Inputs/test-6.o
The file was addedllvm/test/tools/obj2yaml/COFF/Inputs/test-1.o
The file was modifiedllvm/unittests/DebugInfo/CodeView/CMakeLists.txt
The file was addedllvm/test/tools/obj2yaml/COFF/Inputs/test-5.o
The file was addedllvm/unittests/DebugInfo/CodeView/GUIDFormatTest.cpp
Commit d8c5a4d6b6efad405c71ead8997276d8d3a7c5ad by llvmgnsyncbot
[gn build] Port d0a5d8611935
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/DebugInfo/CodeView/BUILD.gn
Commit 6c7be4176703fff69d20acc466a879e080346f30 by tpopp
Support buffers in LinalgFoldUnitExtentDims

This doesn't add any canonicalizations, but executes the same
simplification on bufferSemantic linalg.generic ops by using
linalg::ReshapeOp instead of linalg::TensorReshapeOp.

Differential Revision: https://reviews.llvm.org/D103513
The file was modifiedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
Commit 454d92ac3b3b13f5c8b3f57e03b2d93f0cf60738 by gchatelet
[libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was addedlibc/src/string/memory_utils/elements.h
The file was removedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was addedlibc/src/string/memory_utils/elements_x86.h
The file was addedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/src/string/memcpy.cpp
The file was removedlibc/src/string/memory_utils/memcpy_utils.h
The file was addedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
Commit c11032ad9a6c4523d0d9d591ebce82c87a9fb3a0 by gchatelet
Revert "[libc] Add a set of elementary operations"

This reverts commit 454d92ac3b3b13f5c8b3f57e03b2d93f0cf60738.
The file was modifiedlibc/src/string/memcpy.cpp
The file was removedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/memcpy_utils.h
The file was removedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was removedlibc/src/string/memory_utils/elements_x86.h
The file was removedlibc/test/src/string/memory_utils/memory_access_test.cpp
Commit 244601f4720d9cda6e81ea1908f3ce905a4bcb0e by Alexander.Richardson
[builtins] Allow compiling the builtins without libc headers

When compiled with -ffreestanding, we should not assume that headers
declaring functions such as abort() are available. While the compiler may
still emit calls to those functions [1], we should not require the headers
to build compiler-rt since that can result in a cyclic dependency graph:
The compiler-rt functions might be required to build libc.so, but the libc
headers such as stdlib.h might only be available once libc has been built.

[1] From https://gcc.gnu.org/onlinedocs/gcc/Standards.html:
GCC requires the freestanding environment provide memcpy, memmove,
memset and memcmp. Finally, if __builtin_trap is used, and the target
does not implement the trap pattern, then GCC emits a call to abort.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D103876
The file was modifiedcompiler-rt/lib/builtins/clear_cache.c
The file was modifiedcompiler-rt/lib/builtins/int_util.c
The file was modifiedcompiler-rt/lib/builtins/atomic.c
Commit f5dc511c538745df1ef4c5a22b99b56747f32edc by jay.foad
[IR] Remove forward declaration of GraphTraits from Type.h

This has been unnecessary since r352353 removed GraphTraits
specializations for Type, except that a couple of other headers were
accidentally relying on this declaration.

Differential Revision: https://reviews.llvm.org/D104119
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was modifiedllvm/include/llvm/Analysis/LazyCallGraph.h
The file was modifiedllvm/include/llvm/IR/Type.h
Commit b6ab4f1a8b6546b67dbcc3612f33c26d9b72a5cc by springerm
[mlir][linalg] Fold linalg.pad_tensor if src type == result type

Fold PadTensorOp to source if source type and result type have static shape and are equal.

Differential Revision: https://reviews.llvm.org/D103778
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 54bd95cd96bc7305219b594f95d7d1f447ee4c94 by krasimir
[clang-format] distinguish function type casts after 21c18d5a04316891110cecc2bf37ce51533decba

https://github.com/llvm/llvm-project/commit/21c18d5a04316891110cecc2bf37ce51533decba
improved the detection of multiplication in function call argument lists,
but unintentionally regressed the handling of function type casts (there
were no tests covering those).
This patch improves the detection of function type casts and adds a few tests.

Reviewed By: HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D104209
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit bbebf38b736a12c9582f9ae59c8e245a6ed68cb8 by vsavchenko
[analyzer] Refactor StoreSiteFinder and extract DefaultStoreHandler

After this patch, custom StoreHandlers will also work as expected.

Differential Revision: https://reviews.llvm.org/D103644
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
Commit 85f475c979aa49b1b833c9e66af9cb35eafd02c7 by vsavchenko
[analyzer] Extract ControlDependencyHandler

Differential Revision: https://reviews.llvm.org/D103677
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 1639dcb2798469c4372e50bcb6b4cf36ecffd9ce by vsavchenko
[analyzer] Extract NilReceiverHandler

Differential Revision: https://reviews.llvm.org/D103902
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 40cb73bd20735051eb8f2d43735097d2ff46f0a7 by vsavchenko
[analyzer] Extract ArrayIndexHandler

One interesting problem was discovered here.  When we do interrupt
Tracker's track flow, we want to interrupt only it and not all the
other flows recursively.

Differential Revision: https://reviews.llvm.org/D103914
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 2e490676ea2eb419e7b2f54e1e2e537d5244ebbc by vsavchenko
[analyzer] Extract InterestingLValueHandler

Differential Revision: https://reviews.llvm.org/D103917
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 6e6a26b8f0ea8300d5a814e4150e225c33ec25de by vsavchenko
[analyzer] Extract InlinedFunctionCallHandler

Differential Revision: https://reviews.llvm.org/D103961
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 16f7a952ec3e0f362690c6449951866100c6f76c by vsavchenko
[analyzer] Simplify the process of producing notes for stores

Differential Revision: https://reviews.llvm.org/D104046
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit 13f0b85212275fb6f724b14c2c5385385e5e723f by Alexander.Richardson
Fix Windows builders after 244601f4720d9cda6e81ea1908f3ce905a4bcb0e

Apparently __builtin_abort() is not supported when targetting Windows.
This should fix the following builder errors:
clang_rt.builtins-x86_64.lib(int_util.c.obj) : error LNK2019: unresolved
external symbol __builtin_abort referenced in function __compilerrt_abort_impl
The file was modifiedcompiler-rt/lib/builtins/int_util.c
Commit beb5213a2ee56bbf554ccdd1908c48d10e244dab by andrea.dibiagio
[MCA][InstrBuilder] Check for the presence of flag VariadicOpsAreDefs.

This patch fixes the logic that checks for variadic register definitions,

Before llvm-svn 348114 (commit 4cf35b4ab0b), it was not possible to explicitly
mark variadic operands as definitions. By default, variadic operands of an
MCInst were always assumed to be uses. A number of had-hoc checks were
introduced in the InstrBuilder to fix the processing of variadic register
operands of ARM ldm/stm variants.

This patch simply replaces those old (and buggy) checks with a much simpler (and
correct) check for MCID::Flag::VariadicOpsAreDefs.
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/test/tools/llvm-mca/ARM/cortex-a57-carryover.s
Commit eadd54f2741f9dc7307512382a7c8fb49aa840d0 by vsavchenko
[analyzer] Decouple NoteTag from its Factory

This allows us to create other types of tags that carry useful
bits of information alongside.

Differential Revision: https://reviews.llvm.org/D104135
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
The file was modifiedclang/lib/StaticAnalyzer/Core/CoreEngine.cpp
Commit 88da6c1ead3f1b0431e6cfa054d2645612f049ce by lebedev.ri
[X86] Schedule-model second (mask) output of GATHER instruction

Much like `mulx`'s `WriteIMulH`, there are two outputs of
AVX2 GATHER instructions. This was changed back in rL160110,
but the sched model change wasn't present.

So right now, for sched models that are marked as complete
(`znver3` only now), codegen'ning `GATHER` results in a crash:
```
DefIdx 1 exceeds machine model writes for early-clobber renamable $ymm3, dead early-clobber renamable $ymm2 = VPGATHERDDYrm killed renamable $ymm3(tied-def 0), undef renamable $rax, 4, renamable $ymm0, 0, $noreg, killed renamable $ymm2(tied-def 1) :: (load 32, align 1)
```
https://godbolt.org/z/Ks7zW7WGh

I'm guessing we need to deal with this like we deal with `WriteIMulH`.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D104205
The file was modifiedllvm/lib/Target/X86/X86SchedHaswell.td
The file was modifiedllvm/lib/Target/X86/X86Schedule.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleBdVer2.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleBtVer2.td
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver1.td
The file was modifiedllvm/lib/Target/X86/X86SchedSkylakeServer.td
The file was modifiedllvm/lib/Target/X86/X86SchedBroadwell.td
The file was modifiedllvm/lib/Target/X86/X86SchedSkylakeClient.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
The file was modifiedllvm/lib/Target/X86/X86SchedSandyBridge.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver2.td
The file was modifiedllvm/lib/Target/X86/X86ScheduleSLM.td
Commit fffb975095119adb5f91be4e3c83ac0cb4b1602c by jan.kratochvil
[lldb] Fix libstdc++ 11's std::unique_ptr affecting LLDB testsuite TestDataFormatterStdUniquePtr.py

libstdc++ since version 11 has a conditional compilation based on
[[no_unique_address]] availability whether one element is either
inherited or put there as a field with [[no_unique_address]].

The code comment is by teemperor.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D104283
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
Commit 1540da3b788272e9aacc698ef96e75a4a5839ee1 by neil.henning
ABI breaking changes fixes.

This commit mostly just replaces bad uses of `NDEBUG` with uses of
`LLVM_ENABLE_ABI_BREAKING_CHANGES` - the safe way to include ABI
breaking changes (normally extra struct elements in headers).

Differential Revision: https://reviews.llvm.org/D104216
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/JumpThreading.h
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopPassManager.h
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit 662e074d9043949eea4e360e47bf9e39959694b8 by akuegel
[mlir] Add NegOp to complex dialect.

Also add a lowering pattern from complex dialect to standard dialect.

Differential Revision: https://reviews.llvm.org/D104284
The file was modifiedmlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was modifiedmlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Commit cd939351467643a80490d036408b1036d39b9814 by benny.kra
[mlir][MemRef] Make sure types match when folding dim(reshape)

Reshape can take integer types in addition to index, but dim always
returns index.

Differential Revision: https://reviews.llvm.org/D104287
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
Commit 4eb9fe2e1a073301ed71bf36b13805802ce8ca47 by Lang Hames
[ORC] Port WrapperFunctionUtils and SimplePackedSerialization from ORC runtime.

Replace the existing WrapperFunctionResult type in
llvm/include/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h with a
version adapted from the ORC runtime's implementation.

Also introduce the SimplePackedSerialization scheme (also adapted from the ORC
runtime's implementation) for wrapper functions to avoid manual serialization
and deserialization for calls to runtime functions involving common types.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h
The file was addedllvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h
The file was addedllvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRPCTPCServer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h
The file was removedllvm/lib/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
The file was addedllvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
The file was addedllvm/unittests/ExecutionEngine/Orc/SimplePackedSerializationTest.cpp
Commit 5188b9af84c487b0c5456ba7019a2bf029f6146a by Lang Hames
[ORC] Make WrapperFunctionResult's ValuePtr member non-const.

The const qualifier was a hangover from an earlier iteration that allowed
wrapper functions to return pointers to const memory. This feature has
been removed, so there's no reason for this to be const any more, and
removing it eliminates const-cast warnings.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
Commit 69cfa178b77d91205cf8cf45fa00e28b1730d0a1 by aaron
Clearly specify that these are partially implemented features
The file was modifiedclang/www/c_status.html
Commit 8ed88559582fd8f0e8a148cc7220619753cfb287 by zinenko
[mlir] ODS: do not emit trailing const for static methods

The generated C++ would be invalid.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D104233
The file was modifiedmlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Commit 5a28bdeeb61a49f71c5a2b3cb5d96ec1f9f3f571 by Lang Hames
[ORC] Fix missing function in unit test.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
Commit 48fb8ecf443beb56e1c936bff83a241982c19c9a by Lang Hames
[ORC] Fix narrowing-in-initializer-list warnings.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h
Commit 0672d5d104defe4221c49d5d35cba879adaa6321 by Lang Hames
[ORC] Fix missing std::move.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
Commit 89fa1a3a831f2d46e16ac90dbcc5598c5a00b38c by Lang Hames
[ORC] Fix endianness in manual serialization to match WrapperFunctionUtils.
The file was modifiedllvm/lib/ExecutionEngine/Orc/TPCEHFrameRegistrar.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/TPCDebugObjectRegistrar.cpp
Commit f7fc8927c0885ff155ea16f99bcf6db6fb10357a by flo
[LoopDeletion] Check for irreducible cycles when deleting loops.

Loops with irreducible cycles may loop infinitely. Those cannot be
removed, unless the loop/function is marked as mustprogress.

Also discussed in D103382.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D104238
The file was modifiedllvm/test/Transforms/LoopDeletion/loops-with-irreducible-subloops.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp
Commit 45ae766e78e07434f68305d1b56bf3ee65ebbcef by a.bataev
[OPENMP]Fix PR50699: capture locals in combine directrives for aligned clause.

Need to capture locals in aligned clauses for the combined directives to
be fix the crash in the codegen.

Differential Revision: https://reviews.llvm.org/D104258
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was addedclang/test/OpenMP/parallel_for_simd_aligned_codegen.cpp
Commit ccda8c71b2ce6b1f005f8f2434e0e7bc5028e169 by llvmgnsyncbot
[gn build] Port 4eb9fe2e1a07
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
Commit cfe117def7b0714e5d724c80839e68f40fba4f47 by patacca
[Polly][Isl] Replacing isl method `to_str()` with `stringFromIslObj()`. NFC.

This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface.

Changes made:
- Removing method `to_str()` from all the classes in the isl C++ bindings.
- Overload method `stringFromIslObj()` so it accepts isl C++ objects.
- To keep backward compatibility `stringFromIslObj()` now accepts a value that is returned if the isl C object is `null` or doesn't have a string representation (by default it's an empty string). In some cases it's better to have the string "null" instead of an empty string.
- isl-noexceptions.h has been generated by this https://github.com/patacca/isl/commit/d33ec3a3bbaf971b254a853e6d8200ff9f5a1385

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D104211
The file was modifiedpolly/lib/CodeGen/IslAst.cpp
The file was modifiedpolly/lib/Support/GICHelper.cpp
The file was modifiedpolly/lib/Support/ISLTools.cpp
The file was modifiedpolly/include/polly/Support/ISLOStream.h
The file was modifiedpolly/lib/Analysis/PolyhedralInfo.cpp
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp
The file was modifiedpolly/include/polly/Support/GICHelper.h
The file was modifiedpolly/lib/External/isl/include/isl/isl-noexceptions.h
The file was modifiedpolly/lib/Analysis/ScopBuilder.cpp
Commit 304b9c25d58d611287c51c50cc0fe4a8c16f6f0d by flo
[Matrix] Add tests for fast-math flags & matrix codegen.

This has already been implemented in be2277fbf233 which adds
pragma fp support. This patch just adds test coverage for
regular fast-math flags (PR46165).
The file was addedclang/test/CodeGen/matrix-type-operators-fast-math.c
Commit 389e749c42307ae589f84c79cceb175e6c9b510b by arthur.j.odwyer
[libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI.

Differential Revision: https://reviews.llvm.org/D104228
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.begin/begin.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/subrange_test_types.h
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.all.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.access/range.access.end/end.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
The file was removedlibcxx/test/std/ranges/range.access/range.access.end/end.cpp
Commit 662f9bff337b99819301113fc8634eb5123b9e23 by gysit
[mlir][linalg][python] Adapt the OpDSL to use scalars.

The patch replaces the existing capture functionality by scalar operands that have been introduced by https://reviews.llvm.org/D104109. Scalar operands behave as tensor operands except for the fact that they are not indexed. As a result ScalarDefs can be accessed directly as no indexing expression is needed.

The patch only updates the OpDSL. The C++ side is updated by a follow up patch.

Differential Revision: https://reviews.llvm.org/D104220
The file was modifiedmlir/test/python/dialects/linalg/opsrun.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/scalar_expr.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/arguments.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/config.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/emit_structured_generic.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/dsl.py
The file was modifiedmlir/test/python/dialects/linalg/opdsl/assignments.py
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Commit 9b2a1bcf6fbe79cfa3725cfd654f45cce0375d3b by zinenko
[mlir] separable registration of attribute and type interfaces

It may be desirable to provide an interface implementation for an attribute or
a type without modifying the definition of said attribute or type. Notably,
this allows to implement interfaces for attributes and types outside of the
dialect that defines them and, in particular, provide interfaces for built-in
types. Provide the mechanism to do so.

Currently, separable registration requires the attribute or type to have been
registered with the context, i.e. for the dialect containing the attribute or
type to be loaded. This can be relaxed in the future using a mechanism similar
to delayed dialect interface registration.

See https://llvm.discourse.group/t/rfc-separable-attribute-type-interfaces/3637

Depends On D104233

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D104234
The file was modifiedmlir/unittests/IR/CMakeLists.txt
The file was modifiedmlir/include/mlir/IR/AttributeSupport.h
The file was modifiedmlir/include/mlir/IR/TypeSupport.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.cpp
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestAttributes.h
The file was modifiedmlir/docs/Interfaces.md
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpInterfacesGen.cpp
The file was addedmlir/unittests/IR/InterfaceAttachmentTest.cpp
The file was modifiedmlir/include/mlir/Support/InterfaceSupport.h
The file was modifiedmlir/test/lib/Dialect/Test/TestInterfaces.td
Commit f112bd61ebf315b563fdd3dae947f0c67d02a6cc by akuegel
[mlir] Add SignOp to complex dialect.

Also add a conversion pattern from Complex Dialect to Standard/Math Dialect.

Differential Revision: https://reviews.llvm.org/D104292
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was modifiedmlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
Commit 941188e9653463bc269ecb43e87ec22c63a4a02b by llvm-dev
[llvm-exegesis] Fix X86LbrCounter destructor to correctly unmap memory and not double-close fd (PR50620)

As was reported on PR50620, the X86LbrCounter destructor was double-closing the filedescriptor and not unmapping the buffer.

Differential Revision: https://reviews.llvm.org/D104201
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/X86Counter.cpp
Commit 09924cbab78016d793c15ece5762faff3756c0cf by david.green
[ARM] Rejig some of the MVE gather/scatter lowering pass. NFC

This adjusts some of how the gather/scatter lowering pass passes around
data and where certain gathers/scatters are created from. It should not
effect code generation on its own, but allows other patches to more
clearly reason about the code.

A number of extra test cases were also added for smaller gathers/
scatters that can be extended, and some of the test comments were
updated.
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind16-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind16-unscaled.ll
Commit 8387187c2ffe0bef0696edfffab00cd7d0ee3e6e by gchatelet
[libc] Add a set of elementary operations

Resubmission of D100646 now making sure that we handle cases were `__builtin_memcpy_inline` is not available.

Original commit message:
Each of these elementary operations can be assembled to support higher order constructs (Overlapping access, Loop, Aligned Loop).
The patch does not compile yet as it depends on other ones (D100571, D100631) but it allows to get the conversation started.

A self-contained version of this code is available at https://godbolt.org/z/e1x6xdaxM
The file was addedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/memcpy.cpp
The file was addedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was removedlibc/src/string/memory_utils/memcpy_utils.h
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was addedlibc/src/string/memory_utils/elements_x86.h
The file was removedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was addedlibc/test/src/string/memory_utils/elements_test.cpp
Commit e893708aac04ece90fd85681c289f1a3b09b52e5 by gysit
[mlir] Avoid GCC naming conflict.

Rename AbstractType to AbstractTy to avoid a GCC naming conflict after https://reviews.llvm.org/D104234.

Differential Revision: https://reviews.llvm.org/D104297
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
Commit 6d33362dafb66b3af4717990d9a06450ec13f367 by rupprecht
[libcxx][atomic] Fix failure mapping in compare_exchange_{strong,weak}.

https://eel.is/c++draft/atomics.types.operations#23 says: ... the value of failure is order except that a value of `memory_order::acq_rel` shall be replaced by the value `memory_order::acquire` and a value of `memory_order::release` shall be replaced by the value `memory_order::relaxed`.

This failure mapping is only handled for `_LIBCPP_HAS_GCC_ATOMIC_IMP`. We are seeing bad code generation for `compare_exchange_strong(cmp, 1, std::memory_order_acq_rel)` when using libc++ in place of libstdc++: https://godbolt.org/z/v3onrrq4G.

This was caught by tsan tests after D99434, `[TSAN] Honor failure memory orders in AtomicCAS`, but appears to be an issue in non-tsan code.

Reviewed By: ldionne, dvyukov

Differential Revision: https://reviews.llvm.org/D103846
The file was addedlibcxx/test/std/atomics/atomics.general/replace_failure_order_codegen.sh.cpp
The file was modifiedlibcxx/include/atomic
Commit 2e286f233e58da0aec4504ed83286fc7dcef0e3e by gchatelet
Revert "[libc] Add a set of elementary operations"

This reverts commit 8387187c2ffe0bef0696edfffab00cd7d0ee3e6e.
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was addedlibc/src/string/memory_utils/memcpy_utils.h
The file was addedlibc/test/src/string/memory_utils/memcpy_utils_test.cpp
The file was removedlibc/src/string/memory_utils/elements_x86.h
The file was removedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/src/string/x86_64/memcpy.cpp
The file was modifiedlibc/src/string/aarch64/memcpy.cpp
The file was modifiedlibc/src/string/memcpy.cpp
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
The file was removedlibc/test/src/string/memory_utils/elements_test.cpp
The file was removedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/test/src/string/memory_utils/CMakeLists.txt
Commit 80ea006ef9e08364854394b633b904fa85e38e4e by isaac.perry
[flang] [openmp] Add Fortran specific semantic check 4 for OpenMP Allocate directive.

This patch adds the 4th Fortran specific semantic check for the OpenMP
allocate directive: "If a list item has the SAVE attribute, is a common
block name, or is declared in the scope of a module, then only predefined
memory allocator parameters can be used in the allocator clause".

Code in this patch was based on code from https://reviews.llvm.org/D93549/new/.

Differential Revision: https://reviews.llvm.org/D102400
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was addedflang/test/Semantics/omp-allocate08.f90
The file was modifiedflang/include/flang/Semantics/tools.h
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
Commit 073e7a08e83ab61198e6b9e106369e876a5b7509 by Adrian Prantl
Work around MSVC compiler intricacies.
The file was modifiedlldb/include/lldb/Utility/Timer.h
Commit ff2ef4d684821c373e989105ac51eeeca9c2027e by gysit
[mlir][linalg] Adapt yaml codegen to support scalar parameters.

The patch updates the C++ yaml code generation to support scalar operands as added in https://reviews.llvm.org/D104220.

Differential Revision: https://reviews.llvm.org/D104224
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
The file was modifiedmlir/docs/Tools/LinalgOpDsl.md
The file was modifiedmlir/test/mlir-linalg-ods-gen/test-linalg-ods-yaml-gen.yaml
The file was modifiedmlir/test/python/dialects/linalg/opsrun.py
Commit 2c21278e7471d24bcdb1c8ea2bf1440cb2fa3a4a by andrew.litteken
[IROutliner] Adding DebugInfo handling for IR Outlined Functions

This adds support for functions outlined by the IR Outliner to be
recognized by the debugger.  The expected behavior is that it will
skip over the instructions included in that section.  This is due to the
fact that we can not say which of the original locations the
instructions originated from.

These functions will show up in the call stack, but you cannot step
through them.

Reviewers: paquette, vsk, djtodoro

Differential Revision: https://reviews.llvm.org/D87302
The file was modifiedllvm/test/Transforms/IROutliner/legal-debug.ll
The file was modifiedllvm/lib/Transforms/IPO/IROutliner.cpp
The file was addedllvm/test/DebugInfo/AArch64/ir-outliner.ll
Commit 680d3f8f1785adcb128d8727234631fe866acb04 by david.green
[ARM] Use rq gather/scatters for smaller v4 vectors

A pointer will always fit into an i32, so a rq offset gather/scatter can
be used with v4i8 and v4i16 gathers, using a base of 0 and the Ptr as
the offsets. The rq gather can then correctly extend the type, allowing
us to use the gathers without falling back to scalarizing.

This patch rejigs tryCreateMaskedGatherOffset in the
MVEGatherScatterLowering pass to decompose the Ptr into Base:0 +
Offset:Ptr (with a scale of 1), if the Ptr could not be decomposed from
a GEP. v4i32 gathers will already use qi gathers, this extends that to
v4i8 and v4i16 gathers using the extending rq variants.

Differential Revision: https://reviews.llvm.org/D103674
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
Commit a6948da86ad7e78d66b26263c2681ef6385cc234 by Saleem Abdulrasool
DirectoryWatcher: close a possible window of race on Windows

The initial scan occurring before the watcher is ready allows a race
condition where a change occurs before the initial scan completes.
Ensure that we wait for the watcher to begin executing the initial scan.

Addresses some feedback from Adrian McCarthy in post-commit review.
The file was modifiedclang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp
Commit b9bd2936f9cf210deb611fe6398f3976caf86b34 by david.green
[ARM] Extend narrow values to allow using truncating scatters

As a minor adjustment to the existing lowering of offset scatters, this
extends any smaller-than-legal vectors into full vectors using a zext,
so that the truncating scatters can be used. Due to the way MVE
legalizes the vectors this should be cheap in most situations, and will
prevent the vector from being scalarized.

Differential Revision: https://reviews.llvm.org/D103704
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
Commit e32a92c6fe8e6dd8ca08b44be12eda6d88c2eaed by rnk
Remove unnecessary triple from test

PR27098(https://bugs.llvm.org/show_bug.cgi?id=27098) has been fixed so
the avoidance seems unnecessary.

Differential Revision: https://reviews.llvm.org/D68891
The file was modifiedclang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp
Commit 25b2126b9e9c28e48ce4e6e40af624767e5fb146 by aeubanks
[NFC] Remove redundant variable

Differential Revision: https://reviews.llvm.org/D103706
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
Commit be5d454f3f07607a7d9326078f5c47f2e1f3a8ee by aeubanks
[NFC][OpaquePtr] Avoid calling getPointerElementType()

Pointee types are going away soon.

For this, we mostly just care about store/load types, which are already
available without the pointee types. The other intrinsics always use
i8*.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103719
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
Commit 93aa445e16f7e27df08f69204263b618ca0448a1 by david.green
Revert "[ARM] Extend narrow values to allow using truncating scatters"

This commit adds nodes that might not always be used, which the
expensive checks builder does not like. Reverting for now to think up a
better way of handling it.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-unscaled.ll
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
Commit b8567559cf3872d0cc2a0ed24a171da8b1ff400f by Raphael Isemann
[lldb] Make the ClassTemplateDecl merging logic in TypeSystemClang respect template parameters

DWARF doesn't describe templates itself but only actual template instantiations.
Because of that LLDB has to infer the parameters of the class template
declarations from the actual instantiations when creating the internal Clang AST
from debug info

Because there is no dedicated DIE for the class template, LLDB also creates the
`ClassTemplateDecl` implicitly when parsing a template instantiation. To avoid
creating one ClassTemplateDecls for every instantiation,
`TypeSystemClang::CreateClassTemplateDecl` will check if there is already a
`ClassTemplateDecl` in the requested `DeclContext` and will reuse a found
fitting declaration.

The logic that checks if a found class template fits to an instantiation is
currently just comparing the name of the template. So right now we map
`template<typename T> struct S;` to an instantiation with the values `S<1, 2,
3>` even though they clearly don't belong together.

This causes crashes later on when for example the Itanium mangler's
`TemplateArgManglingInfo::needExactType` method tries to find fitting the class
template parameter that fits to an instantiation value. In the example above it
will try to find the parameter for the value `2` but will just trigger a
boundary check when retrieving the parameter with index 1 from the class
template.

There are two ways we can end up with an instantiation that doesn't fit to a
class template with the same name:

1. We have two TUs with two templates that have the same name and internal
   linkage.
2. A forward declared template instantiation is emitted by GCC and Clang
   without an empty list of parameter values.

This patch makes the check for whether a class template declaration can be
reused more sophisticated by also comparing whether the parameter values can fit
to the found class template. If we can't find a fitting class template we
justcreate a second class template with the fitting parameters.

Fixes rdar://76592821

Reviewed By: kastiglione

Differential Revision: https://reviews.llvm.org/D100662
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was addedlldb/test/API/lang/cpp/forward-declared-template-specialization/main.cpp
The file was addedlldb/test/API/lang/cpp/incompatible-class-templates/other.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was addedlldb/test/API/lang/cpp/forward-declared-template-specialization/TestCppForwardDeclaredTemplateSpecialization.py
The file was addedlldb/test/API/lang/cpp/incompatible-class-templates/Makefile
The file was addedlldb/test/API/lang/cpp/incompatible-class-templates/TestCppIncompatibleClassTemplates.py
The file was modifiedlldb/unittests/Symbol/TestTypeSystemClang.cpp
The file was addedlldb/test/API/lang/cpp/forward-declared-template-specialization/Makefile
The file was addedlldb/test/API/lang/cpp/incompatible-class-templates/main.cpp
Commit e52364532afb2748c324f360bc1cc12605d314f3 by lebedev.ri
[NewPM] Remove SpeculateAroundPHIs pass

Addition of this pass has been botched.
There is no particular reason why it had to be sold as an inseparable part
of new-pm transition. It was added when old-pm was still the default,
and very *very* few users were actually tracking new-pm,
so it's effects weren't measured.

Which means, some of the turnoil of the new-pm transition
are actually likely regressions due to this pass.

Likewise, there has been a number of post-commit feedback
(post new-pm switch), namely
* https://reviews.llvm.org/D37467#2787157 (regresses HW-loops)
* https://reviews.llvm.org/D37467#2787259 (should not be in middle-end, should run after LSR, not before)
* https://reviews.llvm.org/D95789 (an attempt to fix bad loop backedge metadata)
and in the half year past, the pass authors (google) still haven't found time to respond to any of that.

Hereby it is proposed to backout the pass from the pipeline,
until someone who cares about it can address the issues reported,
and properly start the process of adding a new pass into the pipeline,
with proper performance evaluation.

Furthermore, neither google nor facebook reports any perf changes
from this change, so i'm dropping the pass completely.
It can always be re-reverted should/if anyone want to pick it up again.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D104099
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt
The file was removedllvm/test/Transforms/SpeculateAroundPHIs/pr42991.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was removedllvm/include/llvm/Transforms/Scalar/SpeculateAroundPHIs.h
The file was removedllvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp
The file was removedllvm/test/Transforms/SpeculateAroundPHIs/convergent.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was removedllvm/test/Transforms/SpeculateAroundPHIs/basic-x86.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
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/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
The file was modifiedllvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
Commit fc006b3e5dc3cb33e3dd55955f05664f187e8240 by leonardchan
[compiler-rt][hwasan] Add GetShadowOffset function

Similar to SHADOW_OFFSET on asan, we can use this for hwasan so platforms that
use a constant value for the start of shadow memory can just use the constant
rather than access a global.

Differential Revision: https://reviews.llvm.org/D104275
The file was modifiedcompiler-rt/lib/hwasan/hwasan_mapping.h
The file was modifiedcompiler-rt/lib/hwasan/hwasan_allocator.h
Commit a11880468e556d20ad9b0d43a1ff43daf62d49b2 by Stanislav.Mekhanoshin
[AMDGPU] Fix lds superalign test. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-kernel-lds-super-align.ll
Commit 3bc899b4de74d395b03d3969d700aac71f89bc12 by llvm
[X86] avoid assert with varargs, soft float, and no-implicit-float

Fixes:
- PR36507 Floating point varargs are not handled correctly with
   -mno-implicit-float
- PR48528 __builtin_va_start assumes it can pass SSE registers
   when using -Xclang -msoft-float -Xclang -no-implicit-float

On x86_64, floating-point parameters are normally passed in XMM
registers. For va_start, we spill those to memory so va_arg can
find them. There is an interaction here with -msoft-float and
-no-implicit-float:

When -msoft-float is in effect, instead of passing floating-point
parameters in XMM registers, they are passed in general-purpose
registers.

When -no-implicit-float is in effect, it "disables implicit
floating-point instructions" (per the LangRef). The intended
effect is to not have the compiler generate floating-point code
unless explicit floating-point operations are present in the
source code, but what exactly counts as an explicit floating-point
operation is not specified. The existing behavior of LLVM here has
led to some surprises and PRs.

This change modifies the behavior as follows:

  | soft | no-implicit | old behavior    | new behavior    |
  |  no  |   no        | spill XMM regs  | spill XMM regs  |
  | yes  |   no        | don't spill XMM | don't spill XMM |
  |  no  |  yes        | don't spill XMM | spill XMM regs  |
  | yes  |  yes        | assert          | don't spill XMM |

In particular, this avoids the assert that happens when
-msoft-float and -no-implicit-float are both in effect. This
seems like a perfectly reasonable combination: If we don't want
to rely on hardware floating-point support, we want to both
avoid using float registers to pass parameters and avoid having
the compiler generate floating-point code that wasn't in the
original program. Instead of crashing the compiler, the new
behavior is to not synthesize floating-point code in this
case. This fixes PR48528.

The other interesting case is when -no-implicit-float is in
effect, but -msoft-float is not. In that case, any floating-point
parameters that are present will be in XMM registers, and so we
have to spill them to correctly handle those. This fixes
PR36507. The spill is conditional on %al indicating that
parameters are present in XMM registers, so no floating-point
code will be executed unless the function is called with
floating-point parameters.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D104001
The file was addedllvm/test/CodeGen/X86/varargs-softfloat.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 3302af9d4c39642bebe64dd60a3aa162fefc44b2 by Duncan P. N. Exon Smith
Support: Remove F_{None,Text,Append} compatibility synonyms, NFC

Remove the compatibility spellings of `OF_{None,Text,Append}` that
were left behind by 1f67a3cba9b09636c56e2109d8a35ae96dc15782.

No functionality change here, just an API cleanup.

Differential Revision: https://reviews.llvm.org/D101506
The file was modifiedllvm/include/llvm/Support/FileSystem.h
Commit dc066888bd98c0500ca7b590317dc91ccce0fd38 by arthur.j.odwyer
[libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20.

Differential Revision: https://reviews.llvm.org/D103753
The file was modifiedlibcxx/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
The file was modifiedlibcxx/include/__memory/shared_ptr.h
The file was modifiedlibcxx/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp
The file was modifiedlibcxx/docs/Cxx2aStatus.rst
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/not1.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/refwrap/binary.pass.cpp
The file was modifiedlibcxx/docs/UsingLibcxx.rst
The file was modifiedlibcxx/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp
The file was modifiedlibcxx/include/map
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/binary_negate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/__functional_base
The file was modifiedlibcxx/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp
The file was modifiedlibcxx/include/utility
The file was modifiedlibcxx/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/refwrap/unary.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp
The file was addedlibcxx/test/libcxx/depr/depr.func.adaptor.typedefs/typedefs.depr_in_cxx17.verify.cpp
The file was modifiedlibcxx/include/functional
The file was modifiedlibcxx/include/optional
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/not2.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/unary_negate.pass.cpp
The file was modifiedlibcxx/include/__memory/unique_ptr.h
Commit 821a8f680eec356be5894559bcea3f718e8bedd4 by nemanja.i.ibm
[PowerPC] Fix spilling of paired VSX registers

We have added STXVP/LXVP for spilling and restoring the registers
but we neglected to add FI elimination code for these. The result
is that we end up producing impossible MachineInstr's that have
register operands in place of immediates.
The file was modifiedllvm/test/CodeGen/PowerPC/mma-intrinsics.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mma-acc-spill.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was addedllvm/test/CodeGen/PowerPC/spill-vec-pair.ll
Commit 994bb937f020a014c7039151169649a7076ca9b1 by albionapc
[PowerPC] Moving defineXLCompatMacros() definition

Moving the definition of the defineXLCompatMacros function from
the header file clang/lib/Basic/Targets/PPC.h to the source file
clang/lib/Basic/Targets/PPC.cpp.

Differential revision: https://reviews.llvm.org/D104125
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
Commit 332da1c283564489c874737d3a9f2b103c15755c by cjdb
[libcxx][iwyu] ensures we IWYU as prep for modules

This has been broken out of D104170 since it should be merged whether or
not we go ahead with the module map changes.

Differential Revision: https://reviews.llvm.org/D104175
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
The file was modifiedlibcxx/include/__ranges/data.h
The file was modifiedlibcxx/include/__memory/allocation_guard.h
The file was modifiedlibcxx/include/__ranges/access.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
The file was modifiedlibcxx/include/__iterator/next.h
The file was modifiedlibcxx/include/__ranges/view_interface.h
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was modifiedlibcxx/include/__memory/allocator_traits.h
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/size.h
The file was modifiedlibcxx/include/__memory/pointer_traits.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
The file was modifiedlibcxx/include/__memory/pointer_safety.h
The file was modifiedlibcxx/include/__memory/auto_ptr.h
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
The file was modifiedlibcxx/include/__iterator/prev.h
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
The file was modifiedlibcxx/include/__ranges/empty.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
The file was modifiedlibcxx/include/__iterator/advance.h
Commit 9ddb625890518d8ee079da896c9d28f21154a6d1 by Jinsong Ji
[NFC] Update renamed option in comments

c98ebda325c996b3a12f4fded0368734dc0fe28a Rename fp-op fusion option (yet
again) for compatibility with GCC option.

The comment in the header should be updated too to avoid confusion.
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
Commit efebe76e93d50562a0d834e39f096eac24aa3c0c by douglas.yung
Remove redundant test that was causing intermittent build bot failures.

Patch by Fred Grim!

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D104295
The file was removedclang/test/Format/struct-array-initializer.cpp
Commit dd1992efd3f1ebbaddc77edafcf17b967cafc1d9 by jpienaar
Support lowering of index-cast on vector types.

The index cast operation accepts vector types. Implement its lowering in this patch.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D104280
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
Commit a99f6d307119e3f6cee7c2f7ad731a95d320063c by Vitaly Buka
[NFC] Fix "unused variable" warning
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
Commit 6478ef61b1a4dd86f520b199e0fd6762e8306353 by Vitaly Buka
[asan] Remove Asan, Ubsan support of RTEMS and Myriad

Differential Revision: https://reviews.llvm.org/D104279
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
The file was modifiedcompiler-rt/lib/asan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was removedcompiler-rt/lib/asan/asan_mapping_myriad.h
The file was modifiedcompiler-rt/lib/asan/asan_internal.h
The file was removedcompiler-rt/lib/asan/asan_malloc_local.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp
The file was modifiedcompiler-rt/lib/ubsan/ubsan_platform.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/asan/asan_poisoning.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
The file was modifiedcompiler-rt/lib/asan/asan_thread.cpp
The file was modifiedcompiler-rt/lib/asan/asan_shadow_setup.cpp
The file was modifiedcompiler-rt/lib/asan/asan_poisoning.h
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_rtems.h
The file was modifiedcompiler-rt/lib/asan/asan_errors.cpp
The file was removedcompiler-rt/lib/asan/asan_rtems.cpp
The file was modifiedcompiler-rt/lib/asan/asan_malloc_linux.cpp
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_rtems.h
The file was modifiedcompiler-rt/lib/asan/asan_flags.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_errno.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedcompiler-rt/lib/asan/asan_flags.cpp
The file was removedllvm/test/Instrumentation/AddressSanitizer/basic-myriad.ll
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.cpp
The file was modifiedcompiler-rt/lib/interception/interception.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
The file was modifiedcompiler-rt/lib/asan/asan_new_delete.cpp
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp
Commit 9aa1428174ae5d0515f49d50a483a5517f4df2f4 by aeubanks
[InstSimplify] Treat invariant group insts as bitcasts for load operands

We can look through invariant group intrinsics for the purposes of
simplifying the result of a load.

Since intrinsics can't be constants, but we also don't want to
completely rewrite load constant folding, we convert the load operand to
a constant. For GEPs and bitcasts we just treat them as constants. For
invariant group intrinsics, we treat them as a bitcast.

Relanding with a check for self-referential values.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D101103
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/invariant.group-load.ll
The file was addedllvm/test/Transforms/InstSimplify/invalid-load-operand-infinite-loop.ll
Commit e8bfeebeeb23cb32f1a8036e2c95d8d4b1c27c76 by llvmgnsyncbot
[gn build] Port 6478ef61b1a4
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
Commit dc3bd11e5b6be7a5430b32dc8155e2435a542918 by aaron
Adding the rest of the C11 papers to the status page.
The file was modifiedclang/www/c_status.html
Commit f7a23ecece524564a0c3e09787142cc6061027bb by andrea.dibiagio
[MCA] Adding the CustomBehaviour class to llvm-mca

Some instructions are not defined well enough within the target’s scheduling
model for llvm-mca to be able to properly simulate its behaviour. The ideal
solution to this situation is to modify the scheduling model, but that’s not
always a viable strategy. Maybe other parts of the backend depend on that
instruction being modelled the way that it is. Or maybe the instruction is quite
complex and it’s difficult to fully capture its behaviour with tablegen. The
CustomBehaviour class (which I will refer to as CB frequently) is designed to
provide intuitive scaffolding for developers to implement the correct modelling
for these instructions.

Implementation details:

llvm-mca does its best to extract relevant register, resource, and memory
information from every MCInst when lowering them to an mca::Instruction. It then
uses this information to detect dependencies and simulate stalls within the
pipeline. For some instructions, the information that gets captured within the
mca::Instruction is not enough for mca to simulate them properly. In these
cases, there are two main possibilities:

1. The instruction has a dependency that isn’t detected by mca.
2. mca is incorrectly enforcing a dependency that shouldn’t exist.

For the rest of this discussion, I will be focusing on (1), but I have put some
thought into (2) and I may revisit it in the future.

So we have an instruction that has dependencies that aren’t picked up by mca.
The basic idea for both pipelines in mca is that when an instruction wants to be
dispatched, we first check for register hazards and then we check for resource
hazards. This is where CB is injected. If no register or resource hazards have
been detected, we make a call to CustomBehaviour::checkCustomHazard() to give
the target specific CB the chance to detect and enforce any custom dependencies.

The return value for checkCustomHazaard() is an unsigned int representing the
(minimum) number of cycles that the instruction needs to stall for. It’s fine to
underestimate this value because when StallCycles gets down to 0, we’ll end up
checking for all the hazards again before the instruction is actually
dispatched. However, it’s important not to overestimate the value and the more
accurate your estimate is, the more efficient mca’s execution can be.

In general, for checkCustomHazard() to be able to detect these custom
dependencies, it needs information about the current instruction and also all of
the instructions that are still executing within the pipeline. The mca pipeline
uses mca::Instruction rather than MCInst and the current information encoded
within each mca::Instruction isn’t sufficient for my use cases. I had to add a
few extra attributes to the mca::Instruction class and have them get set by the
MCInst during instruction building. For example, the current mca::Instruction
doesn’t know its opcode, and it also doesn’t know anything about its immediate
operands (both of which I had to add to the class).

With information about the current instruction, a list of all currently
executing instructions, and some target specific objects (MCSubtargetInfo and
MCInstrInfo which the base CB class has references to), developers should be
able to detect and enforce most custom dependencies within checkCustomHazard. If
you need more information than is present in the mca::Instruction, feel free to
add attributes to that class and have them set during the lowering sequence from
MCInst.

Fortunately, in the in-order pipeline, it’s very convenient for us to pass these
arguments to checkCustomHazard. The hazard checking is taken care of within
InOrderIssueStage::canExecute(). This function takes a const InstRef as a
parameter (representing the instruction that currently wants to be dispatched)
and the InOrderIssueStage class maintains a SmallVector<InstRef, 4> which holds
all of the currently executing instructions. For the out-of-order pipeline, it’s
a bit trickier to get the list of executing instructions and this is why I have
held off on implementing it myself. This is the main topic I will bring up when
I eventually make a post to discuss and ask for feedback.

CB is a base class where targets implement their own derived classes. If a
target specific CB does not exist (or we pass in the -disable-cb flag), the base
class is used. This base class trivially returns 0 from its checkCustomHazard()
implementation (meaning that the current instruction needs to stall for 0 cycles
aka no hazard is detected). For this reason, targets or users who choose not to
use CB shouldn’t see any negative impacts to accuracy or performance (in
comparison to pre-patch llvm-mca).

Differential Revision: https://reviews.llvm.org/D104149
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp
The file was modifiedllvm/include/llvm/MCA/Context.h
The file was modifiedllvm/include/llvm/MCA/HWEventListener.h
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was modifiedllvm/lib/MCA/CMakeLists.txt
The file was addedllvm/tools/llvm-mca/lib/CMakeLists.txt
The file was addedllvm/include/llvm/MCA/CustomBehaviour.h
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
The file was modifiedllvm/tools/llvm-mca/CMakeLists.txt
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/lib/MCA/Context.cpp
The file was addedllvm/lib/MCA/CustomBehaviour.cpp
The file was modifiedllvm/tools/llvm-mca/Views/DispatchStatistics.cpp
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
Commit a04f01bab2da4650cc90a351fd734e626e6797af by andrea.dibiagio
Revert "[MCA] Adding the CustomBehaviour class to llvm-mca"

This reverts commit f7a23ecece524564a0c3e09787142cc6061027bb.

It appears to breaks buildbots that don't build the AMDGPU backend.
The file was modifiedllvm/tools/llvm-mca/CMakeLists.txt
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was modifiedllvm/include/llvm/MCA/Context.h
The file was removedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was modifiedllvm/lib/MCA/CMakeLists.txt
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was removedllvm/include/llvm/MCA/CustomBehaviour.h
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was removedllvm/tools/llvm-mca/lib/CMakeLists.txt
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was removedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
The file was removedllvm/lib/MCA/CustomBehaviour.cpp
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/tools/llvm-mca/Views/DispatchStatistics.cpp
The file was removedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp
The file was modifiedllvm/include/llvm/MCA/HWEventListener.h
Commit 3af3e7dc576fa9ff972d6366923a52d2769453a0 by sivachandra
[libc][NFC] Disable thrd_test as it is exhibiting flaky behavior on the bots.
The file was modifiedlibc/test/src/threads/CMakeLists.txt
Commit e8f998c0c5edda3d6bad9b70e60975296df3d9fb by omair.javaid
AArch64 Linux and elf-core PAC stack unwinder support

This patch builds on D100521 and other related patches to add support
for unwinding stack on AArch64 systems with pointer authentication
feature enabled.

We override FixCodeAddress and FixDataAddress function in ABISysV_arm64
class. We now try to calculate and set code and data masks after reading
data_mask and code_mask registers exposed by AArch64 targets running Linux.

This patch utilizes core file linux-aarch64-pac.core for testing that
LLDB can successfully unwind stack frames in the presence of signed
return address after masking off ignored bits.

This patch also includes a AArch64 Linux native test case to demonstrate
successful back trace calculation in presence of pointer authentication
feature.

Differential Revision: https://reviews.llvm.org/D99944
The file was modifiedlldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
The file was addedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/Makefile
The file was addedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
The file was addedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/main.c
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
The file was addedlldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.out
Commit 0ddde4d86518de1154b6e850dc49010c829b717c by jonathan.l.peyton
[OpenMP] Lazily assign root affinity

Lazily set affinity for root threads. Previously, the root thread
executing middle initialization would attempt to assign affinity
to other existing root threads. This was not working properly as the
set_system_affinity() function wasn't setting the affinity for the
target thread. Instead, the middle init thread was resetting the
its own affinity using the target thread's affinity mask.

Differential Revision: https://reviews.llvm.org/D103625
The file was addedopenmp/runtime/test/affinity/root-threads-affinity.c
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
Commit 92baf414dbfb31d7d69bea56a0ce982d2b737268 by jonathan.l.peyton
[OpenMP] Fix affinity determine capable algorithm on Linux

Remove strange checks for syscall() arguments where mask is NULL.
Valgrind reports these as error usages for the syscall.
Instead, just check if CACHE_LINE bytes is long enough. If not, then
search for the size. Also, by limiting the first size detection
attempt to CACHE_LINE bytes, instead of 1MB, we don't use more than one
cache line for the mask size. Before this patch, sometimes the returned
mask size was 640 bytes (10 cache lines) because the initial call to
getaffinity() was limited only by the internal kernel mask size
which can be very large.

Differential Revision: https://reviews.llvm.org/D103637
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
Commit 56da28240f3c9d1c0b7152749bfd4777c67828e0 by jonathan.l.peyton
[OpenMP] Add GOMP 5.0 version symbols to API

* Add GOMP versioned pause functions
* Add GOMP versioned affinity format functions

To do the affinity format functions, only attach versioned symbols
to the APPEND Fortran entries (e.g., omp_set_affinity_format_) since
GOMP only exports two symbols (one for Fortran, one for C). Our
affinity format functions have three symbols.
e.g., with omp_set_affinity_format:
1) omp_set_affinity_format (Fortran interface)
2) omp_set_affinity_format_ (Fortran interface)
3) ompc_set_affinity_format (C interface)

Have the GOMP version of the C symbol alias the ompc_* 3) version
instead of the Fortran unappended version 1).

Differential Revision: https://reviews.llvm.org/D103647
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/exports_so.txt
Commit cfb96d845a684a5c567823dbe2aa4392937ee979 by jingham
Convert functions that were returning BreakpointOption * to BreakpointOption &.

This is an NFC cleanup.

Many of the API's that returned BreakpointOptions always returned valid ones.
Internally the BreakpointLocations usually have null BreakpointOptions, since they
use their owner's options until an option is set specifically on the location.
So the original code used pointers & unique_ptr everywhere for consistency.
But that made the code hard to reason about from the outside.

This patch changes the code so that everywhere an API is guaranteed to
return a non-null BreakpointOption, it returns it as a reference to make
that clear.

It also changes the Breakpoint to hold a BreakpointOption
member where it previously had a UP.  Since we were always filling the UP
in the Breakpoint constructor, having the UP wasn't helping anything.

Differential Revision: https://reviews.llvm.org/D104162
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
The file was modifiedlldb/source/Target/StopInfo.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointName.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocation.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
The file was modifiedlldb/source/API/SBBreakpointName.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointLocationCollection.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointOptions.cpp
The file was modifiedlldb/source/API/SBBreakpointLocation.cpp
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was modifiedlldb/source/Commands/CommandObjectBreakpointCommand.cpp
The file was modifiedlldb/include/lldb/Breakpoint/Breakpoint.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointSite.h
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/source/API/SBBreakpoint.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointSite.cpp
Commit 434fed5aff5e62460e2e984c7cc2674c12779b1e by xur
[SampleFDO] Using common linkage for the discriminator flag variable

We create flag variable "__llvm_fs_discriminator__" in the binary
to indicate that FSAFDO hierarchical discriminators are used.

This variable might be GC'ed by the linker since it is not explicitly
reference. I initially added the var to the use list in pass
MIRFSDiscriminator but it did not work. It turned out the used global
list is collected in lowering (before MIR pass) and then emitted in
the end of pass pipeline.

In this patch, we use a "common" linkage for this variable so that
it will be GC'ed by the linker.

Differential Revision: https://reviews.llvm.org/D103988
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test2.ll
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
Commit 727a63e0d9a79d8e650674c0aca8fb3629e06b2d by ajcbik
[mlir][sparse] allow all-dense annotated "sparse" tensor output

This is a very careful start with alllowing sparse tensors at the
left-hand-side of tensor index expressions (viz. sparse output).
Note that there is a subtle difference between non-annotated tensors
(dense, remain n-dim, handled by classic bufferization) and all-dense
annotated "sparse" tensors (linearized to 1-dim without overhead
storage, bufferized by sparse compiler, backed by runtime support library).
This revision gently introduces some new IR to facilitate annotated outputs,
to be generalized to truly sparse tensors in the future.

Reviewed By: gussmith23, bixia

Differential Revision: https://reviews.llvm.org/D104074
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/conversion.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was addedmlir/test/Dialect/SparseTensor/dense.mlir
The file was modifiedmlir/test/Dialect/SparseTensor/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit fad8d4230ff73432b73f8111f5d640c6bb014daa by zequanwu
[OpaquePtr] Verify Opaque pointer in function parameter

Verifying opaque pointer as function parameter when using with `byval`, `byref`,
`inalloca`, `preallocated`.

Differential Revision: https://reviews.llvm.org/D104309
The file was modifiedllvm/test/Assembler/invalid-byval-type3.ll
The file was modifiedllvm/test/Verifier/inalloca1.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/Verifier/byref.ll
The file was addedllvm/test/Verifier/opaque-ptr-invalid.ll
Commit 621d93d263f82059c2826fe919a1a138b65627a3 by ravishankarm
[mlir][SCF] Remove empty else blocks of `scf.if` operations.

Differential Revision: https://reviews.llvm.org/D104273
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
Commit bddef537776e15fa21e2ec11a4b2543d6d91fedc by i
[docs] Exclude FlangOption and re-generate ClangCommandLineReference.rst
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/include/clang/Driver/ClangOptionDocs.td
Commit 479c3577fb825c0c7933b49ac0dd944c4aae22bf by jingham
Missed a Windows use of ValidForThisThread in the changes for
cfb96d845a684a5c567823dbe2aa4392937ee979.
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Commit ec8910c4ad92bce301774dfa99b631bbfaca0e30 by ajcbik
[mlir][sparse] integration test for all-dense annotated "sparse" output

Reviewed By: gussmith23

Differential Revision: https://reviews.llvm.org/D104277
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
The file was addedmlir/test/Integration/data/zero.mtx
Commit 76de2f4a9c023d06717536ccb089f9959c4ef4bb by aktoon
CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET

This allows overriding the `CMAKE_CXX_VISIBILITY_PRESET` on the command line. For example, setting the value to `default` lets PIC LLVM static libraries be converted to DSOs, without the need to rebuild LLVM with BUILD_SHARED_LIBS=ON.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D104168
The file was modifiedllvm/lib/Target/CMakeLists.txt
Commit 80b2da42d28466341b9512599aac354c178c39f8 by jingham
Don't depend on the "run" alias doing shell expanding.
Instead dial it up explicitly.

This test started failing recently and I'm not sure why.  It also
doesn't make sense to me the replacing "run" with "process launch -X 1 --"
should make any difference - run is an alias for the latter.  But
it does pass with the change, and unless we are testing for the exact
run alias, it's better to ask for what we want explicitly.
The file was modifiedlldb/test/Shell/Host/TestCustomShell.test
Commit 4f194d0db78f612233234a7db659384cd62709fb by Louis Dionne
[libc++] Promote GCC 11 to mandatory CI

Also, fix the last issue that prevented GCC 11 from passing the test
suite. Thanks to everyone else who fixed issues.

Differential Revision: https://reviews.llvm.org/D104315
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
The file was modifiedlibcxxabi/test/catch_member_function_pointer_02.pass.cpp
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/run-buildbot
The file was modifiedlibcxx/utils/ci/Dockerfile
Commit af93157625ef26679883a17711b53aac8521306c by browneee
[DFSan] Handle landingpad inst explicitly as zero shadow.

Before this change, DFSan was relying fallback cases when getting origin
address.

Differential Revision: https://reviews.llvm.org/D104266
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/call.ll
Commit c4992bf593a4fd2fd250c5ebe31aa9f26cc9ed40 by Vitaly Buka
[NFC][sanitizer] Remove calls to __asan_get_current_fake_stack

Unnecessary with -fsanitize-address-use-after-return=never.

for issue: https://github.com/google/sanitizers/issues/1394

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D104154
The file was modifiedcompiler-rt/test/asan/TestCases/throw_catch.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/contiguous_container.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/longjmp.cpp
Commit 86906304d8cd7dcb4478283866b56ba52e1e224e by yedeng.yd
[FuncSpec] Use std::pow instead of operator^

The original implementation calculating UserBonus uses operator ^, which means XOR in C++
language.
At the first glance of reviewing, I thought it should be power, my bad.
It doesn't make sense to use XOR here. So I believe it should be a
carelessness as I made.

Test Plan: check-all

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D104282
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization3.ll
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-loop.ll
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization-recursive.ll
Commit 17bdc0ff6f2e71ae5d93ce52b2291f915055ccb6 by Saleem Abdulrasool
X86: balance the frame prologue and epilogue on Win64

This was broken in ba1509da7b89c850c89f0f98afbab375794cd3c8.  The Win64
frame would not perform the setup of the Swift async context parameter
but would tear down the setup in the epilogue resulting in crashes.
This ensures that we do the full setup when we do the tear down.
Although this is non-conforming to the Win64 calling convention, it
corrects the setup and exposes the actual issue that the change
introduced: incorrect frame setup.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D104246
The file was addedllvm/test/CodeGen/X86/swifttail-async-win64.ll
The file was addedllvm/test/CodeGen/X86/swift-async-win64.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit 4590b406c02e4e6803d2644195dbb78bc09c25c7 by czhengsz
[Debug-Info] guard DW_LANG_C_plus_plus_14 under strict dwarf

Reviewed By: stuart

Differential Revision: https://reviews.llvm.org/D104291
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-programming-language.cpp
Commit 285dd08b56215840d721961add4a355b60d673a7 by i
[Driver] Delete -fsanitize-coverage-blocklist= in favor of -fsanitize-coverage-ignorelist=

We are settled with -fsanitize-coverage-ignorelist (D101832).
Just delete -fsanitize-coverage-blocklist which is also new.
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/docs/SanitizerCoverage.rst
The file was modifiedclang/include/clang/Driver/Options.td
Commit 95f9026c17880795f78563ec7a5673c240c33a5e by xur
Revert "[SampleFDO] Using common linkage for the discriminator flag variable"

This reverts commit 434fed5aff5e62460e2e984c7cc2674c12779b1e.

Post commit review suggested to use another implmenentation.
Detailed can be found in the review.
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test2.ll
Commit bda1f2936e379e418156444d8d9f3fba2c60687c by psteinfeld
[flang] Add semantic check for the RANDOM_SEED intrinsic

I added the only check that wasn't already tested along with tests for
many valid and invalid arguments.

Differential Revision: https://reviews.llvm.org/D104318
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was addedflang/test/Semantics/random-seed.f90
Commit 82a0bb1afc2924a2457af574a83317a47659388a by xur
[SampleFDO] Place the discriminator flag variable into the used list.

We create flag variable "__llvm_fs_discriminator__" in the binary
to indicate that FSAFDO hierarchical discriminators are used.

This variable might be GC'ed by the linker since it is not explicitly
reference. I initially added the var to the use list in pass
MIRFSDiscriminator but it did not work. It turned out the used global
list is collected in lowering (before MIR pass) and then emitted in
the end of pass pipeline.

Here I add the variable to the use list in IR level's AddDiscriminators
pass. The machine level code is still keep in the case IR's
AddDiscriminators is not invoked. If this is the case, this just use
-Wl,--export-dynamic-symbol=__llvm_fs_discriminator__
to force the emit.

Differential Revision: https://reviews.llvm.org/D103988
The file was modifiedllvm/lib/Transforms/Utils/SampleProfileLoaderBaseUtil.cpp
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
The file was modifiedllvm/lib/Transforms/Utils/AddDiscriminators.cpp
Commit ed88e57f6587ea51d1c106acbdd82a083f746606 by czhengsz
[LLDB] Fix buildbots breakage due to TestGuessLanguage.py

Fix LLDB buidbot breakage due to D104291

Differential Revision: https://reviews.llvm.org/D104291
The file was modifiedlldb/test/API/commands/frame/language/TestGuessLanguage.py