Changes

Summary

  1. [llvm] Use range-based for loops (NFC) (details)
  2. [clangd] Print type for VarTemplateDecl in hover. (details)
  3. [RISCV] Revise RISCVInstPrinter::printVTypeI to not assume there are 3 invalid vtype bits. (details)
  4. [flang] Avoid potential deadlock in CloseAll() (details)
  5. [flang] Remove runtime check from OpenFile::Close() (details)
  6. Modify DataEncoder to be able to encode data in an object owned buffer. (details)
  7. [ASan] Refactored SHADOW_OFFSET implementation to use SHADOW_OFFSET_CONST. (details)
  8. [NFC] Clarify comment about LoopDeletionPass in the optimization pipeline (details)
  9. [DAG] Update expandFunnelShift/expandROT to return the expansion directly. NFCI. (details)
  10. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  11. [SystemZ] Add range checks for PC-relative fixups. (details)
  12. [mlir][tosa] Disable tosa.depthwise_conv2d canonicalizer for quantized case (details)
  13. Remove unused variable. NFC. (details)
  14. Change __lsan::kMaxAllowedMallocSize literal types to unsigned long long (details)
  15. [LLDB][NativePDB] Fix function decl creation for class methods (details)
  16. [NFC][CodeView] Use one unified access to the module in beginModule. (details)
  17. [libc] update tidy rules to fix variable formatting (details)
  18. [libc] apply new lint rules (details)
  19. Format lsan.h (details)
  20. [mlir][sparse] finalize sparse output in the presence of reductions (details)
  21. [libc++] std::move should be _VSTD::move in one place. NFCI. (details)
  22. [libc++] Remove unneeded `std::` qualifications from <compare>. NFCI. (details)
  23. [libc++] [ranges] SFINAE-friendly "write it three times" in views::counted. (details)
  24. [libc++] [test] Rationalize the nodiscard tests for range adaptors. (details)
  25. [mlir][sparse] fix broken build (details)
  26. [sanitizer] Lock/Unlock stack store on fork (details)
  27. [VP] Cost model for VPMemory operations on PowerPC. (details)
  28. [ASan] Replaced constants for SHADOW_OFFSET with defines. (details)
  29. [Analysis] Ignore casts and unary ops for uninitialized values (details)
  30. Fix buildbot after https://reviews.llvm.org/D115073. (details)
  31. Fix buildbots after https://reviews.llvm.org/D115073. (details)
  32. [flang][runtime] Add ragged array runtime functions (details)
  33. [OpenMP] Disable libomptarget profiling by default if built via the "runtimes" setup (details)
  34. [InstCombine] add tests for div with select-of-constants divisor; NFC (details)
  35. [InstCombine] add tests for div/rem with 0 select arm; NFC (details)
  36. [InstCombine] try to fold rem with constant dividend and select-of-constants divisor (details)
  37. [NFC][OpenMP] Prepare amdgpu plugin for asynchronous implementation of target region launch (details)
Commit 630c847b1b804dccafccf0a5cd5517238789da19 by kazu
[llvm] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/ShadowStackGCLowering.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedllvm/lib/CodeGen/StackSlotColoring.cpp
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFStreamer.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/TargetRegisterInfo.cpp
Commit 51dc466642c5566c289468b269a8c69b0e447720 by 1585086582
[clangd] Print type for VarTemplateDecl in hover.

Print type for VarTemplateDecl in hover.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D115108
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit 622d6894801b19e795737e133f5963d248de45af by craig.topper
[RISCV] Revise RISCVInstPrinter::printVTypeI to not assume there are 3 invalid vtype bits.

Instead of checking [10:8]. Check for non-zero in 8 and above.

Addresses a post-commit comment from @jrtc27 in D114581.
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Commit c84616c3b368f1ca679a08d2ce131f01a9f14ce9 by pklausler
[flang] Avoid potential deadlock in CloseAll()

When closing all open units, don't hold the unit map lock
over the actual close operations; if one of those aborts,
CloseAll() may be called and then deadlock.

Differential Review: https://reviews.llvm.org/D115184
The file was modifiedflang/runtime/unit-map.cpp
Commit 5034e1730f7a4dbd8004900096c4b176d24f13cb by pklausler
[flang] Remove runtime check from OpenFile::Close()

In error cases it is possible to CLOSE a unit that has not
been successfully connected, so don't crash when the file descriptor
is negative.

Differential Revision: https://reviews.llvm.org/D115165
The file was modifiedflang/runtime/file.cpp
Commit 244258e35acc92b3293e91ddecee6a8c8613ec20 by gclayton
Modify DataEncoder to be able to encode data in an object owned buffer.

DataEncoder was previously made to modify data within an existing buffer. As the code progressed, new clients started using DataEncoder to create binary data. In these cases the use of this class was possibly, but only if you knew exactly how large your buffer would be ahead of time. This patchs adds the ability for DataEncoder to own a buffer that can be dynamically resized as data is appended to the buffer.

Change in this patch:
- Allow a DataEncoder object to be created that owns a DataBufferHeap object that can dynamically grow as data is appended
- Add new methods that start with "Append" to append data to the buffer and grow it as needed
- Adds full testing of the API to assure modifications don't regress any functionality
- Has two constructors: one that uses caller owned data and one that creates an object with object owned data
- "Append" methods only work if the object owns it own data
- Removes the ability to specify a shared memory buffer as no one was using this functionality. This allows us to switch to a case where the object owns its own data in a DataBufferHeap that can be resized as data is added

"Put" methods work on both caller and object owned data.
"Append" methods work on only object owned data where we can grow the buffer. These methods will return false if called on a DataEncoder object that has caller owned data.

The main reason for these modifications is to be able to use the DateEncoder objects instead of llvm::gsym::FileWriter in https://reviews.llvm.org/D113789. This patch wants to add the ability to create symbol table caching to LLDB and the code needs to build binary caches and save them to disk.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D115073
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/unittests/Process/POSIX/NativeProcessELFTest.cpp
The file was addedlldb/unittests/Utility/DataEncoderTest.cpp
The file was modifiedlldb/source/Plugins/Platform/Android/AdbClient.cpp
The file was modifiedlldb/source/Utility/DataEncoder.cpp
The file was modifiedlldb/include/lldb/Utility/DataEncoder.h
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/unittests/Utility/CMakeLists.txt
Commit 591eb2bdb66b6b5500b44ddecc08a77fd6194d45 by kstoimenov
[ASan] Refactored SHADOW_OFFSET implementation to use SHADOW_OFFSET_CONST.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D115213
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
Commit 5c7e783ebe41936e653ff5232344bd28777e3ceb by aeubanks
[NFC] Clarify comment about LoopDeletionPass in the optimization pipeline

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D115179
The file was modifiedllvm/lib/Passes/PassBuilderPipelines.cpp
Commit 52d2f353235d17c279178a0c9f697c9bafece06e by llvm-dev
[DAG] Update expandFunnelShift/expandROT to return the expansion directly. NFCI.

Don't return a bool to indicate if the expansion was successful, just return the SDValue result directly, like we do for most other basic expansions.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit fd722c5959b98a706153f0e9e5111721efbfad41 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.
The file was modifiedllvm/unittests/CodeGen/RegAllocScoreTest.cpp
Commit 5bf4f2acb8d658904304460a937f24a071d9c9a7 by paulsson
[SystemZ] Add range checks for PC-relative fixups.

The AsmParser checks the range of a PC-relative operand, but only if it is
immediate.

This patch adds range checks for operands in applyFixup(), at which point the
offset to a label is known.

The diagnostic message for an operand that is out of range is explicit (with
given value and min/max limits). This is now also done for displacement
fixups.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D114194
The file was removedllvm/test/MC/SystemZ/fixups-out-of-range.s
The file was addedllvm/test/MC/SystemZ/fixups-out-of-range-01.s
The file was addedllvm/test/MC/SystemZ/fixups-out-of-range-02.s
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
Commit e9fae0f19eec1fce746101b410d2345f0fbf89b4 by rob.suderman
[mlir][tosa] Disable tosa.depthwise_conv2d canonicalizer for quantized case

Quantized case needs to include zero-point corrections before the tosa.mul.
Disabled for the quantized use-case.

