Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to old_rt:||(view) (annotate)|
Changed alias and environment TN stuff to work with TNs that have no references. (We don't delete these TNs before lifetime analysis, since because of alias TNs, TNs might appear to have no refs when they really do.) Also, changed debug-environment TN stuff to be more correct. We set up the conflicts before flow analysis, (just like for environment TNs) so that environment TNs are considered always-live in blocks that they actually die in when the block has successors.
Fixed typo in MERGE-ALIAS-CONFLICTS where I was using the initial value rather than the loop variable in the body of the loop changing the conflict TN for leftover conflicts.
Changes to support :DEBUG-ENVIRONMENT and :ALIAS TNs, and new representation of conflicts for :ENVIRONMENT TNs. Debug environment TNs are used to hold things that don't absoultely have to be there all the time, and that we would like to be able to target to/from. These TNs are considered to be live in all blocks in the environment that they aren't referenced in, and normal otherwise (more or less.) Alias TNs are used to allow local call to directly assign the callee variables in self-recursive calls without confusing environment analysis.
Use block-environment instead of obsolete block-lambda, use block-start to test for head/tail block instead of block-lambda.
Changed a copy-seq to bit-vector-copy for no particular reason.
But don't call CONVERT-TO-ENVIRONMENT-TN on TNs that are already :ENVIRONMENT.
In CONFLICT-ANALYZE-1-BLOCK, when processing :FORCE-TO-STACK SAVE-P values, always do the FORCE-TN-TO-STACK unless it is :COMPONENT. Formerly, any TNs that weren't :NORMAL weren't forced, including :ENVIRONMENT arguments.
Merged non-descriptor changes: revision 126.96.36.199 date: 90/04/13 12:26:36; author: ram; state: Exp; lines added/del: 9/9 Changed stuff to deal with TN-ENVIRONMENT now returning an IR1 environment. ---------------------------- revision 188.8.131.52 date: 90/04/08 21:01:30; author: ram; state: Exp; lines added/del: 55/52 Added support for :COMPONENT TNs. Changed many TN-KIND tests to be (EQ ... :NORMAL), rather than being tests for not being :ENVIRONMENT, :CONSTANT, etc.
Flushed unused BLOCK argument to COMPUTE-SAVE-SET. Fixed it to ignore :ENVIRONMENT TNs.
Oops... We weren't dropping results from the live set, causing "saving" code be emitted after each call (trashing the results). Changed COMPUTE-SAVE-SET to compute the correct bit-vector. Changed :FORCE-TO-STACK code to use this results with DO-LIVE-TNS, now that the list result isn't available.
copy-bit-vector => bit-vector-copy.
In CONFLICT-ANALYZE-1-BLOCK, changed the save set computation to store a bit vector in the VOP-SAVE-SET, rather than doing the old info-arg hack.
Made VOP-INFO-SAVE-P :COMPUTE-ONLY compute the save set the same as T.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|