Hi Sam,<div><br></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">- What exactly is the SpillIs parameter for this function?<br></blockquote>
<div><br></div><div>My understanding is that it tells addIntervalsForSpills not to attempt to rematerialize instructions which use the registers for those intervals (since they're about to be spilled themselves).</div>
<div><br></div><div>I've been passing in an empty set in the PBQP allocator with no correctness issues (that I've seen). I'm not sure what omitting it does to the quality of the generated code though.</div><div>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
- The return value is a vector of LiveIntervals, but it looks like they<br>
have all been added to the LiveIntervals object already. Is this correct?<br></blockquote><div><br></div><div>Yes - that's correct.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
- Is the Spiller class functional? Using the -new-spill-framework option<br>
with the linearscan allocator is giving me crashes.<br></blockquote><div><br></div><div>Spiller is just an interface. TrivialSpiller, the default implementation for LLVM 2.6, was experimental.</div><div>These days the default implementation just forwards spilling calls to addIntervalsForSpills anyway.</div>
<div> </div><div><br></div><div>Cheers, </div><div>Lang. </div></div></div>