32945 | 11-Dec-1987 |
donn |
utah rcsid 1.4 86/08/03 01:03:22: Add 'configuration' flags which are really 'assembler style' flags, clean up makefile. Add macros to replace some trivial functions. Change FIX macros to punt if e
utah rcsid 1.4 86/08/03 01:03:22: Add 'configuration' flags which are really 'assembler style' flags, clean up makefile. Add macros to replace some trivial functions. Change FIX macros to punt if errors have been seen.
show more ...
|
32944 | 11-Dec-1987 |
donn |
utah rcsid 1.33 87/11/28 02:59:18: Be cooperative with SCCON and SSCON by masking and sign-extending ASG OPSIMP constant operands. Added a few comments in the tortuous AND code too. |
32943 | 11-Dec-1987 |
donn |
utah rcsid 1.32 87/09/24 22:24:49: Missing case for FORARG in sconv() -- floating to short integral conversions. |
32942 | 11-Dec-1987 |
donn |
utah rcsid 1.31 87/09/08 19:12:14: Fix bug where stack push of 0.0 only pushes one word of zeroes... Ack. |
32941 | 11-Dec-1987 |
donn |
utah rcsid 1.30 87/09/07 20:41:00: Another minor battle in the struggle between makearg() and float arguments. This time we kluge the issue and avoid szty() (which predicts that float values are onl
utah rcsid 1.30 87/09/07 20:41:00: Another minor battle in the struggle between makearg() and float arguments. This time we kluge the issue and avoid szty() (which predicts that float values are only 4 bytes when SPRECC is used).
show more ...
|
32940 | 11-Dec-1987 |
donn |
utah rcsid 1.29 87/08/25 00:05:43: Took care of some bugs in the extension of sconv() to handle FORARG evaluations. Conversion of UCHAR/USHORT to floating is now handled in sconv() so that ZG can ta
utah rcsid 1.29 87/08/25 00:05:43: Took care of some bugs in the extension of sconv() to handle FORARG evaluations. Conversion of UCHAR/USHORT to floating is now handled in sconv() so that ZG can take advantage of it; this cures a bug with assignment ops with UCHAR/USHORT lhs and floating rhs which caused the lhs to be treated as signed. Conversions to FLOAT are now handled in sconv() too.
show more ...
|
32939 | 11-Dec-1987 |
donn |
conversions to insert an INT conversion and thus avoid the expensive and redundant UNSIGNED to FLOAT/DOUBLE overhead. (7) Delete INT to UNSIGNED and reverse conversions on function calls. (8) Delet
conversions to insert an INT conversion and thus avoid the expensive and redundant UNSIGNED to FLOAT/DOUBLE overhead. (7) Delete INT to UNSIGNED and reverse conversions on function calls. (8) Delete FLOAT to DOUBLE conversions below logical operators.
show more ...
|
32938 | 11-Dec-1987 |
donn |
utah rcsid 1.28 87/08/24 01:55:20: (1) Changed code for ZZ so that we can generate optimal AND tests against constants. (2) Fixed botch in my makearg() routine. (3) Generate 'pushl' instead of 'mov
utah rcsid 1.28 87/08/24 01:55:20: (1) Changed code for ZZ so that we can generate optimal AND tests against constants. (2) Fixed botch in my makearg() routine. (3) Generate 'pushl' instead of 'movl' when working on FORARG in sconv(). (4) Permitted NAME nodes as possible indexing bases, using pc relative deferred addressing. (5) Produce positive bicl masks if possible, so we can use literals. (6) Modify UCHAR/USHORT to FLOAT/DOUBLE
show more ...
|
32937 | 11-Dec-1987 |
donn |
utah rcsid 1.27 87/07/17 17:09:50: Cosmetic change to tlen() -- use #define'd constants. Also fix use of local machine 'sizeof (int)' in zzzcode to #define'd target machine constants. |
32936 | 11-Dec-1987 |
donn |
shifts. (6) Add ZV entry in zzzcode() to handle FORARG goals for conversions and leaf nodes. (7) Fix minor bug with ZB entry and unsigned char/short. |
32935 | 11-Dec-1987 |
donn |
utah rcsid 1.26 87/07/17 15:31:14: Some changes to reduce differences with the tahoe compiler. (1) #include <ctype.h> not "ctype.h". (2) Simplify eobl2(), hopcode() and hoptab[], flshape(), acon(),
utah rcsid 1.26 87/07/17 15:31:14: Some changes to reduce differences with the tahoe compiler. (1) #include <ctype.h> not "ctype.h". (2) Simplify eobl2(), hopcode() and hoptab[], flshape(), acon(), and cbgen() and ccbranches[]. (3) Farm out conversion and structure assignment code in zzzcode() to sconv() and stasg() functions. (4) Delete lots of commented-out old code. (5) Fix bug in optim2() code for degenerate left
show more ...
|
32934 | 11-Dec-1987 |
donn |
utah rcsid 1.25 87/07/07 20:30:32: Permit the ZE code for INCR/DECR in zzzcode() to take a NAME as its second operand: this permits FLOAT and DOUBLE operands to be handled, since floating constants a
utah rcsid 1.25 87/07/07 20:30:32: Permit the ZE code for INCR/DECR in zzzcode() to take a NAME as its second operand: this permits FLOAT and DOUBLE operands to be handled, since floating constants are represented by NAMEs.
show more ...
|
32933 | 11-Dec-1987 |
donn |
utah rcsid 1.24 87/07/07 19:37:31: Prevent core dumps in shumul() when using -x debugging... |
32932 | 11-Dec-1987 |
donn |
utah rcsid 1.23 87/05/31 20:46:39: More work on degenerate operations in optim2() and degenerate(). |
32931 | 11-Dec-1987 |
donn |
utah rcsid 1.22 87/05/15 17:03:03: First pass at handling degenerate operations in optim2(). The idea is mainly that we can avoid some table complications by assuming that no degenerate operations d
utah rcsid 1.22 87/05/15 17:03:03: First pass at handling degenerate operations in optim2(). The idea is mainly that we can avoid some table complications by assuming that no degenerate operations dribble down there. Since I did some degenerate operations, I decided to do a few others so that some operations aren't outstandingly slow.
show more ...
|
32930 | 11-Dec-1987 |
donn |
on a certain amount of tree canonicalization there. |
32929 | 11-Dec-1987 |
donn |
utah rcsid 1.21 87/04/24 19:05:37: Optimize comparisons with constants which are out of range of short integral types. The purpose of this was mainly to handle a problem in the code table -- it's ha
utah rcsid 1.21 87/04/24 19:05:37: Optimize comparisons with constants which are out of range of short integral types. The purpose of this was mainly to handle a problem in the code table -- it's hard to generate the best code for short comparisons unless you know that the ridiculous cases have been taken care of. The optimization could have gone in either clocal() or optim2(); the latter seemed more reasonable since I could count
show more ...
|
32928 | 11-Dec-1987 |
donn |
utah rcsid 1.20 87/04/19 23:47:13: Add support for handling unsigned div and rem inline when the divisor is a constant: (1) ZJ template escape for stuff that's too complex for the table; (2) a real v
utah rcsid 1.20 87/04/19 23:47:13: Add support for handling unsigned div and rem inline when the divisor is a constant: (1) ZJ template escape for stuff that's too complex for the table; (2) a real version of upput() which lets the table access both words of the 64-bit dividend operand of the ediv instruction; (3) a hack to hardops() to detect constant divisors -- it handles the easiest case and passes everything else to the table.
show more ...
|
32927 | 11-Dec-1987 |
donn |
utah rcsid 1.19 87/03/18 00:02:55: The earlier rewrite of shtemp() left the code for STARNM forms commented out for some reason... |
32926 | 11-Dec-1987 |
donn |
utah rcsid 1.18 87/02/08 22:50:12: Replaced shtemp() routine -- shtemp() is supposed to find leaf nodes which don't use any temporary registers, and the old version didn't do that well. |
32925 | 11-Dec-1987 |
donn |
utah rcsid 1.17 87/01/16 02:45:01: Permit nonpositive offsets from the argument pointer for excessively clever program which want to recover funny stuff on the stack. |
32924 | 11-Dec-1987 |
donn |
utah rcsid 1.16 87/01/15 01:36:58: Changed optim2()'s SCONV optimization code to avoid screwing up function types. Also some minor lint fixes. |
32923 | 11-Dec-1987 |
donn |
utah rcsid 1.15 86/11/27 20:26:18: update to ucb sid 1.15 -- upput calling sequence changes (sam). Added a couple /*ARGSUSED*/ lint directives; probably a lost cause. |
32922 | 11-Dec-1987 |
donn |
utah rcsid 1.14 86/06/18 14:35:25: The idea of converting ASSIGN+SCONV into ASSIGN with modified types was cute, but unfortunately certain varieties of ASSIGN are not supported -- in particular doubl
utah rcsid 1.14 86/06/18 14:35:25: The idea of converting ASSIGN+SCONV into ASSIGN with modified types was cute, but unfortunately certain varieties of ASSIGN are not supported -- in particular double => bit field. We chicken out and leave bitfields alone.
show more ...
|
32921 | 11-Dec-1987 |
donn |
utah rcsid 1.10 87/11/26 16:26:36: Delete isitfloat() -- make float constants predictable and ANSI compatible. |