Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/swiftwasm/wasmtime
Standalone JIT-style runtime for WebAsssembly, using Cranelift
https://github.com/swiftwasm/wasmtime
This will be used for converting function return types soon, so
generalize it a bit.
- abi.cton is for testing the actual RISC-V ABI.
- legalize-abi.cton is for testing the legalize...
These low-level functions allow us to build up a list of instruction
results incrementally. They...
This makes it possible to compute the first result of an instruction in
a different way without ...
Instead, just return the first of the detached values, and provide a
next_secondary_result() met...
This better matches the detach_secondary_results cousin.
Also rename the converse put_ebb_arg -...
765c866971926a78d917d3fadcb79b9f21913761 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
The type signatures of functions can change when they are legalized for
a specific ABI. This mea...
This method returns an object that can display an instruction in the
standard textual format, bu...
When the CRETONNE_DBG environment variable is set, send debug messages
to a file named cretonne....
The Python code computing this property had a bug. The property has only
been used for optimizin...
Now that some instruction formats put all of their value arguments in a
value list, we need to k...
a18ad5a306f221ee894eb81ddeba600a11ac228e authored almost 8 years ago by Keith Yeung <[email protected]>
ce1ad378630ecc095d3c5c6f03d73956b5293dab authored almost 8 years ago by Keith Yeung <[email protected]>
e1d17b2acf4d275521b360e0d8509bd6e97a7927 authored almost 8 years ago by Keith Yeung <[email protected]>
c6f8bfff0b2c475631a608b691eaf308f7d8a3c5 authored almost 8 years ago by Keith Yeung <[email protected]>
c190884bca8d9f2fd3818a71c4efc29257a845c7 authored almost 8 years ago by Keith Yeung <[email protected]>
Lots of changes this time.
Worked around what looks like a rustfmt bug in parse_inst_operands w...
32709a56ca8ef31bc15c311f0d56976b782fe26c authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>849f3f3e9bba85612db6bd4f256511678139c50e authored almost 8 years ago by Angus Holder <[email protected]>
This method opens up a hole in the middle of a list where new elements
can be written.
Any code that needs to manipulate a variable argument list on an
instruction will need to remove...
404a88f58197edf93fe3fe4c4c451200f4384207 authored almost 8 years ago by Angus Holder <[email protected]>
27e7945f63f437444d3ca35db464beac4bb59e08 authored almost 8 years ago by Angus Holder <[email protected]>
1ebf0fd81517c70618fc3f058e64f56589c39a63 authored almost 8 years ago by Davide Italiano <[email protected]>
The value_list flag can be inferred from the presence of VARIABLE_ARGS
in the operand list.
The...
1b6702ceba6fdca7c53078c139699a90a73aea68 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Allow some flexibility in the signature matching for instruction
formats. In particular, look fo...
No instruction sets actually have single instructions for materializing
vector constants. You al...
Instruction formats are now identified by a signature that doesn't
include the ordering of value...
Part of the refactoring of instruction formats. This list is now stored
in the instruction itsel...
An instruction format is now seen as having two separate operand lists:
immediates and values. C...
This field is no longer needed. We can use imm_members to get the names
of immediate fields, and...
Use the new Instruction fields instead.
c1fa8fbb61017091bf965fee5425832bddad584d authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
The per-instruction format low-level constructors in InstBuilder should
be independent of the re...
These two tuples contain operand indexes of the explicit value operands
and immediate operands r...
No functional change.
e217b04347c70dd2c3f8afc83341b81abce6f408 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>f4d43101d08bb6e49cf43c088c66cae69125d04c authored almost 8 years ago by Davide Italiano <[email protected]>
Now that variable arguments are always stored in a value list with the
fixed arguments, we no lo...
Make some changes that will make it easier to get rid of the
'value_operands' and 'members' fiel...
Now that all variable_args formats use has_value_list, we can remove
some workarounds that allow...
With the Return and ReturnReg formats converted to using value lists for
storing their arguments...
The Branch format also stores its fixed argument in the value list. This
requires the value pool...
Add a new kind of instruction format that keeps all of its value
arguments in a value list. Thes...
81f26cfbba2c184201ccd3eb74419a25cc0f42d8 authored almost 8 years ago by Angus Holder <[email protected]>
Read the Docs is now using the latest version of Sphinx, so upgrade our
recommended version too....
41e4ea91586520385110c6a4cc8d7686cc1e257c authored almost 8 years ago by Angus Holder <[email protected]>
cfdecfdcbf738a7017aa543a7542265fc77231df authored almost 8 years ago by Angus Holder <[email protected]>
If func.locations has not been properly resized to have an entry for all
values, we should just ...
58756e5d3463749ede0188e37cf0a29d2f2d06e5 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Add a Function::display() method which can include ISA-specific
information when printing the fu...
10f86baf63b1b6fdacc0c9f625cf3dbf0ae98ac0 authored almost 8 years ago by Angus Holder <[email protected]>
a081b09c94fe76208dfb0d59463a29742b657d02 authored almost 8 years ago by Angus Holder <[email protected]>
This was particularly confusing when reading a file with Windows line
endings. The CR would beco...
3578fbc42868bb924ef4162a4b7947a59c2b32ea authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Translate the small integer arguments to i32 or i64 with the appropriate
extend and ireduce inst...
Add support for two new type variable functions: half_vector() and
double_vector().
Use these t...
25677d1bd8b20ac2a10cb1fa7a90783cc7f84a28 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Insert conversion code that reconstructs the original function argument
types from the legalized...
These two methods can be use to rewrite the argument values to an EBB.
In particular, we need to...
Add an abi module with code that is probably useful to all ISAs when
implementing this function....
This entry point will be used for controlling ABI conventions when
legalizing.
Provide an empty...
408395db256db4a51c30647e0784e5633d1253ce authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
The argument locations contains register unit references that we want to
display with their corr...
These functions return an object containing the necessary ISA info to
print a ValueLoc or Argume...
The List and Dict types are no longer implicitly available. They must be
imported from typing.
...
8c5a69eb4727d4fc09d02cdc8c15f89e4aa6ec7e authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>6d3ee32f7b7cd02cbef285069d8a8dff9bbfa71a authored almost 8 years ago by Davide Italiano <[email protected]>
Rust 1.12 did work at one point, but Travis is testing against the
current stable and beta relea...
Fixes #46
7459fee71a85e3cb12507b451308136c03e363b5 authored almost 8 years ago by rep-nop <[email protected]>7edbc90d5e0c9aa65e7e66f25b76b8648a471d02 authored almost 8 years ago by rep-nop <[email protected]>
9f8748ee086351b4e14fc4219fe5793a553949cd authored almost 8 years ago by rep-nop <[email protected]>
077f39d8daae07988c103b200797b3edbb95c1ea authored almost 8 years ago by rep-nop <[email protected]>
Specify the location of arguments as well as the size of stack argument
array needed. The ABI an...
This will be used to amend function signatures with ABI lowering
information.
Fix a few other minor issues with the documentation.
b51cf57e3982d9c204e5fe2b59a3eeb28205ea9a authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>afd42cf9c2a338a7718a5a03440539642f52327c authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
a35d946bc495b8f0f86cbbf3d90003ac55d1ff20 authored almost 8 years ago by Angus Holder <[email protected]>
0b310017b703d3369fdbf32bd6114e76e078afa4 authored almost 8 years ago by Angus Holder <[email protected]>
bf26fffc924fdff0a845dc7fe7c72c451dafc24f authored almost 8 years ago by Angus Holder <[email protected]>
Collect the data structures that hang around between function
compilations.
Provide a main entr...
83571028d951ef1ef6cafa500e15fd90147e250f authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
This is a bare-bones outline of the SSA coloring pass. Many features are
missing, including:
- ...
329e51ac4fb3fadcd66b3d3369a3fd4465c0247e authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>The value locations appear after the encodings:
> [R#0c,%x2] v0 = iadd vx0, vx1
> ...
Run functions through the register allocator, and then filecheck.
4ba5cfeed3cfe447106c7c2f0f934cda25a9c9bf authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>75a426a81212a8d8d98f2d7bb121836f50a36874 authored almost 8 years ago by Angus Holder <[email protected]>
2ec7412a81ca6a06d6674991916941bd689019ac authored almost 8 years ago by Angus Holder <[email protected]>
81a6e343ad884578a8f97c9b181b3529758c3d5f authored almost 8 years ago by Angus Holder <[email protected]>
a4e4776087ac368ee52c8d256478464c1f16b66c authored almost 8 years ago by Angus Holder <[email protected]>
3d0240d2449eb1d5b405dc8cf634fdb32c275ebd authored almost 8 years ago by Angus Holder <[email protected]>
62334b26b4436cf03d798cc9ebe850bc5ed4a68b authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Some polymorphic instructions don't return the controlling type
variable, so it has to be comput...
Register-style return is used by all RISC architectures, so it is
natural to have a shared instr...
When the liveness pass implements dead code elimination, missing live
ranges can be used to indi...
706720eba930b6891016143f1c25fcc975eb2531 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Add a compute() method which can recompute a dominator tree for
different functions.
Add a domi...
fa205d049dcb13d271839b34a61b4fa8f2c23de3 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Move the flow graph computation into a compute method which can be
called with multiple function...
We Don't need to expose the internal control flow graph representation.
793b3a140aba0eda5aa69435f9aebabbe03bd61a authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
This will provide main entry points for compiling functions, and it
serves as a place for keepin...
This is just for better error messages etc.
3072728d375e88e428a1313bc36177bd44533b5c authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
Most of the register allocator algorithms will only have to look at the
currently live values as...
The coloring algorithm needs to process these two types of live values
differently, so we may as...
The struct is just a pair of static references, and we don't need the
double indirection.
8d7756c06b4e24675068335020f41bae391342d5 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>
This lets us iterate over the blocks in a function without holding a
reference to the layout.
Keep track of which values are live and dead as we move through the
instructions in an EBB.
Partition the elements in a mutable slice according to a predicate.
6567eca21ec3448e513f94185699875a9bcfcd57 authored almost 8 years ago by Jakob Stoklund Olesen <[email protected]>