SuccessChanges

Summary

  1. [AVR] fix interrupt stack pointer restoration (details)
  2. [AArch64][GlobalISel] Select all-zero G_BUILD_VECTOR into a zero mov. (details)
  3. [MC] Inline MCExpr::printVariantKind & remove UseParensForSymbolVariantBit (details)
  4. [ARM][LowOverheadLoops] Use iterator for InsertPt. (details)
  5. [sanitizer] Fix SymbolizedStack leak (details)
Commit 1fedd90cc7a8deabf7d75d3e668bd56ce9b1ffcc by me
[AVR] fix interrupt stack pointer restoration

This patch fixes a corruption of the stack pointer and several registers in any AVR interrupt with non-empty stack frame.  Previously, the callee-saved registers were popped before restoring the stack pointer, causing the pointer math to use the wrong base value while also corrupting the caller's register.  This change fixes the code to restore the stack pointer last before exiting the interrupt service routine.

https://bugs.llvm.org/show_bug.cgi?id=47253

Reviewed By: dylanmckay

Differential Revision: https://reviews.llvm.org/D87735

Patch by Andrew Dona-Couch.
The file was modifiedllvm/test/CodeGen/AVR/interrupts.ll
The file was modifiedllvm/lib/Target/AVR/AVRFrameLowering.cpp
Commit da11479fd1fa62e59a16790f4dc2d80c9facf2da by Amara Emerson
[AArch64][GlobalISel] Select all-zero G_BUILD_VECTOR into a zero mov.

Unfortunately the leaf SDAG patterns aren't supported yet so we need to do
this manually, but it's not a significant amount of code anyway.

Differential Revision: https://reviews.llvm.org/D87924
The file was modifiedllvm/test/CodeGen/AArch64/arm64-vabs.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
The file was modifiedllvm/test/CodeGen/AArch64/combine-loads.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit 1e8fbb3b745916160a35a6af4dfdba9bbe26c730 by i
[MC] Inline MCExpr::printVariantKind & remove UseParensForSymbolVariantBit

Note, MAI may be nullptr in -show-encoding.
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/include/llvm/MC/MCExpr.h
Commit dfa2c14b8fe8166ff9ff951b8b70a2004401d0db by sam.parker
[ARM][LowOverheadLoops] Use iterator for InsertPt.

Use a MachineBasicBlock::iterator instead of a MachineInstr* for the
position of our LoopStart instruction. NFCish, as it change debug
info.
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/matrix-debug.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 456974ac78f107d74b6db35401aff5ac4ab2665d by Vitaly Buka
[sanitizer] Fix SymbolizedStack leak
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp