SuccessChanges

Summary

  1. [Coroutine][Sema] Tighten the lifetime of symmetric transfer returned handle (details)
  2. [SyntaxTree][Synthesis] Add support for Tree. (details)
  3. Re-apply "[ORC] Make MaterializationResponsibility immovable..." with fixes. (details)
  4. Fix -gz=zlib options for linker (details)
Commit df477db5f9e0ea2a4890040b65002d93e33209b0 by xun
[Coroutine][Sema] Tighten the lifetime of symmetric transfer returned handle

In generating the code for symmetric transfer, a temporary object is created to store the returned handle from await_suspend() call of the awaiter. Previously this temp won't be cleaned up until very later, which ends up causing this temp to be spilled to the heap. However, we know that this temp will no longer be needed after the coro_resume call. We can clean it up right after.

Differential Revision: https://reviews.llvm.org/D87470
The file was addedclang/test/CodeGenCoroutines/coro-semmetric-transfer.cpp
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp (diff)
The file was modifiedclang/test/CodeGenCoroutines/Inputs/coroutine.h (diff)
Commit 7c37b82f5ba5883b331608b0077c0b30bf301874 by ecaldas
[SyntaxTree][Synthesis] Add support for Tree.

In a future patch
* Implement helper function to generate Trees for tests
* and test Tree methods, namely `findFirstLeaf` and `findLastLeaf`

Differential Revision: https://reviews.llvm.org/D87533
The file was modifiedclang/unittests/Tooling/Syntax/SynthesisTest.cpp (diff)
The file was modifiedclang/include/clang/Tooling/Syntax/BuildTree.h (diff)
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp (diff)
Commit 7dcd0042e8b8581751bd9b915207058d2ab88e1d by Lang Hames
Re-apply "[ORC] Make MaterializationResponsibility immovable..." with fixes.

Re-applies c74900ca672 with fixes for the ThinLtoJIT example.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Layer.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp (diff)
The file was modifiedllvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.cpp (diff)
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h (diff)
The file was modifiedllvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp (diff)
The file was modifiedllvm/examples/ThinLtoJIT/ThinLtoInstrumentationLayer.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp (diff)
The file was modifiedllvm/examples/ThinLtoJIT/ThinLtoJIT.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/Speculation.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp (diff)
The file was modifiedllvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp (diff)
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h (diff)
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Speculation.h (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp (diff)
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp (diff)
Commit ccb4124a4172bf2cb2e1cd7c253f0f1654fce294 by Yaxun.Liu
Fix -gz=zlib options for linker

gcc translates -gz=zlib to --compress-debug-options=zlib for both assembler and linker
but clang only does this for assembler.

The linker needs --compress-debug-options=zlib option to compress the debug sections
in the generated executable or shared library.

Due to this bug, -gz=zlib has no effect on the generated executable or shared library.

This patch fixes that.

Differential Revision: https://reviews.llvm.org/D87321
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.h (diff)
The file was addedclang/test/Driver/hip-gz-options.hip
The file was addedclang/test/Driver/amdgcn-gz-options.cl
The file was modifiedclang/test/Driver/compress.c (diff)