Skip to content

Conversation

@vladimirradosavljevic
Copy link
Contributor

No description provided.

@github-actions
Copy link

github-actions bot commented Aug 1, 2025

Results for: evm ir-llvm EVMInterpreter
╔═╡ Size (-%) ╞═══════════════════════╡ All E +M3B3 ╞═╗
║ Best                                         22.798 ║
║ Worst                                        -9.179 ║
║ Total                                         0.144 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All E +M3B3 ╞═╣
║ Best                                         33.386 ║
║ Worst                                        -7.893 ║
║ Total                                         0.026 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All E +M3B3 ╞═╣
║ Best                                          9.070 ║
║ Worst                                        -3.425 ║
║ Total                                         0.027 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All E +M3B3 ╞═╣
║ Best                                         37.527 ║
║ Worst                                       -10.668 ║
║ Total                                         0.000 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═══════════════════════╡ All E +MzB3 ╞═╗
║ Best                                         20.485 ║
║ Worst                                        -4.592 ║
║ Total                                         0.126 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All E +MzB3 ╞═╣
║ Best                                         34.148 ║
║ Worst                                        -6.167 ║
║ Total                                         0.031 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All E +MzB3 ╞═╣
║ Best                                         29.544 ║
║ Worst                                        -1.968 ║
║ Total                                         0.029 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All E +MzB3 ╞═╣
║ Best                                         38.413 ║
║ Worst                                        -7.870 ║
║ Total                                         0.000 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═══════════════════════╡ All Y +M3B3 ╞═╗
║ Best                                         27.737 ║
║ Worst                                       -14.458 ║
║ Total                                         0.194 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All Y +M3B3 ╞═╣
║ Best                                         32.372 ║
║ Worst                                       -18.241 ║
║ Total                                         0.023 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All Y +M3B3 ╞═╣
║ Best                                         13.652 ║
║ Worst                                       -17.689 ║
║ Total                                         0.025 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All Y +M3B3 ╞═╣
║ Best                                         36.798 ║
║ Worst                                       -16.566 ║
║ Total                                         0.000 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═══════════════════════╡ All Y +MzB3 ╞═╗
║ Best                                         18.548 ║
║ Worst                                       -11.262 ║
║ Total                                         0.117 ║
╠═╡ Cycles (-%) ╞═════════════════════╡ All Y +MzB3 ╞═╣
║ Best                                         32.259 ║
║ Worst                                       -25.013 ║
║ Total                                         0.069 ║
╠═╡ Ergs (-%) ╞═══════════════════════╡ All Y +MzB3 ╞═╣
║ Best                                         29.206 ║
║ Worst                                       -11.150 ║
║ Total                                         0.060 ║
╠══╡ Gas (-%) ╞═══════════════════════╡ All Y +MzB3 ╞═╣
║ Best                                         36.646 ║
║ Worst                                       -30.625 ║
║ Total                                         0.000 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═════════════════╡ Real life E +M3B3 ╞═╗
║ Best                                          0.540 ║
║ Worst                                         0.000 ║
║ Total                                         0.011 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life E +M3B3 ╞═╣
║ Best                                          0.195 ║
║ Worst                                        -1.007 ║
║ Total                                         0.016 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life E +M3B3 ╞═╣
║ Best                                          0.123 ║
║ Worst                                        -0.438 ║
║ Total                                         0.012 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life E +M3B3 ╞═╣
║ Best                                          0.546 ║
║ Worst                                        -0.649 ║
║ Total                                         0.010 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═════════════════╡ Real life E +MzB3 ╞═╗
║ Best                                          0.554 ║
║ Worst                                         0.000 ║
║ Total                                         0.012 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life E +MzB3 ╞═╣
║ Best                                          0.187 ║
║ Worst                                        -0.996 ║
║ Total                                         0.016 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life E +MzB3 ╞═╣
║ Best                                          0.119 ║
║ Worst                                        -0.436 ║
║ Total                                         0.012 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life E +MzB3 ╞═╣
║ Best                                          0.560 ║
║ Worst                                        -0.636 ║
║ Total                                         0.011 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═════════════════╡ Real life Y +M3B3 ╞═╗
║ Best                                          1.166 ║
║ Worst                                        -3.840 ║
║ Total                                         0.054 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life Y +M3B3 ╞═╣
║ Best                                          0.766 ║
║ Worst                                        -1.183 ║
║ Total                                         0.073 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life Y +M3B3 ╞═╣
║ Best                                          0.778 ║
║ Worst                                        -1.533 ║
║ Total                                         0.045 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life Y +M3B3 ╞═╣
║ Best                                          1.155 ║
║ Worst                                        -3.890 ║
║ Total                                         0.046 ║
╚═════════════════════════════════════════════════════╝

