Is there any design document for live range split?

I’m reading the live range split code. It seems the comments doesn’t describe the algorithm clearly. I’m wondering if there is any document can help me understand it?

Thanks a lot.

See LLVM's Greedy Register allocator paper details for a few different presentations discussing the current register allocator.