SuccessChanges

Summary

  1. [JITLink] Skip debug sections in MachO objects. (details)
  2. [NewGVN] Add test to ensure metadata is preserved for ssa_copy (NFC) (details)
  3. [AArch64] Add ld3 test case for renaming in ldst-opt (NFC). (details)
  4. [VectorCombine] Add multi-use shl test for D80885 (details)
  5. CoroSplit: Fix coroutine splitting for retcon and retcon.once (details)
Commit d27cbf03cf9c43b4b98f031d63f23cfcfe3d587a by Lang Hames
[JITLink] Skip debug sections in MachO objects.

Debug sections will not be linked into the final executable and may contain
ambiguous relocations*. Skipping them avoids both some unnecessary processing
cost and the hassle of dealing with the problematic relocations.

* E.g. __debug_ranges contains non-extern relocations to the end of functions
hat begin with named symbols. Under the usual rules for interpreting non-extern
relocations these will be incorrectly associated with the following block, or
no block at all (if there is a gap between one block and the next).
The file was addedllvm/test/ExecutionEngine/JITLink/X86/MachO_skip_debug_sections.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
Commit 195fa4bfae102c0d6fd6966618ed3d3c39b1d400 by flo
[NewGVN] Add test to ensure metadata is preserved for ssa_copy (NFC)

Add a new test that checks that metadata is preserved when ssa_copy
calls introduced by PredicateInfo are replaced by their original
values.
The file was addedllvm/test/Transforms/NewGVN/preserve-metadata-for-predicate-replacements.ll
Commit fd24bdbe50fa4aece574d0b53e68c37d23f7df35 by flo
[AArch64] Add ld3 test case for renaming in ldst-opt (NFC).

The test case highlights a mis-compile reported in PR46105, where
a consecutive register list is renamed, which invalidates some other
used registers.
The file was addedllvm/test/CodeGen/AArch64/stp-opt-with-renaming-ld3.mir
Commit c2e27ac1ce3e3141f9cf0c4f6982cd56347bc323 by llvm-dev
[VectorCombine] Add multi-use shl test for D80885
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll
Commit 2e4c5d1c483a986dbb3fc6486bdb2f0eb2adc8c8 by aschwaighofer
CoroSplit: Fix coroutine splitting for retcon and retcon.once

Summary:
For retcon and retcon.once coroutines we assume that all uses of spills
can be sunk past coro.begin. This simplifies handling of instructions
that escape the address of an alloca.

The current implementation would have issues if the address of the
alloca is escaped before coro.begin. (It also has issues with casts before and
uses of those casts after the coro.begin instruction)

  %alloca_addr = alloca ...
  %escape  = ptrtoint %alloca_addr
  coro.begin
  store %escape to %alloca_addr

rdar://60272809

Subscribers: hiraditya, modocache, mgrang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81023
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-retcon-frame.ll