bigint-presentation-code.git
19 months agowip
Jacob Lifshay [Thu, 16 Feb 2023 03:59:39 +0000 (19:59 -0800)]
wip

19 months agowip
Jacob Lifshay [Thu, 9 Feb 2023 01:09:51 +0000 (17:09 -0800)]
wip

19 months agowrap rest of IR indexes
Jacob Lifshay [Fri, 3 Feb 2023 07:01:05 +0000 (23:01 -0800)]
wrap rest of IR indexes

19 months agoclean up warnings
Jacob Lifshay [Thu, 2 Feb 2023 01:52:50 +0000 (17:52 -0800)]
clean up warnings

19 months agofn_new passes fuzzing afaict
Jacob Lifshay [Thu, 2 Feb 2023 01:43:48 +0000 (17:43 -0800)]
fn_new passes fuzzing afaict

19 months agomerge fuzzer package into workspace
Jacob Lifshay [Wed, 1 Feb 2023 23:45:38 +0000 (15:45 -0800)]
merge fuzzer package into workspace

19 months agonearly done writing code that generates fuzzing input for reg alloc
Jacob Lifshay [Sat, 28 Jan 2023 01:19:31 +0000 (17:19 -0800)]
nearly done writing code that generates fuzzing input for reg alloc

19 months agoLocSet now allows multiple reg_lens simultaneously
Jacob Lifshay [Fri, 27 Jan 2023 06:11:49 +0000 (22:11 -0800)]
LocSet now allows multiple reg_lens simultaneously

19 months agowip
Jacob Lifshay [Thu, 26 Jan 2023 02:05:29 +0000 (18:05 -0800)]
wip

20 months agostart adding fuzzing
Jacob Lifshay [Sat, 21 Jan 2023 01:32:17 +0000 (17:32 -0800)]
start adding fuzzing

20 months agoFunction verification should be complete, no tests yet
Jacob Lifshay [Fri, 20 Jan 2023 07:21:25 +0000 (23:21 -0800)]
Function verification should be complete, no tests yet

20 months agoworking on code
Jacob Lifshay [Thu, 19 Jan 2023 02:51:28 +0000 (18:51 -0800)]
working on code

20 months agonew ra wip
Jacob Lifshay [Tue, 17 Jan 2023 06:59:11 +0000 (22:59 -0800)]
new ra wip

20 months agowip adding register_allocator v3
Jacob Lifshay [Mon, 16 Jan 2023 07:04:32 +0000 (23:04 -0800)]
wip adding register_allocator v3

20 months agoremove redundant license file
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

20 months agoremove unused code
Jacob Lifshay [Tue, 10 Jan 2023 12:55:58 +0000 (04:55 -0800)]
remove unused code

20 months agoadd DisjointSets, a disjoint-set data structure
Jacob Lifshay [Fri, 6 Jan 2023 21:20:11 +0000 (13:20 -0800)]
add DisjointSets, a disjoint-set data structure

21 months agorearrange comments to make more sense
Jacob Lifshay [Fri, 16 Dec 2022 10:05:48 +0000 (02:05 -0800)]
rearrange comments to make more sense

21 months agooptimize LocSet.max_conflicts_with
Jacob Lifshay [Fri, 16 Dec 2022 10:03:51 +0000 (02:03 -0800)]
optimize LocSet.max_conflicts_with

21 months agoimport dataclasses instead of dataclass
Jacob Lifshay [Fri, 16 Dec 2022 10:03:18 +0000 (02:03 -0800)]
import dataclasses instead of dataclass

21 months agoattempt to speed up code
Jacob Lifshay [Fri, 16 Dec 2022 08:22:18 +0000 (00:22 -0800)]
attempt to speed up code

21 months agoregister_allocator works!
Jacob Lifshay [Fri, 16 Dec 2022 07:16:55 +0000 (23:16 -0800)]
register_allocator works!

21 months agoworking on code some more
Jacob Lifshay [Tue, 13 Dec 2022 10:38:58 +0000 (02:38 -0800)]
working on code some more

21 months agoworking on code
Jacob Lifshay [Tue, 13 Dec 2022 08:12:33 +0000 (00:12 -0800)]
working on code

21 months agocopy-merging works afaict! -- some tests still broken: out-of-date
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

