Refactor lowering for COPY_STRUCT_BYVAL_I32
authorDavid Peixotto <dpeixott@codeaurora.org>
Thu, 17 Oct 2013 19:49:22 +0000 (19:49 +0000)
committerDavid Peixotto <dpeixott@codeaurora.org>
Thu, 17 Oct 2013 19:49:22 +0000 (19:49 +0000)
commit6483751a362948bb83940e55f63226c27c472bc0
tree4ddd3b22b480af567172666c6eb53af79b42eb3f
parentf4094e5ed7387b29eda8d9a7865f6b5dfd47ce82
Refactor lowering for COPY_STRUCT_BYVAL_I32

This commit refactors the lowering of the COPY_STRUCT_BYVAL_I32
pseudo-instruction in the ARM backend. We introduce a new helper
class that encapsulates all of the operations needed during the
lowering. The operations are implemented for each subtarget in
different subclasses. Currently only arm and thumb2 subtargets are
supported.

This refactoring was done to easily implement support for thumb1
subtargets. This initial patch does not add support for thumb1, but
is only a refactoring. A follow on patch will implement the support
for thumb1 subtargets.

No intended functionality change.

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