Page MenuHomePhabricator

Mips: Mark special case calling convention handling as custom

Authored by arsenm on Jul 9 2021, 2:21 PM.



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

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.

Diff Detail

Unit TestsFailed

20 msx64 debian >
Script: -- : 'RUN: at line 2'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llvm-mc -triple=wasm32-unknown-unknown -filetype=obj /var/lib/buildkite-agent/builds/llvm-project/llvm/test/tools/llvm-symbolizer/wasm-basic.s -o /var/lib/buildkite-agent/builds/llvm-project/build/test/tools/llvm-symbolizer/Output/wasm-basic.s.tmp.o -g
30 msx64 windows >
Script: -- : 'RUN: at line 2'; c:\ws\w3\llvm-project\premerge-checks\build\bin\llvm-mc.exe -triple=wasm32-unknown-unknown -filetype=obj C:\ws\w3\llvm-project\premerge-checks\llvm\test\tools\llvm-symbolizer\wasm-basic.s -o C:\ws\w3\llvm-project\premerge-checks\build\test\tools\llvm-symbolizer\Output\wasm-basic.s.tmp.o -g

Event Timeline

arsenm created this revision.Jul 9 2021, 2:21 PM
arsenm requested review of this revision.Jul 9 2021, 2:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 9 2021, 2:21 PM
Herald added a subscriber: wdng. · View Herald Transcript
This revision is now accepted and ready to land.Jul 10 2021, 7:37 AM