Previously, when allocating unspillable live ranges, we would never
attempt to split. We would always bail out and try last ditch graph
This patch changes this by attempting to split all live intervals before
This fixes LLVM bug PR14879.
I can't add test cases for any backends other than AVR because none of
them have small enough register classes to trigger the bug.