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
The slow tests are computed as those that would be printed as outliers
on a boxplot of all the t...
5cb5110330f6eb6993681902f94919dd41d0d035 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
b1468ee0bcf7e3e94a91b9557ead2501e9171e30 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Remember the location of the 'function' keyword that starts every
function. This can be useful f...
The CI builds were using a lot of time downloading and building crates.
951ff3e6fc0b35c842e266e802acd1ab95c74730 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Spin up one worker thread per cpu, and run filetests on all of them. Use
a reorder buffer in Run...
Always keep PathBufs for every entry in the test list. When concurrent
testing is enabled, we'll...
Loading a file and running the test in it can be separated from the
mechanics of running multipl...
This saves on importing of all the sub-modules that implement new test
commands, and it provides...
7f1f4175ac9a1f515ed5336704f1a8dc378b224b authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The main libcretonne crate should not have any external dependencies if
at all possible. Use sim...
This test runs the verifier on each function and matches the resulting
verifier error against th...
The verifier reports the 'location' of an error message as a reference
to the entity that has a ...
52aca982a1bcb73cf9c56a551bf990459cc50406 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This test verifies the computed dominator tree against annotations.
Move the existing testcases...
4198b2dde57b723e669d92e5aa27577e7d833fae authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This makes it possible to refer to entities defined in the source file,
using the source names p...
Give crate clients the possiblility of mapping source-level entity names
to proper entity refere...
Often, an implementation of VariableMap can return references to
internal strings, and Cow::Borr...
Don't let 'cton-util test' finish without printing anything.
8a9b34411aaca59ed94e1b87ce2ec0079203e9b5 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>Move the CFG tests into the filetests directory.
Remove the tests directory, there are no more ...
78a2e47d9587f69ffbab7e8b70478d48233f4207 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>This prepares use for implementing a 'test print-cfg' sub-test.
1ed8e1206df391c5aa767e4c7806e813ac76635a authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>No point in returning a syntax error if the file contains test commands.
5ade8dc36a6f5779a556fa77c8a650551445b245 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This trait serves as a shared interface for the different kinds of test
commands the 'cton-util ...
Create a new directory hierarchy under 'filetests' for all the tests
that are run by 'cton-util ...
It is common to represent a function as a String, and previously that
required re-validating the...
It's not super fast to clone a function, but it is faster than
re-parsing the test case file it ...
Use (Function, Details) in place of the aggregrate DetailedFunction.
It turns out that some test...
This code looks overly complicated because it is anticipating running
jobs in a thread pool.
Th...
a24ca56c0d67fed324315f7213fbc6cfc8df6f1f authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>480054a094d0b71fb0984e7c87f97d39c55d46e7 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This command accepts files and directories containing test cases to run.
Recursively searches fo...
The top-level parse_test() function now parses test commands in the
preamble of a .cton file.
This is used to grap the tail of a 'test' line which doesn't use the
same tokens as a normal .ct...
The result from parsing a function is now a DetailedFunction which
includes all comments that ca...
It is sometimes useful to know the entity reference number that will be
assigned to the next thi...
The new exported function `parse_test()` will produce it eventually.
4fd15f98eda4771bdcfbd5a406c9b1cd23daee02 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Export a single function: parse_functions() which results a vector of
functions parsed from the ...
It's not used for anything yet.
d0fb647357c5500a32fd60bd907b20cecc61a649 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This type can reference any type of entity in a function. It will be
used for the location of ve...
0eea144fefad18690c86712d931af3ec8ca54499 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The -c flag to 'cton-util filecheck' will now print out a description of how
the directives are ...
b9d6ff2b51d56dc30e9abb2fcca3e3110bf7b733 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The regex library also uses (usize, usize) for ranges. The type alias is just
to make it clearer...
e41853cab0f46749719d2d1a44cd304fce00ff8d authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
c95c23dbbee2b3c8324119717205cbde02c6b834 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This library implements functionality similar to LLVM's FileCheck utility, but
in library form.
The current implementation only performs a few basic checks.
de04d6d083f7094c28d95450541ed531a2da1215 authored over 8 years ago by Morgan Phillips <[email protected]>
Use the new ISA predicate numbering to emit ISA predicate instructions in the
encoding tables.
...
116b898da36cbbda01687663168473543e1d123c authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Use 'group.setting' format for named predicates, only display the expression
for anonymous predi...
Move all the byte-sized settings to the front of the byte-vector, and add a
mechanism for assign...
be8d486113f173943f18e1b87ee4cb8883635bc6 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This is just the basic 'imul' the M instruction set also has mulh/mulhu which
yield the high bit...
f18041b56cfb2ffcd215a6e892b8db90d133bc10 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Three predicates affect each extension:
- supports_m determines whether the target CPU supports...
c1971db0913c5c3257c94a8234d233f75d92e913 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The 32-bit CPU mode uses a different encoding for iadd_imm.i32, and 64-bit
instructions are not ...
Test that the generated encoding tables work as expected.
Change isa::Encoding into a struct wi...
727510f97f63e778ba772454259e45cf86c18a4d authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>This will be used to pretty-print encodings in the textual IR.
1c5128584592ac26b8cfc516cd7b8f6159b32bf3 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>ba26ce2e9871056f471e4fee51101b3250f1fcc5 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This hardcodes the division line between the recipe bits and the
encoding bits. It does not seem...
Define data types for the level 1 and level 2 hash tables. These data types are
generic over the...
The large LEVEL2 table consists on multiple concatenated constant hash tables.
Add comments to t...
Many ISAs and 64-bit and 32-bit variants. Use a shared is_64bit setting to
distinguish.
Rustfmt is still so immature that developers can't have different versions
installed, or there w...
894d3796fb0e103fbcebea0442fc01e6dffc440d authored over 8 years ago by Morgan Phillips <[email protected]>
All of the level 2 hashtables are concatenated into one constant array per ISA.
7476d996f61c392567f7c85892732459013ef83e authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
The 32-bit arithmetic instructions are encoded differently in the RISC-V 64-bit
mode.
Compute the u16 representation of encoding lists and emit a big table
concatenating all of them....
The recipes are shared across CPU modes.
a26673654f531e78111d4a111922967f501d120a authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
We need to generate hash tables keyed by types, so the Python scripts need to
know the index use...
4b72d0e64d94058d4ad5773862b9de1f0730dc44 authored over 8 years ago by Morgan Phillips <[email protected]>
a6fd6e95d86988140da8ad19f2393dd1713543e5 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Add a TargetISA.finish() method which computes derived data structures after
the ISA definitions...
This is just used for printing better comments in generated code.
0b1aa7c6cd9e7ac7fc562c6e4f8e643982fd99ea authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>Amend build script to generate an encodings-<isa>.rs file for each target ISA.
Emit a function ...
4f14d1ea32335058a5e549362663072076a35e21 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
When generating Rust code for an instruction predicate, call the corresponding
function in the p...
Update copyright.
b788ab80201bd5795ac1bf12f0eaec8f6fbf53b9 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>Fix a typo nearby.
c251f26d0d2c2ccf1672d72ba132a11983ba761b authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
This collects all of the leaf predicates that go into a compound predicate.
Current leaf predica...
Only do this is rustfmt is installed, which likely means don't run on Travis
CI.
This allows the usage:
src/format-all.sh --write-mode=diff
21ba900d19579f58780eaf1b47774832eb4a7ab7 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>If both specify a predicate, combine them with 'And'.
9853657220cae30effdbbb265052ba67f4c52035 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>e812041738800c5ea256c5a033329528acdb83ad authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
When representing smaller integer types, immediate values should be
sign-extended to i64.
ea6eab4b3cadbb801dd088cef68aea2a79a35f75 authored over 8 years ago by Morgan Phillips <[email protected]>
Add new instruction predicates to support the 'I' encoding recipe: IsSignedInt,
IsUnsignedInt us...
5a5688e446f41ce470f56cb57a669ac1f802f109 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Usually an instruction firmat has only a single immediate operand called 'imm',
or 'cond' if it ...
2dfeea67e1f86da77872cd78d86ee05f1bcc9955 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Each InstructionFormat instance gets data members corresponding to its immediate
operands, so th...
Try to keep our Python sources compatible with both Python 2.7 and 3.
Check with 'pylint --py3k...
1e1baec50ad6c262f77e597c2029d7f5b21cc006 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>cab356bd9f338f7c9f7fd8888e6dfc7ef43ebec0 authored over 8 years ago by Morgan Phillips <[email protected]>
102c0049e0011d6472f1a26600f474789b923c1d authored over 8 years ago by Morgan Phillips <[email protected]>
Corresponding changes to test cases are also included.
9165eef82301792c245aa7b7aebb54591672d019 authored over 8 years ago by Morgan Phillips <[email protected]>67fdd27d04743ffdd074c6db652e848562feade9 authored over 8 years ago by Morgan Phillips <[email protected]>
ddd205ff78e5a0eb9e656de63eb23a40532233c6 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
Also add the 32-bit shift instructions for RV64.
4ebad2060a342ff1a9e8b28bff84225d4c6e1885 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>da27e65c255cdd1263b3fda0e9865cb0e5490891 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
6952fa8aa4b2e0ef30451d568b877f5fcf1d9e47 authored over 8 years ago by Morgan Phillips <[email protected]>
To be complete the dominator tree must represent idoms as Ebb, Inst pairs, i.e.
bais blocks.
55f1e69e3e5a82089985688426d651d5cc0d94d6 authored over 8 years ago by Jakob Stoklund Olesen <[email protected]>
We have multiple pre-computed constant hash tables that all use the same
quadratic probing algor...