Commit b199035b authored by Russ Cox's avatar Russ Cox

move tiny gsubr functions together at the top of the file.

delete unused mkenam file

R=ken
OCL=26940
CL=26940
parent 4e841748
...@@ -116,6 +116,81 @@ newplist(void) ...@@ -116,6 +116,81 @@ newplist(void)
return pl; return pl;
} }
void
gused(Node *n)
{
gins(ANOP, n, N); // used
}
Prog*
gjmp(Prog *to)
{
Prog *p;
p = gbranch(AJMP, T);
if(to != P)
patch(p, to);
return p;
}
void
ggloblnod(Node *nam, int32 width)
{
Prog *p;
p = gins(AGLOBL, nam, N);
p->lineno = nam->lineno;
p->to.sym = S;
p->to.type = D_CONST;
p->to.offset = width;
}
void
ggloblsym(Sym *s, int32 width, int dupok)
{
Prog *p;
p = gins(AGLOBL, N, N);
p->from.type = D_EXTERN;
if(s == symstringo)
p->from.type = D_STATIC;
p->from.index = D_NONE;
p->from.sym = s;
p->to.type = D_CONST;
p->to.index = D_NONE;
p->to.offset = width;
if(dupok)
p->from.scale = DUPOK;
}
int
isfat(Type *t)
{
if(t != T)
switch(t->etype) {
case TSTRUCT:
case TARRAY:
case TINTER: // maybe remove later
case TDDD: // maybe remove later
return 1;
}
return 0;
}
/*
* naddr of func generates code for address of func.
* if using opcode that can take address implicitly,
* call afunclit to fix up the argument.
*/
void
afunclit(Addr *a)
{
if(a->type == D_ADDR && a->index == D_EXTERN) {
a->type = D_EXTERN;
a->index = D_NONE;
}
}
static int resvd[] = static int resvd[] =
{ {
// D_DI, // for movstring // D_DI, // for movstring
...@@ -1121,20 +1196,6 @@ naddr(Node *n, Addr *a) ...@@ -1121,20 +1196,6 @@ naddr(Node *n, Addr *a)
} }
} }
/*
* naddr of func generates code for address of func.
* if using opcode that can take address implicitly,
* call afunclit to fix up the argument.
*/
void
afunclit(Addr *a)
{
if(a->type == D_ADDR && a->index == D_EXTERN) {
a->type = D_EXTERN;
a->index = D_NONE;
}
}
/* /*
* return Axxx for Oxxx on type t. * return Axxx for Oxxx on type t.
*/ */
...@@ -1664,20 +1725,6 @@ optoas(int op, Type *t) ...@@ -1664,20 +1725,6 @@ optoas(int op, Type *t)
return a; return a;
} }
int
isfat(Type *t)
{
if(t != T)
switch(t->etype) {
case TSTRUCT:
case TARRAY:
case TINTER: // maybe remove later
case TDDD: // maybe remove later
return 1;
}
return 0;
}
enum enum
{ {
ODynam = 1<<0, ODynam = 1<<0,
...@@ -1927,50 +1974,3 @@ no: ...@@ -1927,50 +1974,3 @@ no:
sudoclean(); sudoclean();
return 0; return 0;
} }
void
gused(Node *n)
{
gins(ANOP, n, N); // used
}
Prog*
gjmp(Prog *to)
{
Prog *p;
p = gbranch(AJMP, T);
if(to != P)
patch(p, to);
return p;
}
void
ggloblnod(Node *nam, int32 width)
{
Prog *p;
p = gins(AGLOBL, nam, N);
p->lineno = nam->lineno;
p->to.sym = S;
p->to.type = D_CONST;
p->to.offset = width;
}
void
ggloblsym(Sym *s, int32 width, int dupok)
{
Prog *p;
p = gins(AGLOBL, N, N);
p->from.type = D_EXTERN;
if(s == symstringo)
p->from.type = D_STATIC;
p->from.index = D_NONE;
p->from.sym = s;
p->to.type = D_CONST;
p->to.index = D_NONE;
p->to.offset = width;
if(dupok)
p->from.scale = DUPOK;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment