| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
The test failures should be fixed by #135204, let me update main to make sure CI is all green :) |
Sorry, something went wrong.
There was a problem hiding this comment.
Even more JIT magic, I love it.
Sorry, something went wrong.
| self.assertEqual(res, TIER2_THRESHOLD) | ||
| self.assertIsNotNone(ex) | ||
| uops = get_opnames(ex) | ||
| self.assertIn("_CALL_TYPE_1", uops) |
There was a problem hiding this comment.
Super cool when older tests like this "break" with a new optimization. :)
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Followup to #134369 (comment)
This completely removes _CALL_TYPE_1 when the abstract interpreter is able to deduce the result (by knowing the type of the argument).
For example, for something like type(42), we currently do
Note that we still do the call even when we know the result.
In this PR, when the result is known, _CALL_TYPE_1 is replaced with _POP_CALL_ONE_LOAD_CONST_INLINE_BORROW:
Thanks to some previous work on optimizing remove_unneeded_uops this becomes just:
that is, the entire call is replaced with a load.