Tagged Check-ins

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, current, kbk-refactor-callframe
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: kbk-namespace-variables, not-working
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: kbk-namespace-variables, not working
01:08
Merge in the refactoring of callframe data motion. check-in: 352c2285f9 user: kbk tags: kbk-namespace-variables, not working
00:11
Begin merging incrementally up to current callframe implementation. check-in: f187bb549f user: kbk tags: kbk-namespace-variables, not working
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: kbk-namespace-variables, not working
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