use-soft-float attribute

A far as I can tell, the use-soft-float attribute does not have any effect.
It's placed on functions in Clang but ignored in the backend.

I'm planning to implement this because it's important for mips16 when am compiling in dual mips16/32 mode.

This turned out to be a deeper issue and the attribute code in llvm is fine here. It updates target options properly on a per function basis.

The problem is that this information has no use in the case of soft float because this is all decided when the target machine is initialized.

We have already solved for Mips the way to switch target machines on a per function basis so I have an easy fix for this for Mips. Am testing now.