21 months agoWIP: copy merging -- currently broken
Jacob Lifshay [Thu, 8 Dec 2022 08:45:05 +0000 (00:45 -0800)]
WIP: copy merging -- currently broken

currently not merging everything it should

21 months agorefactor preparing for copy merging
Jacob Lifshay [Thu, 8 Dec 2022 04:58:37 +0000 (20:58 -0800)]
refactor preparing for copy merging

21 months agochange InterferenceGraph edges to not imply interference
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

21 months agoadd pack=true attribute to graphviz graph
Jacob Lifshay [Tue, 6 Dec 2022 07:21:49 +0000 (23:21 -0800)]
add pack=true attribute to graphviz graph

21 months agoadd dot graph output for interference graph
Jacob Lifshay [Tue, 6 Dec 2022 07:04:35 +0000 (23:04 -0800)]
add dot graph output for interference graph

21 months agoremove unused import
Jacob Lifshay [Fri, 2 Dec 2022 07:21:07 +0000 (23:21 -0800)]
remove unused import

21 months agoadd is_copy_related to interference graph edges
Jacob Lifshay [Fri, 2 Dec 2022 07:19:59 +0000 (23:19 -0800)]
add is_copy_related to interference graph edges

21 months agofinished __mergable_check
Jacob Lifshay [Fri, 2 Dec 2022 05:39:02 +0000 (21:39 -0800)]
finished __mergable_check

21 months agoworking on adding MergedSSAVal.__mergable_check that ensures copy
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

21 months agofix generated assembly
Jacob Lifshay [Mon, 28 Nov 2022 07:58:13 +0000 (23:58 -0800)]
fix generated assembly

21 months agoTOOM-2 multiplication works for all sizes
Jacob Lifshay [Mon, 28 Nov 2022 07:41:18 +0000 (23:41 -0800)]
TOOM-2 multiplication works for all sizes

22 months agoadd general TOOM-2 test
Jacob Lifshay [Wed, 16 Nov 2022 06:58:14 +0000 (22:58 -0800)]
add general TOOM-2 test

22 months agoTOOM-2 256x256->512-bit [un]signed*[un]signed mul works!
Jacob Lifshay [Wed, 16 Nov 2022 05:03:47 +0000 (21:03 -0800)]
TOOM-2 256x256->512-bit [un]signed*[un]signed mul works!

22 months agoworking on code
Jacob Lifshay [Tue, 15 Nov 2022 08:11:21 +0000 (00:11 -0800)]
working on code

22 months agosimple_mul works with signed/unsigned mul; also made ir repr easier to read
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

22 months agoworking on adding signed multiplication -- needed for toom-cook
Jacob Lifshay [Wed, 9 Nov 2022 08:31:47 +0000 (00:31 -0800)]
working on adding signed multiplication -- needed for toom-cook

22 months agoget LocSet hash working correctly
Jacob Lifshay [Wed, 9 Nov 2022 02:18:00 +0000 (18:18 -0800)]
get LocSet hash working correctly

22 months agoadd EvalOpValueRange
Jacob Lifshay [Tue, 8 Nov 2022 08:00:54 +0000 (00:00 -0800)]
add EvalOpValueRange

22 months agoadd forgotten setup.py develop
Jacob Lifshay [Tue, 8 Nov 2022 07:29:28 +0000 (23:29 -0800)]
add forgotten setup.py develop

22 months agoremove unused import
Jacob Lifshay [Tue, 8 Nov 2022 07:03:06 +0000 (23:03 -0800)]
remove unused import

22 months agorename compiler_ir2.py/register_allocator2.py to compiler_ir.py/register_allocator.py
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

22 months agoremove old register allocator and compiler ir
Jacob Lifshay [Tue, 8 Nov 2022 06:55:51 +0000 (22:55 -0800)]
remove old register allocator and compiler ir

22 months agoregister allocation and simulation works for simple mul 192x192!
Jacob Lifshay [Tue, 8 Nov 2022 06:53:38 +0000 (22:53 -0800)]
register allocation and simulation works for simple mul 192x192!

22 months agoworking on code
Jacob Lifshay [Mon, 7 Nov 2022 10:54:55 +0000 (02:54 -0800)]
working on code

22 months agoregister_allocator2.py works!
Jacob Lifshay [Mon, 7 Nov 2022 08:23:59 +0000 (00:23 -0800)]
register_allocator2.py works!

