search for: isspil

Displaying 9 results from an estimated 9 matches for "isspil".

Did you mean: isspill
2009 Sep 14
0
[LLVMdev] [PATCH] Spill Comments
...illObjects - A set of frame indices represnting spill slots. typo represnting. Why does SpillObjects need to be a DenseSet? It seems that it is created in order. I think it can just be a vector which is looked up with a binary search. Instead of making CreateStackObject take a "bool isSpill", how about adding a new "CreateSpillStackObject"? That seems much nicer in the code than having: CreateStackObject(16, 16, /*isSpill*/false); everywhere. The number of places that create spill slots is pretty small compared to the number of "/*isSpill*/false"....
2009 Sep 11
7
[LLVMdev] [PATCH] Spill Comments
Attached is a patch to print asm comments for spill information. We've discussed the mechanisms before but I wanted to run the patch by everyone before I start to commit pieces. -Dave -------------- next part -------------- A non-text attachment was scrubbed... Name: spillcomments.patch Type: text/x-diff Size: 58930 bytes Desc: not available URL:
2009 Sep 14
1
[LLVMdev] [PATCH] Spill Comments
...DenseSet? It seems that it is > created in order. I think it can just be a vector which is looked up > with a binary search. I wasn't sure ordering was guaranteed. As I noted to Dan, I'd like to get rid of this entirely. > Instead of making CreateStackObject take a "bool isSpill", how about > adding a new "CreateSpillStackObject"? That seems much nicer in the > code than having: CreateStackObject(16, 16, /*isSpill*/false); > everywhere. The number of places that create spill slots is pretty > small compared to the number of "/*isSpill*/fal...
2012 Dec 18
2
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
...PTR RC, try to evict: call canEvictInterference() for virtY which interferes with virtX, returns true. evict and unassign virtX and assign physreg to virtY. 3) for a virtZ which also belongs to the PTR RC, try to evict: call canEvictInterference() for virtZ which interferes with virtY, both VirtReg.isSpillable() and Intf->isSpillable() return false, can't evict, wait for a second round and queue new interval. 4) do some work unrelated to these vregs. 5) when selectOrSplit is called again for virtZ it falls through down to the return ~0u line and fails. This issue can be very easily reproduc...
2015 Jul 09
9
[LLVMdev] [RFC] New StackMap format proposal (StackMap v2)
...6 : Frame Base Register Dwarf RegNum uint16 : Num Frame Registers uint16 : Frame Register Index uint16 : Num StackMap Records uint16 : StackMap Record Index } align to 4 bytes FrameRegister[] { uint16 : Dwarf RegNum int16 : Offset uint8 : Size in Bytes uint8 : Flags { bool : IsSpilled bool : Reserved [7] } } align to 8 bytes StackMapRecord[] { uint64 : PatchPoint ID uint32 : Instruction Offset uint8 : Call size (bytes) uint8 : Flags { bool : HasLiveOutInfo bool : Reserved [7] } uint16 : Num Locations uint16 : Location Index uint16 : Num LiveOu...
2012 Dec 17
0
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
On Dec 17, 2012, at 8:38 AM, Borja Ferrer <borja.ferav at gmail.com> wrote: > Hello, > > I'm getting the "LLVM ERROR: ran out of registers during register allocation" error message for an out of tree target I'm developing. This is happening for the following piece of C code: > > struct ss > { > int a; > int b; > int c; > }; > void
2012 Dec 19
0
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
...l > canEvictInterference() for virtY which interferes with virtX, returns true. > evict and unassign virtX and assign physreg to virtY. > 3) for a virtZ which also belongs to the PTR RC, try to evict: call > canEvictInterference() for virtZ which interferes with virtY, both > VirtReg.isSpillable() and Intf->isSpillable() return false, can't evict, > wait for a second round and queue new interval. > 4) do some work unrelated to these vregs. > 5) when selectOrSplit is called again for virtZ it falls through down to > the return ~0u line and fails. > > > This...
2012 Dec 17
2
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
Hello, I'm getting the "LLVM ERROR: ran out of registers during register allocation" error message for an out of tree target I'm developing. This is happening for the following piece of C code: struct ss { int a; int b; int c; }; void loop(struct ss *x, struct ss **y, int z) { int i; for (i=0; i<z; ++i) { x->c += y[i]->b; } } The problem relies in
2015 Jul 09
5
[LLVMdev] [RFC] New StackMap format proposal (StackMap v2)
...gisters > uint16 : Frame Register Index > uint16 : Num StackMap Records > uint16 : StackMap Record Index > } > > align to 4 bytes > FrameRegister[] { > uint16 : Dwarf RegNum > int16 : Offset > uint8 : Size in Bytes > uint8 : Flags { > bool : IsSpilled > bool : Reserved [7] > } > } > > align to 8 bytes > StackMapRecord[] { > uint64 : PatchPoint ID > uint32 : Instruction Offset > uint8 : Call size (bytes) > uint8 : Flags { > bool : HasLiveOutInfo > bool : Reserved [7] > } >...