mirror of
git://c9x.me/qbe.git
synced 2026-04-05 18:09:47 +00:00
deduplicate loadsz & storesz
This commit is contained in:
parent
f3301026fa
commit
1bb7652484
2
all.h
2
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 */
|
||||
|
||||
4
load.c
4
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) {
|
||||
|
||||
25
mem.c
25
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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user