search for: csregs

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

Did you mean: sregs
2009 Mar 12
4
[LLVMdev] Shrink Wrapping - RFC and initial implementation
Hi John, It looks pretty good. Thanks for working on this. Some comments: 1. Some of the functions that you introduced, e.g. stringifyCSRegSet probably ought to be "static" and ifdef'ed out when NDEBUG is defined. 2. + // DEBUG + if (! MBB->empty() && ! CSRUsed[MBB].intersects(restore)) { + MachineInstr* MI = BeforeI; + DOUT << "adding restore after "; + DEBUG(MI...
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 13
0
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...s very much for the review, I am implementing your suggestions today and will have the next patch together this weekend. A few questions/comments: On Thu, Mar 12, 2009 at 10:05 AM, Evan Cheng <echeng at apple.com> wrote: > > 1. Some of the functions that you introduced, e.g. stringifyCSRegSet > probably ought to be "static" and ifdef'ed out when NDEBUG is defined. > > 2. + // DEBUG > > > + if (! MBB->empty() && ! CSRUsed[MBB].intersects(restore)) { > > > + MachineInstr* MI = BeforeI; > > > + DOUT <...
2009 Mar 18
1
[LLVMdev] Shrink Wrapping - RFC and initial implementation
...review, I am implementing your suggestions today > and will have the next patch together this weekend. > A few questions/comments: > On Thu, Mar 12, 2009 at 10:05 AM, Evan Cheng <echeng at apple.com> wrote: >> >> 1. Some of the functions that you introduced, e.g. stringifyCSRegSet >> probably ought to be "static" and ifdef'ed out when NDEBUG is defined. >> 2. +      // DEBUG >> >> >> +      if (! MBB->empty() && ! CSRUsed[MBB].intersects(restore)) { >> >> >> +        MachineInstr* MI = BeforeI; >&g...
2015 Jan 11
3
[LLVMdev] [RFC] [PATCH] add tail call optimization to thumb1-only targets
...BBI to point to first LDR / VLDRD. - if (MBBI != MBB.begin()) { + // Unwind MBBI to point to first LDR / VLDRD. Not for tail call returns! + if ((MBBI != MBB.begin()) && (!IsTailCallReturn)) { do --MBBI; while (MBBI != MBB.begin() && isCSRestore(MBBI, CSRegs)); @@ -395,12 +402,119 @@ } } - bool IsV4PopReturn = false; - for (const CalleeSavedInfo &CSI : MFI->getCalleeSavedInfo()) + bool IsLRPartOfCalleeSavedInfo = false; + + for (const CalleeSavedInfo &CSI : MFI->getCalleeSavedInfo()) { if (CSI.getReg() == ARM::LR) -...