diff options
author | Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> | 2015-05-12 12:29:17 +0000 |
---|---|---|
committer | Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> | 2015-05-12 12:29:17 +0000 |
commit | b48c905613605be994469028f0a97b247e6773e8 (patch) | |
tree | 0b432c84555f6047aa5ccdf8e8a1aaf7235fe6f3 /llvm/lib/Target/Mips/MipsFastISel.cpp | |
parent | bdaa681fc6bfca65aeaf3c11ad3636f37e72c9ee (diff) | |
download | llvm-b48c905613605be994469028f0a97b247e6773e8.zip llvm-b48c905613605be994469028f0a97b247e6773e8.tar.gz llvm-b48c905613605be994469028f0a97b247e6773e8.tar.bz2 |
[mips][FastISel] Handle calls with non legal types i8 and i16.
Summary: Allow calls with non legal integer types based on i8 and i16 to be processed by mips fast-isel.
Based on a patch by Reed Kotler.
Test Plan:
"Make check" test forthcoming.
Test-suite passes at O0/O2 and with mips32 r1/r2
Reviewers: rkotler, dsanders
Subscribers: llvm-commits, rfuhler
Differential Revision: http://reviews.llvm.org/D6770
llvm-svn: 237121
Diffstat (limited to 'llvm/lib/Target/Mips/MipsFastISel.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MipsFastISel.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsFastISel.cpp b/llvm/lib/Target/Mips/MipsFastISel.cpp index 95257b9..3ad55e0 100644 --- a/llvm/lib/Target/Mips/MipsFastISel.cpp +++ b/llvm/lib/Target/Mips/MipsFastISel.cpp @@ -1000,7 +1000,9 @@ bool MipsFastISel::processCallArgs(CallLoweringInfo &CLI, } } } - if (((ArgVT == MVT::i32) || (ArgVT == MVT::f32)) && VA.isMemLoc()) { + if (((ArgVT == MVT::i32) || (ArgVT == MVT::f32) || (ArgVT == MVT::i16) || + (ArgVT == MVT::i8)) && + VA.isMemLoc()) { switch (VA.getLocMemOffset()) { case 0: VA.convertToReg(Mips::A0); |