22 months agoworking on code -- register_allocator2.py should work... still needs copy merging...
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

22 months agoworking on code
Jacob Lifshay [Sat, 5 Nov 2022 00:30:30 +0000 (17:30 -0700)]
working on code

22 months agofix tied input-output equivalence checking
Jacob Lifshay [Thu, 3 Nov 2022 07:48:39 +0000 (00:48 -0700)]
fix tied input-output equivalence checking

22 months agoworking on code
Jacob Lifshay [Thu, 3 Nov 2022 07:38:58 +0000 (00:38 -0700)]
working on code

22 months agoworking on code
Jacob Lifshay [Wed, 2 Nov 2022 07:32:00 +0000 (00:32 -0700)]
working on code

22 months agoworking on refactoring register allocator to use new ir
Jacob Lifshay [Tue, 1 Nov 2022 06:26:53 +0000 (23:26 -0700)]
working on refactoring register allocator to use new ir

22 months agovalidate that tied outputs are equivalent to their corresponding input
Jacob Lifshay [Tue, 1 Nov 2022 01:51:36 +0000 (18:51 -0700)]
validate that tied outputs are equivalent to their corresponding input

22 months agoadd op.properties to repr tests
Jacob Lifshay [Tue, 1 Nov 2022 01:03:01 +0000 (18:03 -0700)]
add op.properties to repr tests

22 months agowrap line I forgot
Jacob Lifshay [Tue, 1 Nov 2022 00:51:02 +0000 (17:51 -0700)]
wrap line I forgot

22 months agoadd pre_ra_insert_copies
Jacob Lifshay [Tue, 1 Nov 2022 00:45:26 +0000 (17:45 -0700)]
add pre_ra_insert_copies

22 months agochange Op/Ty/SSAVal reprs to be easier to read
Jacob Lifshay [Tue, 1 Nov 2022 00:43:15 +0000 (17:43 -0700)]
change Op/Ty/SSAVal reprs to be easier to read

22 months agopre-ra simulation works with new ir
Jacob Lifshay [Mon, 31 Oct 2022 09:43:07 +0000 (02:43 -0700)]
pre-ra simulation works with new ir

22 months agoimplement more of new compiler ir
Jacob Lifshay [Sun, 30 Oct 2022 09:20:48 +0000 (02:20 -0700)]
implement more of new compiler ir

22 months agoworking on new ir
Jacob Lifshay [Sat, 29 Oct 2022 00:55:49 +0000 (17:55 -0700)]
working on new ir

22 months agoworking on rewriting compiler ir to fix reg alloc issues
Jacob Lifshay [Fri, 28 Oct 2022 09:24:23 +0000 (02:24 -0700)]
working on rewriting compiler ir to fix reg alloc issues

22 months agoWIP rewriting compiler IR so regalloc works correctly
Jacob Lifshay [Thu, 27 Oct 2022 08:02:11 +0000 (01:02 -0700)]
WIP rewriting compiler IR so regalloc works correctly

22 months agoadd BitSet classes
Jacob Lifshay [Thu, 27 Oct 2022 08:01:19 +0000 (01:01 -0700)]
add BitSet classes

22 months agoadd misc. stuff
Jacob Lifshay [Wed, 26 Oct 2022 05:30:46 +0000 (22:30 -0700)]
add misc. stuff

22 months agoremove unused code I forgot
Jacob Lifshay [Wed, 26 Oct 2022 03:01:39 +0000 (20:01 -0700)]
remove unused code I forgot

23 months ago192x192->384-bit O(n^2) mul works in SSA form, reg-alloc gives incorrect results...
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

23 months agoadd Toom-2.5
Jacob Lifshay [Thu, 20 Oct 2022 07:17:52 +0000 (00:17 -0700)]
add Toom-2.5

23 months agoToomCookInstance works!
Jacob Lifshay [Thu, 20 Oct 2022 06:46:02 +0000 (23:46 -0700)]
ToomCookInstance works!

23 months agomake Matrix support element types other than Fraction
Jacob Lifshay [Thu, 20 Oct 2022 03:23:14 +0000 (20:23 -0700)]
make Matrix support element types other than Fraction

23 months agofix warning
Jacob Lifshay [Wed, 19 Oct 2022 09:03:00 +0000 (02:03 -0700)]
fix warning

