Michael McLoughlin
602bb5197c
build: unify Label function signatures
...
The Context.Label method and LABEL global function did not agree. Also
breaks the convention I'd like to set that capitalized functions must
agree with existing Go assembly syntax.
To help avoid a conflict with `avo.Label`, attributes were moved to
their own package.
Fixes #35
2019-01-05 18:18:49 -08:00
Michael McLoughlin
24ca3eae08
.: doc exported symbols ( #9 )
2019-01-05 00:31:50 -08:00
Michael McLoughlin
6202c2c9aa
ast,build: add build constraints to File
...
Updates #3
2019-01-02 21:35:17 -08:00
Michael McLoughlin
816fa4c0e6
ast,build: allow setting data attributes
...
Previously GLOBL/DATA attributes are set to RODATA. This diff removes
that default and allows them to be set through the DataAttributes
context method.
Updates #2
2018-12-31 19:04:14 -08:00
Michael McLoughlin
c62e40f8d2
pass: add textflags.h if required
...
Closes #12
2018-12-31 00:23:27 -08:00
Michael McLoughlin
4aaf6bc7ed
ast,printer: add Includes field to File
...
Updates #12
2018-12-31 00:08:54 -08:00
Michael McLoughlin
e364d6398e
ast,build: add Attributes fields to Function and Global
...
Updates #2
2018-12-30 23:35:54 -08:00
Michael McLoughlin
9f5277bf8e
support docstrings
2018-12-27 23:01:32 -08:00
Michael McLoughlin
9243d299e6
first pass at DATA sections
2018-12-27 11:57:46 -08:00
Michael McLoughlin
d29c6340d7
ast: change file to have a list of sections
2018-12-26 18:58:12 -08:00
Michael McLoughlin
f464082484
examples/sha1: single block
2018-12-21 00:30:59 -08:00
Michael McLoughlin
5431f2edef
support signatures and param load/stores
2018-12-08 21:16:03 -08:00
Michael McLoughlin
bbbf6399a1
gotypes: saving progress (temporarily broken tests)
2018-12-07 18:37:42 -08:00
Michael McLoughlin
c86ef5ecae
gotypes
2018-12-06 21:58:51 -08:00
Michael McLoughlin
fa18d7229f
address some lint
2018-12-05 00:27:42 -08:00
Michael McLoughlin
022cbb7792
pass: first attempt at register allocation
2018-12-05 00:05:57 -08:00
Michael McLoughlin
9376a230cf
refactor to use reg.Set
2018-12-03 22:39:43 -08:00
Michael McLoughlin
b52c67f3fb
pass: naive implementation of liveness
2018-12-02 23:59:29 -08:00
Michael McLoughlin
7d4e18f4f4
ast: {Input,Output}Registers()
2018-12-02 22:29:30 -08:00
Michael McLoughlin
82b31fa0da
wip: adding instruction inputs and outputs
2018-12-02 17:57:12 -08:00
Michael McLoughlin
bc7d0fa410
pass: cfg tests
2018-12-02 13:51:03 -08:00
Michael McLoughlin
43575d8b61
start at some basic passes
2018-12-02 13:51:03 -08:00
Michael McLoughlin
0ba8a60ea5
add label type
2018-11-30 21:37:17 -08:00
Michael McLoughlin
9b9f5b7e0c
first pass at a "builder" interface
2018-11-30 20:43:31 -08:00
Michael McLoughlin
b65b6c02b8
return a basic instruction object
2018-11-27 22:38:53 -08:00
Michael McLoughlin
7c2990754f
wip
2018-11-20 11:44:44 -06:00
Michael McLoughlin
5fb985ad23
sketch
2018-11-06 21:10:54 -05:00