]> granicus.if.org Git - llvm/commit
[mips] Sign extend i32 return values on MIPS64
authorStefan Maksimovic <stefan.maksimovic@mips.com>
Thu, 26 Jul 2018 10:59:35 +0000 (10:59 +0000)
committerStefan Maksimovic <stefan.maksimovic@mips.com>
Thu, 26 Jul 2018 10:59:35 +0000 (10:59 +0000)
commit4f48c840d005ea5af3e1e2dec7febe739f35f479
tree2831355b2cf5db86fd845186dff7d4fbd8fc7b14
parent078cc9c528cea6b1a0544cda99e53afdf25ea248
[mips] Sign extend i32 return values on MIPS64

Override getTypeForExtReturn so that functions returning
an i32 typed value have it sign extended on MIPS64.

Also provide patterns to get rid of unneeded sign extensions
for arithmetic instructions which implicitly sign extend
their results.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338019 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/Mips64r6InstrInfo.td
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
test/CodeGen/Mips/delay-slot-kill.ll
test/CodeGen/Mips/llvm-ir/and.ll
test/CodeGen/Mips/llvm-ir/not.ll
test/CodeGen/Mips/llvm-ir/or.ll
test/CodeGen/Mips/llvm-ir/select-int.ll
test/CodeGen/Mips/llvm-ir/xor.ll
test/CodeGen/Mips/shrink-wrapping.ll