{"shas":[["fa14a1dff6bbc80d0dd03185d168c33d477cc255","9e01571d0adae2c18b4ca0578f54335c0bc01b66@2pi.dk","Add an interface for SplitKit complement spill modes.\n\nSplitKit always computes a complement live range to cover the places\nwhere the original live range was live, but no explicit region has been\nallocated.\n\nCurrently, the complement live range is created to be as small as\npossible - it never overlaps any of the regions.  This minimizes\nregister pressure, but if the complement is going to be spilled anyway,\nthat is not very important.  The spiller will eliminate redundant\nspills, and hoist others by making the spill slot live range overlap\nsome of the regions created by splitting.  Stack slots are cheap.\n\nThis patch adds the interface to enable spill modes in SplitKit.  In\nspill mode, SplitKit will assume that the complement is going to spill,\nso it will allow it to overlap regions in order to avoid back-copies.\nBy doing some of the spiller's work early, the complement live range\nbecomes simpler.  In some cases, it can become much simpler because no\nextra PHI-defs are required.  This will speed up both splitting and\nspilling.\n\nThis is only the interface to enable spill modes, no implementation yet.","Jakob Stoklund Olesen"]],"ref":"refs/heads/master","size":1,"head":"fa14a1dff6bbc80d0dd03185d168c33d477cc255","push_id":42431739}