Displaying 2 results from an estimated 2 matches for "nikod".
Did you mean:
niko
2017 Nov 01
2
llvm.gcroot trouble with non-i8* allocas
...vm.gcroot(i8** %rootptr, i8* @info)
store { i8*, i32 } %x, { i8*, i32 }* %objptr
%v = load { i8*, i32 }, { i8*, i32 }* %objptr
ret { i8*, i32 } %v
}
leads llc into this:
Assertion failed: isa<X>(Val) && "cast<Ty>() argument of incompatible
type!", file C:\Users\nikod\src\llvm\include\llvm/Support/Casting.h, line
236
Wrote crash dump file "C:\Users\nikod\AppData\Local\Temp\llc.exe-7b1546.dmp"
#0 0x01a26809 HandleAbort
c:\users\nikod\src\llvm\lib\support\windows\signals.inc:405:0
#1 0x75804188 (C:\WINDOWS\System32\ucrtbase.dll+0xa4188)
#2 0x75805422 (C:...
2017 Nov 01
0
llvm.gcroot trouble with non-i8* allocas
Solved by using alloca i8*, i32 2 which the system seems happy enough with,
and bitcasting to the actual type for rest of the code after llvm.gcroot.
Not entirely sure if this is a terrible workaround or exactly the way
gcroot is supposed to be used...
On Wed, Nov 1, 2017 at 11:59 AM, Nikodemus Siivola <
nikodemus at random-state.net> wrote:
> I'm allocating { i8*, i32 } on the stack, and would like to add this as a
> GC root, but I'm having trouble figuring this out.
>
> This works as expected:
>
> declare void @llvm.gcroot(i8** %ptrloc, i8* %metadata...