[PATCH] [mips] Remove custom versions of CCState::AnalyzeReturn() and CCState::AnalyzeCallReturn().

Daniel Sanders daniel.sanders at imgtec.com
Tue Sep 9 07:41:34 PDT 2014


Hi vmedic,

The N32/N64 ABI's return f128 values in $f0 and $f2 for hard-float and $v0 and
$a0 for soft-float. The registers used in the soft-float case differ from the
usual $v0, and $v1 specified for return values.

Both cases were previously handled by duplicating the CCState::AnalyzeReturn()
and CCState::AnalyzeCallReturn() functions and modifying them to delegate to
a different assignment function for f128 and further replace the register type
for the hard-float case. There is a simpler way to do both of these.

We now use the common functions and select an initial assignment function based
on whether the original type is f128 or not. We then handle the hard-float case
using CCBitConvertToType<>.

No functional change.

http://reviews.llvm.org/D5269

Files:
  lib/Target/Mips/MipsCallingConv.td
  lib/Target/Mips/MipsISelLowering.cpp
  lib/Target/Mips/MipsISelLowering.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5269.13464.patch
Type: text/x-patch
Size: 5120 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140909/35dd956c/attachment.bin>


More information about the llvm-commits mailing list