Get the latest tech news

Mining JIT traces for missing optimizations with Z3


In my last post I've described how to use Z3 to find simple local peephole optimization patterns for the integer operations in PyPy's JIT. An example is int_and(x, 0) -> 0. In this post I want to scal

In my last post I've described how to use Z3 to find simple local peephole optimization patterns for the integer operations in PyPy's JIT. Starting from the optimized traces of real programs has some big advantages over the "classical" superoptimization approach of generating and then trying all possible sequences of instructions. The last blog post already contained the code to encode the results of individual trace operations into Z3 formulas, so we don't need to repeat that here.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Mining JIT

Mining JIT