Timeline

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

30 most recent check-ins

2018-04-20
02:26
Add NRE test that throws error Leaf check-in: fcf84a8631 user: kbk tags: 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: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. Leaf 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
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
04:17
More purges of uniqueUndef check-in: c9c75024dc user: kbk tags: kbk-phi-reform
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:12
Remove one llvm.lifetime call that is incompatible with LLVM5 check-in: d3b289185c user: kbk tags: kbk-phi-reform
19:03
Create new branch named "kbk-phi-reform" check-in: f1141ea3b4 user: kbk tags: kbk-phi-reform
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: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-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-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