Hi all,<div><br></div><div>A question for the register allocation people:</div><div><br></div><div>I'm currently trying to split intervals over loop boundaries. I have a situation where a floating point value is split over a loop boundary, and the register allocator choses to spill the value outside the loop. That leaves me with a floating point load in the loop preheader, which is crashing LLC with</div>
<div><br></div><div>X86FloatingPoint.cpp:305: bool<unnamed>::FPS::processBasicBlock(llvm::MachineFunction&, llvm::MachineBasicBlock&): Assertion `isStackEmpty() && "Stack not empty at end of basic block?"'</div>
<div><br></div><div>What's going on here? Where do floating point values which are live over BB boundaries live, if not on the FP stack?</div><div><br></div><div>Cheers,</div><div>Lang.</div>