Trailing-Edge
-
PDP-10 Archives
-
bb-bt99h-bb
-
comsub.c13
There is 1 other file named comsub.c13 in the archive. Click here to see a list.
REP 26/1 ;13C1
GLOBAL BIND COMSUV = #10^24 + 0^18 + #2507; ! Version Date: 21-Dec-84
WIT
GLOBAL BIND COMSUV = #10^24 + 0^18 + #2551; ! Version Date: 12-Sep-85
INS 182/1 ;13C2
2551 MEM 12-Sep-85
The expression -(-X+Y)+Z was transformed into X+(Y+Z) because when
Y and Z were put together only the flags immediately in front of them
were carried along. Any flags on the plus node above the Y must be
XORed together with Y's flags to get the new flags for Y in the
new expression. Also routine STPRECLUDE was reorganized since
HASHIT should not be called twice.
REP 2/3 ;13C3
BEGIN
WIT
BEGIN ![2551] reorganized
REP 28/3 ;13C4
BEGIN ! It is nary so check for b op b op b
IF (.CNODE[ARG1PTR] EQL .CNODE[ARG2PTR]) AND
(.CNODE[ARG2PTR] EQL .QQ[ARG2PTR])
THEN RETURN; ! Get the #$$$() out
HASHIT(.QQ,SKEW);
TS = TBLSRCH();
! If it is this one (judging by shape) and not a common
! sub in its own right already for other reasons then
! delete it
IF .FLAG THEN
IF .TS[TEMPER] EQL 0 AND .TS[NBRCH]
THEN DELETE(.TS,1);
END; ! It is nary so check for b op b op b
WIT
BEGIN ! Return if it is b op b op b
IF (.CNODE[ARG1PTR] EQL .CNODE[ARG2PTR]) AND
(.CNODE[ARG2PTR] EQL .QQ[ARG2PTR])
THEN RETURN
END
ELSE IF NOT .FLGREG<OPTIMIZE> THEN RETURN;
REP 52/3 ;13C5
IF NOT .FLGREG<OPTIMIZE> THEN RETURN;
HASHIT(.QQ, SKEW);
TS = TBLSRCH();
IF .FLAG THEN
IF .TS [TEMPER] EQL 0 THEN
IF .TS [NBRCH]
THEN DELETE (.TS, 1);
WIT
HASHIT(.QQ,SKEW);
TS = TBLSRCH();
! If it is this one (judging by shape) and not a common
! sub in its own right already for other reasons then
! delete it
IF .FLAG
THEN IF .TS[TEMPER] EQL 0
THEN IF .TS[NBRCH]
THEN DELETE(.TS,1);
REP 73/8 ;13C6
PB[A1FLGS] = .QQ[A2FLGS];
WIT
%2551% PB[A1FLGS] = .QQ[A2FLGS] XOR .CNODE[A1FLGS];
SUM 256178