search for: spliteditor

Displaying 8 results from an estimated 8 matches for "spliteditor".

2015 Mar 06
2
[LLVMdev] PBQP spilling
...thm should benefit from this, but find that only RegAllocGreedy is doing live range splitting, and that the code for doing this is local to that allocator. I would like to suggest a refactoring to make RAGreedy::trySplit() and its sub functions callable from any register allocator. Perhaps part of SplitEditor? What do you think about this? /Jonas From: Arnaud A. de Grandmaison [mailto:arnaud.degrandmaison at arm.com] Sent: den 4 mars 2015 15:43 To: Jonas Paulsson; Lang Hames Cc: llvmdev at cs.uiuc.edu Subject: RE: PBQP spilling Yes, for now the spilling is done in the most basic way, i.e. it's...
2015 Mar 09
2
[LLVMdev] PBQP spilling
...but find that only > RegAllocGreedy is doing live range splitting, and that the code for doing > this is local to that allocator. > > I would like to suggest a refactoring to make RAGreedy::trySplit() and its > sub functions callable from any register allocator. Perhaps part of > SplitEditor? > > > What do you expect from sure refactoring? > > In the current form, live-range splitting for the PBQP implies to rebuild > part of the graph and I suspect it would be easier to rebuild it from > scratch than trying to update it if we would want to use it. > I believe t...
2015 Mar 10
2
[LLVMdev] PBQP spilling
...should benefit from this, but find that only RegAllocGreedy is doing live range splitting, and that the code for doing this is local to that allocator. I would like to suggest a refactoring to make RAGreedy::trySplit() and its sub functions callable from any register allocator. Perhaps part of SplitEditor? What do you expect from sure refactoring? In the current form, live-range splitting for the PBQP implies to rebuild part of the graph and I suspect it would be easier to rebuild it from scratch than trying to update it if we would want to use it. I believe that to have an efficient implem...
2011 Jan 21
0
[LLVMdev] [LLVMDev] Reg Alloc: Spiller::Spill question
Jeff Kunkel <jdkunk3 at gmail.com> writes: > Spiller::Spill( LiveInterval *li, >                           SmallVectorImpl<LiveInterval*> &newIntervals, >                           const SmallVectorImpl<LiveInterval*> &spillIs ); > > has two reference vectors which contain a small list of Live > Intervals. What is the register allocator's job to do
2011 Jan 21
2
[LLVMdev] [LLVMDev] Reg Alloc: Spiller::Spill question
Spiller::Spill( LiveInterval *li, SmallVectorImpl<LiveInterval*> &newIntervals, const SmallVectorImpl<LiveInterval*> &spillIs ); has two reference vectors which contain a small list of Live Intervals. What is the register allocator's job to do with these intervals other than analysis. What more needed other than to know
2015 Mar 04
2
[LLVMdev] PBQP spilling
Hi, I would like to ask about PBQPs use of InlineSpiller. The code output when using PBQP gets a lot bigger compared to when using RegAllocGreedy. PBQP does not split the live intervals, and a lot more (often redundant) reload instructions are emitted as a result, it seems. I wonder why this is, and if there are any plans to improve on this point? /Jonas Paulsson -------------- next part
2010 Aug 31
2
[LLVMdev] "Ran out of registers during register allocation" bug affecting ffmpeg
On Mon, Aug 30, 2010 at 5:52 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote: > > On Aug 21, 2010, at 5:27 PM, Eli Friedman wrote: > >> See http://llvm.org/bugs/show_bug.cgi?id=4668 and >> http://llvm.org/bugs/show_bug.cgi?id=5010.  The basic description of >> the issue (from http://llvm.org/bugs/show_bug.cgi?id=4668#c5): "The >> fundamental problem
2020 Nov 19
1
Problems with undef subranges in identity copies
Hi, I'm stuck trying to fix a variety of problems that occur with undef subregisters when the register coalescer eliminates identity copies. The fundamental problem is complexity from the fact that undef values are a special case since they don't have an associated VNInfo/Segment unless the value is used across blocks. For example, in this case, %0 has 2 subregisters sub0 and sub1: