Jakob Stoklund Olesen
cb3e503f07
Use ISA information to display function signatures.
...
The argument locations contains register unit references that we want to
display with their correct names.
2017-03-03 10:58:45 -08:00
Jakob Stoklund Olesen
99c7e18fbf
Add {ValueLoc,ArgumentLoc}::display().
...
These functions return an object containing the necessary ISA info to
print a ValueLoc or ArgumentLoc correctly.
2017-03-03 10:56:32 -08:00
Jakob Stoklund Olesen
00772fb6c4
Add {ValueLoc,ArgumentLoc}::display().
...
These functions return an object containing the necessary ISA info to
print a ValueLoc or ArgumentLoc correctly.
2017-03-03 10:56:32 -08:00
Jakob Stoklund Olesen
c01ff670ed
Fixed for mypy 0.501.
...
The List and Dict types are no longer implicitly available. They must be
imported from typing.
Type annotations must appear before the doc comment in a function. Also
fix type errors in these functions that weren't detected before.
2017-03-03 09:08:28 -08:00
Jakob Stoklund Olesen
8c5a69eb47
Fixed for mypy 0.501.
...
The List and Dict types are no longer implicitly available. They must be
imported from typing.
Type annotations must appear before the doc comment in a function. Also
fix type errors in these functions that weren't detected before.
2017-03-03 09:08:28 -08:00
Davide Italiano
5170219125
[EntityList] Fix typo. No functional change.
2017-02-28 12:43:53 -08:00
Davide Italiano
6d3ee32f7b
[EntityList] Fix typo. No functional change.
2017-02-28 12:43:53 -08:00
Jakob Stoklund Olesen
1f76521580
Require a current Rust version.
...
Rust 1.12 did work at one point, but Travis is testing against the
current stable and beta releases, so that is the only versions we can
claim to support.
Fixes #51 .
2017-02-27 15:03:06 -08:00
Jakob Stoklund Olesen
8616db60dc
Require a current Rust version.
...
Rust 1.12 did work at one point, but Travis is testing against the
current stable and beta releases, so that is the only versions we can
claim to support.
Fixes #51 .
2017-02-27 15:03:06 -08:00
rep-nop
0bc27fca9a
Fixes error on propagating a Result<()> with the ? operator
2017-02-26 07:50:55 -08:00
rep-nop
077f39d8da
Fixes error on propagating a Result<()> with the ? operator
2017-02-26 07:50:55 -08:00
rep-nop
9f00a40b52
Ran rustfmt
2017-02-26 07:50:55 -08:00
rep-nop
7edbc90d5e
Ran rustfmt
2017-02-26 07:50:55 -08:00
rep-nop
af3f4703b9
Fixes formatting for settings.rs
2017-02-26 07:50:55 -08:00
rep-nop
9f8748ee08
Fixes formatting for settings.rs
2017-02-26 07:50:55 -08:00
rep-nop
b23f1fb347
Converts all try! macros to ? syntax.
...
Fixes #46
2017-02-26 07:50:55 -08:00
rep-nop
7459fee71a
Converts all try! macros to ? syntax.
...
Fixes #46
2017-02-26 07:50:55 -08:00
Jakob Stoklund Olesen
cf5701b137
Add ABI annotations to function signatures.
...
Specify the location of arguments as well as the size of stack argument
array needed. The ABI annotations are optional, just like the value
locations.
Remove the Eq implementation for Signature which was only used by a
single parser test.
2017-02-24 13:53:46 -08:00
Jakob Stoklund Olesen
c8be39fa9d
Add ABI annotations to function signatures.
...
Specify the location of arguments as well as the size of stack argument
array needed. The ABI annotations are optional, just like the value
locations.
Remove the Eq implementation for Signature which was only used by a
single parser test.
2017-02-24 13:53:46 -08:00
Jakob Stoklund Olesen
cf7a729dc1
Add an ArgumentLoc data type.
...
This will be used to amend function signatures with ABI lowering
information.
2017-02-24 12:09:24 -08:00
Jakob Stoklund Olesen
15e0822ac3
Add an ArgumentLoc data type.
...
This will be used to amend function signatures with ABI lowering
information.
2017-02-24 12:09:24 -08:00
Jakob Stoklund Olesen
aa7e349134
Add a section about implementation limits.
...
Fix a few other minor issues with the documentation.
2017-02-24 11:08:15 -08:00
Jakob Stoklund Olesen
b51cf57e39
Add a section about implementation limits.
...
Fix a few other minor issues with the documentation.
2017-02-24 11:08:15 -08:00
Jakob Stoklund Olesen
db9e4ea979
Convert try! to ? in extfunc.rs
2017-02-24 10:33:08 -08:00
Jakob Stoklund Olesen
afd42cf9c2
Convert try! to ? in extfunc.rs
2017-02-24 10:33:08 -08:00
Angus Holder
65efefff38
Shortened comment to pass lint.
2017-02-23 09:22:16 -08:00
Angus Holder
bf26fffc92
Shortened comment to pass lint.
2017-02-23 09:22:16 -08:00
Angus Holder
54a53b7ab7
Added tests, some fixes.
2017-02-23 09:22:16 -08:00
Angus Holder
a35d946bc4
Added tests, some fixes.
2017-02-23 09:22:16 -08:00
Angus Holder
a08e177595
Lexer can now scan names, hex sequences, brackets and minus signs.
2017-02-23 09:22:16 -08:00
Angus Holder
0b310017b7
Lexer can now scan names, hex sequences, brackets and minus signs.
2017-02-23 09:22:16 -08:00
Jakob Stoklund Olesen
04bddd73ba
Add a 'regalloc' filetest command.
...
Run functions through the register allocator, and then filecheck.
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
4ba5cfeed3
Add a 'regalloc' filetest command.
...
Run functions through the register allocator, and then filecheck.
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
247be57042
Also write out register assignments in write_instruction.
...
The value locations appear after the encodings:
> [R#0c,%x2] v0 = iadd vx0, vx1
> [Iret#19] return_reg v0
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
ccda0a192c
Also write out register assignments in write_instruction.
...
The value locations appear after the encodings:
> [R#0c,%x2] v0 = iadd vx0, vx1
> [Iret#19] return_reg v0
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
bf9cf09622
Add a register allocation context module.
...
Collect the data structures that hang around between function
compilations.
Provide a main entry point to the register allocator passes.
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
83571028d9
Add a register allocation context module.
...
Collect the data structures that hang around between function
compilations.
Provide a main entry point to the register allocator passes.
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
8e421d666d
SSA register coloring pass.
...
This is a bare-bones outline of the SSA coloring pass. Many features are
missing, including:
- Handling instruction operand constraints beyond simple register
classes.
- Handling ABI requirements for function arguments and return values.
- Generating shuffle code for EBB arguments.
2017-02-22 11:53:01 -08:00
Jakob Stoklund Olesen
329e51ac4f
SSA register coloring pass.
...
This is a bare-bones outline of the SSA coloring pass. Many features are
missing, including:
- Handling instruction operand constraints beyond simple register
classes.
- Handling ABI requirements for function arguments and return values.
- Generating shuffle code for EBB arguments.
2017-02-22 11:53:01 -08:00
Angus Holder
1e4096b8b8
Removed unnecessary documentation.
2017-02-22 10:22:08 -08:00
Angus Holder
2ec7412a81
Removed unnecessary documentation.
2017-02-22 10:22:08 -08:00
Angus Holder
b2a3b34022
Add assertion that the NonZero optimization works on Option<Opcode>.
2017-02-22 10:22:08 -08:00
Angus Holder
81a6e343ad
Add assertion that the NonZero optimization works on Option<Opcode>.
2017-02-22 10:22:08 -08:00
Angus Holder
41ca00df8d
Fix test case that I missed before.
2017-02-22 10:22:08 -08:00
Angus Holder
75a426a812
Fix test case that I missed before.
2017-02-22 10:22:08 -08:00
Angus Holder
e002011602
Removed the Opcode::NotAnOpcode variant, replaced its uses with Option<Opcode>, and used the NonZero optimization to maintain the small 1-byte size of an optional Opcode.
2017-02-22 10:22:08 -08:00
Angus Holder
a4e4776087
Removed the Opcode::NotAnOpcode variant, replaced its uses with Option<Opcode>, and used the NonZero optimization to maintain the small 1-byte size of an optional Opcode.
2017-02-22 10:22:08 -08:00
Angus Holder
855c429d31
Documentation fix for what appears to be a minor copy-paste mistake.
2017-02-22 09:33:17 -08:00
Angus Holder
3d0240d244
Documentation fix for what appears to be a minor copy-paste mistake.
2017-02-22 09:33:17 -08:00
Jakob Stoklund Olesen
377550b835
Add return_reg encodings for RISC-V.
2017-02-21 16:29:23 -08:00