This is a bit of a workaround to how llvm does spilling, and we should fix llvm, I'm just not good enough yet, and this will get us further with CTS tests for now. Details in patch 2. Dave.