ARM: add VLA extension for WoA Itanium ABI
authorSaleem Abdulrasool <compnerd@compnerd.org>
Mon, 9 Jun 2014 20:18:42 +0000 (20:18 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Mon, 9 Jun 2014 20:18:42 +0000 (20:18 +0000)
commitc90ddb186967525c41456565152d7cd898616bda
tree568c491d221518a3d71bd81bc426d179c2058f9b
parent8a0c2d17f5a26bde5e080abd88587aba76b6a325
ARM: add VLA extension for WoA Itanium ABI

The armv7-windows-itanium environment is nearly identical to the MSVC ABI. It
has a few divergences, mostly revolving around the use of the Itanium ABI for
C++. VLA support is one of the extensions that are amongst the set of the
extensions.

This adds support for proper VLA emission for this environment. This is
somewhat similar to the handling for __chkstk emission on X86 and the large
stack frame emission for ARM. The invocation style for chkstk is still
controlled via the -mcmodel flag to clang.

Make an explicit note that this is an extension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210489 91177308-0d34-0410-b5e6-96231b3b80d8
docs/Extensions.rst
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrInfo.td
test/CodeGen/ARM/Windows/vla.ll [new file with mode: 0644]