[PATCH] D105738: Mips: Mark special case calling convention handling as custom

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 9 14:21:15 PDT 2021


arsenm created this revision.
arsenm added reviewers: dsanders, atanasyan, ahatanak, sdardis.
Herald added subscribers: jrtc27, hiraditya, arichardson.
arsenm requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

The number of registers used for passing f64 in some cases is context
dependent, and thus getNumRegistersForCallingConv is sometimes
inaccurate. For f64, it reports 1 but is sometimes split into 2 32-bit
registers.

      

For GlobalISel, the generic argument assignment code expects
getNumRegistersForCallingConv to return an accurate answer. Switch to
marking these arguments as custom so we can deal with this case as a
custom assignment rather.

      

This temporarily breaks a few globalisel tests which are fixed by a
future change to use more of the generic infrastructure.


https://reviews.llvm.org/D105738

Files:
  llvm/lib/Target/Mips/MipsISelLowering.cpp
  llvm/test/CodeGen/Mips/GlobalISel/irtranslator/float_args.ll
  llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/float_args.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105738.357637.patch
Type: text/x-patch
Size: 7963 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210709/d7507bf8/attachment.bin>


More information about the llvm-commits mailing list