diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-10-23 16:58:01 -0400 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-10-30 13:20:42 -0400 |
commit | 7ed330303679b2c6bafd2020d56457f22a8a6c0b (patch) | |
tree | dafdbce3b43f2bd989c09cbbd53afd792b02def9 /lisc/isel.c | |
parent | e0d7beda692305ec051349a155bbde46a8713b37 (diff) | |
download | roux-7ed330303679b2c6bafd2020d56457f22a8a6c0b.tar.gz |
mention addressing modes in isel main comment
Diffstat (limited to 'lisc/isel.c')
-rw-r--r-- | lisc/isel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lisc/isel.c b/lisc/isel.c index bf6fa25..1560d6d 100644 --- a/lisc/isel.c +++ b/lisc/isel.c @@ -11,6 +11,7 @@ * on instructions like division. * - implement fast locals (the streak of * constant allocX in the first basic block) + * - recognize complex addressing modes */ typedef struct ANum ANum; @@ -167,8 +168,7 @@ Emit: */ r0 = i.arg[n]; if (opdesc[i.op].nmem > n) - if ((i0 = an[r0.val].i)) - if (i0->op >= OLoad+Tl) + if ((i0 = an[r0.val].i) && i0->op >= OLoad+Tl) if ((i.wide == 0 && i0->op <= OLoad+Tsw) || (i.wide == 1 && i0->op <= OLoad+Tl)) { amatch(&a, i0->arg[0], an, fn, 1); |