It depends on what you are looking to achieve.<p>If you take a look to e.g. McSema <a href="https:&#x2F;&#x2F;github.com&#x2F;trailofbits&#x2F;mcsema" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;trailofbits&#x2F;mcsema</a>, these guys have been able to use LLVM to transform assembly back to LLVM intermediate representation (IR). The IR is an abstract language used by LLVM during compilation to optimize the generated code. Being abstract basically allows to use optimizers across all LLVM supported architectures.<p>In these terms, I think LLVM has a clear advantage over competitors.<p>The following blog post give a nice overview of the McSema achievements: <a href="http:&#x2F;&#x2F;blog.trailofbits.com&#x2F;2014&#x2F;06&#x2F;23&#x2F;a-preview-of-mcsema&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.trailofbits.com&#x2F;2014&#x2F;06&#x2F;23&#x2F;a-preview-of-mcsema&#x2F;</a>