qbe

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

commit 1bb7652484e1c7ca2cd7fcab858b4bbb18509879
parent f3301026fa404c68c7ad399b5a56a5135b88af04
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Fri, 24 Feb 2017 09:48:53 -0500

deduplicate loadsz & storesz

Diffstat:
Mall.h | 2++
Mload.c | 4++--
Mmem.c | 25-------------------------
3 files changed, 4 insertions(+), 27 deletions(-)

diff --git a/all.h b/all.h @@ -576,6 +576,8 @@ int alias(Ref, int, Ref, int, int *, Fn *); int escapes(Ref, Fn *); /* load.c */ +int loadsz(Ins *); +int storesz(Ins *); void loadopt(Fn *); /* ssa.c */ diff --git a/load.c b/load.c @@ -42,7 +42,7 @@ static uint inum; /* current insertion number */ static Insert *ilog; /* global insertion log */ static uint nlog; /* number of entries in the log */ -static int +int loadsz(Ins *l) { switch (l->op) { @@ -54,7 +54,7 @@ loadsz(Ins *l) die("unreachable"); } -static int +int storesz(Ins *s) { switch (s->op) { diff --git a/mem.c b/mem.c @@ -1,30 +1,5 @@ #include "all.h" -static int -loadsz(Ins *l) -{ - switch (l->op) { - case Oloadsb: case Oloadub: return 1; - case Oloadsh: case Oloaduh: return 2; - case Oloadsw: case Oloaduw: return 4; - case Oload: return KWIDE(l->cls) ? 8 : 4; - } - die("unreachable"); -} - -static int -storesz(Ins *s) -{ - switch (s->op) { - case Ostoreb: return 1; - case Ostoreh: return 2; - case Ostorew: case Ostores: return 4; - case Ostorel: case Ostored: return 8; - } - die("unreachable"); -} - - /* require use, maintains use counts */ void memopt(Fn *fn)