Some instructions (G_LOAD, G_SELECT, G_UNMERGE_VALUES) check if their uses will define/use FPRs (using onlyUsesFP and onlyDefinesFP).
The register bank of a use isn't necessarily known when an instruction asks for this.
Teach hasFPConstraints to look at the instructions feeding into a G_PHI when its destination bank is unknown. If any of them are FPR, assume the entire G_PHI will also be assigned a FPR.
Since a phi can have many inputs, and those inputs can in turn be phis, restrict the search depth to a very low number.
Also improve the docs for hasFPConstraints and friends a little.
This is a 0.3% code size improvement on CTMark/Bullet at -O3, and a 0.2% code size improvement at CTMark/pairlocalalign at -O3.
Would be useful to turn this into a hidden cmdline switch.