[SystemZ] Mark unsaved argument R6 as live throughout function.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Thu, 15 Oct 2020 08:04:06 +0000 (10:04 +0200)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Wed, 21 Oct 2020 12:38:59 +0000 (14:38 +0200)
commit1606755da0e4fb362c88fdf02373f0dc3e4eef8f
tree5d3557c34cdb0630c468d32a52901e3596569184
parent6a5c19dd3956b6fe4607c8dd00a550bf3ead25b0
[SystemZ] Mark unsaved argument R6 as live throughout function.

For historical reasons, the R6 register is a callee-saved argument
register. This means that if it is used to pass an argument to a function
that does not clobber it, it is live throughout the function.

This patch makes sure that in this special case any kill flags of it are
removed.

Review: Ulrich Weigand, Eli Friedman

Differential Revision: https://reviews.llvm.org/D89451
llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
llvm/test/CodeGen/SystemZ/frame-26.mir [new file with mode: 0644]