search for: anticin

Displaying 6 results from an estimated 6 matches for "anticin".

2009 Mar 12
4
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...s are in entry block, nothing to do.\n"; + } + // If we have decided not to shrink wrap, just return now. + if (! ShrinkWrapping) + return true; Why not just return inside if (allCSRUsesInEntryBlock)? 10. +bool PEI::calculateUsedAnticAvail(MachineFunction &Fn) { ... + // Calculate AnticIn, AnticOut using post-order traversal of MCFG. + for (po_iterator<MachineBasicBlock*> + MBBI = po_begin(Fn.getBlockNumbered(0)), + MBBE = po_end(Fn.getBlockNumbered(0)); MBBI != MBBE; ++MBBI) { + MachineBasicBlock* MBB = *MBBI; ... + // Calculate Avail{In,Out} via top-down...
2009 Mar 13
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...+ if (! ShrinkWrapping) > > > + return true; > > Why not just return inside if (allCSRUsesInEntryBlock)? > ARGHHH, I thought I simplified that before cutting the patch. > 10. > +bool PEI::calculateUsedAnticAvail(MachineFunction &Fn) { > ... > + // Calculate AnticIn, AnticOut using post-order traversal of MCFG. > + for (po_iterator<MachineBasicBlock*> > > > + MBBI = po_begin(Fn.getBlockNumbered(0)), > > > + MBBE = po_end(Fn.getBlockNumbered(0)); MBBI != MBBE; ++MBBI) { > > > + MachineBasicBlock* MBB = *MB...
2009 Mar 05
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
Here is an updated patch for shrink wrapping with: - spills/restores done with stack slot stores/loads - stack adjustment removed - refactoring (but still in need of more) - spill/restore insertion code unified with spill/restore placement code Documentation available here<http://wiki.github.com/jdmdj/llvm-work/shrink-wrapping-work> illustrates shrink wrapping with loops and discusses a
2009 Mar 03
2
[LLVMdev] Shrink Wrapping - RFC and initial implementation
On Mon, Mar 2, 2009 at 10:35 AM, Evan Cheng <echeng at apple.com> wrote: > > On Mar 1, 2009, at 2:57 PM, John Mosby wrote: > > Obviously, all of this applies only when spills are done with push/pop, > which is the case on x86. I used this issue to start looking at generalizing > how spills and restores are handled, before looking too closely at other > targets, and
2009 Mar 18
1
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...>> +    return true; >> Why not just return inside if (allCSRUsesInEntryBlock)? > > ARGHHH, I thought I simplified that before cutting the patch. > >> >> 10. >> +bool PEI::calculateUsedAnticAvail(MachineFunction &Fn) { >> ... >> +  // Calculate AnticIn, AnticOut using post-order traversal of MCFG. >> +  for (po_iterator<MachineBasicBlock*> >> >> >> +         MBBI = po_begin(Fn.getBlockNumbered(0)), >> >> >> +         MBBE = po_end(Fn.getBlockNumbered(0)); MBBI != MBBE; ++MBBI) { >> >> &g...
2009 Mar 18
1
[LLVMdev] Shrink Wrapping - RFC and initial implementation
.... > > I will return to that work and see if I can reduce the traversals, > which for this approach (computing Antic, Avail) will decrease the > constant factor in the runtime bound, which is linear in the size of > the Machine IR. > > 11. Can you explain a bit more about AnticIn, AvailIn, etc.? > > I am working on a document, currently hosted at github, which will > present the details of the implementation, examples, etc. > > I looked at two approaches to determine spill/restore placements: > > 1. Try to use live intervals of CSRs that might be avai...