Here is an updated patch for shrink wrapping with:<div><br></div><div>- spills/restores done with stack slot stores/loads</div><div>- stack adjustment removed</div><div>- refactoring (but still in need of more)</div><div>- spill/restore insertion code unified with spill/restore placement code</div>
<div><br></div><div>Documentation available <a href="http://wiki.github.com/jdmdj/llvm-work/shrink-wrapping-work">here</a> illustrates shrink wrapping with loops and discusses a situation in which the pass would be more effective by splitting edges in the Machine CFG (similar to breaking crit. edges in the CFG).</div>
<div><br></div><div>Test cases are attached.</div><div><br></div><div>Thanks,</div><div>John</div><div><br></div>