[comp.bugs.sys5] yet another M32 SGS optim bug fix

gwyn@brl-smoke.ARPA (Doug Gwyn ) (10/06/87)

Well, I finally tracked down the last bug I reported for the M32 SGS as found
in the 5620 DMD Application Software Development package release 2.0 and most
likely in other M32 (3B family) SGS releases.

It turns out that the "optimizer" was getting confused when it encountered
	jmp	*.L177(%r0)
such as is generated by "comp" for some C switch statements.  I investigated
several possible patches for this, and decided that the following is probably
sufficient.

One more of these and I'm likely to fix "cc" so that when its optimizer pass
dies, it just uses the unoptimized assembly code.

Add code to $DMD/sgs/usr/src/cmd/sgs/optim/m32/func.c as indicated ("DAG" block):

/* @(#) func.c: 1.5 7/31/84				*/
...
rainsld()
...
			ppn = getp( pn );
			if( *ppn == '*' ) {	/* DAG -- added for "jmp *" */
				pn->opm = NULL;	/* "dst not a simple label" */
				continue;
			}
nd
r