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]
> }
>...