[ARM] Don't try to create "push {r12, lr}" in Thumb1 at -Oz.
authorEli Friedman <efriedma@quicinc.com>
Mon, 1 Apr 2019 23:55:57 +0000 (23:55 +0000)
committerEli Friedman <efriedma@quicinc.com>
Mon, 1 Apr 2019 23:55:57 +0000 (23:55 +0000)
commit73af6ef2e7525a9fc47e1219552955c7635bc660
treeff7252e5ba41e5d6c1365d9ee7eeabf7a69f931f
parentf608678f1f303e92cacf75c4da3b6e040b328956
[ARM] Don't try to create "push {r12, lr}" in Thumb1 at -Oz.

It's a little tricky to make this issue show up because
prologue/epilogue emission normally likes to push at least two
registers... but it doesn't when lr is force-spilled due to function
length.  Not sure if that really makes sense, but I decided not to touch
it for now.

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

llvm-svn: 357436
llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
llvm/test/CodeGen/ARM/fold-stack-adjust.ll