qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit 005c7e7c5e3bc3a7095f41ea4527e6f801739f51
parent 53efd935d77409517f0c9f268aa384eae277a588
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Mon,  7 Mar 2016 12:07:22 -0500

fix two bad bugs in abi classification

The conditions to put a struct in memory or
not were wrong.  And I misused the cls field
of the AClass struct.

Diffstat:
Mlisc/isel.c | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisc/isel.c b/lisc/isel.c @@ -530,11 +530,11 @@ classify(Ins *i0, Ins *i1, AClass *ac, int op) continue; ni = ns = 0; for (n=0; n<2; n++) - if (a->cls[n] == 0) + if (KBASE(a->cls[n]) == 0) ni++; else ns++; - if (nint > ni && nsse > ns) { + if (nint >= ni && nsse >= ns) { nint -= ni; nsse -= ns; } else