OSDN Git Service

[ARM] Dynamic stack alignment for 16-bit Thumb
authorMomchil Velikov <momchil.velikov@arm.com>
Sun, 22 Oct 2017 11:56:35 +0000 (11:56 +0000)
committerMomchil Velikov <momchil.velikov@arm.com>
Sun, 22 Oct 2017 11:56:35 +0000 (11:56 +0000)
commit0be7a36e81d1a49c8640986402b28d842c1f54fa
tree4d2659e4f162b017d20618bf88e7b14d24ae9d7d
parent5631544a096b0a3b48213f757e0cd47d10afa2fd
[ARM] Dynamic stack alignment for 16-bit Thumb

This patch implements dynamic stack (re-)alignment for 16-bit Thumb. When
targeting processors, which support only the 16-bit Thumb instruction set
the compiler ignores the alignment attributes of automatic variables and may
silently generate incorrect code.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316289 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMBaseRegisterInfo.cpp
lib/Target/ARM/ARMFrameLowering.cpp
lib/Target/ARM/Thumb1FrameLowering.cpp
test/CodeGen/ARM/thumb1_return_sequence.ll
test/CodeGen/Thumb/large-stack.ll
test/CodeGen/Thumb/long.ll