4 ms·
Any examples of usage ?
by inDigiNeous 11y ago
Any examples of usage ?
- lumpypua 11y agoAnd benchmarks?
- pascal_cuoq 11y agoBenchmark would not be relevant here. Souper is intended to detect missing optimizations that could have applied to LLVM code already generated by, say, Clang, and to point out new patterns to recognize and transform to the LLVM developers. The improvements brought by Souper are distilled over a long period and mixed with other unrelated LLVM improvements. On the other hand, all improvements suggested by Souper have looked like a good idea to an LLVM developer who let themselves be convinced at one point, and many of them simply remove instructions and at least reduce the size of the generated binary, even if nothing else.
- unfamiliar 11y agoFrom the github page: >Alternatively, you may immediately let Souper modify the bitcode and let it apply the missed optimization opportunties by using the Souper llvm opt pass. So it seems like a benchmark of the program before and after this process would be relevant.
- UniQP 11y agoI do not have an example for Souper, but the Optgen tool uses similar techniques and the paper provides a list of missing optimizations for LLVM, GCC and ICC: http://pp.info.uni-karlsruhe.de/uploads/publikationen/buchwald15cc.pdf http://pp.info.uni-karlsruhe.de/uploads/publikationen/buchwa... .