33365 | 19-Jan-1988 |
donn |
Major goof -- make SIREG different from SMCON. |
33361 | 15-Jan-1988 |
donn |
EMUL writes a register pair. |
33360 | 15-Jan-1988 |
donn |
A bflow() fix analogous to sid 1.6 in c2.tahoe/c21.c. |
33359 | 15-Jan-1988 |
donn |
In bflow(), it was possible to inadvertently delete an instruction that writes into a temporary register because it was examined a second time for writes to a dead register after a preceding instruct
In bflow(), it was possible to inadvertently delete an instruction that writes into a temporary register because it was examined a second time for writes to a dead register after a preceding instruction was deleted. I fixed this by forcing a return after the first deletion. There are probably more bugs like this lurking in bflow()...
show more ...
|
33357 | 15-Jan-1988 |
donn |
Handle *$_x double operands in ASSIGN and OPLTYPE. |
33356 | 15-Jan-1988 |
donn |
'make depend' should also check fort.c. |
33352 | 14-Jan-1988 |
donn |
ZU and ZV weren't getting properly distinguished. |
33351 | 14-Jan-1988 |
donn |
Hack genconv() so that downward scalar conversions for conversion codes force a test to be emitted if the source is a register; more tahoe architecture grot... |
33350 | 14-Jan-1988 |
donn |
tahoe grot -- if a CVT has a register source, we can't trust the condition codes. |
33349 | 13-Jan-1988 |
donn |
eliminate confusion between "file" and "./file" |
33345 | 13-Jan-1988 |
donn |
UL and UR can't be used with indexed OREGs or STARNM. |
33301 | 10-Jan-1988 |
donn |
Clumsy hack to get bflow() to mark 'used' the second register in a pair when the first register is 'shared' (read from as part of the pair, and written to -- e.g. rN+1 in 'ediv X,rN,rN,Y'). |
33300 | 10-Jan-1988 |
donn |
Fixes analogous to fixes in the VAX c2 to properly handle unknown instructions and to avoid deleting 'dead' pseudo-ops. |
32987 | 11-Dec-1987 |
donn |
utah rcsid 1.8 87/09/10 12:54:29: The last fix was too liberal with the definition of 'redundant' -- it deleted the first instruction in pairs like 'cvtdl r0,r0; cvtlb r0,-1(fp)'. We now only make t
utah rcsid 1.8 87/09/10 12:54:29: The last fix was too liberal with the definition of 'redundant' -- it deleted the first instruction in pairs like 'cvtdl r0,r0; cvtlb r0,-1(fp)'. We now only make the deletion if the source of the first instruction is as small as the source of the second instruction (we use equtype() instead of compat()).
show more ...
|
32986 | 11-Dec-1987 |
donn |
utah rcsid 1.7 87/06/25 15:42:14: Spot sequences like 'cvtbl 4(ap),r0; movzbl r0,-4(fp)' in which the initial conversion is made redundant by a subsequent one. |
32985 | 11-Dec-1987 |
donn |
utah rcsid 1.6 87/01/20 22:00:38: equop() used to lump all 'leftover' instructions together; now these instructions are specifically tested to ensure that they have the same name. |
32982 | 11-Dec-1987 |
donn |
localdefs.h was moved upstairs; give lint its own release file. |
32981 | 11-Dec-1987 |
donn |
utah rcsid 1.3 87/07/15 20:51:25: Use ~nargs rather than -nargs to identify VARARGS functions so that VARARGS0 can be distinguished from a function with fixed 0 arguments. |
32980 | 11-Dec-1987 |
donn |
pass ~nargs on to the second pass rather than -nargs so that the 0 arguments case is distinguished from the VARARGS0 case. |
32979 | 11-Dec-1987 |
donn |
utah rcsid 3.4 86/03/12 15:19:04: Pass debugging flags on to mainp1(); fix braces for ctags. utah rcsid 3.5 87/07/06 17:30:16: Treat an occurrence of '&i' in a static or external initialization as a
utah rcsid 3.4 86/03/12 15:19:04: Pass debugging flags on to mainp1(); fix braces for ctags. utah rcsid 3.5 87/07/06 17:30:16: Treat an occurrence of '&i' in a static or external initialization as a set and a use of 'i'. utah rcsid 3.7 87/07/10 22:25:02: Remove my old cinit() hack -- ado's hack was better. In turn, we can remove ado's lprt() hack, since a hack in cgram.y can do better. utah rcsid 3.8 87/07/15 20:49:38: Fixes for VARARGS0 -- check vaflag == 0,
show more ...
|
32975 | 11-Dec-1987 |
donn |
utah rcsid 1.25 87/12/10 19:48:54: Fortran also needs implicit float to double conversions before comparisons; passed on by Jim McKie. |
32974 | 11-Dec-1987 |
donn |
utah rcsid 1.24 87/09/21 16:44:54: Quick hack to save f77 -- perform automatic float-to-double promotion in OPFLOAT but only for f77. |
32973 | 11-Dec-1987 |
donn |
utah rcsid 1.23 87/08/25 00:00:20: Some SCONV templates were removed in favor of hacking in sconv(). Since it's tough to predict which FORARG conversions will require a temporary register, we just a
utah rcsid 1.23 87/08/25 00:00:20: Some SCONV templates were removed in favor of hacking in sconv(). Since it's tough to predict which FORARG conversions will require a temporary register, we just assume that all will. The conversion from UCHAR or USHORT to floating is now done in sconv() so that e.g. ZG can take advantage of it; since this conversion requires a temporary register, a new ASSIGN template was added specifically to handle it.
show more ...
|
32972 | 11-Dec-1987 |
donn |
CC templates were collapsed into two ZZ entries for ease of optimization. (7) Some redundant RESCCs were removed from templates which had no FORCC goal. |
32971 | 11-Dec-1987 |
donn |
utah rcsid 1.22 87/08/24 02:42:48: (1) Many, many redundant or useless templates were deleted. (2) Conversions to FLOAT now go to the effort of trimming excess precision from DOUBLE and INT operands
utah rcsid 1.22 87/08/24 02:42:48: (1) Many, many redundant or useless templates were deleted. (2) Conversions to FLOAT now go to the effort of trimming excess precision from DOUBLE and INT operands. (3) DOUBLE to DOUBLE conversions introduced by reclaim() are disposed of. (4) 'Fortran' GOTOs are now conditionally compiled on FORT. (5) A few movd's were turned into movq's. More work needs to be done on this, I think. (6) The AND for
show more ...
|