Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-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