Changes

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

Summary

  1. Revert "[Zorg][PowerPC] Implemented run test suite functionality in two builders" (details)
Commit cf69b5b8eb9000f0c9979fac92739f0fcfd6b9b1 by albionapc
Revert "[Zorg][PowerPC] Implemented run test suite functionality in two builders"

This reverts commit 96033070cd80d01d9e2f2aa077d7a8ea2ad5840d.
The file was modifiedzorg/buildbot/builders/UnifiedTreeBuilder.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedzorg/buildbot/builders/ClangBuilder.py

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

Summary

  1. [mlir][linalg] Pass all operands to tile to the tile loop region builder (NFC). (details)
  2. [ARM] Remove unnecessary use of replaceSymbolicStrideSCEV (NFC). (details)
  3. [libc] Some clean work with memmove. (details)
  4. [llvm-objcopy][COFF] Fix test for debug dir presence (details)
  5. [clang][deps] NFC: Stop going through ClangTool (details)
  6. [AArch64] Rewrite addsub_ext.ll test. NFC (details)
  7. [lldb] [gdb-remote] Implement fallback to vFile:stat for GetFileSize() (details)
  8. [lldb] [gdb-server] Implement the vFile:fstat packet (details)
  9. [clang][deps] NFC: Remove CompilationDatabase from DependencyScanningWorker API (details)
  10. Revert "[lldb] [gdb-server] Implement the vFile:fstat packet" (details)
  11. Reland "[lldb] [gdb-server] Implement the vFile:fstat packet" (details)
  12. [lldb] [gdb-server] Zero-initialize fields on WIN32 (details)
  13. [mlir][scf] Loop peeling: Use scf.for for partial iteration (details)
  14. [clang][deps] NFC: Remove CompilationDatabase from DependencyScanningTool API (details)
  15. [libc] Check signs instead of values in memcmp unittests. (details)
  16. [clang][deps] NFC: Extract ModuleName initialization (details)
  17. [Lanai] fix MC / objdump (details)
  18. [Lanai] implement wide immediate support (details)
  19. [SVE][LoopVectorize] Optimise code generated by widenPHIInstruction (details)
  20. [lldb] [test] Synchronize before the breakpoint in fork tests (details)
  21. [flang] Signal EOR in non advancing IO and move to next record (details)
  22. [lldb] Fix Clang modules build after D101329 (details)
  23. [OpenCL][Docs] Update OpenCL 3.0 implementation status. (details)
  24. [OpenCL][Docs] Added ref to libclcxx (details)
  25. [clang][tooling] Accept custom diagnostic options in ToolInvocation (details)
  26. [LoopFlatten] Make the analysis more robust after IV widening (details)
  27. [mlir][linalg] Fix bufferize pattern to allow unknown operations in body of generic (details)
  28. [clang][deps] Use correct DiagnosticOptions for command-line handling (details)
  29. [Test][NFC] Regenerate checks in test (details)
  30. [clang][tooling] Properly initialize DiagnosticsEngine for cc1 command-line construction (details)
  31. [OpenCL][Docs] Update OpenCL 3.0 status info. (details)
  32. [lldb] [test] Move "platform connect" logic into a common class (details)
  33. [lldb] Add new commands and tests for getting file perms & exists (details)
  34. [lldb] [gdb-remote] Add fallbacks for vFile:mode and vFile:exists (details)
  35. [lldb] [gdb-remote] Implement the vRun packet (details)
  36. [lldb] [gdb-remote] Support QEnvironment fallback to hex-encoded (details)
  37. [lldb] [gdb-remote] Use standardized GDB errno values (details)
  38. [mlir] spelling and style changes in ReconcileUnrealizedCasts.cpp. NFC. (details)
  39. [lldb] Clean up Platform/CMakeLists.txt (details)
  40. [SelectionDAG] PromoteIntRes_EXTRACT_SUBVECTOR for scalable vectors. (details)
  41. [SelectionDAG] PromoteIntRes_EXTRACT_SUBVECTOR for scalable vectors (widening). (details)
  42. [clang][deps] Sanitize both instances of DiagnosticOptions (details)
  43. [clang][deps] Test diagnostic options are being respected (details)
  44. [AArch64] Regenerate some test checks. NFC (details)
  45. [InstCombine] add tests for X == 0 ? 0 : X * Y ; NFC (details)
  46. [OpaquePtr] Forbid mixing typed and opaque pointers (details)
  47. [clang-offload-bundler] Fix compatibility testing for non-assert builds (details)
  48. [WebAssembly][libObject] Avoid re-use of Section object during parsing (details)
  49. [ARM] Remove unused tblgen arguments. NFCI (details)
  50. [lldb] [test] Skip file permission tests on Windows (details)
  51. [lldb] [test] Mark new launch/QEnvironment tests as llgs category (details)
  52. [lldb] [test] Attempt to fix gdb_remote_client A/vRun tests on Windows (details)
  53. [lldb] [test] Skip A/vRun/QEnvironment* tests on Windows, and fix them (details)
  54. [lld][WebAssembly] Cleanup output of --verbose (details)
  55. [lldb] [test] Remove parent check in Subprocess/clone-follow-child-softbp.test (details)
  56. [RISCV] Teach vsetvli insertion that stores don't use the policy bits in vtype. (details)
  57. [RISCV] Enable CGP to sink splat operands of Add/Sub/Mul/Shl/LShr/AShr (details)
  58. [IR] Remove unused parameter (NFC) (details)
  59. [CallLowering] Support opaque pointers (details)
  60. [ARM] Remove unused tblgen arguments. NFC (details)
  61. [OpenMP] Group side-effects to improve guarding efficiency (details)
  62. [GlobalOpt][FIX] Do not embed initializers into AS!=0 globals (details)
  63. [OpenMP] Encode `omp [...] assume[...]` assumptions with `omp[x]` prefix (details)
  64. [OpenMP][Docs] Remove old/outdated webpage (details)
  65. Revert "[GlobalOpt][FIX] Do not embed initializers into AS!=0 globals" (details)
  66. Revert "[OpenMP] Group side-effects to improve guarding efficiency" (details)
  67. [Test][AggressiveInstCombine] Add test for `udiv` and `urem` (details)
  68. [AggressiveInstCombine] Add `udiv` and `urem` instrs to TruncInstCombine DAG (details)
  69. [openmp][amdgpu] Update SupportAndFAQ docs (details)
  70. [AArch64ISelLowering] Fix null pointer access in performSVEAndCombine. (details)
  71. [NFC][clang] Improve test coverage for alignment manifestation on aligned allocation functions (details)
  72. [NFCI][clang] Move allocation alignment manifestation for malloc-like into Sema from Codegen (details)
  73. [clang] `aligned_alloc` allocation function specifies alignment in first arg, manifest that knowledge (details)
  74. [lldb] Add support for debugging via the dynamic linker. (details)
  75. [CodeGen, Target] Use pred_empty and succ_empty (NFC) (details)
  76. [clang] Fix typo in test from a723310b4 (details)
  77. [stack-safety] Allow to determine safe accesses. (details)
  78. [Sanitizers] intercept netent, protoent and mincore on FreeBSD. (details)
  79. [hwasan] Do not instrument accesses to uninteresting allocas. (details)
  80. [libc] Add extension functions fedisableexcept, feenableexcept and fegetexcept. (details)
  81. [OpenMP] Make CUDA math library functions SPMD amenable (details)
  82. [OpenMP] Check OpenMP assumptions on call-sites as well (details)
  83. [InstCombine] add tests for sub of min/max intrinsics; NFC (details)
  84. [clang][deps] Move tests to the Clang subdirectory (details)
  85. [AArch64][SVE][InstCombine] Canonicalize aarch64_sve_dup_x intrinsic to IR splat operation (details)
  86. Revert "[AArch64][SVE][InstCombine] Canonicalize aarch64_sve_dup_x intrinsic to IR splat operation" (details)
  87. [ARC] Improve code generated for i32 ADDC/ADDE and SUBC/SUBE (details)
  88. [mlir][tosa] Add shape inference for tosa.while (details)
  89. Reapply "[GlobalOpt][FIX] Do not embed initializers into AS!=0 globals"" (details)
  90. Reapply "[OpenMP] Group side-effects to improve guarding efficiency" (details)
  91. [OpenMP][libomptarget] Add __tgt_target_return_t enum for __tgt_target_XXX return int (details)
  92. [lldb] Remove unused typedefs from lldb-forward.h (details)
  93. [OpenMP] Add more verbose remarks for runtime folding (details)
  94. [OpenMP] Add flag for setting debug in the offloading device (details)
