Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | result, returnCode, returnOptions must be split into FAIL and non-FAIL paths because the backend isn't prepared to deal with all combinations of FAIL + someOtherType. |
---|---|
Timelines: | family | ancestors | descendants | both | kbk-jumpthread |
Files: | files | file ages | folders |
SHA3-256: |
94358b53eab4a0250aaba24cb7878e08 |
User & Date: | kbk 2018-12-17 23:13:20.364 |
Context
2018-12-17
| ||
23:19 | Integrate kbk-jumpthread: replace the node-by-node splitting with a single pass that identifies many threading opportunities and also reduces the number of splits. Eliminate the old nodesplit pass, and the renameTemps pass, which is no longer required. check-in: a934a75e1f user: kbk tags: trunk | |
23:13 | result, returnCode, returnOptions must be split into FAIL and non-FAIL paths because the backend isn't prepared to deal with all combinations of FAIL + someOtherType. Closed-Leaf check-in: 94358b53ea user: kbk tags: kbk-jumpthread | |
22:08 | Finish jump threading - actually do the block duplication and redirection of jumps. Add the logic for SSA deconstruction (required by jump threading) and make SSA construction work with the deconstructed result. check-in: a41b93130e user: kbk tags: notworking, kbk-jumpthread | |
Changes
Changes to quadcode/jumpthread.tcl.
︙ | ︙ | |||
108 109 110 111 112 113 114 115 116 117 118 119 120 121 | dict set jt_removable "jumpTrue" \ [dict get $jt_removable "jumpFalse"] dict set jt_removable "purify" \ [list [list isnot $IMPURE]] rename init {} } init } # quadcode::transformer method jumpthread -- | > > > > > > > > > | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | dict set jt_removable "jumpTrue" \ [dict get $jt_removable "jumpFalse"] dict set jt_removable "purify" \ [list [list isnot $IMPURE]] dict set jt_removable "result" \ [list [list is $FAIL] [list isnot $FAIL]] dict set jt_removable "returnCode" \ [list [list is $FAIL] [list isnot $FAIL]] dict set jt_removable "returnOptions" \ [list [list is $FAIL] [list isnot $FAIL]] rename init {} } init } # quadcode::transformer method jumpthread -- |
︙ | ︙ |