This is an archive of the discontinued LLVM Phabricator instance.

[Sparc][Leon] Speed optimisation to reduce double floating-point instructions to singles.
AbandonedPublic

Authored by lero_chris on Aug 9 2016, 2:46 PM.

Details

Reviewers
jacob_hansen
Summary

This is a requested speed optimisation for Leon processors, reducing very slow double floating point operations to use singles. Obviously comes with precision loss and therefore not turned-on by default.

Diff Detail

Repository
rL LLVM

Event Timeline

lero_chris updated this revision to Diff 67418.Aug 9 2016, 2:46 PM
lero_chris retitled this revision from to [Sparc][Leon] Speed optimisation to reduce double floating-point instructions to singles..
lero_chris updated this object.
lero_chris added a reviewer: jacob_hansen.
lero_chris set the repository for this revision to rL LLVM.
lero_chris added a subscriber: llvm-commits.

Added missing unit test and changed command-line invocation. Also added warning message when this optimisation is switched on.

This seems like the wrong level at which to do such a transformation.

It would be better as a generic IR pass IMO -- but I'm also wondering how this makes sense to even do at all. Why wouldn't code that wants single-float math just do single-float math?

We were asked to write this optimisation, but we'll revert and ask our customers if they still want this as the point made by James Knight has distinct point. This review may ultimately be cancelled entirely.

We have discussed this with our customers. We have agreed that this pass does not make sense here and we will therefore cancel this change.

lero_chris abandoned this revision.Aug 12 2016, 5:29 AM

Review abandoned.