]> granicus.if.org Git - llvm/commit
[IPRA][ARM] Make use of the "returned" parameter attribute
authorOliver Stannard <oliver.stannard@linaro.org>
Mon, 22 Jul 2019 08:44:36 +0000 (08:44 +0000)
committerOliver Stannard <oliver.stannard@linaro.org>
Mon, 22 Jul 2019 08:44:36 +0000 (08:44 +0000)
commitca15d41cf2a5b61bf0513366f750017f6026ac77
treef92d726bac5758e320fa75aeced58dde372b033f
parent0bce05246ef7f4db6e4563e5fdada3dea5819e39
[IPRA][ARM] Make use of the "returned" parameter attribute

ARM has code to recognise uses of the "returned" function parameter
attribute which guarantee that the value passed to the function in r0
will be returned in r0 unmodified. IPRA replaces the regmask on call
instructions, so needs to be told about this to avoid reverting the
optimisation.

Differential revision: https://reviews.llvm.org/D64986

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366669 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/Target/ARM/ARMFrameLowering.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMMachineFunctionInfo.h
test/CodeGen/ARM/ipra-r0-returned.ll [new file with mode: 0644]