Commit 16488dc300d088ee5c01af15cff07d349f18cd6a by gysit
[mlir][linalg] Pass all operands to tile to the tile loop region builder (NFC).

Extend the signature of the tile loop nest region builder to take all operand values to use and not just the scf::For iterArgs. This change allows us to pass in all block arguments of TiledLoop and use them directly instead of replacing them after the loop generation.

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D109569
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
Commit 5d1a6d0d1a48c59a036c7ce8698471005c3b4ae3 by flo
[ARM] Remove unnecessary use of replaceSymbolicStrideSCEV (NFC).

When passing an empty strides map, there's nothing to replace for
replaceSymbolicStrideSCEV and it just returns the SCEV for Ptr. There
should be no need to call the function.

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D109462
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit b659b789c03ac339e28d7b91406b67bb887a426d by chennngwang
[libc] Some clean work with memmove.

- Replace `move_byte_forward()` with `memcpy`. In `memcpy` implementation,
it copies bytes forward from beginning to end. Otherwise, `memmove` unit
tests will break.
- Make `memmove` unit tests work.

Reviewed By: gchatelet

Differential Revision: https://reviews.llvm.org/D109316
The file was modifiedlibc/src/string/memmove.cpp
The file was modifiedlibc/test/src/string/memmove_test.cpp
The file was modifiedlibc/src/string/CMakeLists.txt
Commit b25ab4f313f38d3dee9674789cf56b9143515034 by james.henderson
[llvm-objcopy][COFF] Fix test for debug dir presence

If the number of directories was 6 (equal to the DEBUG_DIRECTORY
index), patchDebugDirectory() was run even though the debug directory
is actually the 7th entry. Use <= in the comparison to fix that.

This fixes https://llvm.org/PR51243

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

Reviewed by: jhenderson
The file was modifiedllvm/tools/llvm-objcopy/COFF/Writer.cpp
The file was addedllvm/test/tools/llvm-objcopy/COFF/check-debug-dir-present.test
Commit 146ec74a8382dc820809d0a2bf4b918d0b5e6603 by Jan Svoboda
[clang][deps] NFC: Stop going through ClangTool

The dependency scanner currently uses `ClangTool` to invoke the dependency scanning action.

However, `ClangTool` seems to be the wrong level of abstraction. It's intended to be run over a collection of compile commands, which we actively avoid via `SingleCommandCompilationDatabase`. It automatically injects `-fsyntax-only` and other flags, which we avoid by calling `clearArgumentsAdjusters()`. It deduces the resource directory based on the current executable path, which we'd like to change to deducing from `argv[0]`.

Internally, `ClangTool` uses `ToolInvocation` which seems to be more in line with what the dependency scanner tries to achieve. This patch switches to directly using `ToolInvocation` instead. NFC.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D108979
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Commit 7d42eb3af7792fc3e8429f8a1581fd8c7dc5e7f5 by david.green
[AArch64] Rewrite addsub_ext.ll test. NFC

Rewrite this test to not rely on volatile stores in a large function,
just use separate functions like any other test would.
The file was modifiedllvm/test/CodeGen/AArch64/addsub_ext.ll
Commit 21e2d7ce43c42df5d60a2805c801b8f1eda7919c by mgorny
[lldb] [gdb-remote] Implement fallback to vFile:stat for GetFileSize()

Implement a fallback to getting the file size via vFile:stat packet
when the remote server does not implement vFile:size.  This makes it
possible to query file sizes from remote gdbserver.

Note that unlike vFile:size, the fallback will not work if the server is
unable to open the file.

While at it, add a few tests for the 'platform get-size' command.

Differential Revision: https://reviews.llvm.org/D107780
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Commit 9e886fbb18b525c080c04f4a12bd481c9aa849c0 by mgorny
[lldb] [gdb-server] Implement the vFile:fstat packet

Differential Revision: https://reviews.llvm.org/D107840
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
Commit 729f7b122081a078731a132cf4a8971c5c9fda8f by Jan Svoboda
[clang][deps] NFC: Remove CompilationDatabase from DependencyScanningWorker API

This patch simplifies the dependency scanner API. Depends on D108979.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D108980
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Commit 70558d39f01beb87ab561bfaefeecb4d9534beed by mgorny
Revert "[lldb] [gdb-server] Implement the vFile:fstat packet"

This reverts commit 9e886fbb18b525c080c04f4a12bd481c9aa849c0.  It breaks
on Windows.
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp
Commit a1097d315c80a1c079dc7dda1661d0c2baa2d1e6 by mgorny
Reland "[lldb] [gdb-server] Implement the vFile:fstat packet"

Now with an #ifdef for WIN32.

