diff options
author | Quentin Carbonneaux <quentin@c9x.me> | 2022-03-17 10:57:09 +0100 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2022-03-17 10:57:09 +0100 |
commit | bf2a90ef7c183e9e0442d14d6f74fb6d5f79c6bb (patch) | |
tree | 47f42ddf38f84b8e78acc828033a47a7dd64d553 /rv64/isel.c | |
parent | cec9855fa0c8d9566d4c9755ef7677f49634bc60 (diff) | |
download | roux-bf2a90ef7c183e9e0442d14d6f74fb6d5f79c6bb.tar.gz |
fix return for big aggregates
The recent changes in arm and riscv typclass() set ngp to 1 when a struct is returned via a caller-provided buffer. This interacts bogusly with selret() that ends up declaring a gp register live when none is set in the returning sequence. The fix is simply to set cty to zero (all registers dead) in case a caller- provided buffer is used.
Diffstat (limited to 'rv64/isel.c')
0 files changed, 0 insertions, 0 deletions