SuccessChanges

Summary

  1. [ObjC][ARC] Do not perform code motion on precise release calls (details)
  2. [lldb] Minor refinements to ThreadPlan::RestoreThreadState (NFC) (details)
  3. [lldb] Lower GetRealStopInfo into ThreadPlanCallFunction (NFC) (details)
  4. [lldb] Remove unused ThreadPlan tracer utilities (NFC) (details)
  5. [lldb] Remove very old misleading comment (NFC) (details)
  6. [debugserver] Correctly pass argv[0] to execl (details)
Commit 32dc79c5efedf06e67daab75249a28e1bc5b889d by Akira
[ObjC][ARC] Do not perform code motion on precise release calls

This fixes a bug where an object can get deallocated before reaching the
end of its full formal lifetime.

rdar://72110887
rdar://74123176
The file was modifiedllvm/lib/Transforms/ObjCARC/PtrState.h
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
The file was modifiedllvm/test/Transforms/ObjCARC/basic.ll
The file was modifiedllvm/test/Transforms/ObjCARC/code-motion.ll
The file was modifiedllvm/lib/Transforms/ObjCARC/PtrState.cpp
Commit 65d91b40ae1d273586a8265d7cf598f0e56e17a3 by davelee.com
[lldb] Minor refinements to ThreadPlan::RestoreThreadState (NFC)

Correct `RestoreThreadState` to a `void` return type. Also, update the signature of its
callee, `Thread::RestoreThreadStateFromCheckpoint`, by updating it to a `void` return
type, and making it non-`virtual`.

Differential Revision: https://reviews.llvm.org/D96688
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlanCallFunction.h
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
The file was modifiedlldb/source/Target/ThreadPlanCallFunction.cpp
Commit 2a2464eb7651dc89290e9e3bf6928c99453bed99 by davelee.com
[lldb] Lower GetRealStopInfo into ThreadPlanCallFunction (NFC)

`GetRealStopInfo` has only one call site, and in that call site a reference to the
concrete thread plan is available (`ThreadPlanCallUserExpression`), from which
`GetRealStopInfo` can be called.

Differential Revision: https://reviews.llvm.org/D96687
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
The file was modifiedlldb/include/lldb/Target/ThreadPlanCallFunction.h
The file was modifiedlldb/source/Expression/LLVMUserExpression.cpp
Commit 22f0aa0d9ebddb004cbf2d0e7c8c015422351d2b by davelee.com
[lldb] Remove unused ThreadPlan tracer utilities (NFC)

Delete unused `EnableTracer()` and `SetTracer()` functions on `Thread`. By deleting
these, their `ThreadPlan` counterparts also become unused.

Then, by deleting `ThreadPlanStack::EnableTracer`, `EnableSingleStep` becomes unused.
With no more callers to `EnableSingleStep`, the value `m_single_step` is always true and
can be removed as well.

Differential Revision: https://reviews.llvm.org/D96666
The file was modifiedlldb/include/lldb/Target/ThreadPlanTracer.h
The file was modifiedlldb/source/Target/ThreadPlanStack.cpp
The file was modifiedlldb/source/Target/ThreadPlanTracer.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlanStack.h
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Target/ThreadPlan.cpp
The file was modifiedlldb/source/Target/Thread.cpp
Commit 4946f37d842fe7bca1b4a30962e7b6acdd7a4a9d by davelee.com
[lldb] Remove very old misleading comment (NFC)
The file was modifiedlldb/source/Target/ThreadPlanStepThrough.cpp
Commit 71811048c0061c2ecf9aa6ce14c41f3f6ecf8aa9 by Jonas Devlieghere
[debugserver] Correctly pass argv[0] to execl

The execl function takes both the executable and argv[0].
The file was modifiedlldb/tools/debugserver/source/DNB.cpp