Page MenuHomePhabricator

[Clang][CodeGen][RISCV] Fix hard float ABI for struct with empty struct and complex
ClosedPublic

Authored by luismarques on Nov 11 2020, 9:31 AM.

Details

Summary

Fixes bug 44904.

Diff Detail

Unit TestsFailed

TimeTest
90 msx64 windows > LLVM.CodeGen/XCore::threads.ll
Script: -- : 'RUN: at line 1'; c:\ws\w16n2-1\llvm-project\premerge-checks\build\bin\llc.exe -march=xcore < C:\ws\w16n2-1\llvm-project\premerge-checks\llvm\test\CodeGen\XCore\threads.ll | c:\ws\w16n2-1\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w16n2-1\llvm-project\premerge-checks\llvm\test\CodeGen\XCore\threads.ll

Event Timeline

luismarques created this revision.Nov 11 2020, 9:31 AM

Fix bad test.

LGTM - the big hint is that the new test is handled the same as f_empty_double2 as required by the ABI.

clang/test/CodeGen/riscv32-ilp32d-abi.cpp
36

Please can you add a test of { struct {}; float _Complex fc;} too, just for regression purposes?

lenary accepted this revision.Nov 30 2020, 2:34 PM
This revision is now accepted and ready to land.Nov 30 2020, 2:34 PM

Add float Complex case, for regression test completeness.

luismarques marked an inline comment as done.Dec 7 2020, 12:27 PM
lenary accepted this revision.Dec 7 2020, 1:39 PM

LGTM

luismarques closed this revision.Dec 8 2020, 3:27 AM