

A Few Synthesizing Superoptimizer Results - jcr
http://blog.regehr.org/archives/1252

======
andrewchambers
I feel like super optimizing llvm code isn't the best idea.

I feel like the way other superoptimizers get good results is by taking
advantage of really strange interactions of some of the less commonly
understood opcodes. LLVM doesn't have those funky opportunities.

~~~
caf
It's not either/or, adding superoptimiser-derived optimisations at the IR
level doesn't mean you can't also add different ones at the backend.

~~~
andrewchambers
My intuition is that stacking general super optimizers will be at best equally
or less effective than just running a machine specific one for twice as long.

~~~
UniQP
The advantage of performing superoptimization on IR level is that you have
explicit data dependencies (due to SSA form). Thus you don't have unrelated
instructions in between. Figure 1 of the cited Optgen paper
[http://pp.info.uni-
karlsruhe.de/uploads/publikationen/buchwa...](http://pp.info.uni-
karlsruhe.de/uploads/publikationen/buchwald15cc.pdf) shows an example that can
be optimized with IR-based superoptimization but not with a machine-specific
one.

In summary, no approache subsumes the other one. Thus, it is worthwhile to
have them both.

