Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Check-ins with non-propagating tags:
2020-01-05
| ||
20:51 | Calculate effect of 'invoke' on variable analysis. Not yet 100% correct - breaks six additional test cases. check-in: 0fdceaac26 user: kbk tags: notworking, kbk-refactor-callframe | |
2020-01-03
| ||
19:48 | Patch out poly1305::compute for now - segfault! - and break out the 'vartest' tests. check-in: 13b2b5767e user: kbk tags: notworking, kbk-refactor-callframe | |
2020-01-02
| ||
20:48 | Detect that 'invoke' preserves some callframe variables. Add buffer flushing so that the identity of a test is reported before a crash. Remove some redundant test invocations. check-in: 65069fda8f user: kbk tags: notworking, kbk-refactor-callframe, current | |
2019-12-31
| ||
17:32 | Separate exists and doesn't-exist paths in 'translate' of read-modify-write operations. Fix overeager elimination of 'extractArray'. Move 'partialredundancy' off to its own specializer step, since 'tidy' passes may NOT introduce new variables. Only 'lsetest' is now failing. check-in: 09d85d696a user: kbk tags: notworking, kbk-refactor-callframe | |
00:10 | Finish up elision of 'moveFromCallFrame' in the simpler cases. check-in: bbb81cb21e user: kbk tags: notworking, kbk-refactor-callframe | |
2019-12-30
| ||
03:14 | Provide a hook on which to hang speculative phi generation. check-in: f635c5689f user: kbk tags: notworking, kbk-refactor-callframe | |
01:50 | Peephole optimization of 'moveFromCallFrame' when the value in the callframe is known. (Will be much more effective once more instructions are analyzed: notably 'invoke' and 'phi'.) check-in: 188df1dde4 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-12-27
| ||
23:01 | Add the basic framework for forward analysis of available callframe variables check-in: 85ea960b98 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-11-23
| ||
23:02 | merge trunk check-in: c3fc2d4137 user: kbk tags: notworking, kbk-refactor-callframe | |
22:35 | Merge trunk: a couple of ops that interact with the callframe and were missed while refactoring Leaf check-in: 19e26fa988 user: kbk tags: notworking, tcl_8_7_branch | |
2019-11-22
| ||
20:31 | Rejigger printing of results so that a crashing test can be identified more readily. check-in: c7402fd29e user: kennykb tags: notworking, tcl_8_7_branch | |
19:44 | Initial changes to support differences in the Tcl 8.7 ABI check-in: 668d4221ed user: kennykb tags: notworking, tcl_8_7_branch | |
2019-01-29
| ||
13:19 | Fix misorderered scalar check/copy to result check-in: 36e8177510 user: kbk tags: notworking, kbk-refactor-callframe | |
02:00 | Fix translation bugs that broke [dict] tests check-in: ab6da27502 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-23
| ||
02:12 | Add conversion to IMPURE ZEROONE INT, needed in booltest. Keep code motion from messing with the callframe for now. Patch out the handful of remaining tests that abort. Next up: fix the dictest tests involving 'dict update', lsetest, and re-add support for direct ops. check-in: 27339e7e0c user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-22
| ||
02:52 | Restore the 'timings' list - if 'transform' doesn't produce it, there's a crash. check-in: 3e49a05889 user: kbk tags: notworking, kbk-refactor-callframe | |
02:36 | Run dead code elimination before copy propagation because copyprop explodes otherwise. check-in: 9e16d3b8d6 user: kbk tags: notworking, kbk-refactor-callframe | |
02:35 | Bug fixes to make all the 'expandtest' cases work check-in: 4f7b3a4d01 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-21
| ||
22:33 | Enough partial implementation for expandtest::test1-test3 check-in: 89030dcc42 user: kbk tags: notworking, kbk-refactor-callframe | |
19:45 | Fix mislinking of phi operations on the error branch of 'invoke' check-in: 407e1ef055 user: kbk tags: notworking, kbk-refactor-callframe | |
18:14 | Enough changes to get through first two 'expandtest' tests check-in: 5557b1e592 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-18
| ||
04:22 | Add the final processing in 'varargs' - next, emit the error path. check-in: 305328fa6b user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-16
| ||
02:30 | More argument preparation code in 'varargs' check-in: 76b943ad4a user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-14
| ||
03:46 | Further development of varargs. Note that the invocation sequence is much, much simpler than it used to be, so 'invoke.tcl' is no more. check-in: 90e908dae3 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-13
| ||
15:43 | Clean out dead 'exists.tcl' source check-in: f283d28ebd user: kbk tags: notworking, kbk-refactor-callframe | |
15:38 | Merge the (not-working) vararg reform branch. It appears that both these tasks need to be attacked at the same time because the changes are tightly interwoven. check-in: 05c93c9cc5 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-09
| ||
01:52 | Add support for compiled procs that alter the callframe, then fail. check-in: 30d6a54fdb user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-08
| ||
04:17 | Fix more trivial errors in 'translate' and missing cases in code gen check-in: fba0ec7241 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-05
| ||
22:48 | Generate only one moveFromCallFrame per bytecode instruction check-in: 9dbaca7922 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-02
| ||
02:20 | Oops, one extra callframe ref in 'callframe-error-quads' check-in: cdc4d10e86 user: kbk tags: notworking, kbk-refactor-callframe | |
2019-01-01
| ||
23:06 | Update quadcode generation and documentation so that 'direct' operations refer to the callframe (which is necessary in the event that they are emitted to deal with double-dereference). CODE ISSUER IS NOT YET UPDATED TO COPE WITH THE CHANGE. check-in: 104debc734 user: kbk tags: notworking, kbk-refactor-callframe | |
21:57 | Move callframe moves to the actual points where callframe values are moved. They can then be optimized by avaiability and liveness analysis. check-in: dbd9571178 user: kbk tags: notworking, kbk-refactor-callframe | |
2018-12-27
| ||
19:47 | Add 'buiilder.tcl' inadvertently omitted from previous commit Closed-Leaf check-in: 2e3b3ea76f user: kbk tags: notworking, kbk-refactor-varargs | |
19:44 | Very rough beginning of a refactored 'varargs' pass check-in: 7c9d400e5e user: kbk tags: notworking, kbk-refactor-varargs | |
2018-12-17
| ||
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 | |
2018-12-16
| ||
05:18 | Add constant folding for unary +. It probably ought to be folded out altogether, since it serves only to trigger type checking. Add an outline of the actual process of jump threading once the threads have been determined. check-in: c388c8737b user: kbk tags: notworking, kbk-jumpthread | |
04:55 | Add a 'cos2' test case to illustrate the cost of non-numeric ordering comparisons check-in: 86167d6917 user: kbk tags: notworking, kbk-jumpthread | |
04:43 | Finish forward analysis in the jump threading pass. check-in: dc90afa15d user: kbk tags: notworking, kbk-jumpthread | |
2018-12-10
| ||
04:51 | Remove vestiges of the old node splitter from 'inline.tcl'. Make console dribble in 'jumpthread.tcl' contingent on debug-jumpthread. check-in: fd2ea3e6f1 user: kbk tags: notworking, kbk-jumpthread | |
04:09 | OOPS! Didn't add the new 'jumpthread.tcl' module! Remove the old 'nodesplit.tcl', and remove the 'renameTemps' pass since 'nodesplit' was the only thing that ever depended on it. check-in: 67b989853b user: kbk tags: notworking, kbk-jumpthread | |
01:34 | Calculation of anticipable tests for jump threading check-in: f138663832 user: kbk tags: notworking, kbk-jumpthread | |
2018-12-06
| ||
01:42 | Remove speculative phis if they turned out not to be useful check-in: bd6294fade user: kbk tags: notworking, kbk-pre | |
2018-12-05
| ||
05:37 | Rewrite pre_insert and pre_phi_translate to NOT use a persistent cache. The missing piece in VanD04 is that pre_insert must call pre_phi_translate for all the anticipated expressions first, and then use the dictionary that results for the translated values. There are still further bugs, but we're over this hump at least. check-in: 0bbe5a5dd3 user: kbk tags: notworking, kbk-pre | |
2018-12-03
| ||
05:08 | Stop constant folding from leaving dead code behind, Add a test for simple nested iterations, using [lmap]. Temporarily patch 'foreach' operations from being hoistable - I don't think this will be necessary, but it's tickling other bugs. Make translation of values across a phi work if one of the inputs to the phi is a literal. Put 'bbidom' and 'bblevel' directly after dead code elimination, because virtually everything depends on having dominators, which deadcode destroys. check-in: 4f50ed77b2 user: kbk tags: notworking, kbk-pre | |
01:06 | Fix crashing bug in creating variable name for a phi operation. Fix bug where partial redundancy elimination got stale dominators, causing much weirdness. Add additional tracing to available expression calculation. check-in: ce1088b7a7 user: kbk tags: notworking, kbk-pre | |
2018-12-02
| ||
23:27 | Turn on partial redundancy elimination. Correct bug in availability analysis that led to infinite loop in 'msrange2' check-in: 68da56cfee user: kbk tags: notworking, kbk-pre | |
2018-11-29
| ||
00:56 | merge trunk check-in: 815387c202 user: kbk tags: notworking, kbk-pre | |
2018-11-26
| ||
04:57 | Added a couple of tests to trigger loop-invariant code motion. Corrected du-chain mismanagement in callframe.tcl (deleting moveToCallFrame), copyprop.tcl (deleting any quads), uselessphis (deleting anything), and narrow.tcl (cleanupNarrow, deleting anything). NOT WORKING: During node splitting, at least 'flightawarebench', 'msrange', 'bug7c59', and 'cse-caller' are still coming out with mismanaged chains. Improved auditing in the 'tidy' pass of the transformer, and made it less aggressive about rechecking everything. NOT WORKING: in the 'wordcounter2' test case, it's missing at least one invocation of 'initArrayIfNotExists' because we're falling into the code gen in 'compile.tcl' for initArrayIfNotExists(ARRAY). Advanced partial redundancy elimination to 'code complete' status. The stuff surrounding it is in bad enough shape at the moment that it is far from tested, and known not to be working for everything, but is patched out at the moment. check-in: 02ab4301aa user: kbk tags: notworking, kbk-pre | |
2018-11-13
| ||
02:57 | Code complete for PRE - except that I don't know how to introduce a phi if PRE has made an expression available on two afferent flow graph edges rather than in a dominator. check-in: fa9f7e0eb3 user: kbk tags: notworking, kbk-pre | |
2018-11-10
| ||
22:17 | Use the lexical-name algorithm for 'altered' for now. May change to value-driven later. check-in: 592020ed7a user: kbk tags: notworking, kbk-pre | |
2018-04-27
| ||
20:32 | Move more 'alloca' instructions to the entry block, before they can mess up coro.begin. Allow NRE procs to return CALLFRAME COROHANDLE, needed for bookkeeping if they both use NRE and reference the callframe. Put in a test case for the CALLFRAME COROHANDLE condition - that case still crashes check-in: 8c6a038bf1 user: kbk tags: notworking, kbk-nre | |
2018-04-23
| ||
03:10 | Force alignment of coroutine promise to 2*sizeof(pointer), in hopes of getting consistent alignment between coro.begin and later references to the coro frame. (Didn't help, alas, but it doesn't hurt to specify the alignment that's required in any case. check-in: bc3db1940d user: kbk tags: notworking, kbk-nre | |
2018-04-20
| ||
02:26 | Add NRE test that throws error check-in: fcf84a8631 user: kbk tags: notworking, kbk-nre | |
2018-04-18
| ||
23:03 | Alignment constraints on coroutine intrinsics must be actual integer constants, not just constant expressions of integer type. check-in: d611cc5908 user: kbk tags: notworking, kbk-nre | |
2018-04-17
| ||
21:53 | Added debugging types for NRE callbacks. check-in: 11236a5639 user: dkf tags: notworking, kbk-nre | |
00:11 | Merge trunk: expunge last uses of 'uniqueUndef' in constructing phi's check-in: 1855f5dc7a user: kbk tags: notworking, kbk-nre | |
2018-04-16
| ||
23:46 | Dump bitcode to files after module verification, to try to debug optimizer crashes. Commit missing changes to the debug helper for better phi handling. check-in: 504ceb334b user: kbk tags: notworking, kbk-nre | |
01:09 | Merge trunk to get better handling of 'phi' operations. Fix issues that prevented compilability with these changes. check-in: bc9590bbdb user: kbk tags: notworking, kbk-nre | |
2018-04-15
| ||
03:07 | Finish coding the thunk builder for NRE procs. Generated code for NRE now aborts in the optimizer. check-in: ab703b4b95 user: kbk tags: notworking, kbk-nre | |
2018-04-14
| ||
22:19 | Finish up return from an invoked function. Still need to do invoked commands and invokeExpanded in the NRE case. Closed-Leaf check-in: bcc7273e40 user: kbk tags: mistake, notworking | |
22:10 | Finish up return from an invoked function. Still need to do invoked commands and invokeExpanded in the NRE case. check-in: 2b2ba21e34 user: kbk tags: notworking, kbk-nre | |
2018-04-13
| ||
01:58 | Merge trunk, and do some further tidying of objv management check-in: 1fac62e1ab user: kbk tags: notworking, kbk-nre | |
2018-04-09
| ||
02:46 | Generate code for return from NRE functions and for suspend. Simplify 'clearVector' so that it can be called without the parameter specification. Next up will be to modify NRE invoke to return a tuple of {coro handle, clear flag, vector} so that NRE return can find the vector to clear it. check-in: 87e8f9147d user: kbk tags: notworking, kbk-nre | |
2018-04-08
| ||
21:28 | Fix an error in wiring up the test for whether non-compiled commands need NRE - needed to assess 'lsort'. check-in: 978b9d80c4 user: kbk tags: notworking, kbk-nre | |
2018-04-06
| ||
03:29 | Begin refactoring the invoke issuer in preparation for NRE.invoke. Need to fix: needsNRE and nreRequired in specializer, these need full args, not just types, in the case of builtins. Need to examine invokeExpanded because it's still used for Tcl builtins. check-in: df651f8f32 user: kbk tags: notworking, kbk-nre | |
2018-04-03
| ||
02:57 | Break up LLVM coroutine invocation into separate 'invoke', 'suspend', 'returnFromInvoke' to assist code gen check-in: 9331dcf8d2 user: kbk tags: notworking, kbk-nre | |
2018-04-02
| ||
03:40 | Start coding the implementation of NRE procs. check-in: e1f5a1f2d6 user: kbk tags: notworking, kbk-nre | |
2018-03-30
| ||
20:28 | Advance version of llvmtcl required (omitted from previous commit); add accessor for NRE requirement in specializer check-in: bda33aa9ea user: kbk tags: notworking, kbk-nre | |
19:29 | Add a function pass manager so that we can get coroutine support. check-in: 3147c5dac5 user: kbk tags: notworking, kbk-nre | |
2018-03-28
| ||
04:21 | Write the function tcl.coro.resume - CRASHES ON MODULE INITIALIZATION check-in: 41b58defb4 user: kbk tags: notworking, kbk-nre | |
2018-03-26
| ||
03:21 | Comment out one crashing test case check-in: cbc4e47dbe user: kbk tags: kbk-domain-check, notworking | |
02:36 | Add test cases for && and ||. Note that the LAND and LOR instructions are never generated, since they are intrinsically buggy. check-in: 67f26787c0 user: kbk tags: kbk-domain-check, notworking | |
02:10 | Avoid type promotion on jumpTrue and jumpFalse. check-in: 5913b29fcd user: kbk tags: kbk-domain-check, notworking | |
00:42 | Correct the type name for boolean strings. Add a better 'isNumericOrBoolean' check check-in: c5f9a2da90 user: kbk tags: kbk-domain-check, notworking | |
2018-03-22
| ||
05:43 | Start debugging the support for type checking of Boolean operands check-in: c415818ee6 user: kbk tags: kbk-domain-check, notworking | |
2018-03-20
| ||
04:54 | Partial implementation of code gen for type checking on Boolean values check-in: 5032b57581 user: kbk tags: kbk-domain-check, notworking | |
01:18 | Update to current trunk check-in: b287bafe45 user: kbk tags: kbk-domain-check, notworking | |
2018-01-10
| ||
05:10 | Add code to throw the 'wrong # args' exception locally without actually trying to invoke the procedure check-in: c3623b95d5 user: kbk tags: notworking, inlineWrongNumArgs | |
2018-01-01
| ||
01:36 | Corrections to a comment. check-in: 8f701467e5 user: dkf tags: trunk, minor change | |
2017-12-23
| ||
08:40 | Fix silly error. Closed-Leaf check-in: 2fc08314c2 user: dkf tags: minor change, unwanted | |
2017-12-19
| ||
21:54 | More docs check-in: 87a78afea0 user: dkf tags: minor change, dkf-dict-update | |
21:35 | doc check-in: c443f31af1 user: dkf tags: minor change, dkf-dict-update | |
2017-12-08
| ||
09:47 | Trim trailing whitespace. check-in: 0d8ff9b54f user: dkf tags: trunk, minor change | |
2017-12-06
| ||
08:09 | Switch over debugging messages to use new macro. check-in: 2d24c37973 user: dkf tags: minor change, proper-local-arrays | |
2017-11-25
| ||
22:52 | Trimming some of the trailing whitespace. check-in: b845a764a2 user: dkf tags: minor change, proper-local-arrays | |
13:04 | Delete operations that should be unreachable because of narrowing. check-in: 5311c14622 user: dkf tags: minor change, proper-local-arrays | |
2017-11-22
| ||
10:37 | Add support for LLVM 5; the lifetime intrinsics grow an extra parameter (NB: this is not mentioned in LLVM docs at all...) check-in: 2e82a03cb5 user: dkf tags: trunk, LLVM 5 support | |
2017-11-15
| ||
06:22 | Remove change made while bug hunting. check-in: c311ac4ce8 user: dkf tags: minor change, proper-local-arrays | |
2017-11-04
| ||
22:16 | merge trunk check-in: f501783689 user: kbk tags: notworking, expand | |
21:36 | Reform the bytecode procs to be methods of quadcode::transformer check-in: d27a12520c user: kbk tags: notworking, translate-reform | |
2017-10-31
| ||
15:36 | Added documentation. Closed-Leaf check-in: bcbfa13992 user: dkf tags: minor change, info-level | |
2017-10-28
| ||
14:22 | Fixing some paths and namespaces check-in: f6999d72b5 user: dkf tags: minor change, dkf-code-rearrange | |
2017-10-21
| ||
12:31 | Tweakery in the demo showed at Tcl 2017. check-in: 9f3aba25fe user: dkf tags: minor change, package-compiler | |
2017-10-19
| ||
21:43 | Add additional opportunities for constant folding - exposes bug in code gen for 'strrange' check-in: 31cf0d0e30 user: kennykb tags: notworking, constfold | |
2017-08-26
| ||
15:22 | Tinkering for clarity Leaf check-in: 364ac98f7c user: dkf tags: minor change, dkf-enhanced-output-diff | |
2017-08-17
| ||
23:02 | Fix memory corruption issue Closed-Leaf check-in: fb58adf162 user: dkf tags: minor change, returncode-bug | |
2017-08-06
| ||
10:32 | Start of branch hunting problems with non-error [return] calls. check-in: 4401285e32 user: dkf tags: returncode-bug, broken | |
2017-07-29
| ||
15:20 | Add documentation comments. Closed-Leaf check-in: 775cd5d9f1 user: dkf tags: minor change, dkf-direct-variables | |
2017-07-23
| ||
21:17 | Split things up a bit more internally to keep method size down. check-in: 76da08214e user: dkf tags: trunk, minor change | |
06:38 | Defining a few more non-null assumptions/assertions. check-in: 3849083e94 user: dkf tags: minor change, namespace-variables | |
2017-06-23
| ||
03:04 | Merge callframe-impl and start on some of the FIXME's. NOT WORKING check-in: 4d8021b2c3 user: kbk tags: not-working, kbk-namespace-variables | |
2017-06-06
| ||
19:08 | Strip some unnecessary code. check-in: 17f2b1e74a user: dkf tags: minor change, dkf-improved-proc-metadata | |
2017-06-05
| ||
01:10 | Update to the current callframe implementation check-in: ffb94761a7 user: kbk tags: not working, kbk-namespace-variables | |
01:08 | Merge in the refactoring of callframe data motion. check-in: 352c2285f9 user: kbk tags: not working, kbk-namespace-variables | |
00:11 | Begin merging incrementally up to current callframe implementation. check-in: f187bb549f user: kbk tags: not working, kbk-namespace-variables | |
2017-06-04
| ||
17:10 | Working towards better metadata generation check-in: 34cc0dd981 user: dkf tags: not working, dkf-improved-proc-metadata | |
2017-06-03
| ||
10:31 | Corral the slowest compilation off in the name of getting a little speed during normal testing. check-in: dd976d6de3 user: dkf tags: minor change, callframe-impl | |
2017-05-31
| ||
20:37 | Work around for bug in slightly older Tcl 8.6. check-in: 5a1002d67a user: dkf tags: minor change, callframe-impl | |
2017-05-22
| ||
04:18 | Start working on support for 'variable', 'namespace upvar', 'global', and 'upvar #0'. Code is not working as yet. Next steps toward making it work are to rework the FIXME's in callframe.tcl, and eliminate 'callframeNop' once it's done its job. Then comes implementation of 'nsupvar', 'upvar', 'variable' quadcodes, and implementation of the 'loadStk' and friends in translate.tcl check-in: 7199a45325 user: kbk tags: not working, kbk-namespace-variables | |
2017-05-11
| ||
00:22 | copyprop - Replace copyprop in early stages with an ultraconservative 'copyprop0' that cannot disrupt variable naming. deadcode - Track whether 'deadcode' has changed the control flow narrow - First round of changes for preserving Conventional-SSA, plus much additional audit specializer - Split 'narrow' into a separate pass, since it can introduce new typed variants. Add much more audit and some temporary dribble for debugging ssa - Rework 'replaceValue' and friends in an attempt to utilize and preserve Conventional-SSA. STILL NOT WORKING - first test case failure is 'lcmRange'. transformer - Make sure that 'narrow' has dominator information available. Add much audit and stdout dribble for debugging. NOT WORKING CODE Closed-Leaf check-in: e539fb74f5 user: kbk tags: mistake, not-working | |
2017-04-22
| ||
15:23 | Improve the generation of source information in warnings. check-in: 570f3ec2e5 user: dkf tags: trunk, minor change | |
2017-04-19
| ||
19:49 | Uncomment the test (which now passes) check-in: d91216509e user: dkf tags: trunk, minor change | |
2017-03-22
| ||
06:25 | Rewrite the injected printers to use Tcl's API usually, for better output. check-in: ac26b5fb55 user: dkf tags: not working, dkf-callframe-impl | |
2017-03-19
| ||
07:18 | merge callframe branch; code is broken by this once again check-in: 021b966ed9 user: dkf tags: not working, dkf-callframe-impl | |
2017-03-18
| ||
19:04 | With a little help from that code, we've passed a test! More still to do... check-in: 15ed35ed76 user: dkf tags: not working, dkf-callframe-impl | |
16:58 | No longer crashes... check-in: 88d1d542ba user: dkf tags: not working, dkf-callframe-impl | |
2017-03-17
| ||
09:24 | Threading the information more to where it belongs. check-in: 748311765b user: dkf tags: not working, dkf-callframe-impl | |
06:26 | Starting to assemble the metadata during module initialisation. check-in: 06b1dc1092 user: dkf tags: not working, dkf-callframe-impl | |
2017-03-12
| ||
09:00 | Use more of Tcl's machinery. Actually do the variable placement. check-in: 3abe56cd62 user: dkf tags: not working, dkf-callframe-impl | |
2017-03-11
| ||
10:26 | Working towards frame creation. check-in: 53a1ec6206 user: dkf tags: not working, dkf-callframe-impl | |
08:34 | Add debug decls. check-in: 8abd4c694a user: dkf tags: not working, dkf-callframe-impl | |
08:17 | Push the frame handling code through another level of the code generator. check-in: b4f6d411fd user: dkf tags: not working, dkf-callframe-impl | |
2017-03-05
| ||
20:25 | Fix things that recent changes broke. check-in: a7112f0b47 user: dkf tags: minor change, not working, dkf-callframe-impl | |
2017-02-25
| ||
18:02 | Working towards a first implementation of callframes. check-in: 86ec362dc6 user: dkf tags: not working, dkf-callframe-impl | |
2017-02-15
| ||
03:57 | NOT WORKING: Fix bugs to make a few more test cases compile check-in: 4bdc54e7fd user: kbk tags: kbk-impure, not working | |
2017-02-13
| ||
03:27 | Allow a few more procs from ::linesearch check-in: 13076603e0 user: kbk tags: kbk-impure, not working | |
02:58 | NOT WORKING: continued work on loop unrolling for data type analysis. Passes many more tests, and speeds up 'impure' by 30x check-in: 97d781d5db user: kbk tags: kbk-impure, not working | |
2017-02-12
| ||
04:06 | NOT WORKING: Further debugging of node splitting check-in: e2dd4e6ce1 user: kbk tags: kbk-impure, not working | |
2017-02-08
| ||
01:35 | NOT WORKING: considerably more work on node splitting, but not finished. check-in: 90db1fcf7d user: kbk tags: kbk-impure, not working | |
2017-01-22
| ||
06:37 | oops: remove console dribble check-in: 3dbb7d1baf user: kbk tags: minor change, kbk-impure | |
2017-01-19
| ||
09:03 | Work around incompatibility with some revisions of Tcl 8.6. check-in: d430ba6853 user: dkf tags: minor change, kbk-impure | |
2016-12-01
| ||
08:29 | Rearrange where IncrRefCount happens in strcat code. check-in: 8bb3474f9d user: dkf tags: trunk, minor change | |
2016-09-20
| ||
08:32 | Add a couple more test cases. check-in: 231c6e85bc user: dkf tags: trunk, minor change | |
2016-09-18
| ||
11:52 | More neating up of call protocol. check-in: 327721c415 user: dkf tags: trunk, minor change | |
10:58 | Remove some bits of junk. check-in: fc67fdb705 user: dkf tags: trunk, minor change | |
2016-09-08
| ||
10:30 | Updated the README. check-in: ab5cc6c33b user: dkf tags: trunk, minor change | |
2016-09-07
| ||
08:59 | Add an explanatory comment check-in: 86f9f0639d user: dkf tags: minor change, dkf-global-read | |
2016-07-31
| ||
14:06 | Added generation of debugging information and more complete handling of Tcl's internal types. check-in: 8693aacef0 user: dkf tags: trunk, major change | |
2016-05-22
| ||
13:53 | merge trunk check-in: 20e87e325a user: dkf tags: minor change, dkf-debugging-metadata | |
13:50 | Tweak to how Tcl API calls are annotated. check-in: 6c641efdf9 user: dkf tags: trunk, minor change | |
2016-03-31
| ||
07:04 | slightly better way of integrating the running of the external optimiser check-in: 53e6ee0ba1 user: dkf tags: minor change, dkf-optimization-experiment | |
2016-03-20
| ||
15:29 | One more test case, with a surprising outcome but works correctly. Closed-Leaf check-in: 42ff011433 user: dkf tags: minor change, dkf-analysing-which-stdlib-functions-used | |
2016-02-29
| ||
10:20 | Mark booleans as booleans, and ZEROONE is a boolean. check-in: 3cdca3d112 user: dkf tags: minor change, dkf-debugging-metadata | |
2016-02-28
| ||
13:48 | merge trunk Closed-Leaf check-in: 0ca6a4b88d user: dkf tags: minor change, dkf-real-ZEROONE-type | |
12:23 | Inline a few more bits from the scripted parts of llvmtcl. check-in: aaf858ac25 user: dkf tags: trunk, minor change | |
12:12 | It's much faster to optimise everything at once, just once. So stop being silly. check-in: be80dabc55 user: dkf tags: trunk, minor change | |
10:52 | Making the widenTo implementation less weird to get rid of an edge case elsewhere. check-in: 0ca081032a user: dkf tags: minor change, dkf-real-ZEROONE-type | |
08:33 | More tweaking arising from having the cleaner ZEROONE type. check-in: 94d3e0cb4c user: dkf tags: minor change, dkf-real-ZEROONE-type | |
2016-02-22
| ||
13:14 | Fix many comments. check-in: d03f151632 user: dkf tags: minor change, dkf-real-ZEROONE-type | |
2016-02-18
| ||
18:57 | Cleaning up some of the handling of booleans in the code generator. check-in: 19d4e64dd9 user: dkf tags: trunk, minor change | |
2016-02-17
| ||
19:07 | Yet more removal of now-unused code. Improved some comments. check-in: e6946a4df1 user: dkf tags: trunk, minor change | |
2016-02-15
| ||
20:02 | Remove some unused/unnecessary variables. check-in: 8d5c128bd3 user: dkf tags: trunk, minor change | |
2016-02-01
| ||
09:01 | Reduce some duplication in the code. Revisit the macro-like parts of the Tcl API. check-in: 7ab3d47598 user: dkf tags: trunk, minor change | |
2016-01-27
| ||
09:52 | Splitting up the code a bit more, for sanity's sake. check-in: f5c786617c user: dkf tags: trunk, minor change | |
2016-01-25
| ||
20:04 | Rename the implementation-internal 'path' type to 'vector' and manage its lifetime better. check-in: 4d7185498b user: dkf tags: trunk, minor change | |
09:04 | Move the intermediate level instruction issuers to their correct file. check-in: cee099084e user: dkf tags: trunk, minor change | |
2016-01-20
| ||
10:19 | Some small simplifications of code. check-in: 811fae03a4 user: dkf tags: trunk, minor change | |
2016-01-15
| ||
00:45 | Switch to using the interprocedural specializer to drive quadcode generation and LLVM translation. check-in: b07e47eb78 user: dkf tags: trunk, major change | |
2016-01-08
| ||
14:59 | Even better error trace. check-in: bc1164ed74 user: dkf tags: minor change, dkf-interprocedural | |
14:51 | merge trunk check-in: 70cb29c229 user: dkf tags: minor change, dkf-interprocedural | |
2016-01-07
| ||
18:19 | Disable printed message. check-in: d64b9a65f1 user: dkf tags: trunk, minor change | |
16:02 | Whitespace check-in: bc32b5b60a user: dkf tags: trunk, minor change | |
11:23 | merge trunk check-in: 0fba183f6b user: dkf tags: minor change, dkf-maybe-is-null | |
11:19 | merge trunk check-in: ea9454e4cf user: dkf tags: minor change, dkf-optimization-experiment | |
11:18 | merge trunk check-in: b75f045c24 user: dkf tags: minor change, dkf-debugging-metadata | |
11:17 | Fix bug in list indexing code. check-in: 6d23c1599f user: dkf tags: trunk, minor change | |
10:02 | merge trunk check-in: f947aa164b user: dkf tags: minor change, dkf-optimization-experiment | |
10:00 | D'oh! check-in: 53bd04972e user: dkf tags: minor change, dkf-debugging-metadata | |
2016-01-06
| ||
17:18 | Fix bug in [math::ln_Gamma] exception generation. check-in: 85a95241c5 user: dkf tags: minor change, kbk-domain-check | |
2016-01-04
| ||
20:19 | Forgot the basic block generation part. check-in: 6807dbd307 user: dkf tags: minor change, kbk-domain-check | |
2016-01-01
| ||
22:54 | Better ways of binding standard channels. Better way of controlling argument aliasing. check-in: 0e58d05109 user: dkf tags: minor change, dkf-debugging-metadata | |
2015-12-30
| ||
17:47 | Sort the code to be more sensibly ordered. check-in: d34e969c56 user: dkf tags: minor change, dkf-debugging-metadata | |
17:14 | Fix the documentation. check-in: 119f7b6740 user: dkf tags: minor change, dkf-debugging-metadata | |
2015-12-18
| ||
15:53 | Remove smartass hack. check-in: a4b0eb2f3e user: dkf tags: minor change, kbk-transform-speedup | |
14:46 | Scoping down use of llvmtcl API. Closed-Leaf check-in: 9943999441 user: dkf tags: minor change, limiting-Type-usage | |
2015-12-13
| ||
20:40 | Better commentary about the instance variables check-in: 8f4ae860fe user: kbk tags: minor change, kbk-transform-speedup | |
2015-12-12
| ||
16:15 | Add another special case. Closed-Leaf check-in: d978bf403a user: dkf tags: minor change, fix-array-set | |
2015-12-08
| ||
19:19 | Some minor cleanup. Closed-Leaf check-in: 74df155395 user: dkf tags: minor change, bug-literal-reference-counts | |
2015-12-03
| ||
14:42 | Missed a spot which could be simplified. check-in: 9e22666b4c user: dkf tags: minor change, bug-literal-reference-counts | |
2015-12-02
| ||
06:28 | merge trunk check-in: 114be296b6 user: dkf tags: minor change, dkf-maybe-is-null | |
06:26 | Re-enable failing test. check-in: 036b659a77 user: dkf tags: trunk, minor change | |
2015-12-01
| ||
14:29 | re-enable failing test check-in: 18933148ed user: kbk tags: minor change, kbk-interprocedural | |
08:55 | merge trunk check-in: 568a836af0 user: dkf tags: minor change, kbk-interprocedural | |
08:55 | Less confusing error message from StoreResult method. check-in: 89524543b7 user: dkf tags: trunk, minor change | |
2015-11-30
| ||
20:17 | merge trunk Closed-Leaf check-in: e6ad7021c8 user: dkf tags: minor change, boolean-test | |
19:56 | merge trunk check-in: 7cb1ebdd32 user: dkf tags: minor change, general-call | |
19:53 | More improvements to the performance tester. check-in: 31a9854f5a user: dkf tags: trunk, minor change | |
2015-11-28
| ||
23:03 | merge trunk check-in: 68a1685932 user: dkf tags: minor change, dkf-maybe-is-null | |
23:02 | merge trunk check-in: 25d50528e7 user: dkf tags: minor change, boolean-test | |
22:59 | Reenable compilation of wordcounter example. check-in: 9440749245 user: dkf tags: trunk, minor change | |
2015-11-24
| ||
15:28 | merge trunk check-in: 2ceb738098 user: dkf tags: minor change, general-call | |
14:26 | Flip the sense of a test. Doh! check-in: 8409287968 user: dkf tags: minor change, kbk-unset | |
09:53 | Speed up testing by only running the tests we are optimising. check-in: 348f39bcb0 user: dkf tags: minor change, kbk-unset | |
09:52 | merge trunk check-in: 592d5a6ce6 user: dkf tags: minor change, kbk-unset | |
2015-11-23
| ||
13:32 | Need the extract of the payload as well. check-in: 1f9cad96c8 user: dkf tags: minor change, kbk-unset | |
10:56 | Generate a bit more efficient code. check-in: 8e2b0e1771 user: dkf tags: minor change, kbk-unset | |
2015-11-21
| ||
16:53 | Use some existing constants. check-in: e7b0f1c419 user: dkf tags: minor change, general-call | |
16:44 | merge trunk check-in: ae604a0dfd user: dkf tags: minor change, general-call | |
12:38 | Make code a bit easier to understand by removing some of the argument packing. check-in: eae051251a user: dkf tags: trunk, minor change | |
2015-11-18
| ||
09:30 | Better safety in parameter access. Add Tcl_EvalObjv to the understood API. check-in: 8db14f207e user: dkf tags: trunk, minor change | |
2015-11-15
| ||
23:57 | Fix typo. check-in: a7436192f2 user: dkf tags: trunk, minor change | |
2015-11-11
| ||
21:59 | Another piece of tinkering with a comment. check-in: 646e55476b user: dkf tags: trunk, minor change | |
2015-11-10
| ||
15:33 | Fix a comment. check-in: 6e908156ed user: dkf tags: trunk, minor change | |
09:36 | Factor the type conversion code a bit better. check-in: 522b21ecf7 user: dkf tags: trunk, minor change | |
08:30 | Move some of the Builder code to struct.tcl for sanity reasons. check-in: b8ed322d86 user: dkf tags: trunk, minor change | |
2015-11-09
| ||
21:06 | Clean up: change space in method names to \040 for better highlighting check-in: 6d3ca59e1c user: dkf tags: minor change, kbk-unset | |
20:58 | Document code check-in: 674cf12c0a user: dkf tags: minor change, kbk-unset | |
2015-08-15
| ||
21:18 | Experimental branch on implementing arrays using dictionaries. Exposes bug in quadcode engine. check-in: 9e5232db3c user: dkf tags: bug, arrays-as-dicts | |
2015-07-30
| ||
09:50 | Define stack behaviour of one more opcode. check-in: c8410dc7ea user: dkf tags: trunk, minor change | |
2015-07-29
| ||
10:42 | Remove junk. check-in: 6f2d9ac320 user: dkf tags: trunk, minor change | |
2015-07-08
| ||
08:04 | Added note on needed future fix. check-in: 55152399da user: dkf tags: trunk, minor change | |
2015-07-05
| ||
12:44 | merge trunk Closed-Leaf check-in: 3a3b476692 user: dkf tags: minor change, uplus-and-numeric-type | |
11:51 | Documentation tweaking check-in: 6f369fb2a4 user: dkf tags: minor change, uplus-and-numeric-type | |
2015-06-29
| ||
10:45 | Implementations of many operations that can fail. check-in: 7ed5cbca9a user: dkf tags: trunk, major change | |
10:42 | Add back in test features removed for debugging reasons. Closed-Leaf check-in: 9ba0f18626 user: dkf tags: minor change, dict-append-lappend | |
2015-06-25
| ||
09:08 | merge the type widening code check-in: f013adac28 user: dkf tags: minor change, dict-append-lappend | |
08:48 | remove unused code check-in: 95ac9ed669 user: dkf tags: minor change, try-and-compound-types | |
08:21 | merge mark check-in: 06fcbcb900 user: dkf tags: minor change, to-merge | |
2015-06-15
| ||
09:22 | Accidental partial commit of [dict append] and [dict lappend] implementation check-in: 20b5680917 user: dkf tags: mistake, minor change | |
09:01 | Documentation check-in: bdc40f91a9 user: dkf tags: minor change, try-and-compound-types | |
2015-06-09
| ||
06:55 | Tidy up the code a bit more. Document the new quadcodes. check-in: cc44509bdb user: dkf tags: minor change, try-and-compound-types | |
2015-06-08
| ||
18:50 | merge trunk check-in: c0f3eba824 user: dkf tags: minor change, try-and-compound-types | |
2015-06-07
| ||
09:42 | merge trunk check-in: aba67538e9 user: dkf tags: minor change, try-and-compound-types | |
09:38 | merge trunk check-in: 833caed869 user: dkf tags: minor change, failures-and-regexps | |
09:35 | Clean up the demo code file a bit. check-in: a50dd5fd35 user: dkf tags: trunk, minor change | |
07:55 | Clean up the demo code file a bit. check-in: bad1d8b021 user: dkf tags: minor change, try-and-compound-types | |
2015-06-06
| ||
18:15 | merge mark check-in: 7de243f314 user: dkf tags: minor change, try-and-compound-types | |
18:13 | merge trunk check-in: 5c69f1e1be user: dkf tags: minor change, failures-and-regexps | |
18:09 | merge trunk check-in: 7763176f59 user: dkf tags: mistake, minor change | |
2015-06-05
| ||
21:02 | Updated the notes. check-in: a4f0fdd5b0 user: dkf tags: minor change, try-and-compound-types | |
2015-05-31
| ||
15:37 | Neater way of expressing some types. check-in: 12010ce4f0 user: dkf tags: minor change, try-and-compound-types | |
2015-05-30
| ||
13:50 | Update the documentation. check-in: 8c1a1fb570 user: dkf tags: minor change, try-and-compound-types | |
2015-05-14
| ||
08:31 | Factor out more code from the core driver file. Aiming to have (almost) just user-visible code there. check-in: 9a28ea2817 user: dkf tags: minor change, failures-and-regexps | |
2015-05-10
| ||
20:56 | merge trunk check-in: 2fc9b2ca0d user: dkf tags: minor change, failures-and-regexps | |
20:55 | Stop emacs from getting too clever by half. check-in: 450a8ec52d user: dkf tags: trunk, minor change | |
2015-05-09
| ||
17:12 | Slightly better way of handling type signatures of builtins. check-in: ac5a483fad user: dkf tags: minor change, failures-and-regexps | |
2015-05-08
| ||
07:07 | Improve error checking of type merge at phi node. check-in: b98c2e7f12 user: dkf tags: minor change, failures-and-regexps | |
2015-05-07
| ||
10:53 | Document the code generator front end. Closed-Leaf check-in: 0d961fb62c user: dkf tags: minor change, documentation | |
07:13 | Document the TclProcedureCompiler class. check-in: d4a537d338 user: dkf tags: minor change, documentation | |
2015-05-06
| ||
09:44 | Document the ThunkBuilder class. check-in: a480dc62bd user: dkf tags: minor change, documentation | |
05:40 | Document the Block class's methods. check-in: 440f4e3c56 user: dkf tags: minor change, documentation | |
2015-05-05
| ||
09:08 | More documentation of functions. check-in: 7b572a084b user: dkf tags: minor change, documentation | |
08:53 | Minor code adjustments. check-in: e464ff702e user: dkf tags: minor change, documentation | |
2015-05-04
| ||
16:07 | More documentation. check-in: 4ee3407332 user: dkf tags: minor change, documentation | |
13:45 | More documentation. More removal of unused methods. check-in: ebb83c89e5 user: dkf tags: minor change, documentation | |
2015-05-03
| ||
22:18 | Documenting more of the Build class. Removing some duplicate parts. check-in: 5c8abf8929 user: dkf tags: minor change, documentation | |
2015-05-02
| ||
06:26 | Document another quadcode. check-in: 07fd841662 user: dkf tags: trunk, minor change | |
06:15 | Document 'strclass'. Closed-Leaf check-in: 40d54a67a2 user: dkf tags: llvm-integration, minor change | |
06:04 | Documenting the actual bytecode issuers. check-in: bd7606b6c8 user: dkf tags: minor change, documentation | |
2015-05-01
| ||
08:52 | More documentation. check-in: fdeaa93272 user: dkf tags: minor change, documentation | |
2015-04-30
| ||
21:06 | Add documentation of many functions. check-in: 325b52b2b6 user: dkf tags: minor change, documentation | |
2015-04-28
| ||
13:02 | Reorder the bytecodes into related groups. check-in: 1191574e2f user: dkf tags: trunk, minor change | |
12:27 | Minor tinkering. check-in: 012f09ccd6 user: dkf tags: llvm-integration, minor change | |
2015-04-27
| ||
09:11 | Add some more problem checking code. check-in: bf0d3aed87 user: dkf tags: llvm-integration, minor change | |
00:10 | Update the list of quadcodes. check-in: 11de63d2af user: dkf tags: llvm-integration, minor change | |
2015-04-26
| ||
19:58 | Constrain most variables to their function (using [apply] tricks) and improve error reporting. check-in: 9d8296477f user: dkf tags: llvm-integration, minor change | |
2015-04-25
| ||
14:34 | Further shortening of the library code. check-in: 0ad79be508 user: dkf tags: llvm-integration, minor change | |
2015-04-23
| ||
20:42 | Shorten the code generation a little, aiming for more readability. check-in: 456f9478cf user: dkf tags: llvm-integration, minor change | |
13:44 | Tidy up code generation. check-in: 4ddb207455 user: dkf tags: trunk, minor change | |
2015-04-22
| ||
21:21 | Tidying up the code a bit check-in: 9ba9c0689d user: dkf tags: trunk, minor change | |
18:47 | Update notes on what the quadcodes do. check-in: 9daa5343f2 user: dkf tags: trunk, minor change | |
2015-04-21
| ||
01:31 | Update demo to do substtest2, now that it doesn't crash check-in: d8d3203e3f user: kbk tags: minor change, failures-and-regexps | |
2015-04-18
| ||
16:26 | Describe the opcodes I've added. check-in: c561582d8d user: dkf tags: minor change, failures-and-regexps | |
2015-04-11
| ||
16:41 | merge mark check-in: 1e5aff5f10 user: dkf tags: llvm-integration, minor change | |
16:39 | Port of the wrapper round [source] from the experimental branch. check-in: 7274e07594 user: dkf tags: trunk, minor change | |
10:15 | Cleaning up the instruction issuing code a little. check-in: 28b5e4a4dd user: dkf tags: trunk, minor change | |
2015-04-06
| ||
15:25 | Make the string code a little easier to read; an on-going project... check-in: cb0d8dd9fb user: dkf tags: trunk, minor change | |
2015-04-05
| ||
20:58 | Add emacs settings to footer of many files check-in: cd4d33e745 user: dkf tags: trunk, minor change | |
2015-04-04
| ||
21:25 | Reorganising the code to split quadcode generation from quadcode reasoning. check-in: c56965c9f6 user: dkf tags: trunk, minor change | |
2015-03-26
| ||
14:17 | Split the basic Tcl bytecode analysis code out. check-in: 46325a0aaa user: dkf tags: llvm-integration, minor change | |
2015-03-19
| ||
23:33 | Rename append operation to strcat so that it more sensibly reflects its semantics check-in: 36bd491218 user: dkf tags: llvm-integration, minor change | |
2015-03-11
| ||
15:57 | Added a configure API. check-in: 1023a69f91 user: dkf tags: llvm-integration-memory, minor change | |
2015-02-15
| ||
12:55 | Reorganize files for a bit more sanity check-in: d2b4a31963 user: dkf tags: llvm-integration, minor change |