[PATCH] D48374: [mips] Sign extend i32 return values on MIPS64

Stefan Maksimovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 13 03:57:44 PDT 2018


smaksimovic updated this revision to Diff 155342.
smaksimovic edited the summary of this revision.
smaksimovic added a comment.
This revision is now accepted and ready to land.

Added target hooks to replace the sign_extend with the sign_extend_inreg node which will get pattern matched with the SLL64_64 thus providing the needed sign extension.
The second target hook is introduced to keep the sign_extend_inreg node from being combined away.


https://reviews.llvm.org/D48374

Files:
  include/llvm/CodeGen/TargetLowering.h
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  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/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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48374.155342.patch
Type: text/x-patch
Size: 15791 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180713/f8a3ee87/attachment.bin>


More information about the llvm-commits mailing list