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
f2c7a1d57b192420bd41aa6c6bfce97c84b4e6ee authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
There's 4 classes of variables, depending on whether they have defs in
the source and destinatio...
Any Apply objects in the input are converted to Defs with empty def
lists.
The 'fpromote' instruction was renamed from 'fcvt_ftof', but the name
argument was not changed.
0b7010e3670352554ecdda433974fa9e9df851d6 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
bfeb9e483970abfe0bac578745d8efe0142c95a1 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
The check.sh script always runs the Python unittests with 'python', but
if 'python3' is in the p...
c2dc400572a69fae75e782ed54ebfb24e22ef72c authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
de109103242b6f93b62a8761f77d4bddb879db0c authored about 8 years ago by Benjamin Bouvier <[email protected]>
409ce915130747279a7531d22047e8abe7b6aed8 authored about 8 years ago by Sean Gillespie <[email protected]>
72479b53ff48a81e24e69d684166c76915bd97e9 authored about 8 years ago by Joel Gallant <[email protected]>
2cb126341b2b12861857e568642b866c7284fca9 authored about 8 years ago by Benjamin Bouvier <[email protected]>
2fa707bc4fa782bca4dc5807fe92c30c001c3c11 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
3da569de06f5d8e6c9e02b6e03361e50c49f004e authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
7b3160dbbbabcf593c21d23841cf912366a804ae authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
77cc9623802d3371b6cf123b705b1eac10f40a61 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
This is a work in progress. The 'legalizer.rs' file generated by
gen_legalizer.py is not used fo...
The InstructionFormat objects make their non-value operands available as
FormatField attributes ...
The Python tools pyliint, flake8, and mypy are only run if they exist in
$PATH.
Along with the mypy tool, this helps find bugs in the Python code
handling the instruction defin...
After rearranging the directory layout, some paths in documentation
needed updating.
Fix some t...
b6ff2621f988834e6b1fa7947d5561e30b428f70 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
A extended value can now be changed to a third form: An alias of another
value. This is like a c...
Polymorphic single-result instructions don't always return the
controlling type variable as thei...
This makes it possible to use literal integers as arguments to
InstBuilder methods.
All scalar types are mapped to b1 which is usually what you want for a
scalar. Vector types have...
This given us better symmetry between the replace and insert builder operations:
dfg.replac...
6aa3e4594af497f3b74e003fa91186c50e1bc1fc authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
The copy/spill/fill instructions will be used by the register allocator
for splitting live range...
The DataFlowGraph::replace(inst) method returns an instruction builder
that will replace an inst...
This instruction builder inserts an instruction at the cursor position.
We'll add other kinds of...
All the InstrBuilder methods now consume the builder, and the non-leaf
methods return the dfg mu...
Rewrite Builder uses in test cases to use this method and construct a
new builder for each instr...
Distinguish the lifetime of the Cursor and its referenced function
layout.
Use two separate fun...
368b12e7cdf563f9b94fb86d33666e8bd0b88a06 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
All of the instruction format an opcode methods are emitted as an
InstBuilder trait instead of a...
These lifetimes all represent the lifetime of the Function.
c8f28e590214efff7b22d040ee9a5295fcd1c4e9 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>We already have all the meta/**.py as dependencies.
cba5cdd22e8fda8f975b778c42538495cba97a82 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
RISC-V does not have a flags register, and thus no add-with-carry
instructions. Neither does MIP...
0b674fb28b1f99e7af6651205f8264fb6d1bc1ae authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
Also add support for parsing call and call_indirect instructions.
d85225c537d456f3d134d35651b9ca9fd1a00f3c authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
The make_inst_results() method now understands direct and indirect
calls, and can allocate resul...
These two tables are used to keep track of type signatures of function
calls as well as external...
Add a new IndirectCall instruction format which has a value callee as
well as the call arguments...
8055ac681ca13498e22078723e45e0d6c46335d0 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
Use this source map method for assigning a location to any entity whose
source number is not exp...
The 'src' and 'tests' top-level directories now contain tools sources
and integration tests for ...
Give these crates each a more standard directory layout with sources in
a 'src' sub-sirectory an...
The 'lib/cretonne' directory will be the new root of a stand-alone
cretonne crate containg both ...
These test utilities have been subsumed by ir::Builder.
8480879f3ef3228e102575f33d88c857a2441119 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>af8f8d98e6f4ff8edb937525b215ea212cebc526 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
The Builder keeps track of a position in the layout and inserts new
instructions there.
Add ins...
d4197ca73184c8b917f295afa052b747adc33b85 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
Insert an EBB at the current position and switch to inserting
instructions there. Call the relev...
Symmetrical with the existing insert_ebb().
8592979fc9ca2e030f70d82418aeebd0ba8a2f88 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
This method splits an EBB in two and moves trailing instructions to a
new EBB.
Insert an instruction at thecurrent cursor position.
6f68673e8a65702daab5611934a0c2513335edc7 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
A layout cursor can be used instead of an iterator to keep track of a
position in a basic block ...
The Builder provides a convenient interface for inserting instructions
into an extended basic bl...
In instruction formats that have multiple results AND boxed storage,
place the second_result fie...
The Rust type is usually the camel-cased name of the operand kind, but
there are variations, so ...
Implement the boxed storage of the UnaryImmVector instruction format.
b8a537bb13296d4193990c2c204d1cfae67169b2 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
These refer to external functions and function signatures declared in
the preamble. Since we're ...
Entity references in instruction format operands also have member names
in the InstructionData s...
This new module will gain more data types dealing with external function
calls.
The meta code generators need to be able to infer these too.
b258644d07bee06dd58f2038349fbd2250ca8550 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>02eae6afd02f3b03d54687e249cee507242ec658 authored about 8 years ago by Jakob Stoklund Olesen <[email protected]>
Share a single Cargo.lock and target directory at the repo top-level.
67abb2d2f678e71a1e07b8162788ed06b45633fe authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Enable syntax: iadd(x, y) which creates an Apply node.
Enable syntax: z << iadd(x, y) which crea...
a460a637ddd4e35acc468c01528ead973c50751b authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The isplit_lohi instruction breaks an integer into two halves. This will
typically be used to ge...
Make room for 255 different type sets and 2^16 entries in the operand
constraints table.
These functions compute types with half or double the number of bits in
each lane.
470507dd9befe15675f3754a4c54fc122a55b79c authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
65caf2d9a14e8f272b841fedcfb5df36d6e65ad7 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Add a meta/check.sh script that runs unit tests before the syntax
linters.
Add unittest convert...
d7e9d4dade0ec217ec622f706944ee817882d1db authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Allow limits on the smallest and largest integer type in the set, the
highest and lowest number ...
These classes are not very entangled with the rest of __init__, and
we'll be expanding them a bit.
d915718526200d0a9473b4d84a53a9924a301dcd authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This directive documents an instruction group and lists all instructions
contained in the group,...
This is the x86-style of borrow flags. ARM uses subtract-with-carry
which inverts the sense of t...
Integer addition with carry in/out/both.
9cb3451432e9cde3785f5aec51b31bf10eb9632d authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Describe the basics of Rust-level tests, and go into more detail about
the file-level tests.
0dd16a360d15e6c24c12828ced40d209e52c1d7f authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This test command sends each function through legalize_function() and
then filecheck.
All instructions with associated encodings are now annotated with
encoding information in a colu...
1c4eb44ef767ee3dc6c4a4644d5dd8cc38e46caf authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The # is a more conventional prefix for hexadecimal, and when ISA
information is not available, ...
Add a `needs_isa()` method to the SubTest trait, and pass a TargetIsa
trait object to those sub-...
Some tests are only applicable to specific ISAs. This can be indicated
with an ISA specification...
When constructing the Flags object from the Builder, don't consume it,
but take a reference inst...
There's only one way of parsing entity names correctly.
26332f6f918230a48fd1ff6155c38ab46d400afc authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Instead of recognizing "function" as a keyword, simply match it as a
context-sensitive keyword i...
This basic version only fills in the encoding of already-legal
instructions. It doesn't have any...
This is a side-table of ISA-dependent information that will initially be
filled out by the legal...
These are simply forwards from the underlying Vec.
57b6967ddd1c674674b75fd96b7e354caa7cb733 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Function names display differently than normal strings since they need
quotes and escaping.
Mov...
af29fee5d2fcf2f8c32ffa2ad6123cb9bf9fbf7b authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The interpretation of an encoding depends on the target ISA, and so does
the proper printing of ...
59c404ed298bad14980b503fc385e47f0e408f77 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
These modules contain encoding tables, not the 'Encoding' struct.
ce6a463267526b26094cc0f237991fd655cfcdf6 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>Use the source map to track instruction locations instead.
The rewrite methods now take an AnyE...
622006ecc54b8e8150020b14ca81d19c2f435c78 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>d0f9f92317dedb5ba8b90f62eeb40d1ac1a86d1f authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Use the SourceMap for mapping during parsing too.
dd8e7df8ba5712c31ab257be538ff974d84913cc authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>Also include the err! macro and make it usable outside the module.
feef2ecf3f556c88f50acf0341d34499ed9d7c4c authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>