tclquadcode

Timeline
Login

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

100 most recent check-ins related to "trunk"

2018-12-29
20:26
Open a branch for some experiments on refactoring callframe operations check-in: 7454a5228c user: kbk tags: kbk-refactor-callframe
2018-12-27
19:44
Very rough beginning of a refactored 'varargs' pass check-in: 7c9d400e5e user: kbk tags: notworking, kbk-refactor-varargs
04:12
Eliminate the 'isBoolean' instruction in favour of using the type checking machinery Leaf check-in: 0718166269 user: kbk tags: trunk
04:09
Eliminate the 'isBoolean' opcode in favour of 'instanceOf', to allow for type inferemce based on tryCvtToBoolean Closed-Leaf check-in: bd009801ca user: kbk tags: kbk-isBoolean
03:53
Open a branch for rework of 'isBoolean' so that it informs type inference check-in: 2a34883328 user: kbk tags: kbk-isBoolean
2018-12-18
15:12
OOPS: remove 'source' of unused file check-in: 3bf74c48dc user: kbk tags: trunk
02:32
Add a long-forgotten 'specializer.md' discussing what the specializer does. check-in: 7bd4d23ac9 user: kbk tags: trunk
2018-12-17
23:19
Integrate kbk-jumpthread: replace the node-by-node splitting with a single pass that identifies many threading opportunities and also reduces the number of splits. Eliminate the old nodesplit pass, and the renameTemps pass, which is no longer required. check-in: a934a75e1f user: kbk tags: trunk
23:13
result, returnCode, returnOptions must be split into FAIL and non-FAIL paths because the backend isn't prepared to deal with all combinations of FAIL + someOtherType. Closed-Leaf check-in: 94358b53ea user: kbk tags: kbk-jumpthread
2018-12-09
20:55
Open a branch for experiments with more accurate and faster jump threading. check-in: 67902a50a2 user: kbk tags: kbk-jumpthread
2018-12-08
21:46
Add a micropass to optimize away conditional jumps that are identical to a conditional jump in a dominator. (Partial redundancy elimination appears to create these.) check-in: 344567b919 user: kbk tags: trunk
21:45
Add a micropass to optimize away conditional jumps that are identical to a conditional jump in a dominator. (Partial redundancy elimination appears to create these.) Closed-Leaf check-in: 1c9b4510d1 user: kbk tags: kbk-deadcond
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. 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
03:13
Array initialization cannot be hoisted because every array needs its own initArray. Code insertion must ignore operations that it has already inserted, or infinite loops can result. All tests pass! Closed-Leaf check-in: cf87d02677 user: kbk tags: kbk-pre
2018-11-29
13:57
merge trunk check-in: b0b8f8280b 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
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:22
Suggested test case from Neil Madden check-in: 4801fbf7c9 user: dkf tags: poly1305
11:05
use [my Warn] correctly check-in: b99007d3a3 user: dkf tags: trunk
2018-10-21
16:12
merge trunk check-in: 3c382b2d30 user: dkf tags: kbk-nre
2018-10-19
12:58
Starting to create LIST and DICT types check-in: dc90f65b5e user: dkf tags: list-and-dict-types
2018-10-18
10:59
Add support for LLVM 7; two intrinsics changed signature to become simpler check-in: 961facd520 user: dkf tags: trunk
2018-10-17
12:29
Fix Sean's problem with [lrange]. check-in: e33c1317fd user: dkf tags: trunk
2018-10-15
21:28
Fix crash if a parameter to a procedure is unused within the procedure. check-in: ba43f318d7 user: kbk tags: trunk
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
12:58
Flipped the sense of some tests check-in: 9912776e7c user: dkf tags: trunk
11:13
Expand the basic eq/ge/gt/le/lt/ne ops to allow doubles too. check-in: 9bbeeddfb9 user: dkf tags: trunk
2018-07-08
09:12
Slightly better script for demos check-in: b12c0dc620 user: dkf tags: trunk
2018-04-29
17:37
merge trunk check-in: 23f46849a7 user: dkf tags: kbk-nre
17:21
Fix native code generation when building DLLs check-in: 412811a9f7 user: dkf tags: trunk
2018-04-28
08:36
Added mrtest as a separately buildable package. check-in: a5f8fcd325 user: dkf tags: trunk
2018-04-17
00:13
Merge trunk Leaf check-in: 25e63838cd user: kbk tags: inline
00:11
Merge trunk: expunge last uses of 'uniqueUndef' in constructing phi's check-in: 1855f5dc7a user: kbk tags: notworking, kbk-nre
00:09
Finish expunging the uses of 'uniqueUndef' in constructing phis. check-in: f71cdfbdae user: kbk tags: trunk
00:06
Finish expunging the uses of 'uniqueUndef' in constructing phis. Closed-Leaf check-in: c50485d110 user: kbk tags: kbk-phi-reform
2018-04-16
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
21:52
Merge kbk-phi-reform. The code issuer no longer creates dummy 'undef' slots for variables only to replace them. Instead, 'phi' operations are created without data sources and have their data sources added after processing the quadcode. check-in: 3578806182 user: kbk tags: trunk
21:49
Reform the processing of 'phi' operations in 'codegen/compile.tcl', observing that variable definitions dominate all uses of the variables except for those in 'phi' operations, so creating dummy phi's and backpatching the data sources is a simpler approach than creating explict 'undef' values only to overwrite them. check-in: f4b8bc60e5 user: kbk tags: kbk-phi-reform
19:03
Create new branch named "kbk-phi-reform" check-in: f1141ea3b4 user: kbk tags: kbk-phi-reform
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-11
03:57
Move alloca to the entry blocks check-in: 7e92153b7f user: kbk tags: trunk
03:40
Eliminate stacksave/stackrestore and dynamic alloca from 'list' check-in: 11be702fa8 user: kbk tags: trunk
03:16
Rework foreachStart so that it doesn't require stacksave/stackrestore or dynamic alloca check-in: 5f0c7721ff user: kbk tags: trunk
2018-04-10
03:44
Move more alloc's into entry blocks. check-in: aa81f2ac20 user: kbk tags: trunk
03:31
Move allocas in standard library up to the entry blocks of the routines, where the inliner can find them check-in: 63a1bf25ff user: kbk tags: trunk
03:05
Reform 'buildBitArray' to use preallocated space in the LLVM callframe check-in: 7f04a0d947 user: kbk tags: trunk
02:46
Reform buildVector and clearVector to use preallocated space in the LLVM callframe check-in: a7ae4fde24 user: kbk tags: trunk
2018-03-27
01:44
merge trunk check-in: 6b733cc796 user: kbk tags: kbk-nre
01:40
merge trunk check-in: c0e88e91be user: kbk tags: inline
01:36
Merge changes: complete type checking of Boolean args to 'jumpTrue', 'jumpFalse', 'not', 'land', and 'lor' check-in: 0b62f38ede user: kbk tags: trunk
01:32
Fix a problem where adding and dropping references to/from FAIL IMPURE values would dereference a null pointer in the FAIL case. Closed-Leaf check-in: 0bd0c41f0a user: kbk tags: kbk-domain-check
2018-03-20
01:18
Update to current trunk check-in: b287bafe45 user: kbk tags: notworking, kbk-domain-check
2018-03-18
22:56
Create new branch named "kbk-nre" check-in: 7e886a7ca9 user: kbk tags: kbk-nre
22:30
merge trunk check-in: 1cbcf74c81 user: kbk tags: inline
22:29
merge trunk check-in: 0325c2ada8 user: kbk tags: inline
2018-03-15
22:09
Correct broken Markdown formatting in NRE notes check-in: 86584bbbc5 user: kbk tags: trunk
22:08
Correct broken Markdown formatting in NRE notes check-in: 92a74282a4 user: kbk tags: trunk
22:05
Correct broken Markdown formatting in NRE notes check-in: a7fc57b32b user: kbk tags: trunk
21:57
Correct broken Markdown formatting in NRE notes check-in: b2de40ed6f user: kbk tags: trunk
21:56
Add preliminary notes on implementation of NRE check-in: b985f7690a user: kbk tags: trunk
2018-03-11
22:14
Merge: Refactor liveness calculations to a simpler formulation due to Bradner (citation in source code), make it available separate from 'free' insertion, and split out the Conventional-SSA transformation check-in: bbecfe5c48 user: kbk tags: trunk
22:10
Separate out Conventional SSA transformation and add to ssa.tcl. Refactor live range computation so that it can stand alone, and massive refactoring of liveness properties to a much cleaner formulation due to Brandner (cite in the soure code) Closed-Leaf check-in: 0d21027e54 user: kbk tags: kbk-liveness
2018-03-10
23:12
Create new branch named "kbk-liveness" check-in: 66890f0640 user: kbk tags: kbk-liveness
2018-03-04
03:56
Commit changes from trunk to pass both absolute and context-relative line numbers out of the front end. Get correct line numbers after procLeave in inlined procedures. Get correct line numbers in 'fatal' messages. check-in: 82e8e4e276 user: kbk tags: inline
02:49
Pass the line number relative to the enclosing context on the @debug-line directive check-in: 0f2366e18c user: kbk tags: trunk
02:47
Pass the line number relative to the enclosing context on the @debug-line directive Closed-Leaf check-in: 97de78964b user: kbk tags: kbk-dbginfo
02:34
Reopen leaf - need front-end help for procedure-relative line numbers check-in: 348d453899 user: kbk tags: kbk-dbginfo
00:21
Merge in code to track file and procedure context through @debug directives, and to make sure that every basic block is labeled with its proper context. check-in: 8eefa1e572 user: kbk tags: trunk
2018-03-03
23:11
Restore source context on return from inlined procedure check-in: e0efda5f9e user: kbk tags: kbk-dbginfo
2018-02-28
03:35
Create new branch named "kbk-dbginfo" check-in: a06e6a5b52 user: kbk tags: kbk-dbginfo
2018-02-19
18:45
Merge mark check-in: 18c7e4f3eb user: kbk tags: inline
18:44
Merge 'infline' branch - a few more trivial optimizations check-in: 35264fe340 user: kbk tags: trunk
05:27
Temporary hack - follow 'initException' that's known to be a FAIL with 'extractFail' so that downstream code knows the status - avoids excess node splits check-in: 3061db19f1 user: kbk tags: inline
04:01
Merge mark - dovetail merged a tranche of changes into trunk. check-in: 0f30f4eff6 user: kbk tags: inline
04:01
Another tranche of code toward support of inlining: pass the current interpreter result or exception into a 'catch' block explicitly, to enable separation of normal and error paths. Required refactoring of many quadcodes that threw errors, to preserve the error results. check-in: 992e4ebed1 user: kbk tags: trunk
03:55
Flow the current return status into 'returnOptions' and optimize it away if the status is known to be TCL_OK check-in: d6acffc055 user: kbk tags: inline
2018-01-30
02:32
Merge mark - dovetail merged initial tranche of changes for inlining into trunk. check-in: 6bcf0e4e95 user: kbk tags: inline
02:30
Merge first tranche of code devoted to procedure inlining. check-in: a36562ea0b user: kbk tags: trunk
2018-01-27
23:39
Make 'wrong # args' work in varargs handling and enable test check-in: e82c9f4d7d user: kbk tags: inline
2018-01-07
21:01
merge trunk check-in: ee0fedf4cf user: kbk tags: inline
2018-01-04
22:20
No more returnException opcode; we can correctly do everything through plain return now. check-in: c6dc410ca3 user: dkf tags: trunk
20:25
Corrections to [dict update] instruction sequence and narrowing of 'arrayExists'. check-in: cbc1c6e988 user: dkf tags: trunk
2018-01-03
08:22
Gets rid of returnException. Closed-Leaf check-in: f3d6edbe08 user: dkf tags: end-of-returnException
2018-01-02
21:03
Added a demo based on code from comp.lang.tcl Leaf check-in: 0eb2f94f82 user: dkf tags: slkspirit's-demo
18:24
Ensure that the current error code is written back so inlining won't become confused. check-in: 6f8b1b3abc user: dkf tags: trunk
15:53
Separate the part of the proc-exit exception handling sequence that messed with inlining. check-in: a24ef31481 user: dkf tags: trunk
2018-01-01
01:36
Corrections to a comment. check-in: 8f701467e5 user: dkf tags: trunk, minor change
2017-12-29
23:14
merge trunk check-in: b4049cdf41 user: kbk tags: inline
23:08
Add missing dropReference(FAIL IMPURE ZEROONE BOOLEAN) check-in: 49199b2701 user: kbk tags: trunk
2017-12-27
20:19
Some initial sketches toward procedure inlining. check-in: a9a9735747 user: kbk tags: inline
2017-12-25
17:56
Corrections so that errors are reported more usefully. Don't const-fold anything that necessarily interacts with an interp. check-in: a86e497781 user: dkf tags: trunk