Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add cleanup optimization, the lack of which was causing 'eliminateCallFrame' not to find a fair number of opportunities. |
|---|---|
| Timelines: | family | ancestors | descendants | both | namespace-variables |
| Files: | files | file ages | folders |
| SHA1: |
caf952b7b66daa93353843ef19ccb443 |
| User & Date: | kbk 2017-09-15 03:10:20.044 |
Context
|
2017-09-15
| ||
| 03:36 | Make sure that variables that are created in pass-by-name have callframe slots in advance check-in: 46dd653d5e user: kbk tags: namespace-variables | |
| 03:12 | Merge namespace-variables: more aggressive detection that a proc doesn't touch the callframe at all. check-in: 7a6695ff7e user: kbk tags: trunk | |
| 03:10 | Add cleanup optimization, the lack of which was causing 'eliminateCallFrame' not to find a fair number of opportunities. check-in: caf952b7b6 user: kbk tags: namespace-variables | |
| 01:59 | merge trunk check-in: edbdde5e70 user: kbk tags: namespace-variables | |
Changes
Changes to quadcode/transformer.tcl.
| ︙ | ︙ | |||
359 360 361 362 363 364 365 366 367 368 369 370 371 372 |
method getFlattenedQuads {} {
# Remove the split markers that were used to constrain node splitting
my removeSplitMarkers
# Remove any callframeNops that remain
my removeCallFrameNop
# Remove the callframe usage if possible
# TODO - Can we do this earlier?
my eliminateCallFrame
# Insert instructions to widen types at phis.
my widen
| > | 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 |
method getFlattenedQuads {} {
# Remove the split markers that were used to constrain node splitting
my removeSplitMarkers
# Remove any callframeNops that remain
my removeCallFrameNop
my uselessphis
# Remove the callframe usage if possible
# TODO - Can we do this earlier?
my eliminateCallFrame
# Insert instructions to widen types at phis.
my widen
|
| ︙ | ︙ |