<div>So what addIntervalsToSpills returns are new intervals to allocate with infinite weights, right?</div>
<div>And I need not to allocate the old interval. Should hasStackSlot return true on its register then?<br><br> </div>
<div><span class="gmail_quote">On 8/21/06, <b class="gmail_sendername">Fernando Magno Quintao Pereira</b> <<a href="mailto:fernando@cs.ucla.edu">fernando@cs.ucla.edu</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Well, someone correct me if am wrong, but, you still have to allocate<br>physical registers to them, because their values must be reloaded before
<br>been used. But after you spill a register, you break its live ranges, so,<br>each use of that register can be loaded into a different physical. In my<br>register allocator, after I spill reg_v:<br><br>For each use of reg_v:
<br>   create a new reg_v'<br>   replace reg_v by reg_v'<br><br>If the instruction containing reg_v' hasn't been scanned by the register<br>allocator, when it happens, reg_v' will receive a physical register. You<br>must assign to reg_v' a weight such that is is not spilled again,
<br>otherwise you may enter on an infinite loop, always spilling the same<br>spilled register.<br><br>Fernando<br><br>><br>> So, as far as I understood live intervals with weight equal to HUGE_VAL are<br>> spilled and I don't need to allocate physical registers for them, right?
<br>> Shoud hasStackSlot method of VirtRegMap return true for these intervals' reg<br>> members?<br>><br>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu">
LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote>
</div><br><br clear="all"><br>-- <br>Nae king! Nae quin! Nae laird! Nae master! We willnae be fooled again!