Differential Revision: https://reviews.llvm.org/D107840
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h
Commit e066c00be09a9257a28eaf12059e4d28f095ae65 by mgorny
[lldb] [gdb-server] Zero-initialize fields on WIN32
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
Commit 0f3544d1856dee83d6e18187098531d79e7f200e by springerm
[mlir][scf] Loop peeling: Use scf.for for partial iteration

Generate an scf.for instead of an scf.if for the partial iteration. This is for consistency reasons: The peeling of linalg.tiled_loop also uses another loop for the partial iteration.

Note: Canonicalizations patterns may rewrite partial iterations to scf.if afterwards.

Differential Revision: https://reviews.llvm.org/D109568
The file was modifiedmlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_vector_peeled.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/Transforms.h
The file was modifiedmlir/test/Dialect/SCF/for-loop-peeling.mlir
Commit 0ebf61963bb6cb95b4036061dbe476523f622987 by Jan Svoboda
[clang][deps] NFC: Remove CompilationDatabase from DependencyScanningTool API

This patch simplifies the dependency scanner API. Depends on D108980.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D108981
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit 2fc1913505e3d5f48b3d5d84ce372a34e661fc7e by chennngwang
[libc] Check signs instead of values in memcmp unittests.

The C standard only guarantees the sign of return value. The exact return
value is implementation defined.

Reviewed By: gchatelet

Differential Revision: https://reviews.llvm.org/D109588
The file was modifiedlibc/test/src/string/memcmp_test.cpp
Commit a052bacc766f25fe9a765dd4710c83f1683c059e by Jan Svoboda
[clang][deps] NFC: Extract ModuleName initialization
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit 231bfaab31a91ee956312a7c730b41da376fa322 by whitequark
[Lanai] fix MC / objdump

D78776 removed is{Call,Branch,UnconditionalBranch} guards in objdump
before calling MCInstrAnalysis::evaluateBranch. This is fine for other
architectures as they gracefully handle evaluateBranch being called on
non-branches. However, the Lanai MCInstrAnalysis implementation didn't
and that change caused it to crash.

This inserts the same guards back into Lanai's evaluateBranch
implementation and adds a smoke test that exercises `llc | objdump` so
this kind of regression is hopefully caught next time.

Reviewed By: jpienaar, MaskRay

Differential Revision: https://reviews.llvm.org/D107593
The file was modifiedllvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
The file was addedllvm/test/tools/llvm-objdump/ELF/Lanai/lit.local.cfg
The file was addedllvm/test/tools/llvm-objdump/ELF/Lanai/smoke.ll
Commit 788e7b3b8c285d63a4ef354608240e1376179c79 by whitequark
[Lanai] implement wide immediate support

This fixes LanaiTTIImpl::getIntImmCost to return valid costs for i128
(and wider) values. Previously any immediate wider than
64 bits would cause Lanai llc to crash.

A regression test is also added that exercises this functionality.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D107091
The file was modifiedllvm/test/CodeGen/Lanai/lowering-128.ll
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
Commit 9d1bea9c88b36aaa450354c4876f025d2c4a14f7 by rosie.sumpter
[SVE][LoopVectorize] Optimise code generated by widenPHIInstruction

For SVE, when scalarising the PHI instruction the whole vector part is
generated as opposed to creating instructions for each lane for fixed-
width vectors. However, in some cases the lane values may be needed
later (e.g for a load instruction) so we still need to calculate
these values to avoid extractelement being called on the vector part.

Differential Revision: https://reviews.llvm.org/D109445
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
Commit caf508d7124353522e7604dbfea36b429469bd39 by mgorny
[lldb] [test] Synchronize before the breakpoint in fork tests

We set breakpoint on child_func, so synchronization inside it is too
late to guarantee ordering between the parent output and child
breakpoint.  Split the function in two, and perform synchronization
before the breakpoint.

Differential Revision: https://reviews.llvm.org/D109591
The file was modifiedlldb/test/Shell/Subprocess/Inputs/fork.cpp
Commit 05b4e49a17f5e997c0ccf4086dc0d2b8cec7e263 by jperier
[flang] Signal EOR in non advancing IO and move to next record

When an end of record is met in non advancing IO:
- Set IOSTAT if present according to 12.11.4 (5).
- Position the file to the next record (12.11.4 (4)).

The previous code was only signaling EOR for fixed record length IO.
Reading at 12.11.4, I do not find the rational for this condition, so I
removed it.
It also does not seem the presence of padding should prevent
the EOR signaling.

The positionning to the next record was block when EOR is signaling
in FinishReadingRecord because ErrorHandler.isError() is true in this
case.
EOR in input is not an error, but I am not confident to modify
ErrorHandler.isError() to cover that. However, In FinishReadingRecord,
the code should not bail if the error is simply an end of record.

I did not check the SIZE requirements here because GetSize runtime is
not yet implemented.

Differential Revision: https://reviews.llvm.org/D109505
The file was modifiedflang/runtime/io-stmt.cpp
The file was modifiedflang/unittests/Runtime/ExternalIOTest.cpp
The file was modifiedflang/runtime/unit.cpp
Commit 0c8444bd3462a3d05c8ac637a554e1a368dee0ac by Raphael Isemann
[lldb] Fix Clang modules build after D101329

D101329 introduces the Process:SaveCore function returning a
`llvm::Expected<bool>`. That function causes that Clang with -fmodules crashes
while compiling LLDB's PythonDataObjects.cpp. With enabled asserts Clang fails
because of:

    Assertion failed: (CachedFieldIndex && "failed to find field in parent")

Crash can be reproduced by building via -DLLVM_ENABLE_MODULES=On with Clang
12.0.1 and then building PythonDataObjects.cpp.o .

Clang bug is tracked at rdar://82901462
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/source/Target/Process.cpp
Commit cff03d5fc48700b73ae863d4f25e780e74dff33e by anastasia.stulova
[OpenCL][Docs] Update OpenCL 3.0 implementation status.

Update a section of OpenCLSupport page to reflect the latest
development in OpenCL 3.0 support for release 13.

Differential Revision: https://reviews.llvm.org/D109320
The file was modifiedclang/docs/OpenCLSupport.rst
Commit 9685631cbeb85592b713206dd660312dcb7bd9cb by anastasia.stulova
[OpenCL][Docs] Added ref to libclcxx

Linked libclcxx GitHub project page in C++ libraries
for OpenCL section on OpenCLSupport page.

Differential Revision: https://reviews.llvm.org/D109526
The file was modifiedclang/docs/OpenCLSupport.rst
Commit e08911e17b2bf7030a587bbf158e6a4fe0164f38 by Jan Svoboda
[clang][tooling] Accept custom diagnostic options in ToolInvocation

This patch allows the clients of `ToolInvocation` to provide custom diagnostic options to be used during driver -> cc1 command-line transformation and parsing.

Tests covering this functionality are in a follow-up commit. To make this testable, the `DiagnosticsEngine` needs to be properly initialized via `CompilerInstance::createDiagnostics`.

Reviewed By: dexonsmith, arphaman

Differential Revision: https://reviews.llvm.org/D108976
The file was modifiedclang/include/clang/Tooling/Tooling.h
The file was modifiedclang/lib/Tooling/Tooling.cpp
Commit 6a076fa9539ee6eea078368bc5298e381c1c059e by sjoerd.meijer
[LoopFlatten] Make the analysis more robust after IV widening

LoopFlatten wasn't triggering on this motivating case after IV widening:

  void foo(int *A, int N, int M) {
    for (int i = 0; i < N; ++i)
      for (int j = 0; j < M; ++j)
        f(A[i*M+j]);
  }

The reason was that the old induction phi nodes were getting in the way. These
narrow and dead induction phis are not always trivially dead, and having both
the narrow and wide IVs confused the analysis and caused it to bail. This adds
some extra bookkeeping for these old phis, so we can filter them out when
checks on phi nodes are performed. Other clean up passes will get rid of these
old phis and increment instructions.

As this was one of the motivating examples from the beginning, it was
surprising this wasn't triggering from C/C++ code. It looks like the IR and CFG
is just slightly different.

Differential Revision: https://reviews.llvm.org/D109309
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was modifiedllvm/test/Transforms/LoopFlatten/widen-iv.ll
Commit 5e6c170b3f41f4da3888a0c4e09eb6af06d7d2c9 by herhut
[mlir][linalg] Fix bufferize pattern to allow unknown operations in body of generic

The original version of the bufferization pattern for linalg.generic would
manually clone operations within the region to the bufferized clone of the
operation. This triggers legality requirements on those operations in the
conversion infra. Instead, this now uses the rewriter to inline the region
instead, avoiding those legality requirements.

Differential Revision: https://reviews.llvm.org/D109581
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
Commit 1e760b5902615c38079948f31a96724a88a75dd8 by Jan Svoboda
[clang][deps] Use correct DiagnosticOptions for command-line handling

In this patch the dependency scanner starts using proper `DiagnosticOptions` parsed from the actual TU command-line in order to mimic what the actual compiler would do. The actual functionality will be enabled and tested in follow-up patches. (This split is necessary to avoid temporary regression.)

Depends on D108976.

Reviewed By: dexonsmith, arphaman

Differential Revision: https://reviews.llvm.org/D108982
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
Commit 6b69cc09b7eb7ecc65929e40fc912216252e9406 by mkazantsev
[Test][NFC] Regenerate checks in test
The file was modifiedllvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
Commit 8dc76ab7995b6dbc50dd9472f95c40484396b90e by Jan Svoboda
[clang][tooling] Properly initialize DiagnosticsEngine for cc1 command-line construction

In `ToolInvocation::run`, the driver -> cc1 command-line transformation uses `DiagnosticsEngine` that wasn't completely initialized. This patch ensures `ProcessWarningOptions(DiagnosticsEngine&, const DiagnosticOptions &)` is called.

Depends on D108982.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D108974
The file was modifiedclang/lib/Tooling/Tooling.cpp
The file was modifiedclang/unittests/Tooling/ToolingTest.cpp
Commit fbe00c6874f1f0c496d64933a66661a899448b2a by anastasia.stulova
[OpenCL][Docs] Update OpenCL 3.0 status info.

Update info on OpenCLSupport page to reflect changes
committed after release 13 branched.
The file was modifiedclang/docs/OpenCLSupport.rst
Commit c240d2bb06dabe8fb3a1c2da978fbdc9f642de73 by mgorny
[lldb] [test] Move "platform connect" logic into a common class

Create a common GDBPlatformClientTestBase class and move the platform
select/connect logic there to reduce duplication.

Differential Revision: https://reviews.llvm.org/D109585
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteDiskFileCompletion.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Commit dbb0c14d2729d135d9d6bb2d0e858e128129da08 by mgorny
[lldb] Add new commands and tests for getting file perms & exists

Add two new commands 'platform get-file-permissions' and 'platform
file-exists' for the respective bits of LLDB protocol.  Add tests for
them.  Fix error handling in GetFilePermissions().

Differential Revision: https://reviews.llvm.org/D107809
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
Commit 501eaf88770d15de92fa0eb7435f0470a3b93b0a by mgorny
[lldb] [gdb-remote] Add fallbacks for vFile:mode and vFile:exists

Add a GDB-compatible fallback to vFile:fstat for vFile:mode, and to
vFile:open for vFile:exists.  Note that this is only partial fallback,
as it fails if the file cannot be opened.

Differential Revision: https://reviews.llvm.org/D107811
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Commit 6ba3f7237dc750aad2ce1d6a7a15e3b78370221a by mgorny
[lldb] [gdb-remote] Implement the vRun packet

Implement the simpler vRun packet and prefer it over the A packet.
Unlike the latter, it tranmits command-line arguments without redundant
indices and lengths.  This also improves GDB compatibility since modern
versions of gdbserver do not implement the A packet at all.

Make qLaunchSuccess not obligatory when using vRun.  It is not
implemented by gdbserver, and since vRun returns the stop reason,
we can assume it to be successful.

Differential Revision: https://reviews.llvm.org/D107931
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
Commit 3fade9542200c96021522f91ba5afdbff02729e1 by mgorny
[lldb] [gdb-remote] Support QEnvironment fallback to hex-encoded

Fall back to QEnvironmentHexEncoded if QEnvironment is not supported.
The latter packet is an LLDB extension, while the former is universally
supported.

Add tests for both QEnvironment and QEnvironmentHexEncoded packets,
including both use due to characters that need escaping and fallback
when QEnvironment is not supported.

Differential Revision: https://reviews.llvm.org/D108018
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py
The file was modifiedlldb/test/API/tools/lldb-server/main.cpp
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
Commit 3d3017d344f6514bbb2e5ff49a335d36e31faf55 by mgorny
[lldb] [gdb-remote] Use standardized GDB errno values

GDB uses normalized errno values for vFile errors.  Implement
the translation between them and system errno values in the gdb-remote
plugin.

Differential Revision: https://reviews.llvm.org/D108148
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
The file was addedlldb/source/Plugins/Process/gdb-remote/GDBRemoteErrno.def
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
Commit 61bc6aa5a723438198ba8526b0469ff11b47c489 by zinenko
[mlir] spelling and style changes in ReconcileUnrealizedCasts.cpp. NFC.
The file was modifiedmlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
Commit beb768f40b47e23e05766738edc0e7723e2f98d4 by pavel
[lldb] Clean up Platform/CMakeLists.txt

Remove comments looking like preprocessor directives (thankfully cmake
does not have those yet), and sort the file.
The file was modifiedlldb/source/Plugins/Platform/CMakeLists.txt
Commit 801a745dd27d60ae70b984e66b02c172d261feb0 by sander.desmalen
[SelectionDAG] PromoteIntRes_EXTRACT_SUBVECTOR for scalable vectors.

This patch implements legalization of EXTRACT_SUBVECTOR for the case
where the result needs promoting, and the input type is either legal
or requires splitting.

The idea is that the operation is broken down into simpler steps,
by first extracting a smaller subvector until the input vector
becomes legal or requires promotion.

Reviewed By: CarolineConcatto

Differential Revision: https://reviews.llvm.org/D109313
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-vector.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit ec7d8d5069bd83e8468e86108fff677aca836316 by sander.desmalen
[SelectionDAG] PromoteIntRes_EXTRACT_SUBVECTOR for scalable vectors (widening).

This patch implements legalization of EXTRACT_SUBVECTOR for the case
where the result needs promoting, and the input type requires widening.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D109509
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-vector.ll
Commit 993f60ae32de001ac9ac1ff512f2adf339e265c8 by Jan Svoboda
[clang][deps] Sanitize both instances of DiagnosticOptions

During dependency scanning, we generally want to suppress -Werror. Apply the same logic to the DiagnosticOptions instance used for command-line parsing.

This fixes a test failure on the PS4 bot, where the system header directory could not be found, which was reported due to -Werror being on the command line and not being sanitized.
The file was modifiedclang/test/ClangScanDeps/error.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Commit 7afabc2e4e8612f5221543039842c607ea96db90 by Jan Svoboda
[clang][deps] Test diagnostic options are being respected

This patch tests code in D108976. This split is necessary to avoid temporary regression.

Depends on D108974,

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D109158
The file was addedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/tu.c
The file was addedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/cdb.json.template
The file was addedllvm/clang/test/ClangScanDeps/diagnostics.c
The file was addedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/mod.h
The file was addedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/module.modulemap
Commit 2c5590adfe09283d0c400507be61198b63ce5063 by david.green
[AArch64] Regenerate some test checks. NFC

This updates some mostly update_test_check test files and generates the
check lines with the script, making them more maintainable.
The file was modifiedllvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
The file was modifiedllvm/test/CodeGen/AArch64/build-one-lane.ll
The file was modifiedllvm/test/CodeGen/AArch64/dag-combine-select.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-be-bv.ll
The file was modifiedllvm/test/CodeGen/AArch64/bcmp-inline-small.ll
Commit 745f82b8d909db1bee8282742acb97f09c68f194 by spatel
[InstCombine] add tests for X == 0 ? 0 : X * Y ; NFC

These are the tests for D108408 with current baseline results.
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit 90ec6dff860f4ec9cb89041b6e2a671cc3ce8f47 by nikita.ppv
[OpaquePtr] Forbid mixing typed and opaque pointers

Currently, opaque pointers are supported in two forms: The
-force-opaque-pointers mode, where all pointers are opaque and
typed pointers do not exist. And as a simple ptr type that can
coexist with typed pointers.

This patch removes support for the mixed mode. You either get
typed pointers, or you get opaque pointers, but not both. In the
(current) default mode, using ptr is forbidden. In -opaque-pointers
mode, all pointers are opaque.

The motivation here is that the mixed mode introduces additional
issues that don't exist in fully opaque mode. D105155 is an example
of a design problem. Looking at D109259, it would probably need
additional work to support mixed mode (e.g. to generate GEPs for
typed base but opaque result). Mixed mode will also end up
inserting many casts between i8* and ptr, which would require
significant additional work to consistently avoid.

I don't think the mixed mode is particularly valuable, as it
doesn't align with our end goal. The only thing I've found it to
be moderately useful for is adding some opaque pointer tests in
between typed pointer tests, but I think we can live without that.

Differential Revision: https://reviews.llvm.org/D109290
The file was modifiedllvm/test/Assembler/invalid-opaque-ptr-double-addrspace.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/stack-depth-variable-declared-by-user.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/test/CodeGen/Hexagon/atomic-opaque-basic.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind32-unscaled.ll
The file was modifiedllvm/test/Transforms/SROA/basictest-opaque-ptrs.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
The file was modifiedllvm/lib/IR/LLVMContext.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-scatter-increment.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-vscale.ll
The file was modifiedllvm/test/Verifier/opaque-ptr-invalid.ll
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
The file was modifiedllvm/test/Other/force-opaque-ptrs-typed-dis.ll
The file was modifiedllvm/test/Assembler/opaque-ptr-cmpxchg.ll
The file was modifiedllvm/test/Verifier/musttail-invalid.ll
The file was modifiedllvm/test/Transforms/LoadStoreVectorizer/X86/opaque-ptr.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/no-libcalls.ll
The file was modifiedllvm/lib/IR/Type.cpp
The file was addedllvm/test/Assembler/ptr-outside-opaque-pointers-mode.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
The file was removedllvm/test/Assembler/remangle-intrinsic-opaque-ptr.ll
The file was addedllvm/test/Transforms/SimplifyCFG/speculate-store-opaque-pointer.ll
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind32-scaled.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
The file was modifiedllvm/include/llvm/AsmParser/LLParser.h
The file was modifiedllvm/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/opaque-ptr.ll
The file was modifiedllvm/test/Assembler/invalid-opaque-ptr-addrspace.ll
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp
The file was modifiedllvm/unittests/IR/TypesTest.cpp
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/opaque-ptr.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/opaque-ptr.ll
The file was modifiedllvm/test/Assembler/invalid-opaque-ptr.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/opaque-ptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/force-opaque-ptr.ll
The file was modifiedllvm/test/Other/force-opaque-ptrs.ll
The file was modifiedllvm/test/Verifier/force-opaque-ptr.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/function-bitcasts.ll
The file was modifiedllvm/test/CodeGen/AArch64/consthoist-gep.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/intrinsic-array.ll
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/IR/LLVMContext.h
The file was modifiedllvm/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll
The file was addedllvm/test/Transforms/DeadStoreElimination/opaque-ptr.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/main-declaration.ll
The file was addedllvm/test/Transforms/MemCpyOpt/opaque-ptr.ll
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculate-store.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/add-prototypes-opaque-ptrs.ll
Commit 4a25c3fb61942c629907ae50462087c3fbb8703a by Saiyedul.Islam
[clang-offload-bundler] Fix compatibility testing for non-assert builds

Test using debug-only=CodeObjectComaptibility was failing in
non-assert builds, so it has been moved to a different file which
requires assert.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D109592
The file was modifiedclang/test/Driver/clang-offload-bundler.c
The file was addedclang/test/Driver/clang-offload-bundler-asserts-on.c
Commit e4b2f3054a77ec28d501e269affbac6cfdfda35c by sbc
[WebAssembly][libObject] Avoid re-use of Section object during parsing

The re-use of this struct across iterations of the loop was causing
fields (specifically Name) to be incorrectly shared between multiple
sections.

Differential Revision: https://reviews.llvm.org/D108984
The file was modifiedllvm/test/tools/llvm-objcopy/wasm/basic-only-section.test
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
Commit 6b7cdb40daefc05f78e5a2f38dd873369ce869e4 by david.green
[ARM] Remove unused tblgen arguments. NFCI

As per D109359, this removes or makes use of some of the existing unused
MVE tblgn arguments.
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit 9a4379c3dcab8f7d99975eb6741fe17d1788e461 by mgorny
[lldb] [test] Skip file permission tests on Windows
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Commit c362f610f8c08fc53bdf6aea6e990b26fe63b097 by mgorny
[lldb] [test] Mark new launch/QEnvironment tests as llgs category
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Commit 784281d3164862cb5c7f8f20de80f3d52cc13307 by mgorny
[lldb] [test] Attempt to fix gdb_remote_client A/vRun tests on Windows
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
Commit d727bd696293a5e8ba63c01b6ec80b2b17eb373a by mgorny
[lldb] [test] Skip A/vRun/QEnvironment* tests on Windows, and fix them

Skip A/vRun/QEnvironment* tests on Windows as testing for output is
known not to work there.  Add a missing output check to the vRun test.
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Commit 3a7bcba34b3aac01d2a7fc921c9e58e7b55e5d52 by sbc
[lld][WebAssembly] Cleanup output of --verbose

Remove some unnecessary logging from wasm-ld when running under
`--verbose`.  Unlike `-debug` this logging is available in release
builds.  This change makes it little more minimal/readable.

Also, avoid compiling the `debugWrite` function in releaase builds
where it does nothing.  This should remove a lot debug strings from
the binary, and avoid having to construct unused debug strings at
runtime.

Differential Revision: https://reviews.llvm.org/D109583
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/wasm/WriterUtils.h
The file was modifiedlld/wasm/WriterUtils.cpp
The file was modifiedlld/wasm/InputFiles.h
The file was modifiedlld/wasm/OutputSections.h
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedlld/wasm/OutputSections.cpp
Commit 4e7ac6facad6d6c895c750a232d3786defedcc7b by mgorny
[lldb] [test] Remove parent check in Subprocess/clone-follow-child-softbp.test

Hopefully this will resolve the remaining flakiness.
The file was modifiedlldb/test/Shell/Subprocess/clone-follow-child-softbp.test
Commit 6c7cadb8c155befbb0fdd058dfb5dbaa0b9aa40a by craig.topper
[RISCV] Teach vsetvli insertion that stores don't use the policy bits in vtype.

This can avoid a vsetvl after a tail undisturbed operation.

Differential Revision: https://reviews.llvm.org/D109549
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-exttrunc.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/interleave-crash.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
Commit 1b736bda3bb5acd2874e862d9fd0cec335dd899b by craig.topper
[RISCV] Enable CGP to sink splat operands of Add/Sub/Mul/Shl/LShr/AShr

LICM may have pulled out a splat, but with .vx instructions we
can fold it into an operation.

This patch enables CGP to reverse the LICM transform and move the
splat back into the loop.

I've started with the commutable integer operations and shifts, but we can
extend this with more operations in future patches.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D109394
The file was modifiedllvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit d34d2bbe5d88c1b652887b72600791f4f9435f4a by nikita.ppv
[IR] Remove unused parameter (NFC)
The file was modifiedllvm/lib/IR/Function.cpp
Commit 14afbe9448d5b9ddb0acce5e0ed046c083726f85 by nikita.ppv
[CallLowering] Support opaque pointers

Always use the byval/inalloca/preallocated type (which is required
nowadays), don't fall back on the pointer element type.

This requires adding Function::getParamPreallocatedType() to
mirror the CallBase API, so that the templated code can work with
both.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-objects.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/include/llvm/IR/Function.h
Commit deefeffb5db66b2f6c376bfe821dc9b28b45560a by david.green
[ARM] Remove unused tblgen arguments. NFC

As per D109359, this removes or makes use of some of the existing unused
NEON and base ARM tblgn arguments.
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrNEON.td
Commit ca134c3963d310c2868f08c211011d610b4eefb5 by johannes
[OpenMP] Group side-effects to improve guarding efficiency

When we guard side-effects as part of SPMDzation we do it for
consecutive instructions that need guarding. This patch will try to
reorder guarded side-effects in a block to decrease the number of
guarded regions we need. It does not use any smarts, e.g., alias
analysis, to move side-effects over non-interfering reads. Instead,
it only moves side-effects downwards to the next guarded side-effect
if there was nothing in between that could have possibly be affected.

Reviewed By: ggeorgakoudis

Differential Revision: https://reviews.llvm.org/D109070
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/spmdization_guarding.ll
Commit 7dbba3376f633cabcf4df568bc9ca95f44a35203 by johannes
[GlobalOpt][FIX] Do not embed initializers into AS!=0 globals

Not all address spaces support initializers for globals and we can
therefore not set them without checking if they are allowed. This
patch adds a hook into TTI to check if an AS allows non-undef
initializers. We disable it for all but address space 0 by default,
NVPTX and AMDGPU targets allow all but address space 3.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D109337
The file was addedllvm/test/Transforms/GlobalOpt/address_space_initializer.ll
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/GlobalStatus.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Transforms/Utils/GlobalStatus.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit 45e8e084921b99ca36131d7f90359c70c4e1a25c by johannes
[OpenMP] Encode `omp [...] assume[...]` assumptions with `omp[x]` prefix

Since these assumptions are coming from OpenMP it makes sense to mark
them as such in the generic IR encoding. Standardized assumptions will
be named
  omp_ASSUMPTION_NAME
and extensions will be named
  ompx_ASSUMPTION_NAME
which is the OpenMP 5.2 syntax for "extensions" of any kind.

This also matches what the OpenMP-Opt pass expects.

Summarized,
  #pragma omp [...] assume[s] no_parallelism
now generates the same IR assumption annotation as
  __attribute__((assume("omp_no_parallelism")))

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D105937
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/assumes_codegen.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/assumes_include_nvptx.cpp
The file was modifiedclang/test/OpenMP/assumes_template_print.cpp
The file was modifiedclang/test/OpenMP/assumes_print.cpp
Commit 9f844aeeb42be1b0d14b01531a543baf869f896d by johannes
[OpenMP][Docs] Remove old/outdated webpage

This should have happened a long time ago, now that openmp.llvm.org
redirects to openmp.llvm.org/docs we completely switched over to the
sphinx documentation page instead.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D108588
The file was removedopenmp/www/menu.css
The file was removedopenmp/www/README.txt
The file was removedopenmp/www/index.html
The file was removedopenmp/www/Reference.pdf
The file was removedopenmp/www/content.css
Commit d9a8d20827dcddad831751bc38ff178e70f0b2f5 by johannes
Revert "[GlobalOpt][FIX] Do not embed initializers into AS!=0 globals"

This reverts commit 7dbba3376f633cabcf4df568bc9ca95f44a35203.

There seems to be a problem with the tests, investigating now:
  https://lab.llvm.org/buildbot/#/builders/61/builds/14574
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was removedllvm/test/Transforms/GlobalOpt/address_space_initializer.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Utils/GlobalStatus.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/GlobalStatus.h
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
Commit d2f206e0afeba2b08a42903cfb8ad97a7de8a92c by johannes
Revert "[OpenMP] Group side-effects to improve guarding efficiency"

This reverts commit ca134c3963d310c2868f08c211011d610b4eefb5.

There seems to be a problem with the tests, investigating now:
  https://lab.llvm.org/buildbot/#/builders/61/builds/14574
The file was removedllvm/test/Transforms/OpenMP/spmdization_guarding.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit ea7b2c147fefece043f35d150652d50357250e96 by anton.a.afanasyev
[Test][AggressiveInstCombine] Add test for `udiv` and `urem`

Precommit test for D109515
The file was addedllvm/test/Transforms/AggressiveInstCombine/trunc_udivrem.ll
Commit 54d8ebbbfdb348a6d0354fe7909d9ab146dada5b by anton.a.afanasyev
[AggressiveInstCombine] Add `udiv` and `urem` instrs to TruncInstCombine DAG

Add `udiv` and `urem` instructions to the DAG post-dominated by `trunc`,
allowing TruncInstCombine to reduce bitwidth of expressions containing these
instructions. It is sufficient to require that all truncated bits of both
operands are zeros: https://alive2.llvm.org/ce/z/yiithn
(`urem` case is identical).

Differential Revision: https://reviews.llvm.org/D109515
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/trunc_udivrem.ll
Commit f244af5c9fd1017c0a770869db4c7abe14bfa46e by jonathanchesterfield
[openmp][amdgpu] Update SupportAndFAQ docs
The file was modifiedopenmp/docs/SupportAndFAQ.rst
Commit da4a2fd832a5b2e97f2bb854ab22766db910c994 by huihuiz
[AArch64ISelLowering] Fix null pointer access in performSVEAndCombine.

When combining 'and' of an unsigned unpack and shuffle instruction,
bail early if shuffle is not constructed from a constant integer.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D109556
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/aarch64-sve-and-combine-crash.ll
Commit 50d7ecc560b27d258c921abe39211926d46fbcff by lebedev.ri
[NFC][clang] Improve test coverage for alignment manifestation on aligned allocation functions
The file was modifiedclang/test/CodeGen/alloc-fns-alignment.c
Commit 85ba583eba1902c386a55f5565f3c721bd6bcb23 by lebedev.ri
[NFCI][clang] Move allocation alignment manifestation for malloc-like into Sema from Codegen

... so that it happens right next to `AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction()`,
which is good for consistency.
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit f3c2094d8c112f40923ef45953f66c4b2ecb6d01 by lebedev.ri
[clang] `aligned_alloc` allocation function specifies alignment in first arg, manifest that knowledge

Mainly, if a constant value was passed as an alignment,
then we correctly annotate the alignment of the returned value
of @aligned_alloc. And if it wasn't constant,
then we also don't loose that, but emit an assumption.
The file was modifiedclang/test/CodeGen/alloc-fns-alignment.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 03df97101287e8cb647c6c0982c4efdb82585c21 by rdhindsa
[lldb] Add support for debugging via the dynamic linker.

This patch adds support for shared library load when the executable is
called through ld.so.

Differential Revision:https://reviews.llvm.org/D108061
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
The file was addedlldb/test/API/functionalities/dyld-launch-linux/Makefile
The file was addedlldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
The file was addedlldb/test/API/functionalities/dyld-launch-linux/main.cpp
The file was addedlldb/test/API/functionalities/dyld-launch-linux/signal_file.cpp
The file was addedlldb/test/API/functionalities/dyld-launch-linux/signal_file.h
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
Commit c9fca53af10eca9a0ce0e32f553b3b6eb4f0fba6 by kazu
[CodeGen, Target] Use pred_empty and succ_empty (NFC)
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
Commit 23f256f2b19843fa08f83dce43bab362e8ce2235 by thakis
[clang] Fix typo in test from a723310b4

We want the driver-level flag here, else the test passes for the wrong reasons.
See comments on https://reviews.llvm.org/D99901.
The file was modifiedclang/test/Driver/nostdincxx.cpp
Commit 57335b6e2eaddfbef5d68b022fb1a65199c1cd86 by fmayer
[stack-safety] Allow to determine safe accesses.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D109503
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
Commit 8fdd821aef366c7d37407993dc5debec296cdc2b by David CARLIER
[Sanitizers] intercept netent, protoent and mincore on FreeBSD.
netent on Linux in addition as well.

Reviewd By: vitalybuka

Differential Revision: https://reviews.llvm.org/D109287
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was addedcompiler-rt/test/sanitizer_common/TestCases/Linux/netent.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
Commit 09391e7e507f88b0873c34af621fc937c5f341fd by fmayer
[hwasan] Do not instrument accesses to uninteresting allocas.

This leads to a statistically significant improvement when using -hwasan-instrument-stack=0: https://bit.ly/3AZUIKI.
When enabling stack instrumentation, the data appears gets better but not statistically significantly so. This is consistent
with the very moderate improvements I have seen for stack safety otherwise, so I expect it to improve when the underlying
issue of that is resolved.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D108457
The file was modifiedllvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
The file was modifiedllvm/test/Instrumentation/HWAddressSanitizer/memaccess-clobber.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit 0da5ac1a7537f05d6ca87ec2e76b25f3b555c301 by sivachandra
[libc] Add extension functions fedisableexcept, feenableexcept and fegetexcept.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D109613
The file was addedlibc/src/fenv/fedisableexcept.cpp
The file was addedlibc/src/fenv/feenableexcept.h
The file was addedlibc/src/fenv/fegetexcept.h
The file was addedlibc/src/fenv/fedisableexcept.h
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/fenv/CMakeLists.txt
The file was addedlibc/src/fenv/fegetexcept.cpp
The file was addedlibc/test/src/fenv/feenableexcept_test.cpp
The file was modifiedlibc/test/src/fenv/CMakeLists.txt
The file was modifiedlibc/spec/gnu_ext.td
The file was addedlibc/src/fenv/feenableexcept.cpp
Commit f28e710db720a913f4b508a9dc43f25e81629e72 by jhuber6
[OpenMP] Make CUDA math library functions SPMD amenable

This patch adds the SPMD amenable assumption to the CUDA math library
defintions in Clang. Previously these functions would block SPMD
execution on the device because they're intrinsic calls into the library
and can't be calculated. These functions don't have side-effects so they
are safe to execute in SPMD mode.

Depends on D105937

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D108958
The file was modifiedclang/lib/Headers/__clang_cuda_libdevice_declares.h
Commit 9e2fc0ba3706589ef740035e6779c62bc76b9a50 by jhuber6
[OpenMP] Check OpenMP assumptions on call-sites as well

This patch adds functionality to check assumption attributes on call
sites as well.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109376
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/include/llvm/IR/Assumptions.h
The file was addedllvm/test/Transforms/OpenMP/spmdization_assumes.ll
The file was modifiedllvm/lib/IR/Assumptions.cpp
Commit 188375f478c338c020ed0069833a9323e8891d69 by spatel
[InstCombine] add tests for sub of min/max intrinsics; NFC
The file was modifiedllvm/test/Transforms/InstCombine/sub-minmax.ll
Commit 285ec53730ce6dfecd2a4288388e6ba4f2bd17e4 by Jan Svoboda
[clang][deps] Move tests to the Clang subdirectory
The file was addedclang/test/ClangScanDeps/Inputs/diagnostics/cdb.json.template
The file was removedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/module.modulemap
The file was addedclang/test/ClangScanDeps/diagnostics.c
The file was addedclang/test/ClangScanDeps/Inputs/diagnostics/tu.c
The file was removedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/cdb.json.template
The file was addedclang/test/ClangScanDeps/Inputs/diagnostics/mod.h
The file was removedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/mod.h
The file was addedclang/test/ClangScanDeps/Inputs/diagnostics/module.modulemap
The file was removedllvm/clang/test/ClangScanDeps/diagnostics.c
The file was removedllvm/clang/test/ClangScanDeps/Inputs/diagnostics/tu.c
Commit 98c37247d81dfc967ecc49eee7a15612b6510f67 by mnadeem
[AArch64][SVE][InstCombine] Canonicalize aarch64_sve_dup_x intrinsic to IR splat operation

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

Change-Id: I47adc1984a54bea02bf5a0a767b765afe7e16aa3
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-dup.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
Commit eee7d225ded98f42d37c05ec292bbb18560ce06b by mnadeem
Revert "[AArch64][SVE][InstCombine] Canonicalize aarch64_sve_dup_x intrinsic to IR splat operation"

This reverts commit 98c37247d81dfc967ecc49eee7a15612b6510f67.
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
The file was modifiedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-dup.ll
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
The file was modifiedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
The file was modifiedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
Commit 7c82db3634c1c8c0319816d4bbaa099c7a532b06 by marksl
[ARC] Improve code generated for i32 ADDC/ADDE and SUBC/SUBE
This change improves the code generated for long long addition and subtraction

Differential Revision: https://reviews.llvm.org/D109615
The file was modifiedllvm/lib/Target/ARC/ARCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARC/alu.ll
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
Commit b0532286fe486b5ee208bae53c7afba278cbd609 by rob.suderman
[mlir][tosa] Add shape inference for tosa.while

Tosa.while shape inference requires repeatedly running shape inference across
the body of the loop until the types become static as we do not know the number
of iterations required by the loop body. Once the least specific arguments are
known they are propagated to both regions.

To determine the final end type, the least restrictive types are determined
from all yields.

Differential Revision: https://reviews.llvm.org/D108801
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/include/mlir/Dialect/Tosa/Utils/ShapeUtils.h
The file was modifiedmlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
Commit c09fbbdcfb92c410ea85aee6d9ce976b6f78c4a4 by johannes
Reapply "[GlobalOpt][FIX] Do not embed initializers into AS!=0 globals""

This reapplies commit 7dbba3376f633cabcf4df568bc9ca95f44a35203, or, put
differently, this reverts commit d9a8d20827dcddad831751bc38ff178e70f0b2f5.

The test now requires the amdgpu and nvptx backend explicitly as it
won't work without properly.
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Transforms/Utils/GlobalStatus.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was addedllvm/test/Transforms/GlobalOpt/address_space_initializer.ll
The file was modifiedllvm/lib/Transforms/Utils/GlobalStatus.cpp
Commit 99ea8ac9f1f374d2a124deb911e2c3ca4e5110dd by johannes
Reapply "[OpenMP] Group side-effects to improve guarding efficiency"

This reapplies ca134c3963d310c2868f08c211011d610b4eefb5, effectively
reverting commit d2f206e0afeba2b08a42903cfb8ad97a7de8a92c.

Minor test changes to make the test pass.
The file was addedllvm/test/Transforms/OpenMP/spmdization_guarding.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 2187cbf56ff19c600e697ce762ba487134d99a84 by yeluo
[OpenMP][libomptarget] Add __tgt_target_return_t enum for __tgt_target_XXX return int

The defintion of OFFLOAD_SUCCESS and OFFLOAD_FAIL used in plugin APIs and libomptarget public APIs are not consistent.
Create __tgt_target_return_t for libomptarget public APIs.

Differential Revision: https://reviews.llvm.org/D109304
The file was modifiedopenmp/libomptarget/include/omptarget.h
The file was modifiedopenmp/libomptarget/src/interface.cpp
Commit 8dae35527fb77a4698d05d39ed66f8c545885098 by apl
[lldb] Remove unused typedefs from lldb-forward.h
The file was modifiedlldb/include/lldb/lldb-forward.h
Commit 7eb899cbcdd15bd57e5630bb0c43163d0c992a82 by jhuber6
[OpenMP] Add more verbose remarks for runtime folding

We peform runtime folding, but do not currently emit remarks when it is
performed. This is because it comes from the runtime library and is
beyond the users control. However, people may still wish to view  this
and similar information easily, so we can enable this behaviour using a
special flag to enable verbose remarks.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109627
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedopenmp/docs/remarks/OMP180.rst
The file was modifiedopenmp/docs/remarks/OptimizationRemarks.rst
Commit 29b44ca896e7c5d9fef20f3660cbe5eb321b91ea by jhuber6
[OpenMP] Add flag for setting debug in the offloading device

This patch introduces the flags `-fopenmp-target-debug` and
`-fopenmp-target-debug=` to set the value of a global in the device.
This will be used to enable or disable debugging features statically in
the device runtime library.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109544
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/test/OpenMP/target_debug_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h