Feat/inliner#705
Conversation
Static analysis reportLizard reportListing only functions with cyclomatic complexity >= 15 or NLOC >= 100 or parameters >= 6.
Report about files you didn't modify in this PR
CppCheck report
Report files about files you didn't modify in this PR
|
…owerer and the ir optimizer
… basic inlining heuristic
…ons for code comming from the debugger
…used by the IR inliner to materialise references
…determine if a node is unused or terminal
Merging this PR will degrade performance by 2.27%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| 👁 | Welder - Big - 665 nodes[2] |
43.5 ms | 44.5 ms | -2.32% |
| 👁 | Welder - Simple - 39 nodes[0] |
1.1 ms | 1.1 ms | -2.56% |
| 👁 | Welder - Medium - 83 nodes[1] |
2.1 ms | 2.1 ms | -2.56% |
| 👁 | Welder - Bigger[3] |
70.3 ms | 71.5 ms | -1.62% |
Comparing feat/inliner (4274418) with dev (00cfbe9)
…wise some compilers complain the expression is not a constant expression and performs head allocations
Super Instructions reportSome Super Instructions are under the usage threshold (24).
Super Instructions over the threshold
|
|
The welder performance regression here is not important ; that's because a new compilation pass was added. |
Fuzzing report/usr/local/bin/afl-whatsup status check tool for afl-fuzz by Michal Zalewski Summary statsCycles without finds : 0 [+] Captured 46319 tuples (map size 277202, highest value 255, total values 476332336) in '/dev/null'. |
…be outside the valid range of values for super instructions (12 bits)
Coverage Report for CI Build 29847311836Coverage increased (+0.005%) to 94.39%Details
Uncovered Changes
Coverage Regressions4 previously-covered lines in 1 file lost coverage.
Coverage Stats
💛 - Coveralls |
Description
Add an IR inliner to the compiler pipeline.
and add a test for it.IR inlining tests needed.Checklist