summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Jacob Lifshay [Thu, 9 Feb 2023 01:09:51 +0000 (17:09 -0800)]
wip
Jacob Lifshay [Fri, 3 Feb 2023 07:01:05 +0000 (23:01 -0800)]
wrap rest of IR indexes
Jacob Lifshay [Thu, 2 Feb 2023 01:52:50 +0000 (17:52 -0800)]
clean up warnings
Jacob Lifshay [Thu, 2 Feb 2023 01:43:48 +0000 (17:43 -0800)]
fn_new passes fuzzing afaict
Jacob Lifshay [Wed, 1 Feb 2023 23:45:38 +0000 (15:45 -0800)]
merge fuzzer package into workspace
Jacob Lifshay [Sat, 28 Jan 2023 01:19:31 +0000 (17:19 -0800)]
nearly done writing code that generates fuzzing input for reg alloc
Jacob Lifshay [Fri, 27 Jan 2023 06:11:49 +0000 (22:11 -0800)]
LocSet now allows multiple reg_lens simultaneously
Jacob Lifshay [Thu, 26 Jan 2023 02:05:29 +0000 (18:05 -0800)]
wip
Jacob Lifshay [Sat, 21 Jan 2023 01:32:17 +0000 (17:32 -0800)]
start adding fuzzing
Jacob Lifshay [Fri, 20 Jan 2023 07:21:25 +0000 (23:21 -0800)]
Function verification should be complete, no tests yet
Jacob Lifshay [Thu, 19 Jan 2023 02:51:28 +0000 (18:51 -0800)]
working on code
Jacob Lifshay [Tue, 17 Jan 2023 06:59:11 +0000 (22:59 -0800)]
new ra wip
Jacob Lifshay [Mon, 16 Jan 2023 07:04:32 +0000 (23:04 -0800)]
wip adding register_allocator v3
Jacob Lifshay [Sun, 15 Jan 2023 21:36:40 +0000 (13:36 -0800)]
remove redundant license file
COPYING.LGPLv3 and LICENSE were exact copies of each other, remove
COPYING.LGPLv3 since we only need one copy of the license
Jacob Lifshay [Tue, 10 Jan 2023 12:55:58 +0000 (04:55 -0800)]
remove unused code
Jacob Lifshay [Fri, 6 Jan 2023 21:20:11 +0000 (13:20 -0800)]
add DisjointSets, a disjoint-set data structure
Jacob Lifshay [Fri, 16 Dec 2022 10:05:48 +0000 (02:05 -0800)]
rearrange comments to make more sense
Jacob Lifshay [Fri, 16 Dec 2022 10:03:51 +0000 (02:03 -0800)]
optimize LocSet.max_conflicts_with
Jacob Lifshay [Fri, 16 Dec 2022 10:03:18 +0000 (02:03 -0800)]
import dataclasses instead of dataclass
Jacob Lifshay [Fri, 16 Dec 2022 08:22:18 +0000 (00:22 -0800)]
attempt to speed up code
Jacob Lifshay [Fri, 16 Dec 2022 07:16:55 +0000 (23:16 -0800)]
register_allocator works!
Jacob Lifshay [Tue, 13 Dec 2022 10:38:58 +0000 (02:38 -0800)]
working on code some more
Jacob Lifshay [Tue, 13 Dec 2022 08:12:33 +0000 (00:12 -0800)]
working on code
Jacob Lifshay [Fri, 9 Dec 2022 08:06:41 +0000 (00:06 -0800)]
copy-merging works afaict! -- some tests still broken: out-of-date
tests not yet all updated for new register allocator results
Jacob Lifshay [Thu, 8 Dec 2022 08:45:05 +0000 (00:45 -0800)]
WIP: copy merging -- currently broken
currently not merging everything it should
Jacob Lifshay [Thu, 8 Dec 2022 04:58:37 +0000 (20:58 -0800)]
refactor preparing for copy merging
Jacob Lifshay [Tue, 6 Dec 2022 08:43:30 +0000 (00:43 -0800)]
change InterferenceGraph edges to not imply interference
nodes can be only copy-related but not interfering
Jacob Lifshay [Tue, 6 Dec 2022 07:21:49 +0000 (23:21 -0800)]
add pack=true attribute to graphviz graph
Jacob Lifshay [Tue, 6 Dec 2022 07:04:35 +0000 (23:04 -0800)]
add dot graph output for interference graph
Jacob Lifshay [Fri, 2 Dec 2022 07:21:07 +0000 (23:21 -0800)]
remove unused import
Jacob Lifshay [Fri, 2 Dec 2022 07:19:59 +0000 (23:19 -0800)]
add is_copy_related to interference graph edges
Jacob Lifshay [Fri, 2 Dec 2022 05:39:02 +0000 (21:39 -0800)]
finished __mergable_check
Jacob Lifshay [Thu, 1 Dec 2022 08:05:17 +0000 (00:05 -0800)]
working on adding MergedSSAVal.__mergable_check that ensures copy
merging won't merge things that are illegal to merge
Jacob Lifshay [Mon, 28 Nov 2022 07:58:13 +0000 (23:58 -0800)]
fix generated assembly
Jacob Lifshay [Mon, 28 Nov 2022 07:41:18 +0000 (23:41 -0800)]
TOOM-2 multiplication works for all sizes
Jacob Lifshay [Wed, 16 Nov 2022 06:58:14 +0000 (22:58 -0800)]
add general TOOM-2 test
Jacob Lifshay [Wed, 16 Nov 2022 05:03:47 +0000 (21:03 -0800)]
TOOM-2 256x256->512-bit [un]signed*[un]signed mul works!
Jacob Lifshay [Tue, 15 Nov 2022 08:11:21 +0000 (00:11 -0800)]
working on code
Jacob Lifshay [Thu, 10 Nov 2022 07:59:00 +0000 (23:59 -0800)]
simple_mul works with signed/unsigned mul; also made ir repr easier to read
Jacob Lifshay [Wed, 9 Nov 2022 08:31:47 +0000 (00:31 -0800)]
working on adding signed multiplication -- needed for toom-cook
Jacob Lifshay [Wed, 9 Nov 2022 02:18:00 +0000 (18:18 -0800)]
get LocSet hash working correctly
Jacob Lifshay [Tue, 8 Nov 2022 08:00:54 +0000 (00:00 -0800)]
add EvalOpValueRange
Jacob Lifshay [Tue, 8 Nov 2022 07:29:28 +0000 (23:29 -0800)]
add forgotten setup.py develop
Jacob Lifshay [Tue, 8 Nov 2022 07:03:06 +0000 (23:03 -0800)]
remove unused import
Jacob Lifshay [Tue, 8 Nov 2022 07:00:11 +0000 (23:00 -0800)]
rename compiler_ir2.py/register_allocator2.py to compiler_ir.py/register_allocator.py
Jacob Lifshay [Tue, 8 Nov 2022 06:55:51 +0000 (22:55 -0800)]
remove old register allocator and compiler ir
Jacob Lifshay [Tue, 8 Nov 2022 06:53:38 +0000 (22:53 -0800)]
register allocation and simulation works for simple mul 192x192!
Jacob Lifshay [Mon, 7 Nov 2022 10:54:55 +0000 (02:54 -0800)]
working on code
Jacob Lifshay [Mon, 7 Nov 2022 08:23:59 +0000 (00:23 -0800)]
register_allocator2.py works!
Jacob Lifshay [Mon, 7 Nov 2022 02:07:12 +0000 (18:07 -0800)]
working on code -- register_allocator2.py should work... still needs copy merging though
Jacob Lifshay [Sat, 5 Nov 2022 00:30:30 +0000 (17:30 -0700)]
working on code
Jacob Lifshay [Thu, 3 Nov 2022 07:48:39 +0000 (00:48 -0700)]
fix tied input-output equivalence checking
Jacob Lifshay [Thu, 3 Nov 2022 07:38:58 +0000 (00:38 -0700)]
working on code
Jacob Lifshay [Wed, 2 Nov 2022 07:32:00 +0000 (00:32 -0700)]
working on code
Jacob Lifshay [Tue, 1 Nov 2022 06:26:53 +0000 (23:26 -0700)]
working on refactoring register allocator to use new ir
Jacob Lifshay [Tue, 1 Nov 2022 01:51:36 +0000 (18:51 -0700)]
validate that tied outputs are equivalent to their corresponding input
Jacob Lifshay [Tue, 1 Nov 2022 01:03:01 +0000 (18:03 -0700)]
add op.properties to repr tests
Jacob Lifshay [Tue, 1 Nov 2022 00:51:02 +0000 (17:51 -0700)]
wrap line I forgot
Jacob Lifshay [Tue, 1 Nov 2022 00:45:26 +0000 (17:45 -0700)]
add pre_ra_insert_copies
Jacob Lifshay [Tue, 1 Nov 2022 00:43:15 +0000 (17:43 -0700)]
change Op/Ty/SSAVal reprs to be easier to read
Jacob Lifshay [Mon, 31 Oct 2022 09:43:07 +0000 (02:43 -0700)]
pre-ra simulation works with new ir
Jacob Lifshay [Sun, 30 Oct 2022 09:20:48 +0000 (02:20 -0700)]
implement more of new compiler ir
Jacob Lifshay [Sat, 29 Oct 2022 00:55:49 +0000 (17:55 -0700)]
working on new ir
Jacob Lifshay [Fri, 28 Oct 2022 09:24:23 +0000 (02:24 -0700)]
working on rewriting compiler ir to fix reg alloc issues
Jacob Lifshay [Thu, 27 Oct 2022 08:02:11 +0000 (01:02 -0700)]
WIP rewriting compiler IR so regalloc works correctly
Jacob Lifshay [Thu, 27 Oct 2022 08:01:19 +0000 (01:01 -0700)]
add BitSet classes
Jacob Lifshay [Wed, 26 Oct 2022 05:30:46 +0000 (22:30 -0700)]
add misc. stuff
Jacob Lifshay [Wed, 26 Oct 2022 03:01:39 +0000 (20:01 -0700)]
remove unused code I forgot
Jacob Lifshay [Sun, 23 Oct 2022 07:25:43 +0000 (00:25 -0700)]
192x192->384-bit O(n^2) mul works in SSA form, reg-alloc gives incorrect results though
Jacob Lifshay [Thu, 20 Oct 2022 07:17:52 +0000 (00:17 -0700)]
add Toom-2.5
Jacob Lifshay [Thu, 20 Oct 2022 06:46:02 +0000 (23:46 -0700)]
ToomCookInstance works!
Jacob Lifshay [Thu, 20 Oct 2022 03:23:14 +0000 (20:23 -0700)]
make Matrix support element types other than Fraction
Jacob Lifshay [Wed, 19 Oct 2022 09:03:00 +0000 (02:03 -0700)]
fix warning
Jacob Lifshay [Wed, 19 Oct 2022 09:01:16 +0000 (02:01 -0700)]
working on toom-cook multiplication
Jacob Lifshay [Wed, 19 Oct 2022 04:04:30 +0000 (21:04 -0700)]
generating assembly works
Jacob Lifshay [Tue, 18 Oct 2022 07:36:02 +0000 (00:36 -0700)]
working on generating output assembly
Jacob Lifshay [Sat, 15 Oct 2022 00:13:26 +0000 (17:13 -0700)]
add Fn class rather than global for generating op ids
Jacob Lifshay [Fri, 14 Oct 2022 09:50:28 +0000 (02:50 -0700)]
try_allocate_registers_without_spilling works!
Jacob Lifshay [Fri, 14 Oct 2022 08:05:57 +0000 (01:05 -0700)]
test_op_set_to_list works
Jacob Lifshay [Fri, 14 Oct 2022 06:26:09 +0000 (23:26 -0700)]
add FixedGPRRangeType
Jacob Lifshay [Fri, 14 Oct 2022 06:10:53 +0000 (23:10 -0700)]
fix test class name
Jacob Lifshay [Fri, 14 Oct 2022 06:09:38 +0000 (23:09 -0700)]
split compiler IR and register allocator out into their own files
Jacob Lifshay [Fri, 14 Oct 2022 05:52:15 +0000 (22:52 -0700)]
try_allocate_registers_without_spilling is completed, but untested
Jacob Lifshay [Thu, 13 Oct 2022 03:34:41 +0000 (20:34 -0700)]
construct interference graph
Jacob Lifshay [Thu, 13 Oct 2022 02:16:06 +0000 (19:16 -0700)]
fix typo
Jacob Lifshay [Thu, 13 Oct 2022 02:13:07 +0000 (19:13 -0700)]
add test_toom_cook.py to make importing be tested in CI
Jacob Lifshay [Thu, 13 Oct 2022 02:10:14 +0000 (19:10 -0700)]
fix running code
Jacob Lifshay [Thu, 13 Oct 2022 01:36:33 +0000 (18:36 -0700)]
remove plain_data Generic workaround
Jacob Lifshay [Wed, 12 Oct 2022 06:49:59 +0000 (23:49 -0700)]
work on switching algorithms
Jacob Lifshay [Tue, 11 Oct 2022 03:52:31 +0000 (20:52 -0700)]
working on code
Jacob Lifshay [Mon, 10 Oct 2022 23:35:44 +0000 (16:35 -0700)]
change SSAVal to link to defining Op
Jacob Lifshay [Mon, 10 Oct 2022 22:38:21 +0000 (15:38 -0700)]
add EqualitySets
Jacob Lifshay [Sat, 8 Oct 2022 00:34:41 +0000 (17:34 -0700)]
add equality constraints
Jacob Lifshay [Sat, 8 Oct 2022 00:31:47 +0000 (17:31 -0700)]
format code
Jacob Lifshay [Sat, 8 Oct 2022 00:23:09 +0000 (17:23 -0700)]
working on toom_cook.py
Jacob Lifshay [Fri, 7 Oct 2022 04:08:08 +0000 (21:08 -0700)]
started working on toom_cook.py
Jacob Lifshay [Thu, 6 Oct 2022 05:03:33 +0000 (22:03 -0700)]
add Matrix class
Jacob Lifshay [Thu, 6 Oct 2022 02:03:39 +0000 (19:03 -0700)]
initial commit