A couple of small refactorings to the egraph elaboration pass #7304
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@jameysharp and I noticed a couple of refactoring opportunities while reading through the elaboration pass:
ValueDef::Result
was using the block that contains the instruction to determine the level, but since pure values will not be in the DFG yet, this would default toLoopLevel::root()
unconditionally. This also meant that theCost::at_level
function turned into an identity function on the cost given, making it unnecessary.Co-authored-by: Jamey Sharp jsharp@fastly.com