Shopify / seafoam

A tool for working with compiler graphs dumped by the GraalVM compiler
MIT License
128 stars 22 forks source link

Simplify Truffle arguments #40

Closed chrisseaton closed 3 years ago

chrisseaton commented 3 years ago

Truffle arguments come from LoadIndexed nodes, which are fixed at the start. This creates loooong edges to where they're used, creating congestion. This pass rewrites them to look like Graal parameters.

Look at the 1971 == node, and how much more relaxed it now is.

Before:

before

After:

after

chrisseaton commented 3 years ago

Next step is to float the boxing operations, as they're another source of global congestion.