Special epilogue for vararg functions. We cannot do a pop to pc because
authorEvan Cheng <evan.cheng@apple.com>
Thu, 1 Feb 2007 01:49:46 +0000 (01:49 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 1 Feb 2007 01:49:46 +0000 (01:49 +0000)
commit9d945f78e5d26dac6778665bd7018a8fb3fd38c5
tree4c813dfd10041c1c292fcffd7b51a2244899f2e1
parent3281528de4755f8f4653bf6ff509ec88d795f975
Special epilogue for vararg functions. We cannot do a pop to pc because
there follows a sp increment for the va register save region. Instead issue
a separate pop to another register, increment sp, and then return:
        pop {r4, r5, r6, r7}
        pop {r3}
        add sp, #3 * 4
        bx r3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33739 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMRegisterInfo.cpp