OSDN Git Service

[ARM] GlobalISel: Select add i32, i32
authorDiana Picus <diana.picus@linaro.org>
Fri, 16 Dec 2016 12:54:46 +0000 (12:54 +0000)
committerDiana Picus <diana.picus@linaro.org>
Fri, 16 Dec 2016 12:54:46 +0000 (12:54 +0000)
commitb1879fb1fb152a324fae4d5402a7fd8eaa5e54cc
tree6cf03f5bf5526859ee4604cb812f0bef5edcde22
parentd7f6e8fca55e39ae063ade4f9cfca199f1fa1941
[ARM] GlobalISel: Select add i32, i32

Add the minimal support necessary to select a function that returns the sum of
two i32 values.

This includes some support for argument/return lowering of i32 values through
registers, as well as the handling of copy and add instructions throughout the
GlobalISel pipeline.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289940 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
lib/CodeGen/GlobalISel/InstructionSelector.cpp
lib/Target/ARM/ARMCallLowering.cpp
lib/Target/ARM/ARMCallLowering.h
lib/Target/ARM/ARMInstructionSelector.cpp
lib/Target/ARM/ARMInstructionSelector.h
lib/Target/ARM/ARMLegalizerInfo.cpp
lib/Target/ARM/ARMRegisterBankInfo.cpp
lib/Target/ARM/ARMRegisterBankInfo.h
test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir [new file with mode: 0644]
test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
test/CodeGen/ARM/GlobalISel/arm-isel.ll [new file with mode: 0644]
test/CodeGen/ARM/GlobalISel/arm-legalizer.mir [new file with mode: 0644]
test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir [new file with mode: 0644]