╔═╡ Size (-%) ╞═════════════════╡ Real life Y +MzB3 ╞═╗
║ Best                                          0.000 ║
║ Worst                                        -0.186 ║
║ Total                                        -0.004 ║
╠═╡ Cycles (-%) ╞═══════════════╡ Real life Y +MzB3 ╞═╣
║ Best                                          0.108 ║
║ Worst                                        -1.024 ║
║ Total                                         0.006 ║
╠═╡ Ergs (-%) ╞═════════════════╡ Real life Y +MzB3 ╞═╣
║ Best                                          0.052 ║
║ Worst                                        -0.441 ║
║ Total                                         0.009 ║
╠══╡ Gas (-%) ╞═════════════════╡ Real life Y +MzB3 ╞═╣
║ Best                                          0.231 ║
║ Worst                                        -0.657 ║
║ Total                                        -0.004 ║
╚═════════════════════════════════════════════════════╝

@akiramenai akiramenai marked this pull request as ready for review August 10, 2025 17:43
@akiramenai akiramenai force-pushed the evm_unfold_signextend branch 2 times, most recently from 0f7085f to 7796f2f Compare August 10, 2025 17:45
@github-actions
Copy link

github-actions bot commented Aug 10, 2025

📊 Excel Report Available

Benchmarks measured for:

  • solx candidate version: solx, LLVM-based Solidity compiler for the EVM v0.1.2, LLVM revision: v1.0.2, LLVM build: 045a7f45a7531efdea023c94d896aef118f3c7bb
  • solx ToT version: solx, LLVM-based Solidity compiler for the EVM v0.1.2, LLVM revision: v1.0.2, LLVM build: e3bf83574a8a276b316c226bac4231e37171c405
  • solx latest release version: solx, LLVM-based Solidity compiler for the EVM v0.1.1, LLVM revision: v1.0.2, LLVM build: b32c5ccab280fd4219e26aceb3f60f425e907498
  • solc version: 0.8.30

➡️ Download Excel Report

@akiramenai akiramenai force-pushed the evm_unfold_signextend branch from 7796f2f to 1e20245 Compare September 7, 2025 19:11
@codecov
Copy link

codecov bot commented Sep 7, 2025

Codecov Report

❌ Patch coverage is 45.45455% with 42 lines in your changes missing coverage. Please review.
✅ Project coverage is 30.11%. Comparing base (e3bf835) to head (045a7f4).

Files with missing lines Patch % Lines
llvm/lib/Target/EVM/EVMCodegenPrepare.cpp 37.70% 35 Missing and 3 partials ⚠️
llvm/lib/Target/EVM/EVMTargetTransformInfo.cpp 69.23% 2 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #875      +/-   ##
==========================================
+ Coverage   30.09%   30.11%   +0.01%     
==========================================
  Files        2430     2430              
  Lines      806613   806688      +75     
  Branches   176243   176259      +16     
==========================================
+ Hits       242781   242902     +121     
+ Misses     521685   521622      -63     
- Partials    42147    42164      +17     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vladimirradosavljevic vladimirradosavljevic force-pushed the evm_unfold_signextend branch 2 times, most recently from 0b13d0d to d86b664 Compare September 8, 2025 16:09
…- (c + 1) * 8)

This transform does unfold to canonical InstCombine form,
instead to sext(trunc(x, (c + 1) * 8), 256).
Unfold signextend to LLVM instructions, iff c is constant,
so LLVM can optimize it better. Do the folding back just
before ISel, since we can do cross BB boundaries.

Signed-off-by: Vladimir Radosavljevic <[email protected]>
Signed-off-by: Vladimir Radosavljevic <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant