kvpanch
f549a6b031
Infer full LLVM release version from git's tags ( #437 )
...
The helps to remove special casing from actions and will make future
LLVM updates smoother.
2025-12-22 16:23:29 -05:00
xermicus
be6f734cfc
Use the EVM call gas syscall variants ( #436 )
...
- Emit the `call_evm` and `delegate_call_evm` syscalls for contract
calls.
- The call gas is no longer ignored.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-12-18 17:01:24 +01:00
xermicus
25ee4eef5a
dedicated safe integer truncation integration test ( #435 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-12-17 10:25:41 +01:00
xermicus
9446132608
Emit consume_all_gas in invalid and bounds checks ( #433 )
...
Closes #374
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-12-16 10:04:51 +01:00
xermicus
91bd1b0b4e
Do not build the book during test ( #432 )
...
Avoid spurious changes in the build output directory.
2025-12-15 14:16:03 +01:00
xermicus
e568a924ae
update to polkadot-sdk unstable2507 ( #431 )
...
Support for `polkadot-sdk` release `unstable2507`. This release will be
deployed to Kusama and is supposed the first one on Polkadot.
---------
Signed-off-by: xermicus <cyrill@parity.io >
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-12-15 14:02:48 +01:00
xermicus
11f82c8488
Support solc v0.8.31 ( #430 )
...
- Support for solc v0.8.31.
- Support for the `clz` Yul builtin.
---------
Signed-off-by: xermicus <cyrill@parity.io >
llvm-21.1.6-revive.a5e2309
llvm-21.1.6-revive.140ca99
2025-12-05 15:25:13 +01:00
kvpanch
d0c10e6d5c
Update ubuntu's source list to use nobel ( #425 )
...
This helps to install clang-18 and not clang-15. Latter cannot be used
anymore to build new LLVM due to some missed clang option.
2025-12-03 21:28:48 -05:00
xermicus
45ceab7dc7
Additional bounds check in sbrk ( #428 )
...
Close #356
Signed-off-by: xermicus <cyrill@parity.io >
2025-12-03 16:00:19 +01:00
xermicus
a9ccb1f9b4
small docs fixes ( #426 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-12-02 18:01:01 +01:00
xermicus
e7e40a0ded
The revive compiler documentation ( #424 )
...
This PR adds comprehensive project documentation in the form of an
mdBook.
---------
Signed-off-by: xermicus <cyrill@parity.io >
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
Co-authored-by: LJ <81748770+elle-j@users.noreply.github.com >
Co-authored-by: PG Herveou <pgherveou@gmail.com >
2025-12-01 14:58:02 +01:00
LJ
94b14b079b
ci: Bump macos runner images ( #417 )
...
Closes #416 .
Workflows using x86_64-apple-darwin target with a `macos-13` runner
image have been migrated to `macos-15-intel` due to deprecation (see
#416 ), and `macos-14` images have been migrated to `macos-15`.
2025-11-29 11:06:30 +01:00
kvpanch
8cd10a6136
Clone emsdk for release-llvm CI action ( #423 )
...
Cloning of emsdk has been accidentally removed, that caused inability to
build LLVM release with current main.
The change adds this cloning back before emsdk script is sourced.
2025-11-27 21:36:28 -05:00
LJ
0742227c5a
Implement Yul to LLVM IR compilation benchmarks ( #407 )
...
# Description
Closes [#404 ](https://github.com/paritytech/revive/issues/404 )
Adds compilation time benchmarks for:
* Parsing of Yul source code -> AST Object
* Lowering of AST Object -> LLVM IR (unoptimized)
The benchmarks can be run from the root via:
```sh
# Run all benchmarks in the revive-yul crate (parsing + lowering)
make bench-yul
```
HTML reports will be generated under `target/criterion`, and a summary
of the results at
[crates/yul/BENCHMARKS_PARSE_M4PRO.md](https://github.com/paritytech/revive/blob/lj/compilation-benchmarks-yul/crates/yul/BENCHMARKS_PARSE_M4PRO.md )
and
[crates/yul/BENCHMARKS_LOWER_M4PRO.md](https://github.com/paritytech/revive/blob/lj/compilation-benchmarks-yul/crates/yul/BENCHMARKS_LOWER_M4PRO.md )
(currently from running on a Mac M4 Pro).
---------
Co-authored-by: xermicus <cyrill@parity.io >
2025-11-25 12:00:06 +01:00
xermicus
1e0cce0fa8
Fix the Makefile ( #421 )
...
Fix the Makefile
2025-11-24 16:17:54 +01:00
kvpanch
b6a19c97b1
Fetch LLVM release according to branch in llvm submodule ( #418 )
...
This change is essential first step to unblock gracefully enable LLVM 21
in revive compiler as current action blindly fetched latest LLVM binary
from the list of releases on our page.
The change queries release version from the submodule and uses it. Next
step: build LLVM 21 release binary
Next next step: switch revive compile to LLVM 21 after all issues are
fixed
2025-11-21 11:12:00 -05:00
xermicus
d97d094a8a
Update the Rust dependencies ( #420 )
...
The `Cargo.lock` kept changing locally on all my hosts. Not sure why
exactly - maybe it got forgotten in a recent PR. I took it as an
opportunity to quickly update the Rust dependencies.
---------
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-11-21 15:34:21 +01:00
xermicus
975b610d9f
Add the LLVM dir to the .ignore file ( #419 )
...
LLVM is now a submodule and no longer in `.gitignore`. Thus, some dev
tools I use, like `rg` and `fd`, now consider the `llvm/` directory.
This PR fixes that by adding `llvm/` to the `.ignore` file.
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-11-21 14:43:44 +01:00
LJ
ad61b6e3c9
Implement resolc end-to-end compilation benchmarks ( #406 )
...
# Description
Closes [#403 ](https://github.com/paritytech/revive/issues/403 )
Adds compilation time benchmarks for resolc end-to-end.
The benchmarks can be run from the root via:
```sh
make bench-resolc
```
HTML reports will be generated under `target/criterion`, and a summary
of the results at
[crates/resolc/BENCHMARKS_M4PRO.md](https://github.com/paritytech/revive/blob/lj/compilation-benchmarks/crates/resolc/BENCHMARKS_M4PRO.md )
(currently from running on a Mac M4 Pro).
2025-11-19 12:16:07 +01:00
kvpanch
e78f3cc419
add LLVM 18.x as a git submodule ( #399 )
...
This changeset is based on https://github.com/paritytech/revive/pull/346
2025-11-18 16:10:15 -05:00
xermicus
a1090cfa5a
revive-yul: fix the code block exit ( #414 )
...
This PR fixes the missing `STOP` instruction at the end of `code`
blocks.
---------
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-11-17 18:47:58 +01:00
xermicus
dd48baadc7
resolc: fix the Yul test utils ( #413 )
...
- Fixes multiple bugs in the Yul test util helpers.
- The simple Yul builder utility helper now returns the contract builds.
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-11-17 17:45:03 +01:00
dependabot[bot]
a3a5c7380d
Bump js-yaml from 4.1.0 to 4.1.1 ( #412 )
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.1.0 to 4.1.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md ">js-yaml's
changelog</a>.</em></p>
<blockquote>
<h2>[4.1.1] - 2025-11-12</h2>
<h3>Security</h3>
<ul>
<li>Fix prototype pollution issue in yaml merge (<<)
operator.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/nodeca/js-yaml/commit/cc482e775913e6625137572a3712d2826170e53a "><code>cc482e7</code></a>
4.1.1 released</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/50968b862e75866ef90e626572fe0b2f97b55f9f "><code>50968b8</code></a>
dist rebuild</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/d092d866031751cb27c12d93f3e2470ad74d678b "><code>d092d86</code></a>
lint fix</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/383665ff4248ec2192d1274e934462bb30426879 "><code>383665f</code></a>
fix prototype pollution in merge (<<)</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/0d3ca7a27b03a6c974790a30a89e456007d62976 "><code>0d3ca7a</code></a>
README.md: HTTP => HTTPS (<a
href="https://redirect.github.com/nodeca/js-yaml/issues/678 ">#678</a>)</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/49baadd52af887d2991e2c39a6639baa56d6c71b "><code>49baadd</code></a>
doc: 'empty' style option for !!null</li>
<li><a
href="https://github.com/nodeca/js-yaml/commit/ba3460eb9d3e4478edcbc29edabe17c2157fc9ce "><code>ba3460e</code></a>
Fix demo link (<a
href="https://redirect.github.com/nodeca/js-yaml/issues/618 ">#618</a>)</li>
<li>See full diff in <a
href="https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1 ">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/paritytech/revive/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 10:54:36 +01:00
xermicus
79aaca1a85
std json: do not request EVM bytecode ( #410 )
...
These compiler outputs are irrelevant for the `resolc` compilation
pipeline. It can also break the compilation pipeline. For example, solc
may reject the code without via-ir or fail during the EVM codegen phase
with stack too deep errors - which is not relevant to us.
---------
Signed-off-by: xermicus <cyrill@parity.io >
2025-11-13 10:32:32 +01:00
PG Herveou
8ee1860f12
js: rm default process.env.RESOLC_BIN ( #411 )
...
Ran into this today, my env was set and pointing to an old version
so it's a breaking change, but I think we are better off not hardcoding
the env here, the user can do whatever they want when they invoke
compile
2025-11-13 10:16:34 +01:00
xermicus
878ca91689
RISCV relaxations ( #408 )
...
This PR enables RISC-V relaxations and changes to internal linkage for internal function and global symbols.
See also:
https://github.com/llvm/llvm-project/issues/167381#issuecomment-3513830043
Signed-off-by: xermicus <cyrill@parity.io >
2025-11-11 17:27:53 +01:00
xermicus
046455db06
release v0.5.0 ( #401 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.5.0
2025-11-03 16:10:20 +01:00
xermicus
70037e1136
initial SELFDESTRUCT support ( #400 )
...
Note:
- The unstable interface in `v2509.0.0` of `polkadot-sdk` is required.
- The differential test fails against EVM in `v2509.0.0` of
`polkadot-sdk`.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-11-03 15:04:04 +01:00
xermicus
c0cdde5a5a
llvm-context: fix off-by-one in SDIV overflow semantics ( #398 )
...
- Fix the wrong predicate (the negative side in 2s complement has one
more bit)
- Increase test coverage
Signed-off-by: xermicus <cyrill@parity.io >
2025-10-31 14:07:01 +01:00
xermicus
df1921ba93
runtime-api: sync syscall function signatures with pallet ( #397 )
...
This PR synchronizes the syscall function signatures in the runtime-api
with the current revive pallet API surface.
Signed-off-by: xermicus <cyrill@parity.io >
2025-10-30 14:43:55 +01:00
xermicus
84018c18ae
switch to the new storage API ( #396 )
...
This PR switches to the new `get_storage_or_zero` and
`set_storage_or_clear` syscalls which are more tailored towards
Solidity.
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-10-30 14:13:37 +01:00
xermicus
42cac55be8
update cargo dependencies ( #395 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-10-29 10:01:05 +01:00
kvpanch
6549a4f825
Strip minsize attribute from functions with large div/rem ( #390 )
...
That's a workaround to avoid LLVM backend crash while selecting
instruction for 256-bit integer division.
The workaround needs to be removed after we switch to newest inkwell
that has a fix in RISC-V backend
---------
Signed-off-by: kvp <mammal_windier8j@icloud.com >
2025-10-21 10:35:40 +02:00
xermicus
f46bea6a96
llvm-context: do not trap zero length OOB heap access ( #389 )
...
Fixes https://github.com/paritytech/contract-issues/issues/120
---------
Signed-off-by: xermicus <cyrill@parity.io >
2025-10-15 22:39:42 +02:00
xermicus
2090830858
release 0.4.1 ( #388 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
v0.4.1
2025-10-08 14:04:48 +02:00
Pavlo Khrystenko
93c6387dae
Fix output selection issues for Foundry ( #386 )
...
### Description
Fixes output selection issues for `Foundry` usage.
- pruning to look at per file settings
- source to include `ast`
### Note
`Selection.files` field is reintroduced because that's the way `foundry`
functions. it uses per-file output selection
---------
Co-authored-by: xermicus <cyrill@parity.io >
2025-10-08 12:48:41 +02:00
xermicus
7346d82dfa
do not prune the AST output in standard JSON mode ( #385 )
...
- do not prune the AST output in standard JSON mode (required for
foundry)
- do not serialize the output format if there was not blob produced
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-10-07 15:27:44 +02:00
Alexander Samusev
39a6db7266
ci: add reusable action for release workflows ( #382 )
...
Let's check how good `claude` is.
fix https://github.com/paritytech/revive/issues/359
2025-10-06 17:08:25 +02:00
xermicus
8240163be0
release resolc 0.4.0 ( #384 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-10-06 09:12:34 +02:00
xermicus
b560d72139
Prevent frontend function confusion ( #383 )
...
Function symbols can clash as we compile multiple YUL `object`
definition into the same `LLVM` module.
- Disambiguate via unique function symbols based its location (runtime
or deploy code).
- Use `LinkOnceODR` linkage for compiler builtin helpers.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-09-29 23:05:57 +02:00
xermicus
6858cb9a61
mark internal functions linker private ( #381 )
...
Prevents unused functions in the emitted ELF object. Drive-by add a
missing test case (which misses a relocation under `-Oz` when all
internal functions are marked as private).
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-09-29 17:55:29 +02:00
xermicus
1cc4f967b4
vet cargo docs on CI ( #380 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-09-29 13:39:09 +02:00
xermicus
713b7e5409
Nightly release workflow fix ( #378 )
...
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
2025-09-28 13:12:10 +02:00
dependabot[bot]
ffc13697ed
Bump brace-expansion ( #377 )
...
Bumps and
[brace-expansion](https://github.com/juliangruber/brace-expansion ).
These dependencies needed to be updated together.
Updates `brace-expansion` from 1.1.11 to 1.1.12
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/juliangruber/brace-expansion/releases ">brace-expansion's
releases</a>.</em></p>
<blockquote>
<h2>v1.1.12</h2>
<ul>
<li>pkg: publish on tag 1.x c460dbd</li>
<li>fmt ccb8ac6</li>
<li>Fix potential ReDoS Vulnerability or Inefficient Regular Expression
(<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)
c3c73c8</li>
</ul>
<hr />
<p><a
href="https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 ">https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/44f33b47c5c6a965d507421af43e86cf5971d711 "><code>44f33b4</code></a>
1.1.12</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c460dbd68e428d147b2080622d8ce126c7a08570 "><code>c460dbd</code></a>
pkg: publish on tag 1.x</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/ccb8ac6d4292b7661b677fe048ba6690c877f51f "><code>ccb8ac6</code></a>
fmt</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c3c73c8b088defc70851843be88ccc3af08e7217 "><code>c3c73c8</code></a>
Fix potential ReDoS Vulnerability or Inefficient Regular Expression (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)</li>
<li>See full diff in <a
href="https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `brace-expansion` from 2.0.1 to 2.0.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/juliangruber/brace-expansion/releases ">brace-expansion's
releases</a>.</em></p>
<blockquote>
<h2>v1.1.12</h2>
<ul>
<li>pkg: publish on tag 1.x c460dbd</li>
<li>fmt ccb8ac6</li>
<li>Fix potential ReDoS Vulnerability or Inefficient Regular Expression
(<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)
c3c73c8</li>
</ul>
<hr />
<p><a
href="https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 ">https://github.com/juliangruber/brace-expansion/compare/v1.1.11...v1.1.12 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/44f33b47c5c6a965d507421af43e86cf5971d711 "><code>44f33b4</code></a>
1.1.12</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c460dbd68e428d147b2080622d8ce126c7a08570 "><code>c460dbd</code></a>
pkg: publish on tag 1.x</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/ccb8ac6d4292b7661b677fe048ba6690c877f51f "><code>ccb8ac6</code></a>
fmt</li>
<li><a
href="https://github.com/juliangruber/brace-expansion/commit/c3c73c8b088defc70851843be88ccc3af08e7217 "><code>c3c73c8</code></a>
Fix potential ReDoS Vulnerability or Inefficient Regular Expression (<a
href="https://redirect.github.com/juliangruber/brace-expansion/issues/65 ">#65</a>)</li>
<li>See full diff in <a
href="https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12 ">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/paritytech/revive/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 13:06:55 +02:00
xermicus
94ec34c4d5
Separate compilation and linker phases ( #376 )
...
Separate between compilation and linker phases to allow deploy time
linking and back-porting era compiler changes to fix #91 . Unlinked
contract binaries (caused by missing libraries or missing factory
dependencies in turn) are emitted as raw ELF object.
Few drive by fixes:
- #98
- A compiler panic on missing libraries definitions.
- Fixes some incosistent type forwarding in JSON output (empty string
vs. null object).
- Remove the unused fallback for size optimization setting.
- Remove the broken `--lvm-ir` mode.
- CI workflow fixes.
---------
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com >
Signed-off-by: xermicus <bigcyrill@hotmail.com >
Signed-off-by: xermicus <cyrill@parity.io >
2025-09-27 20:52:22 +02:00
xermicus
13faedf08a
link to readme in the build utils llvm error message more ( #373 )
...
Signed-off-by: xermicus <cyrill@parity.io >
2025-09-02 14:21:54 +02:00
LJ
2f89c743ce
Implement Rust CLI tests ( #372 )
...
# Description
Closes #365
Ports all `resolc` CLI tests to Rust and removes the CLI TypeScript
tests.
2025-08-19 16:04:05 +02:00
LJ
ea0ea711ad
Update workflows to skip tests for only .md files ( #371 )
...
When updating documentation Markdown files, long-running tests still run
unnecessarily. With these changes, it will skip running test workflows
when PRs only containing changes to such files are opened.
Co-authored-by: xermicus <cyrill@parity.io >
2025-08-12 16:12:14 +02:00
LJ
b31e8a0d74
Fix llvm-builder installation docs ( #370 )
...
Updated installation instructions for the llvm-builder.
2025-08-11 21:48:40 +02:00
xermicus
903cbd7159
YUL tree visitor interface ( #369 )
...
- Implement the visitor interface. This simplifies working with the AST,
for example transformations into other IRs or collecting and analyzing
various statistics.
- Switch the explorer to use the visitor interface.
- Add the reciprocal function name conversion for function names.
- Some drive-by cosmetic fixes.
---------
Signed-off-by: xermicus <bigcyrill@hotmail.com >
2025-08-10 00:08:25 +02:00