Michael McLoughlin
2d7a9ddb6c
internal/load: rerun code generation
...
Updates #50
2019-01-20 22:43:14 -08:00
Michael McLoughlin
220969f8c8
internal/load: support additional MOVQ forms
...
The Go assembler merges MOVD/MOVQ instruction forms. The logic in the
avo instruction loader was discarding the MOVD forms. This diff should
merge them correctly.
Updates #50
2019-01-20 22:34:52 -08:00
Michael McLoughlin
a23fe8ee57
internal/cmd/asmdecl: standalone asmdecl checker
...
Updates #24
2019-01-13 11:40:47 -08:00
Michael McLoughlin
f77a2e3b9e
printer: use tabwriter to align instructions ( #8 )
2019-01-10 21:21:41 -08:00
Michael McLoughlin
56c962b9aa
lint: switch to linter blacklist
2019-01-09 22:31:14 -08:00
Michael McLoughlin
775226218c
internal/gen: docstrings for instruction builders
...
Piggybacks off the docstrings for constructors in x64 package.
Closes #36
2019-01-06 21:12:15 -08:00
Michael McLoughlin
0f63e0906d
ast: move "ast" types from root to ir sub-package
...
Closes #32
2019-01-06 14:21:10 -08:00
Michael McLoughlin
b6576feee6
internal/test: test Logger helper
...
Provides *log.Logger and io.Writer that will log to a test object.
See golang/go#22513
Helped with #34
2019-01-06 13:30:34 -08:00
Michael McLoughlin
5c67547d67
doc: add package-level doc comments ( #9 )
2019-01-05 17:23:56 -08:00
Michael McLoughlin
7eb55c9ac5
build: doc external symbols ( #9 )
2019-01-05 16:49:59 -08:00
Michael McLoughlin
f4c5957820
internal/opcodes{csv/xml}: doc exported symbols ( #9 )
2019-01-05 14:41:37 -08:00
Michael McLoughlin
cf1739b920
internal/gen: doc exported symbols ( #9 )
2019-01-05 14:12:50 -08:00
Michael McLoughlin
c3a3000908
internal/load: doc exported symbols ( #9 )
2019-01-05 13:45:09 -08:00
Michael McLoughlin
9f1cb70aac
internal/prnt: doc exported symbols ( #9 )
2019-01-05 11:53:35 -08:00
Michael McLoughlin
b0b4b88db4
avogen: package-level comment ( #9 )
2019-01-05 11:46:51 -08:00
Michael McLoughlin
f9a67bb2c0
internal/inst: doc exported symbols ( #9 )
2019-01-05 11:43:59 -08:00
Michael McLoughlin
301d0c137a
internal/stack: helper package for querying stack frames
...
Intended for #5 . Also replaces a helper function in the `printer`
package.
2019-01-04 00:46:27 -08:00
Michael McLoughlin
6d6ff3cfc1
legal: include LICENSEs for data files
...
We depend upon data files from golang arch sub-repo and the Opcodes XML
database (behind PeachPy). This change includes their LICENSE files.
Updates #22
2018-12-31 16:17:44 -08:00
Michael McLoughlin
9fbb71b6db
lint: enable golint
...
Enables golint and fixes function naming errors (operand checks
incorrectly cased).
Fixes #10
2018-12-31 11:20:59 -08:00
Michael McLoughlin
662ae52758
examples: adapt to new const types
2018-12-26 17:08:58 -08:00
Michael McLoughlin
ca5c7e7454
printer: add generated code warnings
2018-12-18 22:57:26 -08:00
Michael McLoughlin
19d1761694
fix couple of tests
2018-12-11 22:35:01 -08:00
Michael McLoughlin
c882e52510
printing: commit some refactors (probably broken)
2018-12-11 00:18:22 -08:00
Michael McLoughlin
271670c14c
avogen: make mov generator deterministic
2018-12-08 22:14:30 -08:00
Michael McLoughlin
69ee0e39cb
parameter loading
2018-12-08 20:14:51 -08:00
Michael McLoughlin
00c50be004
enable some more linters
2018-12-05 00:49:12 -08:00
Michael McLoughlin
b52c67f3fb
pass: naive implementation of liveness
2018-12-02 23:59:29 -08:00
Michael McLoughlin
96a5c5fe1e
ctors: include implicit inputs/outputs
2018-12-02 21:12:56 -08:00
Michael McLoughlin
82b31fa0da
wip: adding instruction inputs and outputs
2018-12-02 17:57:12 -08:00
Michael McLoughlin
43575d8b61
start at some basic passes
2018-12-02 13:51:03 -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
23289963d9
ctorstest: some more variants
2018-11-27 22:11:45 -08:00
Michael McLoughlin
4395adacc8
x86: rel types and generated tests
2018-11-27 22:08:11 -08:00
Michael McLoughlin
bed7e7e2c2
stub operand checks
2018-11-26 10:13:04 -08:00
Michael McLoughlin
af02be06ba
add skeleton for instruction constructors
2018-11-25 21:50:46 -08:00
Michael McLoughlin
4dcfed6e16
add instruction arities function
2018-11-25 18:25:51 -08:00
Michael McLoughlin
09848512cc
add -bootstrap option to avogen
2018-11-25 17:11:24 -08:00
Michael McLoughlin
0694ebab9b
ensure all stdlib opcodes are present
2018-11-25 16:22:02 -08:00
Michael McLoughlin
6d3e3be578
generate test to ensure code generation worked
2018-11-24 17:53:17 -08:00
Michael McLoughlin
0edbdb064f
supporting more instructions seen in stdlib
2018-11-24 17:32:18 -08:00
Michael McLoughlin
a70227cbe3
test for stdlib opcodes
2018-11-24 14:55:51 -08:00
Michael McLoughlin
898d66c585
test asmtest with instruction list
2018-11-24 14:20:04 -08:00
Michael McLoughlin
bec73ca7a1
basic instruction properties
2018-11-24 14:08:55 -08:00
Michael McLoughlin
70dcf2b611
generate the instruction table
2018-11-24 13:47:30 -08:00
Michael McLoughlin
f1e1da6387
refactors to code generation
2018-11-24 13:00:27 -08:00
Michael McLoughlin
4571841ee5
fix implicit operands
2018-11-23 23:48:47 -08:00
Michael McLoughlin
4e059c258b
import isa and implicit operands
2018-11-23 17:14:18 -06:00
Michael McLoughlin
86373c79ee
load: handle MOVABS special case
2018-11-23 16:14:05 -06:00
Michael McLoughlin
2f7c14f061
loadertest: more vm* operands
2018-11-23 15:31:12 -06:00