Reviewed By: NatashaKnk

Differential Revision: https://reviews.llvm.org/D115264
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/test/Dialect/Tosa/canonicalize.mlir
Commit d298c324075e8059687314c46d996a6b580d2257 by llvm-dev
Remove unused variable. NFC.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
Commit 33e3554ea33d98f476f5d5a6fb85472d5dccfe18 by Vitaly Buka
Change __lsan::kMaxAllowedMallocSize literal types to unsigned long long

It is required for the [Leak Sanitizer port to Windows](https://reviews.llvm.org/D115103).
The currently used `unsigned long` type is 64 bits wide on UNIX like systems but only 32 bits wide on Windows.
Because of that, the literal `8UL << 30` causes an integer overflow on Windows.
By changing the type of the literals to `unsigned long long`, we have consistent behavior and no overflows on all Platforms.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D115186
The file was modifiedcompiler-rt/lib/lsan/lsan_allocator.cpp
Commit a3a8ed33a1d6a5047aae29790e02f3c7955297af by zequanwu
[LLDB][NativePDB] Fix function decl creation for class methods

This is a split of D113724. Calling `TypeSystemClang::AddMethodToCXXRecordType`
to create function decls for class methods.

Differential Revision: https://reviews.llvm.org/D113930
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/find-functions.cpp
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
Commit b5c42ef3da4ddf32a57781b8a44c30eee3dc0545 by chih-ping.chen
[NFC][CodeView] Use one unified access to the module in beginModule.

Differential Revision: https://reviews.llvm.org/D115257
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
Commit 43e2f7cd248acf799bf97af2388940c9c39151e0 by michaelrj
[libc] update tidy rules to fix variable formatting

This commit changes the clang-tidy rules for LLVM-libc to follow the new
format. The next commit applies these rules to the codebase.

The rules are as follows:

CamelCase for classes
lower_case for variables
lower_case for functions
UPPER_CASE for constexpr variables

There are also some exceptions, but the most important one is that any
function or variable that starts with an underscore is exempt from the
formatting.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D114301
The file was modifiedlibc/CMakeLists.txt
The file was modifiedlibc/cmake/modules/LLVMLibCObjectRules.cmake
The file was modifiedlibc/src/.clang-tidy
The file was addedlibc/src/__support/CPP/.clang-tidy
Commit 1c92911e9e1d503c0dfc4367da7f15d0dff50587 by michaelrj
[libc] apply new lint rules

This patch applies the lint rules described in the previous patch. There
was also a significant amount of effort put into manually fixing things,
since all of the templated functions, or structs defined in /spec, were
not updated and had to be handled manually.

Reviewed By: sivachandra, lntue

Differential Revision: https://reviews.llvm.org/D114302
The file was modifiedlibc/src/fenv/fegetexcept.cpp
The file was modifiedlibc/src/math/generic/sinf.cpp
The file was modifiedlibc/src/stdlib/llabs.cpp
The file was modifiedlibc/src/__support/FPUtil/FloatProperties.h
The file was modifiedlibc/src/fenv/feupdateenv.cpp
The file was modifiedlibc/src/inttypes/imaxdiv.cpp
The file was modifiedlibc/src/fenv/feholdexcept.cpp
The file was modifiedlibc/test/src/time/mktime_test.cpp
The file was modifiedlibc/src/time/time_utils.cpp
The file was modifiedlibc/test/src/math/LdExpTest.h
The file was modifiedlibc/benchmarks/automemcpy/lib/CodeGen.cpp
The file was modifiedlibc/src/signal/linux/sigaction.cpp
The file was modifiedlibc/test/src/math/ModfTest.h
The file was modifiedlibc/test/utils/FPUtil/x86_long_double_test.cpp
The file was modifiedlibc/src/string/memmove.cpp
The file was modifiedlibc/test/src/fenv/exception_flags_test.cpp
The file was modifiedlibc/src/math/generic/lrintf.cpp
The file was modifiedlibc/src/__support/FPUtil/x86_64/LongDoubleBits.h
The file was modifiedlibc/src/__support/detailed_powers_of_ten.h
The file was modifiedlibc/src/fenv/fegetexceptflag.cpp
The file was modifiedlibc/src/fenv/fesetexceptflag.cpp
The file was modifiedlibc/src/fenv/feraiseexcept.cpp
The file was modifiedlibc/test/src/math/FMaxTest.h
The file was modifiedlibc/test/src/math/CopySignTest.h
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was modifiedlibc/src/stdlib/lldiv.cpp
The file was modifiedlibc/src/__support/FPUtil/generic/FMA.h
The file was modifiedlibc/test/src/fenv/feclearexcept_test.cpp
The file was modifiedlibc/fuzzing/math/Compare.h
The file was modifiedlibc/src/math/generic/dp_trig.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp
The file was modifiedlibc/src/time/asctime_r.cpp
The file was modifiedlibc/test/src/math/FmaTest.h
The file was modifiedlibc/utils/UnitTest/FPMatcher.h
The file was modifiedlibc/src/fenv/fegetround.cpp
The file was modifiedlibc/src/signal/linux/signal.h
The file was modifiedlibc/test/src/__support/endian_test.cpp
The file was modifiedlibc/test/src/math/RemQuoTest.h
The file was modifiedlibc/src/__support/str_to_float.h
The file was modifiedlibc/src/string/memory_utils/memset_implementations.h
The file was modifiedlibc/src/string/memory_utils/memcmp_implementations.h
The file was modifiedlibc/src/__support/FPUtil/FPBits.h
The file was modifiedlibc/test/src/time/gmtime_test.cpp
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/src/__support/str_to_integer.h
The file was modifiedlibc/src/math/generic/llround.cpp
The file was modifiedlibc/test/src/math/RoundTest.h
The file was modifiedlibc/src/fenv/fedisableexcept.cpp
The file was modifiedlibc/test/src/__support/high_precision_decimal_test.cpp
The file was modifiedlibc/src/math/generic/nearbyintf.cpp
The file was modifiedlibc/test/src/stdlib/atof_test.cpp
The file was modifiedlibc/src/signal/linux/sigemptyset.cpp
The file was modifiedlibc/src/string/memccpy.cpp
The file was modifiedlibc/src/threads/linux/thrd_create.cpp
The file was modifiedlibc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
The file was modifiedlibc/src/math/generic/llroundf.cpp
The file was modifiedlibc/test/src/math/ILogbTest.h
The file was modifiedlibc/test/src/string/memory_utils/elements_test.cpp
The file was modifiedlibc/src/fenv/fegetenv.cpp
The file was modifiedlibc/test/src/math/FrexpTest.h
The file was modifiedlibc/src/__support/high_precision_decimal.h
The file was modifiedlibc/test/src/math/exp2f_test.cpp
The file was modifiedlibc/utils/UnitTest/FPMatcher.cpp
The file was modifiedlibc/src/math/generic/math_utils.h
The file was modifiedlibc/test/src/math/expm1f_test.cpp
The file was modifiedlibc/test/src/time/gmtime_r_test.cpp
The file was modifiedlibc/src/math/generic/sincosf_utils.h
The file was modifiedlibc/src/fenv/fesetenv.cpp
The file was modifiedlibc/src/threads/linux/Thread.h
The file was modifiedlibc/src/time/asctime.cpp
The file was modifiedlibc/test/src/math/LogbTest.h
The file was modifiedlibc/src/math/generic/lroundl.cpp
The file was modifiedlibc/src/math/generic/rintf.cpp
The file was modifiedlibc/src/string/memory_utils/elements_aarch64.h
The file was modifiedlibc/test/src/__support/str_to_float_test.cpp
The file was modifiedlibc/src/math/generic/cosf.cpp
The file was modifiedlibc/src/__support/integer_operations.h
The file was modifiedlibc/src/math/generic/nearbyintl.cpp
The file was modifiedlibc/test/src/math/RoundToIntegerTest.h
The file was modifiedlibc/src/fenv/feenableexcept.cpp
The file was modifiedlibc/test/src/stdlib/strtod_test.cpp
The file was modifiedlibc/src/__support/FPUtil/NearestIntegerOperations.h
The file was modifiedlibc/src/__support/FPUtil/x86_64/FEnvImpl.h
The file was modifiedlibc/src/math/generic/llrintf.cpp
The file was modifiedlibc/src/math/generic/llrint.cpp
The file was modifiedlibc/src/stdlib/ldiv.cpp
The file was modifiedlibc/src/assert/__assert_fail.cpp
The file was modifiedlibc/src/__support/FPUtil/x86_64/SqrtLongDouble.h
The file was modifiedlibc/test/src/math/NextAfterTest.h
The file was modifiedlibc/test/src/time/asctime_r_test.cpp
The file was modifiedlibc/src/string/strncat.cpp
The file was modifiedlibc/test/src/math/expf_test.cpp
The file was modifiedlibc/src/__support/FPUtil/FEnvImpl.h
The file was modifiedlibc/src/math/generic/lrintl.cpp
The file was modifiedlibc/src/string/memory_utils/memcpy_implementations.h
The file was modifiedlibc/test/src/math/HypotTest.h
The file was modifiedlibc/src/fenv/fetestexcept.cpp
The file was modifiedlibc/src/__support/FPUtil/aarch64/FEnvImpl.h
The file was modifiedlibc/src/stdlib/div.cpp
The file was modifiedlibc/src/threads/linux/thrd_join.cpp
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp
The file was modifiedlibc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
The file was modifiedlibc/test/src/math/FloorTest.h
The file was modifiedlibc/src/stdlib/abs.cpp
The file was modifiedlibc/src/math/generic/lroundf.cpp
The file was modifiedlibc/src/math/generic/lround.cpp
The file was modifiedlibc/test/src/math/CeilTest.h
The file was modifiedlibc/src/math/generic/sincosf_data.cpp
The file was modifiedlibc/src/__support/FPUtil/Sqrt.h
The file was modifiedlibc/src/math/generic/expm1f.cpp
The file was modifiedlibc/test/src/math/SqrtTest.h
The file was modifiedlibc/src/__support/FPUtil/NormalFloat.h
The file was modifiedlibc/src/math/generic/lrint.cpp
The file was modifiedlibc/test/src/math/FDimTest.h
The file was modifiedlibc/test/src/string/memory_utils/memory_access_test.cpp
The file was modifiedlibc/src/string/memory_utils/bcmp_implementations.h
The file was modifiedlibc/test/src/math/FMinTest.h
The file was modifiedlibc/test/src/math/exhaustive/expm1f_test.cpp
The file was modifiedlibc/src/time/mktime.cpp
The file was modifiedlibc/test/src/fenv/feupdateenv_test.cpp
The file was modifiedlibc/src/math/generic/rintl.cpp
The file was modifiedlibc/src/__support/FPUtil/ManipulationFunctions.h
The file was modifiedlibc/src/errno/__errno_location.cpp
The file was modifiedlibc/src/__support/CPP/Bitset.h
The file was modifiedlibc/test/src/stdlib/strtof_test.cpp
The file was modifiedlibc/src/string/memory_utils/elements_x86.h
The file was modifiedlibc/test/src/fenv/getenv_and_setenv_test.cpp
The file was modifiedlibc/src/__support/FPUtil/Hypot.h
The file was modifiedlibc/test/src/fenv/exception_status_test.cpp
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was modifiedlibc/src/string/memory_utils/elements.h
The file was modifiedlibc/test/src/math/TruncTest.h
The file was modifiedlibc/src/fenv/fesetround.cpp
The file was modifiedlibc/src/stdlib/labs.cpp
The file was modifiedlibc/src/math/generic/rint.cpp
The file was modifiedlibc/src/time/time_utils.h
The file was modifiedlibc/test/src/time/TmHelper.h
The file was modifiedlibc/src/__support/FPUtil/DivisionAndRemainderOperations.h
The file was modifiedlibc/test/src/fenv/feholdexcept_test.cpp
The file was modifiedlibc/src/math/generic/sincosf.cpp
The file was modifiedlibc/src/__support/FPUtil/BasicOperations.h
The file was modifiedlibc/src/string/strcat.cpp
The file was modifiedlibc/src/__support/endian.h
The file was modifiedlibc/src/fenv/feclearexcept.cpp
The file was modifiedlibc/src/math/generic/nearbyint.cpp
The file was modifiedlibc/src/math/generic/llrintl.cpp
The file was modifiedlibc/src/math/generic/llroundl.cpp
The file was modifiedlibc/test/src/math/RIntTest.h
The file was modifiedlibc/test/src/math/FAbsTest.h
Commit d9aa5f61582dc8af05043b53c8b5855bfa5edcb0 by Vitaly Buka
Format lsan.h

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D115262
The file was modifiedcompiler-rt/lib/lsan/lsan.h
Commit 4f2ec7f983b40c5796beff96b0bc846a9dacac25 by ajcbik
[mlir][sparse] finalize sparse output in the presence of reductions

This revision implements sparse outputs (from scratch) in all cases where
the loops can be reordered with all but one parallel loops outer. If the
inner parallel loop appears inside one or more reductions loops, then an
access pattern expansion is required (aka. workspaces in TACO speak).

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D115091
The file was modifiedmlir/test/Dialect/SparseTensor/conversion.mlir
The file was modifiedmlir/lib/ExecutionEngine/SparseTensorUtils.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/invalid.mlir
Commit 04d74aaff95984fba4572ce0d00fea43063462c6 by arthur.j.odwyer
[libc++] std::move should be _VSTD::move in one place. NFCI.

Reviewed as part of D115177.
The file was modifiedlibcxx/include/__ranges/subrange.h
Commit 7a06a14f624d31e7ed920f254d8b733d535258cb by arthur.j.odwyer
[libc++] Remove unneeded `std::` qualifications from <compare>. NFCI.

Reviewed as part of D115177.
The file was modifiedlibcxx/include/__compare/weak_order.h
The file was modifiedlibcxx/include/__compare/strong_order.h
Commit bd0c0e5b8c8c0bff5ffdff3d1d43dfbacf9caa06 by arthur.j.odwyer
[libc++] [ranges] SFINAE-friendly "write it three times" in views::counted.

Before this patch, the new test's `CountedInvocable<int*, int*>`
would hard-error instead of SFINAEing and cleanly returning false.

Notice that views::counted specifically does NOT work with pipes;
`counted(42)` is ill-formed. This is because `counted`'s first argument
is supposed to be an iterator, not a range.

Also, mark `views::counted(it, n)` as [[nodiscard]], and test that.
(We have a general policy now that range adaptors are consistently
marked [[nodiscard]], so that people don't accidentally think that
they have side effects. This matters mostly for `reverse` and
`transform`, arguably `drop`, and just generally let's be consistent.)

Differential Revision: https://reviews.llvm.org/D115177
The file was modifiedlibcxx/include/__ranges/counted.h
The file was modifiedlibcxx/test/support/test_iterators.h
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
The file was addedlibcxx/test/libcxx/ranges/range.adaptors/range.counted/adaptor.nodiscard.verify.cpp
Commit b108cd7b4539a9314df09aa06142c9ab741a14e3 by arthur.j.odwyer
[libc++] [test] Rationalize the nodiscard tests for range adaptors.

Reviewed as part of D115177.
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.common.view/adaptor.nodiscard.verify.cpp
The file was addedlibcxx/test/libcxx/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.all/all.nodiscard.verify.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.transform/adaptor.nodiscard.verify.cpp
The file was removedlibcxx/test/std/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp
Commit bb8632c1efcec3e52fb3a9e96681a06c7db012e1 by ajcbik
[mlir][sparse] fix broken build

rebase and commit crossed the getFunc change

Reviewed By: Chia-hungDuan

Differential Revision: https://reviews.llvm.org/D115270
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Commit 81f9dc8eee3b9319d911583a01b0060b5bce6018 by Vitaly Buka
[sanitizer] Lock/Unlock stack store on fork

Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D115210
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cpp
Commit 8aee78336691d1009cf0a62b806b31c2dc7c2cf3 by bmahjour
[VP] Cost model for VPMemory operations on PowerPC.

PPC Implementation of getVPMemoryOpCost and hasActiveVectorLength.

Reviewed By: Roland Froese

Differential Revision: https://reviews.llvm.org/D109417
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
Commit 84dbfe16426f76b425c24291942c71b115b565da by kstoimenov
[ASan] Replaced constants for SHADOW_OFFSET with defines.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D115214
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
Commit c4582a689c2c74e0635309979176c7ada086f066 by isanbard
[Analysis] Ignore casts and unary ops for uninitialized values

A series of unary operators and casts may obscure the variable we're
trying to analyze. Ignore them for the uninitialized value analysis.
Other checks determine if the unary operators result in a valid l-value.

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

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D114848
The file was modifiedclang/test/Analysis/uninit-asm-goto.cpp
The file was modifiedclang/lib/Analysis/UninitializedValues.cpp
Commit cfe5d768be95ae0a62cf430e56e7762cebf81a65 by gclayton
Fix buildbot after https://reviews.llvm.org/D115073.
The file was modifiedlldb/unittests/Process/POSIX/NativeProcessELFTest.cpp
Commit 220854a47bdc0c281dbaafb54411ec65e76212b3 by gclayton
Fix buildbots after https://reviews.llvm.org/D115073.
The file was modifiedlldb/unittests/Utility/DataEncoderTest.cpp
Commit 6116ff297f52c32fbe617c5dcea33c54c2c274ee by clementval
[flang][runtime] Add ragged array runtime functions

This patch adds the runtime function to allocate and
deallocate ragged arrays.

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

Reviewed By: klausler

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

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
The file was addedflang/unittests/Runtime/Ragged.cpp
The file was addedflang/runtime/ragged.cpp
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was modifiedflang/runtime/CMakeLists.txt
The file was addedflang/include/flang/Runtime/ragged.h
Commit db32c4f45625dddc2c5cb683adf3d9cab7a9732f by martin
[OpenMP] Disable libomptarget profiling by default if built via the "runtimes" setup

In the "runtimes" setup, the runtime (e.g. OpenMP) can be built for
a target entirely different from the current host build (where LLVM
and Clang are built). If profiling is enabled, libomptarget links
against LLVMSupport (which only has been built for the host).

Thus, don't enable profiling by default in this setup.

This should allow relanding D113253.

Differential Revision: https://reviews.llvm.org/D114083
The file was modifiedopenmp/CMakeLists.txt
Commit cfde8a6c9da284ccd048fcbf38d4c2470d614d2c by spatel
[InstCombine] add tests for div with select-of-constants divisor; NFC

Similar patterns as tests for:
D115173
(and we might want to make a single patch for all of these).
The file was modifiedllvm/test/Transforms/InstCombine/div.ll
Commit 51d3cb0ab15de7acb7131b5f967cf7fc84def99e by spatel
[InstCombine] add tests for div/rem with 0 select arm; NFC

More coverage for D115173 and its div sibling. These are
existing transforms handled by simplifyDivRemOfSelectWithZeroOp().
The file was modifiedllvm/test/Transforms/InstCombine/div.ll
The file was modifiedllvm/test/Transforms/InstCombine/rem.ll
Commit f65be726ab50ff13ccafd2f134599edb33cb1e7e by spatel
[InstCombine] try to fold rem with constant dividend and select-of-constants divisor

We avoid this fold in the more general cases where we use `FoldOpIntoSelect`.
That's because -- unlike most binary opcodes -- 'rem' can't usually be
speculated with a variable divisor since it can have immediate UB. But in
the case where both arms of the select are constants, we can safely evaluate
both sides and eliminate 'rem' completely.

This should fix:
https://llvm.org/PR52102

The same optimization for 'div' is planned as a follow-up patch.

Differential Revision: https://reviews.llvm.org/D115173
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/rem.ll
Commit d9b1d827d2e9ae135901b6eccf25a05ef49f38af by jonathanchesterfield
[NFC][OpenMP] Prepare amdgpu plugin for asynchronous implementation of target region launch

At present, amdgpu plugin merges both asynchronous and synchronous kernel launch implementations into a single synchronous version.
This patch prepares the plugin for asynchronous implementation by:
- Privatizing actual kernel launch code (valid in both cases) into an anonymous namespace base function

Actual separation of kernel launch code (async vs sync) is a following patch.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D115267
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp