Changes

Summary

  1. [mlir] Canonicalize AllocOp's with only store and dealloc uses (details)
  2. [Polly] Fix stage 2 clang -Wdeprecated-copy after D79714 (details)
  3. [lldb] [Process] Introduce protocol extension support API (details)
  4. [lldb] [gdb-remote server] Introduce new stop reasons for fork and vfork (details)
  5. [lldb] [llgs] Support owning and detaching extra processes (details)
  6. [lldb] [Process/Linux] Report fork/vfork stop reason (details)
  7. [Polly][ManualOpt] Match interpretation of unroll metadata to LoopUnrolls's. (details)
  8. [InstCombine] Added testcases from PR48999, NFC (details)
  9. [GVN] Clobber partially aliased loads. (details)
  10. [lld/mac] add test coverage for -sectcreate and -order_file with --reproduce (details)
  11. [lld/mac] simplify export-options.s test a bit (details)
Commit f22d3813850f9e87c5204df6844a93b8c5db7730 by ivan.butygin
[mlir] Canonicalize AllocOp's with only store and dealloc uses

Differential Revision: https://reviews.llvm.org/D100268
The file was modifiedmlir/test/Dialect/Affine/canonicalize.mlir (diff)
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td (diff)
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp (diff)
The file was modifiedmlir/test/Transforms/canonicalize.mlir (diff)
Commit a7b7e7b1877d7968414396719ce78473e8fd9755 by i
[Polly] Fix stage 2 clang -Wdeprecated-copy after D79714
The file was modifiedpolly/include/polly/Support/ISLTools.h (diff)
Commit 312257688eb0c09a8e6915ced2acdf0bcbbad353 by mgorny
[lldb] [Process] Introduce protocol extension support API

Introduce a NativeProcessProtocol API for indicating support for
protocol extensions and enabling them.  LLGS calls
GetSupportedExtensions() method on the process factory to determine
which extensions are supported by the plugin.  If the future is both
supported by the plugin and reported as supported by the client, LLGS
enables it and reports to the client as supported by the server.

The extension is enabled on the process instance by calling
SetEnabledExtensions() method.  This is done after qSupported exchange
(if the debugger is attached to any process), as well as after launching
or attaching to a new inferior.

The patch adds 'fork' extension corresponding to 'fork-events+'
qSupported feature and 'vfork' extension for 'vfork-events+'.  Both
features rely on 'multiprocess+' being supported as well.

Differential Revision: https://reviews.llvm.org/D100153
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py (diff)
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/test_categories.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py (diff)
Commit 6c37984ebaf4ee01df6a9b3f78e45f70dcd6fb33 by mgorny
[lldb] [gdb-remote server] Introduce new stop reasons for fork and vfork

Introduce three new stop reasons for fork, vfork and vforkdone events.
This includes server support for serializing fork/vfork events into
gdb-remote protocol.  The stop infos for the two base events take a pair
of PID and TID for the newly forked process.

Differential Revision: https://reviews.llvm.org/D100196
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (diff)
The file was modifiedlldb/source/Target/Process.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp (diff)
The file was modifiedlldb/docs/python_api_enums.rst (diff)
The file was modifiedlldb/include/lldb/API/SBThread.h (diff)
The file was modifiedlldb/bindings/interface/SBThread.i (diff)
The file was modifiedlldb/bindings/interface/SBThreadPlan.i (diff)
The file was modifiedlldb/source/Target/StackFrameList.cpp (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbutil.py (diff)
The file was modifiedlldb/examples/python/performance.py (diff)
The file was modifiedlldb/source/Target/Thread.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/LLDBUtils.cpp (diff)
The file was modifiedlldb/include/lldb/lldb-enumerations.h (diff)
The file was modifiedlldb/include/lldb/Host/Debug.h (diff)
The file was modifiedlldb/include/lldb/API/SBThreadPlan.h (diff)
The file was modifiedlldb/source/API/SBThread.cpp (diff)
Commit bbae0c1f7b4f60e9b8ac2be24e35bec79d9b7b01 by mgorny
[lldb] [llgs] Support owning and detaching extra processes

Add a NativeDelegate API to pass new processes (forks) to LLGS,
and support detaching them via the 'D' packet.  A 'D' packet without
a specific PID detaches all processes, otherwise it detaches either
the specified subprocess or the main process, depending on the passed
PID.

Differential Revision: https://reviews.llvm.org/D100191
The file was addedlldb/test/API/tools/lldb-server/TestGdbRemoteFork.py
The file was modifiedlldb/unittests/TestingSupport/Host/NativeProcessTestUtils.h (diff)
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h (diff)
The file was modifiedlldb/test/API/tools/lldb-server/main.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp (diff)
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h (diff)
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp (diff)
Commit fd0af0cf08284de79fe1a5bcfdc2dad83794dcfe by mgorny
[lldb] [Process/Linux] Report fork/vfork stop reason

Enable reporting fork/vfork events to the server when supported.
At this moment, this is used only to test the server code, as real
client does not report fork-events and vfork-events as supported.

Differential Revision: https://reviews.llvm.org/D100208
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.h (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py (diff)
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp (diff)
Commit 286677870b306582321dcddb1531d8860bc446db by llvm-project
[Polly][ManualOpt] Match interpretation of unroll metadata to LoopUnrolls's.

We previously had a different interpretation of unroll transformation
attributes than how LoopUnroll interpreted it. In particular,
llvm.loop.unroll.enable was needed explicitly to enable it and disabling
metadata was ignored.
Additionally, it required that either full unrolling or an unroll factor
to be specified or fail otherwise. An unroll factor is still required,
but the transformation is ignored with the hope that LoopUnroll is going
to apply the unrolling, since Polly currently does not implement an
heuristic.

Fixes llvm.org/PR50109
The file was modifiedpolly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll (diff)
The file was addedpolly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
The file was modifiedpolly/lib/Transform/ManualOptimizer.cpp (diff)
The file was modifiedpolly/include/polly/Support/ScopHelper.h (diff)
The file was modifiedpolly/lib/Support/ScopHelper.cpp (diff)
The file was modifiedpolly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll (diff)
The file was addedpolly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
Commit 8e9d17fd4243faa954ae35a4da94e5e922e458e5 by Dávid Bolvanský
[InstCombine] Added testcases from PR48999, NFC
The file was modifiedllvm/test/Transforms/InstCombine/ctpop.ll (diff)
Commit 6c570442318e2d3b8b13e95c2f2f588d71491acb by daniil.fukalov
[GVN] Clobber partially aliased loads.

Use offsets stored in `AliasResult` implemented in D98718.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D95543
The file was modifiedllvm/include/llvm/Analysis/MemoryDependenceAnalysis.h (diff)
The file was modifiedllvm/test/Transforms/GVN/PRE/rle.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp (diff)
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp (diff)
Commit 4e2d5fcf71d2995c98184293f8925731a6b0f30d by thakis
[lld/mac] add test coverage for -sectcreate and -order_file with --reproduce

Would've caught the (since fixed) regression in D97610.

No behavior change.

Differential Revision: https://reviews.llvm.org/D101218
The file was modifiedlld/test/MachO/reproduce.s (diff)
Commit 4ca0fbfabd7a8ba0f7a3a6c98c0ba194fb1c1506 by thakis
[lld/mac] simplify export-options.s test a bit

- the macro seems needlessly clever -- shorter and imho clearer without it
- give all filenames an extension so they look like filenames
- rename .private_extern symbol from _private to _private_extern
  to prepare for follow-up that adds a truly private symbol

No behavior change.

Differential Revision: https://reviews.llvm.org/D101222
The file was modifiedlld/test/MachO/export-options.s (diff)