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.
Fixes #1616.
Adds new caching mechanism for
elem_applysimilar to the existing ones forcall, etc. It would probably be possible to make this more efficient by caching later withinelem_applyto avoid more computations, but my main goal was to avoid callingmake_mlir_fnrepeatedly, which was causing #1616.I have also added tests in the branch
PassingElemApplyCachingTeston my fork, but this required reducing the function limit in__lookup_unique_name_in_moduleto 10 (otherwise tests would take very long to run to get to the previous limit of 10000). The tests also can be seen to fail in theFailingElemApplyCachingTestbranch, which is missing the commit from this PR.If the maintainers would prefer, I can merge the tests into the current PR, though this would have to come with a decrease in the
__lookup_unique_name_in_modulelimit as far as I can see.