{"shas":[["5a31051cdb642cbaffabed1dacecf1840f056383","9e01571d0adae2c18b4ca0578f54335c0bc01b66@2pi.dk","Rename live range stages to better reflect how they are used.\n\nThe stage is used to control where a live range is going, not where it\nis coming from. Live ranges created by splitting will usually be marked\nRS_New, but some are marked RS_Spill to avoid wasting time trying to\nsplit them again.\n\nThe old RS_Global and RS_Local stages are merged - they are really the\nsame thing for local and global live ranges.","Jakob Stoklund Olesen"],["675a331d4884ab68c9201df160404ac2a34a666c","9e01571d0adae2c18b4ca0578f54335c0bc01b66@2pi.dk","Add an RS_Split2 stage used for loop prevention.\n\nThis mechanism already exists, but the RS_Split2 stage makes it clearer.\n\nWhen live range splitting creates ranges that may not be making\nprogress, they are marked RS_Split2 instead of RS_New. These ranges may\nbe split again, but only in a way that can be proven to make progress.\n\nFor local ranges, that means they must be split into ranges used by\nstrictly fewer instructions.\n\nFor global ranges, region splitting is bypassed and the RS_Split2\nranges go straight to per-block splitting.","Jakob Stoklund Olesen"]],"ref":"refs/heads/master","size":2,"head":"675a331d4884ab68c9201df160404ac2a34a666c","push_id":37554826}