32894 | 10-Dec-1987 |
donn |
utah rcsid 1.3 87/07/19 19:48:42: Minor bug fixes and enhancements from the vax compiler. (1) Add more permitted types for in-memory objects in sucomp(). (2) Delete redundant SCONV case in sucomp()
utah rcsid 1.3 87/07/19 19:48:42: Minor bug fixes and enhancements from the vax compiler. (1) Add more permitted types for in-memory objects in sucomp(). (2) Delete redundant SCONV case in sucomp(). (3) Replace sizeof (int) with SZINT/SCHAR. (4) Fix bug in call to offstar() in setincr(). (5) Add lint food.
show more ...
|
32893 | 10-Dec-1987 |
donn |
utah rcsid 1.2 87/05/02 14:40:36: Permit deflab() to be a macro; bump the starting value of crslab so that huge sources don't run out of labels; add some ARGSUSED lint tidbits. |
32892 | 10-Dec-1987 |
donn |
utah rcsid 1.3 87/12/10 20:25:17: Move SPRECC from Makefile to macdefs.h; the tahoe pcc doesn't do the old-style double-only floating arithmetic. |
32891 | 10-Dec-1987 |
donn |
utah rcsid 1.2 87/05/02 14:42:38: Turn some trivial functions into macros; move Makefile CONFIG flags in here; add a comment to ADDROREG. |
32890 | 10-Dec-1987 |
donn |
utah rcsid 1.17 87/12/10 21:53:05: fix code for passing structures to subroutines (4.3BSD/lib/66) from mcvax!cwi.nl!root@seismo.css.gov (Ed Gronke) |
32889 | 10-Dec-1987 |
donn |
double conversions below logical operators, leftovers from the first pass. |
32888 | 10-Dec-1987 |
donn |
base() to permit indexed displacement deferred addressing. (7) Put special() back -- SIREG is useful after all. (8) Change optim2() to reduce the range of constant operands to +=, -=, *=, |=, &= an
base() to permit indexed displacement deferred addressing. (7) Put special() back -- SIREG is useful after all. (8) Change optim2() to reduce the range of constant operands to +=, -=, *=, |=, &= and &, and so take advantage of byte and word arithmetic. (9) Optimize ASG AND like unsigned AND since sign extension is not a problem for small lhs. (10) Optimize int/unsigned SCONVs above function calls. (11) Take care of float to
show more ...
|
32887 | 10-Dec-1987 |
donn |
utah rcsid 1.16 87/11/29 20:59:25: (1) Don't put temporary registers into the entry mask in rname(). (2) Simplify ZM macro in zzzcode() for new ediv templates. (3) Tahoe has byte and word operands,
utah rcsid 1.16 87/11/29 20:59:25: (1) Don't put temporary registers into the entry mask in rname(). (2) Simplify ZM macro in zzzcode() for new ediv templates. (3) Tahoe has byte and word operands, so MNEGx is only shorter for the 'literal' addressing mode, which is unsigned; sconv() changed appropriately. (4) Print decimal rather than hex masks in sconv(). (5) Fix sconv() botch with rules for when to pun a source operand. (6) Change
show more ...
|
32886 | 10-Dec-1987 |
donn |
utah rcsid 1.15 87/07/19 22:46:18: First attack at integrating recent VAX fixes... Too many to list at once. |
32885 | 10-Dec-1987 |
donn |
utah rcsid 1.14 87/05/03 21:29:03: Add code from VAX compiler for detecting ridiculous comparisons between small variables and large constants. |
32884 | 10-Dec-1987 |
donn |
utah rcsid 1.13 87/05/02 15:50:50: Add ZI feature -- generate result of bitfield assignment without using a shift. |
32883 | 10-Dec-1987 |
donn |
utah rcsid 1.12 87/05/02 13:58:32: Don't delete double => int conversions on the rhs of assignments to bit fields; we don't want to write double => bitfield templates... |
32882 | 10-Dec-1987 |
donn |
utah rcsid 1.11 87/05/01 18:43:57: 'mnegl $1,r0' is one byte shorter than 'movl $-1,r0', so we make an effort to detect negative constant sources in sconv(). Note that MNEGx is no slower than MOVx i
utah rcsid 1.11 87/05/01 18:43:57: 'mnegl $1,r0' is one byte shorter than 'movl $-1,r0', so we make an effort to detect negative constant sources in sconv(). Note that MNEGx is no slower than MOVx in the general case where the source won't fit in a short literal operand.
show more ...
|
32881 | 10-Dec-1987 |
donn |
utah rcsid 1.10 87/04/18 18:20:15: Another screwup -- must distinguish constant addresses from constant values in the conversion code. |
32880 | 10-Dec-1987 |
donn |
utah rcsid 1.9 87/04/18 02:27:10: Fix a stupid mistake in the previous rev... |
32879 | 10-Dec-1987 |
donn |
utah rcsid 1.8 87/04/18 01:42:25: Extensive hacking to weed out bugs in unsigned/float and float/unsigned conversions. |
32878 | 10-Dec-1987 |
donn |
utah rcsid 1.7 87/04/17 03:32:04: Don't zap conversions of function calls -- the result of a call isn't quite the type it appears to be. |
32877 | 10-Dec-1987 |
donn |
utah rcsid 1.6 87/04/16 23:32:35: Replaced hardops() with VAX PCC version -- fix bugs with computing unsigned remainder when divisor is > 2**31, multiple evaluation of lhs with asgops. |
32876 | 10-Dec-1987 |
donn |
utah rcsid 1.5 87/03/23 04:40:10: Add 'G' zzzcode entry for int *= float operations. Added 'W' and 'Y' entries and float_to_unsigned() and unsigned_to_float() functions to deal with these conversion
utah rcsid 1.5 87/03/23 04:40:10: Add 'G' zzzcode entry for int *= float operations. Added 'W' and 'Y' entries and float_to_unsigned() and unsigned_to_float() functions to deal with these conversions. Deleted the 'A' entry since its function is now handled by the 'U' entry.
show more ...
|
32875 | 10-Dec-1987 |
donn |
utah rcsid 1.4 87/03/20 05:10:31: More work on sconv(). For sign extension in registers we use the stack code because shifts are too slow. We are less stupid about constants. We get register sourc
utah rcsid 1.4 87/03/20 05:10:31: More work on sconv(). For sign extension in registers we use the stack code because shifts are too slow. We are less stupid about constants. We get register source operand lengths right. We distinguish between mova[bwl] in memory to register shrinking conversions so that side effects are handled correctly.
show more ...
|
32874 | 10-Dec-1987 |
donn |
utah rcsid 1.3 87/03/18 02:20:29: Delete the old sconv() routine (ifdef'ed out in the previous rev); fix initial tabs (assume that the table provides them). |
32873 | 10-Dec-1987 |
donn |
utah rcsid 1.2 87/03/16 20:03:49: First crack at fixing integer conversions. |
32871 | 10-Dec-1987 |
donn |
utah rcsid 1.6 87/11/29 20:31:47: Remove isitfloat() -- this was broken, yylex() now handles this properly. Also delete useless SPRECC ifdef. |
32870 | 10-Dec-1987 |
donn |
utah rcsid 1.5 87/07/17 19:21:48: (1) Replaced SCONV code in clocal() with VAX version. (2) Deleted the 'float percolation' code in clocal() -- it's simply wrong. (3) Deleted the QUEST case in cloc
utah rcsid 1.5 87/07/17 19:21:48: (1) Replaced SCONV code in clocal() with VAX version. (2) Deleted the 'float percolation' code in clocal() -- it's simply wrong. (3) Deleted the QUEST case in clocal() which hacks around the funny trees created by the deleted 'float percolation'. (4) Added 'if (nerrors) return' to vfdzero(). (5) Changed %X to %lx in incode() and vfdzero(). (6) Cleaned up some comments, to make this code more easily diffable with the VAX version.
show more ...
|
32869 | 10-Dec-1987 |
donn |
utah rcsid 1.4 87/05/02 14:58:59: Stop generating code after errors; add some lint tidbits. |