Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins that include changes to files matching 'demos/perftest/*'

2020-01-13
03:57
Add elimination of LOAD-STORE redundancy - don't put into the callframe a value that we just got from there. This check may or may not be useful; the test suite exercises it but only on 'set x '. It does come up in other langauges. Leaf check-in: 933c8a03f0 user: kbk tags: 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
21:12
Make the poly1305 routines explicit in the tester check-in: 7466722d0e user: kbk tags: kbk-refactor-callframe
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
2020-01-01
23:51
Don't abort all the performance tests because one test throws an error. Make the 'arrayExists' operation consistent with 'extractArray' and 'extractScalar' throughout (there were bad optimizations). Revert a misguided change to 'dict update' that was actually an attempt to work around the 'extractScalar' inconsistency. check-in: 5b6ac87fe8 user: kbk tags: 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-11-24
01:15
Modify varargs to not rewrite if the target procedure is not being compiled. This change restores poly1305 to compilability. check-in: e86f7b8518 user: kbk tags: kbk-refactor-callframe
2019-11-23
23:21
Merge trunk and return to mostly-working status. Two test cases commented away: magicreturn and poly1305. check-in: 824a7974cf user: kbk tags: kbk-refactor-callframe
23:02
merge trunk check-in: c3fc2d4137 user: kbk tags: notworking, kbk-refactor-callframe
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-11-19
03:52
Merge refactoring so that all direct operations interact correctly with the callframe. check-in: b9e2a13b96 user: kbk tags: trunk
2019-11-12
01:52
directGet interacts with the callframe. (Has 'out' as well as 'in' because of traces). check-in: 22c7d8b278 user: kbk tags: kbk-refactor-directops
2019-11-11
21:01
Fix bug - previous refactoring of directSet accidentally clobbered a use of directSetArray check-in: ebf9ad75df user: kbk tags: kbk-refactor-directops
2019-11-08
21:57
Refactor directSet to accept and return the callframe check-in: 26b53d7b5a user: kennykb tags: kbk-refactor-directops
2019-02-16
21:40
Start writing discussion of callframe management check-in: 50af9aa069 user: kbk tags: kbk-refactor-callframe
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-13
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
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
2018-12-16
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
2018-12-08
17:56
merge trunk check-in: 01fb4f7ffb user: dkf tags: list-and-dict-types
2018-12-07
02:43
Fixes that make poly1305 compilable. check-in: 602b3659c7 user: kbk tags: trunk
02:23
Increase recursion limit to allow compilation of longer procedures. Correct a bug in expandInlines that left dangling references to procedure args. Correct a bug in analyzeTypes where the INT/ENTIER break was set to int32 rather than int64. Add shift operations to constfold. Improve auditing. Merge trunk. Closed-Leaf check-in: 023d0828f0 user: kbk tags: poly1305
2018-12-06
21:17
merge trunk check-in: c2a6505ae9 user: dkf tags: poly1305
03:15
Merge kbk-pre - add the optimizations of loop inversion (enables loop-invariant code motion) and partial redundancy elimination, and fix multiple bugs exposed by these optimizations. check-in: 0e06123e97 user: kbk tags: trunk
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
2018-11-29
13:57
merge trunk check-in: b0b8f8280b user: dkf tags: list-and-dict-types
11:34
This is getting somewhere; next up, using actual types we can now assume in code issue check-in: 0ec315adac user: dkf tags: list-and-dict-types
00:56
merge trunk check-in: 815387c202 user: kbk tags: notworking, kbk-pre
2018-11-27
03:07
Fix bug in finding variable names among the args to 'regexp' check-in: 6311170b65 user: kbk tags: trunk
2018-11-26
08:35
merge trunk check-in: 45f62a2c25 user: dkf tags: list-and-dict-types
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-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-11-09
03:48
Temporarily revert a change made to copyprop until the crash that it causes can be investigated. Add a loop inversion pass at the front of processing, so that every natural loop body is executed at least once and might have loop-invariant computations. Add more coding to partial redundancy elimination check-in: f141d962a5 user: kbk tags: kbk-pre
2018-11-04
23:49
merge trunk check-in: 7b85bdfca9 user: dkf tags: poly1305
01:38
Start development of partial redundancy elimination. Complete though base-case of the dataflow solution. check-in: 534d2b9f68 user: kbk tags: kbk-pre
2018-11-01
22:04
Allow IMPURE values to builtin mathfuncs check-in: dfc7885448 user: kbk tags: trunk
2018-10-31
11:32
Also ask for critical math function to be compiled check-in: fb47c5a2cd user: dkf tags: poly1305
11:22
Suggested test case from Neil Madden check-in: 4801fbf7c9 user: dkf tags: poly1305
2018-10-23
01:34
Add return from invokeExpanded. Add a test case for invokeExpanded. Correct a few comments in the compilation of invokeExpanded. Leaf check-in: 41fe6d416f user: kbk tags: kbk-nre
2018-10-21
22:49
Squelch unnecessary test failures. check-in: 35ee4b3111 user: dkf tags: kbk-nre
17:48
Test case for NRE.invokeExpanded check-in: 7c7508effb user: dkf tags: kbk-nre
16:12
merge trunk check-in: 3c382b2d30 user: dkf tags: kbk-nre
2018-10-17
12:29
Fix Sean's problem with [lrange]. check-in: e33c1317fd user: dkf tags: trunk
2018-10-15
17:08
Enable random numbers. check-in: 6841dceaad user: dkf tags: trunk
16:09
Added explicit recursive fib test check-in: 347443afbe user: dkf tags: trunk