Timeline

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

50 check-ins occurring around 63a1bf25ffe37dd6.

2018-04-25
00:47
Streamline returnFromInvoke a tiny bit. check-in: 020581c952 user: kbk tags: kbk-nre
2018-04-24
03:39
Use llvmtcl 3.9 (release) features to provide the target platform information before starting to generate code in a module, and to do 'sizeof' and 'alignof' correctly. mrtest::* now compile correctly. check-in: c2b79891aa user: kbk tags: 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: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
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
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
01:09
Added missing 'nre.tcl' check-in: af5efe3e99 user: kbk tags: kbk-nre
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-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-03-19
02:05
Compute NRE requirement for compiled procedures check-in: 4602a634be user: kbk tags: kbk-nre
2018-03-18
23:58
Add NRE indication to the command table. At this point no compilable Core commands require NRE. This is expected to change in the future. check-in: ab0a234378 user: kbk tags: kbk-nre
22:56
Create new branch named "kbk-nre" check-in: 7e886a7ca9 user: kbk tags: kbk-nre