23 months agoworking on toom-cook multiplication
Jacob Lifshay [Wed, 19 Oct 2022 09:01:16 +0000 (02:01 -0700)]
working on toom-cook multiplication

23 months agogenerating assembly works
Jacob Lifshay [Wed, 19 Oct 2022 04:04:30 +0000 (21:04 -0700)]
generating assembly works

23 months agoworking on generating output assembly
Jacob Lifshay [Tue, 18 Oct 2022 07:36:02 +0000 (00:36 -0700)]
working on generating output assembly

23 months agoadd Fn class rather than global for generating op ids
Jacob Lifshay [Sat, 15 Oct 2022 00:13:26 +0000 (17:13 -0700)]
add Fn class rather than global for generating op ids

23 months agotry_allocate_registers_without_spilling works!
Jacob Lifshay [Fri, 14 Oct 2022 09:50:28 +0000 (02:50 -0700)]
try_allocate_registers_without_spilling works!

23 months agotest_op_set_to_list works
Jacob Lifshay [Fri, 14 Oct 2022 08:05:57 +0000 (01:05 -0700)]
test_op_set_to_list works

23 months agoadd FixedGPRRangeType
Jacob Lifshay [Fri, 14 Oct 2022 06:26:09 +0000 (23:26 -0700)]
add FixedGPRRangeType

23 months agofix test class name
Jacob Lifshay [Fri, 14 Oct 2022 06:10:53 +0000 (23:10 -0700)]
fix test class name

23 months agosplit compiler IR and register allocator out into their own files
Jacob Lifshay [Fri, 14 Oct 2022 06:09:38 +0000 (23:09 -0700)]
split compiler IR and register allocator out into their own files

23 months agotry_allocate_registers_without_spilling is completed, but untested
Jacob Lifshay [Fri, 14 Oct 2022 05:52:15 +0000 (22:52 -0700)]
try_allocate_registers_without_spilling is completed, but untested

23 months agoconstruct interference graph
Jacob Lifshay [Thu, 13 Oct 2022 03:34:41 +0000 (20:34 -0700)]
construct interference graph

23 months agofix typo
Jacob Lifshay [Thu, 13 Oct 2022 02:16:06 +0000 (19:16 -0700)]
fix typo

23 months agoadd test_toom_cook.py to make importing be tested in CI
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

23 months agofix running code
Jacob Lifshay [Thu, 13 Oct 2022 02:10:14 +0000 (19:10 -0700)]
fix running code

23 months agoremove plain_data Generic workaround
Jacob Lifshay [Thu, 13 Oct 2022 01:36:33 +0000 (18:36 -0700)]
remove plain_data Generic workaround

23 months agowork on switching algorithms
Jacob Lifshay [Wed, 12 Oct 2022 06:49:59 +0000 (23:49 -0700)]
work on switching algorithms

23 months agoworking on code
Jacob Lifshay [Tue, 11 Oct 2022 03:52:31 +0000 (20:52 -0700)]
working on code

23 months agochange SSAVal to link to defining Op
Jacob Lifshay [Mon, 10 Oct 2022 23:35:44 +0000 (16:35 -0700)]
change SSAVal to link to defining Op

23 months agoadd EqualitySets
Jacob Lifshay [Mon, 10 Oct 2022 22:38:21 +0000 (15:38 -0700)]
add EqualitySets

23 months agoadd equality constraints
Jacob Lifshay [Sat, 8 Oct 2022 00:34:41 +0000 (17:34 -0700)]
add equality constraints

23 months agoformat code
Jacob Lifshay [Sat, 8 Oct 2022 00:31:47 +0000 (17:31 -0700)]
format code

23 months agoworking on toom_cook.py
Jacob Lifshay [Sat, 8 Oct 2022 00:23:09 +0000 (17:23 -0700)]
working on toom_cook.py

23 months agostarted working on toom_cook.py
Jacob Lifshay [Fri, 7 Oct 2022 04:08:08 +0000 (21:08 -0700)]
started working on toom_cook.py

23 months agoadd Matrix class
Jacob Lifshay [Thu, 6 Oct 2022 05:03:33 +0000 (22:03 -0700)]
add Matrix class

23 months agoinitial commit
Jacob Lifshay [Thu, 6 Oct 2022 02:03:39 +0000 (19:03 -0700)]
initial commit