Delete 689 undead files.
These files "magically reappeared" after the conversion from CVS to Mercurial. The old CVS repository deleted these files but did not record *when* it deleted these files. The conversion resurrected these files because they have no history of deletion. These files were probably deleted before year 1995. The CVS repository begins to record deletions around 1995. These files may still appear in older revisions of this Mercurial repository, when they should already be deleted. There is no way to fix this, because the CVS repository provides no dates of deletion. See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
This commit is contained in:
@@ -1,228 +0,0 @@
|
||||
# $Header$
|
||||
|
||||
EMHOME=../..
|
||||
CFILES=main.c getline.c lookup.c var.c process.c backward.c util.c \
|
||||
alloc.c putline.c cleanup.c peephole.c flow.c reg.c tes.c \
|
||||
pop_push.c
|
||||
|
||||
OFILES=main.o getline.o lookup.o var.o process.o backward.o util.o\
|
||||
alloc.o putline.o cleanup.o peephole.o flow.o tes.o pop_push.o
|
||||
ONOGLOB=regnoglob.o
|
||||
OGLOB=regglob.o
|
||||
LIBS=$(EMHOME)/lib/em_data.a
|
||||
CFLAGS=-O -DNDEBUG -I$(EMHOME)/h
|
||||
LDFLAGS=
|
||||
LINT=lint
|
||||
OPR=opr
|
||||
PROPTS=
|
||||
CPP=$(EMHOME)/lib/cpp
|
||||
# LEXLIB is implementation dependent, try -ll or -lln first
|
||||
LEXLIB=-ll
|
||||
|
||||
all: opt opt2
|
||||
|
||||
opt: $(OFILES) $(ONOGLOB) pattern.o $(LIBS)
|
||||
$(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(ONOGLOB) pattern.o $(LIBS) -o opt
|
||||
|
||||
opt2: $(OFILES) $(OGLOB) pattern.o $(LIBS)
|
||||
$(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(OGLOB) pattern.o $(LIBS) -o opt2
|
||||
|
||||
test: opt testopt
|
||||
testopt
|
||||
|
||||
cmp: all
|
||||
-cmp opt $(EMHOME)/lib/em_opt
|
||||
-cmp opt2 $(EMHOME)/lib/em_opt2
|
||||
-cmp em_opt.6 $(EMHOME)/man/em_opt.6
|
||||
|
||||
install:all
|
||||
-size opt $(EMHOME)/lib/em_opt
|
||||
rm -f $(EMHOME)/lib/em_opt
|
||||
cp opt $(EMHOME)/lib/em_opt
|
||||
-size opt2 $(EMHOME)/lib/em_opt2
|
||||
rm -f $(EMHOME)/lib/em_opt2
|
||||
cp opt2 $(EMHOME)/lib/em_opt2
|
||||
rm -f $(EMHOME)/man/em_opt.6
|
||||
cp em_opt.6 $(EMHOME)/man/em_opt.6
|
||||
|
||||
pattern.c: patterns mktab
|
||||
$(CPP) patterns | mktab > pattern.c
|
||||
|
||||
mktab: mktab.o $(LIBS)
|
||||
$(CC) $(CFLAGS) mktab.o $(LIBS) $(LEXLIB) -o mktab
|
||||
|
||||
mktab.o: scan.c optim.h param.h pattern.h types.h
|
||||
|
||||
pop_push.c pop_push.h: $(EMHOME)/etc/em_table pop_push.awk
|
||||
awk -f pop_push.awk < $(EMHOME)/etc/em_table > pop_push.c
|
||||
|
||||
depend: pattern.c
|
||||
sed '/^#AUTOAUTO/,$$d' Makefile >Makefile.new
|
||||
echo '#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO' >> Makefile.new
|
||||
cp reg.c regglob.c
|
||||
cp reg.c regnoglob.c
|
||||
mkdep $(CFILES) pattern.c regglob.c regnoglob.c | sed 's/\.c:/.o:/' >> Makefile.new
|
||||
rm -f regglob.c regnoglob.c
|
||||
mv Makefile Makefile.old
|
||||
mv Makefile.new Makefile
|
||||
|
||||
lint: $(CFILES) pattern.c
|
||||
$(LINT) $(CFLAGS) $(CFILES) pattern.c>lint 2>&1
|
||||
|
||||
printall:
|
||||
-pr $(PROPTS) Makefile -n *.h `ls $(CFILES)` mktab.y scan.l patterns|$(OPR)
|
||||
touch print
|
||||
|
||||
print: Makefile *.h $(CFILES) mktab.y scan.l patterns
|
||||
-pr $(PROPTS) -n $? | $(OPR)
|
||||
touch print
|
||||
|
||||
opr:
|
||||
make pr | $(OPR)
|
||||
|
||||
pr:
|
||||
@pr $(PROPTS) -n Makefile *.h $(CFILES) mktab.y scan.l patterns
|
||||
|
||||
clean:
|
||||
rm -f *.o opt mktab mktab.c scan.c pattern.c opt2 Out \
|
||||
pop_push.c pop_push.h
|
||||
|
||||
regnoglob.o: reg.c
|
||||
$(CC) $(CFLAGS) -c reg.c
|
||||
mv reg.o regnoglob.o
|
||||
|
||||
regglob.o: reg.c
|
||||
$(CC) $(CFLAGS) -c -DGLOBAL_OPT reg.c
|
||||
mv reg.o regglob.o
|
||||
|
||||
# the next lines are generated automatically
|
||||
#AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
|
||||
main.o: alloc.h
|
||||
main.o: ext.h
|
||||
main.o: param.h
|
||||
main.o: tes.h
|
||||
main.o: types.h
|
||||
getline.o: alloc.h
|
||||
getline.o: ext.h
|
||||
getline.o: line.h
|
||||
getline.o: lookup.h
|
||||
getline.o: param.h
|
||||
getline.o: proinf.h
|
||||
getline.o: tes.h
|
||||
getline.o: types.h
|
||||
lookup.o: alloc.h
|
||||
lookup.o: lookup.h
|
||||
lookup.o: param.h
|
||||
lookup.o: proinf.h
|
||||
lookup.o: tes.h
|
||||
lookup.o: types.h
|
||||
var.o: lookup.h
|
||||
var.o: param.h
|
||||
var.o: proinf.h
|
||||
var.o: tes.h
|
||||
var.o: types.h
|
||||
process.o: alloc.h
|
||||
process.o: assert.h
|
||||
process.o: ext.h
|
||||
process.o: line.h
|
||||
process.o: lookup.h
|
||||
process.o: param.h
|
||||
process.o: proinf.h
|
||||
process.o: tes.h
|
||||
process.o: types.h
|
||||
backward.o: alloc.h
|
||||
backward.o: assert.h
|
||||
backward.o: ext.h
|
||||
backward.o: line.h
|
||||
backward.o: lookup.h
|
||||
backward.o: param.h
|
||||
backward.o: proinf.h
|
||||
backward.o: tes.h
|
||||
backward.o: types.h
|
||||
util.o: assert.h
|
||||
util.o: ext.h
|
||||
util.o: lookup.h
|
||||
util.o: optim.h
|
||||
util.o: param.h
|
||||
util.o: proinf.h
|
||||
util.o: tes.h
|
||||
util.o: types.h
|
||||
alloc.o: alloc.h
|
||||
alloc.o: assert.h
|
||||
alloc.o: line.h
|
||||
alloc.o: lookup.h
|
||||
alloc.o: param.h
|
||||
alloc.o: proinf.h
|
||||
alloc.o: tes.h
|
||||
alloc.o: types.h
|
||||
putline.o: alloc.h
|
||||
putline.o: assert.h
|
||||
putline.o: ext.h
|
||||
putline.o: line.h
|
||||
putline.o: lookup.h
|
||||
putline.o: optim.h
|
||||
putline.o: param.h
|
||||
putline.o: proinf.h
|
||||
putline.o: tes.h
|
||||
putline.o: types.h
|
||||
cleanup.o: assert.h
|
||||
cleanup.o: ext.h
|
||||
cleanup.o: lookup.h
|
||||
cleanup.o: param.h
|
||||
cleanup.o: types.h
|
||||
peephole.o: alloc.h
|
||||
peephole.o: assert.h
|
||||
peephole.o: ext.h
|
||||
peephole.o: line.h
|
||||
peephole.o: lookup.h
|
||||
peephole.o: optim.h
|
||||
peephole.o: param.h
|
||||
peephole.o: pattern.h
|
||||
peephole.o: proinf.h
|
||||
peephole.o: tes.h
|
||||
peephole.o: types.h
|
||||
flow.o: alloc.h
|
||||
flow.o: ext.h
|
||||
flow.o: line.h
|
||||
flow.o: optim.h
|
||||
flow.o: param.h
|
||||
flow.o: proinf.h
|
||||
flow.o: tes.h
|
||||
flow.o: types.h
|
||||
reg.o: alloc.h
|
||||
reg.o: assert.h
|
||||
reg.o: ext.h
|
||||
reg.o: line.h
|
||||
reg.o: param.h
|
||||
reg.o: proinf.h
|
||||
reg.o: tes.h
|
||||
reg.o: types.h
|
||||
tes.o: alloc.h
|
||||
tes.o: assert.h
|
||||
tes.o: ext.h
|
||||
tes.o: line.h
|
||||
tes.o: param.h
|
||||
tes.o: pop_push.h
|
||||
tes.o: proinf.h
|
||||
tes.o: tes.h
|
||||
tes.o: types.h
|
||||
pop_push.o: pop_push.h
|
||||
pattern.o: param.h
|
||||
pattern.o: pattern.h
|
||||
pattern.o: types.h
|
||||
regglob.o: alloc.h
|
||||
regglob.o: assert.h
|
||||
regglob.o: ext.h
|
||||
regglob.o: line.h
|
||||
regglob.o: param.h
|
||||
regglob.o: proinf.h
|
||||
regglob.o: tes.h
|
||||
regglob.o: types.h
|
||||
regnoglob.o: alloc.h
|
||||
regnoglob.o: assert.h
|
||||
regnoglob.o: ext.h
|
||||
regnoglob.o: line.h
|
||||
regnoglob.o: param.h
|
||||
regnoglob.o: proinf.h
|
||||
regnoglob.o: tes.h
|
||||
regnoglob.o: types.h
|
||||
@@ -1,15 +0,0 @@
|
||||
: '$Header$'
|
||||
for extension in c y
|
||||
do
|
||||
for file in *.$extension
|
||||
do ofile=`basename $file .$extension`.o
|
||||
grep '^# *include.*"' $file|sed "s/.*\"\(.*\)\".*/$ofile: \1/"
|
||||
done
|
||||
done | sort -u >depend
|
||||
ed - Makefile <<'!'
|
||||
/AUTOAUTOAUTO/+,$d
|
||||
$r depend
|
||||
w
|
||||
q
|
||||
!
|
||||
rm -f depend
|
||||
226
util/opt/shc.c
226
util/opt/shc.c
@@ -1,226 +0,0 @@
|
||||
/*
|
||||
* This file contains the main part of the stackheight computation phase.
|
||||
*
|
||||
* Author: Hans van Eck.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <em_spec.h>
|
||||
#include <em_mnem.h>
|
||||
#include <em_pseu.h>
|
||||
#include "param.h"
|
||||
#include "assert.h"
|
||||
#include "types.h"
|
||||
#include "shc.h"
|
||||
#include "alloc.h"
|
||||
#include "proinf.h"
|
||||
#include "line.h"
|
||||
#include "ext.h"
|
||||
#include "pop_push.h"
|
||||
|
||||
extern char *pop_push[];
|
||||
extern char flow_tab[];
|
||||
|
||||
#define NON_CONTINUABLE(i) (flow_tab[i]&JUMP)
|
||||
#define ISABRANCH(i) (flow_tab[i]&HASLABEL)
|
||||
#define ISCONDBRANCH(i) (flow_tab[i]&CONDBRA)
|
||||
|
||||
lblst_p est_list = NULL;
|
||||
|
||||
#define INSTR(lnp) (lnp->l_instr & BMASK)
|
||||
#define TYPE(lnp) lnp->l_optyp
|
||||
#define PREV(lnp) lnp->l_prev
|
||||
#define SHORT(lnp) lnp->l_a.la_short
|
||||
#define MINI(lnp) ((lnp->l_optyp & BMASK) - Z_OPMINI)
|
||||
|
||||
#define IS_MINI(lnp) (lnp->l_optyp >= OPMINI)
|
||||
#define IS_LOC(l) (l!=(line_p) 0 && INSTR(l)==op_loc && IS_MINI(l))
|
||||
|
||||
int state;
|
||||
static int stack_height = 0;
|
||||
|
||||
init_state()
|
||||
{
|
||||
stack_height = 0;
|
||||
change_state(KNOWN);
|
||||
est_list = NULL;
|
||||
}
|
||||
|
||||
shc_pseudos()
|
||||
{
|
||||
register line_p lp;
|
||||
|
||||
for (lp = pseudos; lp != (line_p)0; lp = lp->l_next) {
|
||||
switch(INSTR(lp)) {
|
||||
case ps_con:
|
||||
case ps_rom:
|
||||
if (lp->l_optyp == OPLIST) {
|
||||
register arg_p ap = lp->l_a.la_arg;
|
||||
|
||||
while (ap != (arg_p) 0) {
|
||||
if (ap->a_typ == ARGNUM) {
|
||||
assign_label(ap->a_a.a_np->n_repl);
|
||||
}
|
||||
ap = ap->a_next;
|
||||
}
|
||||
} else if (lp->l_optyp == OPNUMLAB)
|
||||
assign_label(lp->l_a.la_np->n_repl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
shc_instr(lnp)
|
||||
line_p lnp;
|
||||
{
|
||||
char *s;
|
||||
register instr = INSTR(lnp);
|
||||
register int mult, arg, argdef;
|
||||
line_p x = PREV(lnp);
|
||||
line_p y = (x == (line_p) 0 ? (line_p) 0 : PREV(x));
|
||||
|
||||
if (state == NO_STACK_MES) return;
|
||||
|
||||
if ( instr == op_lab) {
|
||||
do_inst_label(lnp);
|
||||
return;
|
||||
}
|
||||
if (instr < sp_fmnem || instr > sp_lmnem) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(state == NOTREACHED) return; /* What else ? */
|
||||
s = pop_push[instr];
|
||||
|
||||
if (*s != '0')
|
||||
while (*s != '\0') {
|
||||
if (*s++ == '-') mult = -1;
|
||||
else mult = 1;
|
||||
if (TYPE(lnp) == OPSHORT) {
|
||||
arg = SHORT(lnp);
|
||||
if (arg < wordsize) arg = wordsize;
|
||||
argdef = TRUE;
|
||||
} else if (IS_MINI(lnp)) {
|
||||
arg = MINI(lnp);
|
||||
if (arg > 0 && arg < wordsize) arg = wordsize;
|
||||
if (arg < 0 && -arg < wordsize) arg = -wordsize;
|
||||
argdef = TRUE;
|
||||
} else argdef = FALSE;
|
||||
switch (*s++) {
|
||||
case 'w': stack_height += mult * wordsize; break;
|
||||
case 'd': stack_height += mult * wordsize * 2; break;
|
||||
case 'p': stack_height += mult * pointersize; break;
|
||||
case 'a':
|
||||
if (argdef == FALSE || instr == op_ass) {
|
||||
change_state(NO_STACK_MES);
|
||||
return;
|
||||
}
|
||||
stack_height += mult * arg;
|
||||
break;
|
||||
case 'x':
|
||||
if (IS_LOC(x)) {
|
||||
arg = MINI(x);
|
||||
if (arg < wordsize) arg = wordsize;
|
||||
stack_height += mult * arg;
|
||||
break;
|
||||
}
|
||||
change_state(NO_STACK_MES);
|
||||
return;
|
||||
case 'y':
|
||||
if (IS_LOC(y)) {
|
||||
arg = MINI(y);
|
||||
if (arg < wordsize) arg = wordsize;
|
||||
stack_height += mult * arg;
|
||||
break;
|
||||
}
|
||||
change_state(NO_STACK_MES);
|
||||
return;
|
||||
case '?':
|
||||
/* Actually, the effect of a ret on the stack is
|
||||
* known, but it has a '?' anyway. I think this
|
||||
* should be changed in ~etc/em_table
|
||||
*/
|
||||
if (instr == op_ret)
|
||||
break;
|
||||
change_state(NO_STACK_MES);
|
||||
return;
|
||||
default:
|
||||
assert(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if (ISABRANCH(instr)) do_inst_label(lnp);
|
||||
if (NON_CONTINUABLE(instr)) change_state(NOTREACHED);
|
||||
}
|
||||
|
||||
change_state(mode)
|
||||
int mode;
|
||||
{
|
||||
state = mode;
|
||||
if (mode != KNOWN) stack_height = 0;
|
||||
}
|
||||
|
||||
delete_labels()
|
||||
{
|
||||
register lblst_p tmp;
|
||||
|
||||
while ((tmp = est_list) != NULL) {
|
||||
est_list = est_list->ll_next;
|
||||
oldlblst(tmp);
|
||||
}
|
||||
}
|
||||
|
||||
inst_old_label(lst_elt)
|
||||
register lblst_p lst_elt;
|
||||
{
|
||||
if (state != NOTREACHED) {
|
||||
if (stack_height < 0 || lst_elt->ll_height != stack_height) {
|
||||
change_state(NO_STACK_MES);
|
||||
}
|
||||
} else { /* after a label */
|
||||
stack_height = lst_elt->ll_height;
|
||||
}
|
||||
}
|
||||
|
||||
inst_new_label(label)
|
||||
register num_p label;
|
||||
{
|
||||
register lblst_p lst_elt;
|
||||
|
||||
lst_elt = newlblst();
|
||||
lst_elt->ll_next = est_list;
|
||||
lst_elt->ll_num = label;
|
||||
lst_elt->ll_height = stack_height;
|
||||
|
||||
est_list = lst_elt;
|
||||
|
||||
label->n_lst_elt = lst_elt;
|
||||
label->n_flags |= NUMSET;
|
||||
}
|
||||
|
||||
assign_label(label)
|
||||
num_p label;
|
||||
{
|
||||
if (label->n_flags & NUMSET)
|
||||
inst_old_label(label->n_lst_elt);
|
||||
else inst_new_label(label);
|
||||
}
|
||||
|
||||
do_inst_label(lnp) /* (re-)install a label */
|
||||
line_p lnp;
|
||||
{
|
||||
num_p label = lnp->l_a.la_np->n_repl;
|
||||
int instr = INSTR(lnp);
|
||||
|
||||
assign_label(label);
|
||||
|
||||
if (instr == op_lab) {
|
||||
if (state == NOTREACHED) {
|
||||
label->n_lst_elt->ll_fallthrough = FALSE;
|
||||
} else {
|
||||
label->n_lst_elt->ll_fallthrough = TRUE;
|
||||
}
|
||||
} else if (ISCONDBRANCH(instr)) { /* conditional branch */
|
||||
label->n_flags |= NUMCOND;
|
||||
}
|
||||
if (state != NO_STACK_MES) change_state(KNOWN);
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
/*
|
||||
* Author: Hans van Eck.
|
||||
*/
|
||||
|
||||
typedef struct label_list *lblst_p;
|
||||
|
||||
struct label_list {
|
||||
lblst_p ll_next; /* pointer to next label in the list */
|
||||
num_p ll_num; /* pointer to label definition */
|
||||
short ll_height; /* the height of the stack at this label */
|
||||
char ll_fallthrough; /* is the label reached by fallthrough ? */
|
||||
};
|
||||
|
||||
typedef struct label_list lblst_t;
|
||||
|
||||
extern lblst_p est_list;
|
||||
extern int state;
|
||||
#define KNOWN 1
|
||||
#define NOTREACHED 2
|
||||
#define NO_STACK_MES 3
|
||||
Reference in New Issue
Block a user