2 ms·
Superoptimizers have gotten a lot better in the past few years. E.g. have a look at [1]. [1] https://arxiv.org/abs/1211.0557 https://arxiv.org/abs/1211.0557
by titzer 5y ago
Superoptimizers have gotten a lot better in the past few years. E.g. have a look at [1].
[1] https://arxiv.org/abs/1211.0557 https://arxiv.org/abs/1211.0557
- fulafel 5y agoThanks, cool stuff. This paper from the same project was also cool: https://raw.githubusercontent.com/StanfordPL/stoke/develop/docs/papers/oopsla15a.pdf https://raw.githubusercontent.com/StanfordPL/stoke/develop/d... Quote from abstract: " For many applications, the best possible code is conditionally correct: the optimized kernel is equal to the code that it replaces only under certain preconditions on the kernel’s inputs. The main technical challenge in producing conditionally correct opti- mizations is in obtaining non-trivial and useful conditions and proving conditional equivalence formally in the pres- ence of loops. We combine abstract interpretation, decision procedures, and testing to yield a verification strategy that can address both of these problems. This approach yields a superoptimizer for x86 that in our experiments produces binaries that are often multiple times faster than those pro- duced by production compilers"