Changes

Summary

  1. [InstrProfiling][test] Fix stale linkage.ll (details)
  2. [AtomicExpandPass][AArch64] Promote xchg with floating-point types to integer ones (details)
Commit cdd1adfb7d5d5048a7fdedc441e75db019fbb0b5 by i
[InstrProfiling][test] Fix stale linkage.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
Commit b577ec495698c585837db3893c5662d3aa0aab87 by thatlemon
[AtomicExpandPass][AArch64] Promote xchg with floating-point types to integer ones

Follow the same strategy used for atomic loads/stores by converting the operands to equally-sized integer types.
This change prevents the atomic expansion pass from generating illegal LL/SC pairs when targeting AArch64: `expand-atomicrmw-xchg-fp.ll` would previously instantiate intrinsics such as `llvm.aarch64.ldaxr.p0f32` that cannot be lowered.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D103232
The file was modifiedllvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
The file was modifiedllvm/test/CodeGen/X86/atomicf128.ll
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp
The file was modifiedllvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
The file was addedllvm/test/CodeGen/AArch64/atomicrmw-xchg-fp.ll