Changes

Summary

  1. [LoopDeletion] Add more tests with infinite sub-loops & mustprogress. (details)
  2. [AVR] Improve inline assembly (details)
  3. [ARM] Guard against loop variant gather ptr operands (details)
  4. [ORC-RT] Add OrcRTCWrapperFunctionResult. (details)
  5. [ORC-RT] Add common.h -- Logging, casting and remote dispatch utilities. (details)
Commit 268e24a46af0eb3aceb67cf2aba250aef84aa20a by flo
[LoopDeletion] Add more tests with infinite sub-loops & mustprogress.

A couple of additional tests inspired by PR50511.
The file was modifiedllvm/test/Transforms/LoopDeletion/noop-loops-with-subloops.ll
Commit 86812faa5f9bff64656c162cd1afee6948e02adb by powerman1st
[AVR] Improve inline assembly

Reviewed By: dylanmckay

Differential Revision: https://reviews.llvm.org/D96394
The file was modifiedllvm/lib/Target/AVR/AVRISelLowering.cpp
The file was modifiedllvm/lib/Target/AVR/AVRRegisterInfo.td
The file was addedllvm/test/CodeGen/AVR/inline-asm/inline-asm3.ll
Commit 2176be556b448361a35c01cfedd5d3fd54b3e2b9 by david.green
[ARM] Guard against loop variant gather ptr operands

This ensures that the operands of any gather/scatter instructions that
we attempt to push out of the loop are invariant, preventing invalid IR
from being generated.
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-optimisation-deep.ll
Commit 442f2d7bc0bc4f19ce056018231fbed9166c9b08 by Lang Hames
[ORC-RT] Add OrcRTCWrapperFunctionResult.

OrcRTCWrapperFunctionResult is a C struct that can be used to return serialized
results from "wrapper functions" -- functions that deserialize an argument
buffer, call through to an actual implementation function, then serialize and
return the result of that function. Wrapper functions allow calls between ORC
and the ORC Runtime to be written using a single signature,
WrapperFunctionResult(const char *ArgData, size_t ArgSize), and without coupling
either side to a particular transport mechanism (in-memory, TCP, IPC, ... the
actual mechanism will be determined by the TargetProcessControl implementation).

OrcRTCWrapperFunctionResult is designed to allow small serialized buffers to
be returned by value, with larger serialized results stored on the heap. They
also provide an error state to report failures in serialization/deserialization.
The file was addedcompiler-rt/lib/orc/c_api.h
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was modifiedcompiler-rt/lib/orc/unittests/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/unittests/c_api_test.cpp
Commit 1ed29f8784ee528f54cd33300ab8420372141283 by Lang Hames
[ORC-RT] Add common.h -- Logging, casting and remote dispatch utilities.
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/common.h